พื้นฐานวิทยาการคอมพิวเตอร์: ชุดสรุปเร่งรัด

สรุปสูตร ขั้นตอนวิธีทำที่สำคัญของทุกหัวข้อ และโจทย์ฝึก 20 ข้อ พร้อมเฉลยละเอียดไว้ท้ายเล่ม

โจทย์ใหม่กลับไปที่รายวิชา

ในหน้าต่างพิมพ์ ให้เลือก “บันทึกเป็น PDF” เพื่อเก็บสำเนาไว้ในอุปกรณ์ของคุณ

1สูตรและวิธีทำ

ระบบเลข

ค่าประจำตำแหน่ง
ฐานสอง 2k, ฐานแปด 8k, ฐานสิบหก 16k
เป็นเลขฐานสิบ
Σ dk·bk
จากเลขฐานสิบ
หารด้วยฐาน อ่านเศษจากล่างขึ้นบน
ฐานสิบหก ↔ ฐานสอง
เลขฐานสิบหกหนึ่งหลัก = 4 บิต
two’s complement
กลับบิตแล้วบวก 1

ตรรกศาสตร์ประพจน์และการพิสูจน์

แถวของตารางค่าความจริง
2ⁿ
นัยสำคัญ (ถ้า–แล้ว)
p → q ≡ ¬p ∨ q ≡ ¬q → ¬p
นิเสธของนัย
¬(p → q) ≡ p ∧ ¬q
เงื่อนไขสองทาง
p ↔ q ≡ (p → q) ∧ (q → p)
กฎของเดอมอร์แกน
¬(p ∧ q) ≡ ¬p ∨ ¬q, ¬(p ∨ q) ≡ ¬p ∧ ¬q
กฎการแจกแจง
p ∨ (q ∧ r) ≡ (p ∨ q) ∧ (p ∨ r), p ∧ (q ∨ r) ≡ (p ∧ q) ∨ (p ∧ r)
นิเสธของตัวบ่งปริมาณ
¬∀x P(x) ≡ ∃x ¬P(x), ¬∃x P(x) ≡ ∀x ¬P(x)
โมดัสโพเนนส์ โมดัสโทลเลนส์
p → q, p ⊢ q; p → q, ¬q ⊢ ¬p

วิธีการ

  1. นับจำนวนตัวแปรที่ต่างกัน ตารางค่าความจริงมี 2ⁿ แถว โดยเริ่มจากแถวที่ทุกตัวเป็น 1
  2. ให้ทุกประพจน์ย่อยมีคอลัมน์ของตัวเอง และเติมคอลัมน์จากด้านในออกมาด้านนอก
  3. ใช้กฎของตัวเชื่อมแต่ละตัว: → เป็น 0 เฉพาะเมื่อ 1 → 0 และ ↔ เป็น 1 เมื่อทั้งสองข้างมีค่าเท่ากัน
  4. สำหรับความสมมูล ให้เปรียบเทียบคอลัมน์สุดท้ายทีละแถว สำหรับการอ้างเหตุผล ให้ดูเฉพาะแถวที่ทุกสมมติฐานเป็น 1
  5. การหานิเสธของข้อความที่มีตัวบ่งปริมาณ ให้ย้าย ¬ เข้าไปด้านใน สลับ ∀ กับ ∃ และใส่นิเสธให้สูตรด้านใน

ตรรกะดิจิทัล: เกต แผนที่คาร์โนห์ และฟลิปฟล็อป

เกตพื้นฐาน
A·B, A + B, A′, (A·B)′, (A + B)′, A ⊕ B
กฎของพีชคณิตแบบบูล
X + X′ = 1, X·X′ = 0, X + XY = X, XY + XY′ = X
กฎของเดอมอร์แกน
(X·Y)′ = X′ + Y′, (X + Y)′ = X′·Y′
ลำดับของแผนที่คาร์โนห์
00, 01, 11, 10 (Gray code)
กลุ่มของ 2ᵏ เซลล์
สูญเสีย k ตัวแปร
มัลติเพล็กเซอร์ 4 ต่อ 1
F = A′B′I0 + A′BI1 + AB′I2 + ABI3
ฟลิปฟล็อป
D: Q⁺ = D, T: Q⁺ = T ⊕ Q, JK: Q⁺ = JQ′ + K′Q
ตัวนับ
n บิต: 2ⁿ สถานะ; มอด N: n ที่น้อยที่สุดที่ 2ⁿ ≥ N; fout = fclk/N
ตัวนับริปเปิล
fmax = 1/(n·tpd)
ตัวนับริงและตัวนับจอห์นสัน
n และ 2n สถานะ

วิธีการ

  1. สำหรับวงจร ให้ทำจากอินพุตไปถึงเอาต์พุตทีละเกตและเขียนค่าบนทุกเส้น หรือเขียนนิพจน์ของมันแล้วเติมตารางค่าความจริง
  2. สำหรับการทำให้ง่าย ให้ใส่ 1 (และค่าไม่สนใจเป็น X) ลงในแผนที่คาร์โนห์ที่มีแถวและคอลัมน์เรียงตามรหัสเกรย์: 00, 01, 11, 10
  3. ครอบคลุม 1 ด้วยกลุ่ม 1, 2, 4, 8 หรือ 16 เซลล์ให้น้อยที่สุดและใหญ่ที่สุดเท่าที่เป็นไปได้ โดยพันข้ามขอบ แต่ละกลุ่มคือหนึ่งพจน์ผลคูณที่ประกอบด้วยตัวแปรที่คงที่ จัดกลุ่ม 0 สำหรับรูป POS
  4. สำหรับฟลิปฟล็อปและตัวนับ ให้อ่านอินพุตที่ขอบแอ็กทีฟของสัญญาณนาฬิกาแต่ละขอบ เขียนสถานะหลังทุกขอบ และจำไว้ว่าตัวนับ n บิตวนกลับหลัง 2ⁿ สถานะ

ทฤษฎีจำนวนและเลขคณิตมอดูลาร์

การหารที่มีเศษ
a = q·n + r, 0 ≤ r < n
ยูคลิด
gcd(a, b) = gcd(b, a mod b)
ตัวคูณร่วมน้อย
lcm(a, b) = a·b/gcd(a, b)
อินเวอร์ส
a·a⁻¹ ≡ 1 (mod n), gcd(a, n) = 1
ความสอดคล้องเชิงเส้น
a·x ≡ b → x ≡ a⁻¹·b (mod n)
ฟังก์ชันโทเทียนต์ของออยเลอร์
φ(n) = n·∏(1 − 1/p), φ(pᵏ) = pᵏ − pᵏ⁻¹
แฟร์มา
aᵖ⁻¹ ≡ 1 (mod p)
RSA
n = pq, φ = (p − 1)(q − 1), d = e⁻¹ mod φ, c = mᵉ mod n, m = cᵈ mod n

วิธีการ

  1. ลดทุกจำนวนมอดูโล n ก่อน เศษจะอยู่ระหว่าง 0 ถึง n − 1
  2. สำหรับ ห.ร.ม. ให้หารซ้ำด้วยขั้นตอนวิธีของยูคลิด เศษที่ไม่เป็นศูนย์ตัวสุดท้ายคือ ห.ร.ม.
  3. สำหรับตัวผกผัน ให้ทำขั้นตอนวิธีแบบขยาย และเก็บสัมประสิทธิ์ของ a ถ้าเป็นลบให้บวก n
  4. แก้ a·x ≡ b โดยคูณด้วย a⁻¹ รวมสองความสอดคล้องโดยเขียน x = r₁ + m₁k
  5. สำหรับเลขยกกำลัง ให้เขียนเลขชี้กำลังเป็นเลขฐานสองแล้วยกกำลังสองซ้ำ ใน RSA จะได้ d = e⁻¹ mod φ(n) โดย φ(n) = (p − 1)(q − 1)

ทฤษฎีกราฟ

เล็มมาการจับมือ
Σ deg(v) = 2|E|
กราฟบริบูรณ์
|E(Kn)| = n(n − 1)/2, |E(Km,n)| = m·n
กราฟปรกติ
|E| = n·k/2
ต้นไม้และป่า
|E| = n − 1, |E| = n − c
ใบของต้นไม้
L = 2 + Σ (deg(v) − 2) over deg(v) ≥ 3
ออยเลอร์
วงจร: ดีกรีเป็นคู่ทุกจุดยอด; ทางเดิน: มีดีกรีคี่พอดี 2 จุดยอด
วงจรแฮมิลตันใน Kn
(n − 1)!/2
การปรับค่าของไดก์สตรา
d(v) = min(d(v), d(u) + w(u, v))
วอล์กความยาว L
(Mᴸ)ij

วิธีการ

  1. เขียนดีกรีของทุกจุดยอด ผลบวกของดีกรีเท่ากับสองเท่าของจำนวนเส้นเชื่อม
  2. สำหรับโจทย์ออยเลอร์ ให้ตรวจว่ากราฟเชื่อมโยงกัน และนับจุดยอดที่มีดีกรีคี่
  3. สำหรับต้นไม้ ให้ใช้ว่ามี n − 1 เส้นเชื่อม และเล็มมาการจับมือ
  4. สำหรับไดก์สตรา ให้เก็บตารางระยะทางชั่วคราว และยืนยันจุดยอดที่ยังไม่ยืนยันซึ่งมีค่าน้อยที่สุดในแต่ละรอบ
  5. สำหรับต้นไม้ทอดข้ามค่าน้อยที่สุด ให้เรียงเส้นเชื่อมตามน้ำหนักและข้ามทุกเส้นที่ทำให้เกิดวัฏจักร (ครัสคัล) หรือขยายต้นไม้ต้นเดียวจากจุดยอดเริ่มต้น (พริม)

การแบ่งซับเน็ต IPv4

โฮสต์ต่อซับเน็ต
2(32 − prefix) − 2 (/31: 2, /32: 1)
ขนาดบล็อก
256 − (mask octet)
ที่อยู่เครือข่าย
IP AND มาสก์
ที่อยู่บรอดคาสต์
IP OR (NOT mask): บิตโฮสต์ทั้งหมดเป็น 1
ซับเน็ตจาก n บิตที่ยืม
2n

2โจทย์ฝึก

1.ระบบเลขปานกลาง
two's complement 8 บิต0−12806403201608040201

ตั้งบิตให้เก็บ −28 ใน two's complement 8 บิต อ่านเป็นจำนวนไม่มีเครื่องหมาย ค่าของรูปแบบ U เป็นเท่าใด

N = −288 bit
U =
2.ระบบเลขยาก
32 bit1 px1920 px1080 pxM = ? KiB

ภาพที่ไม่บีบอัดมีขนาด 1920 × 1080 พิกเซล และมี 32 บิตต่อพิกเซล ใช้หน่วยความจำ M เท่าใด ในหน่วย KiB (1 KiB = 1024 ไบต์)

1920 × 1080 px32 bit/px1 KiB = 1024 B
M = KiB
3.ตรรกศาสตร์ประพจน์และการพิสูจน์ปานกลาง
c → a¬a → ¬c¬c ∧ ¬a¬c → ¬a

สูตรใดสมมูลเชิงตรรกะกับ a → c ให้คลิกสูตรนั้น

a → c
  1. 1c → a
  2. 2¬a → ¬c
  3. 3¬c ∧ ¬a
  4. 4¬c → ¬a
4.ตรรกศาสตร์ประพจน์และการพิสูจน์ยาก
c ∧ ¬bb¬c¬b

กำหนดสมมติฐาน c → b; c บทสรุปใดตามมาจากสมมติฐานเหล่านี้ ให้คลิกบทสรุปนั้น

c → bc
  1. 1c ∧ ¬b
  2. 2b
  3. 3¬c
  4. 4¬b
5.ตรรกะดิจิทัล: เกต แผนที่คาร์โนห์ และฟลิปฟล็อปปานกลาง
ABC00011110010001130214151716

ใช้แผนที่คาร์โนห์หารูปผลบวกของผลคูณ (SOP) ที่น้อยที่สุดของ F(A, B, C) = Σm(3, 4, 5, 6, 7) มีลิเทอรัลรวมกี่ตัว L (ตัวแปรที่มีไพรม์นับเป็นหนึ่งลิเทอรัล)

F(A, B, C) = Σm(3, 4, 5, 6, 7)
L =
6.ตรรกะดิจิทัล: เกต แผนที่คาร์โนห์ และฟลิปฟล็อปยาก
ABCD000111100001111000111302X4050706112113X15014X819011X10

สำหรับ F(A, B, C, D) = Σm(1, 3, 9, 12, 13) + d(4, 8, 10, 15) โดย d แทนเงื่อนไขไม่สนใจ จงหาจำนวน N ของไพรม์อิมพลิแคนต์จำเป็น

F(A, B, C, D) = Σm(1, 3, 9, 12, 13) + d(4, 8, 10, 15)
N =
7.ทฤษฎีจำนวนและเลขคณิตมอดูลาร์ปานกลาง

จงแก้ 8x ≡ 17 (mod 19) ให้คำตอบ x ที่ 0 < x < 19

8x ≡ 17 (mod 19)
x =
8.ทฤษฎีจำนวนและเลขคณิตมอดูลาร์ยาก
mc = me​ mod n212m = cd​ mod n?(n, e) = (247, 17)d

กุญแจ RSA ใช้ p = 13, q = 19 และ e = 17 จงถอดรหัสข้อความเข้ารหัส c = 212: หาข้อความ m

p = 13q = 19e = 17c = 212
m =
9.อัลกอริทึมและความซับซ้อนปานกลาง

ความสัมพันธ์เวียนเกิด T(n) = T(n − 1) + O(1) มีผลเฉลยเป็นเท่าใด

  1. AO(2ⁿ)
  2. BO(log n)
  3. CO(n)
  4. DO(n²)
10.อัลกอริทึมและความซับซ้อนยาก

อัลกอริทึม Bellman–Ford ตรวจจับวงจรน้ำหนักติดลบที่ไปถึงได้จากต้นทางอย่างไร

  1. Aตรวจว่ามีเส้นเชื่อมใดมีน้ำหนักติดลบหรือไม่
  2. Bหลัง V − 1 รอบ ตรวจว่ามีเส้นเชื่อมใดที่ยังผ่อนคลายได้อีกหรือไม่
  3. Cรัน Dijkstra สองครั้งแล้วเปรียบเทียบผลระยะทางทั้งสองชุด
  4. Dนับวงจรด้วยการค้นหาในแนวลึก
11.โครงสร้างข้อมูลปานกลาง

ตารางแฮชขนาด 7 ใช้ h(k) = k mod 7 และ linear probing หลังแทรก 10 แล้ว 17 ถูกเก็บที่ใด

  1. Aดัชนี 4
  2. Bดัชนี 3
  3. Cดัชนี 0
  4. Dดัชนี 6
12.โครงสร้างข้อมูลยาก

ตรวจว่าลิงก์ลิสต์เชิงเดี่ยวมีวงจรหรือไม่โดยใช้หน่วยความจำเพิ่ม O(1) ได้อย่างไร

  1. Aเก็บทุกโหนดที่เยี่ยมในเซตแฮช
  2. Bเรียงลิสต์และหาตัวซ้ำ
  3. Cนับโหนดจนเกินกว่าฟิลด์ความยาวของลิสต์
  4. Dเลื่อนตัวชี้หนึ่งทีละหนึ่งก้าวและอีกตัวสองก้าว แล้วตรวจว่าพบกันหรือไม่
13.ทฤษฎีกราฟปานกลาง

กราฟเชื่อมโยงมี 20 จุดยอดและ 30 เส้นเชื่อม ต้องเอาเส้นเชื่อมออกกี่เส้น k เพื่อให้เหลือต้นไม้ทอดข้าม

|V| = 20|E| = 30
k =
14.ทฤษฎีกราฟยาก
2018117716146ABCDEF

จงหาน้ำหนักรวม W ของต้นไม้ทอดข้ามค่าน้อยที่สุดของกราฟถ่วงน้ำหนัก

|V| = 6|E| = 8
W =
15.ฐานข้อมูลและ SQLปานกลาง

ตารางเก็บที่อยู่ของลูกค้าในทุกแถวคำสั่งซื้อ การเปลี่ยนที่อยู่ในแถวหนึ่งแต่ไม่เปลี่ยนในแถวอื่นเป็นตัวอย่างของ:

  1. Aความผิดปกติในการแทรก (insertion anomaly)
  2. Bความผิดปกติในการลบ (deletion anomaly)
  3. Cความผิดปกติในการแก้ไข (update anomaly)
  4. Dphantom read
16.ฐานข้อมูลและ SQLยาก

มีดัชนีประกอบบน (last_name, first_name) เงื่อนไขใดใช้ดัชนีนี้ได้อย่างมีประสิทธิภาพที่สุด?

  1. AWHERE last_name = 'Jansen'
  2. BWHERE UPPER(first_name) = 'EVA'
  3. CWHERE first_name LIKE '%a'
  4. DWHERE first_name = 'Eva'
17.เครือข่ายคอมพิวเตอร์ปานกลาง

NAT (การแปลงที่อยู่เครือข่าย) ใช้เป็นหลักเพื่อ:

  1. Aให้อุปกรณ์จำนวนมากที่ใช้ที่อยู่ส่วนตัวใช้ที่อยู่ IP สาธารณะร่วมกันเพียงหนึ่งที่อยู่
  2. Bเข้ารหัสทราฟฟิกระหว่างสองไซต์
  3. Cเพิ่มความเร็วของสายเคเบิลเครือข่าย
  4. Dแปลงชื่อโดเมนเป็นที่อยู่ IP สำหรับอุปกรณ์ในเครือข่ายท้องถิ่น
18.เครือข่ายคอมพิวเตอร์ยาก

ผู้ใช้ ping 8.8.8.8 ได้แต่เปิดเว็บไซต์ใดด้วยชื่อไม่ได้ ปัญหาน่าจะอยู่ที่ใด?

  1. Aการแปลงชื่อ (DNS)
  2. Bสายเคเบิลทางกายภาพ
  3. Cไดรเวอร์การ์ดเครือข่าย
  4. Dเกตเวย์เริ่มต้น
19.การแบ่งซับเน็ต IPv4ปานกลาง
255.255.255.19211111111111111111111111111000000บิตเครือข่ายบิตโฮสต์

ซับเน็ตหนึ่งใช้มาสก์ 255.255.255.192 มีที่อยู่โฮสต์ที่ใช้ได้กี่ที่อยู่ H

255.255.255.192
H =
20.การแบ่งซับเน็ต IPv4ยาก
ออกเท็ตที่สาม 53 … 54012806413211608140211ร่วมกันเปลี่ยนแปลง

เราเตอร์มีเส้นทางไปยังเครือข่ายเหล่านี้: 10.206.53.0/24, 10.206.54.0/24 ความยาวพรีฟิกซ์ยาวที่สุด p ของเส้นทางสรุปเส้นเดียวที่ครอบคลุมทั้งหมดคือเท่าใด

10.206.53.0/24 … 10.206.54.0/24
p =

3สารละลาย

1.ระบบเลข

คำตอบ: U = 228

การตั้งค่าบิต: แต่ละบิตมีค่าเป็นกำลังของสอง (128, 64, …, 1) เลขฐานสิบหกหนึ่งหลักคือสี่บิตพอดี และใน two's complement 8 บิต บิตซ้ายสุดมีค่า −128 การดำเนินการระดับบิตทำงานกับแต่ละตำแหน่งบิตแยกกัน

กลับบิตแล้วบวกหนึ่ง

28 = 0001 1100
ที่กลับบิตแล้ว: 1110 0011
+1 → 1110 0100

อ่านเป็นแบบไม่มีเครื่องหมาย

1110 0100₂ = 256 − 28 = 228

คำตอบ

U = 228
2.ระบบเลข

คำตอบ: M = 8100 KiB

ระบบเลขตามตำแหน่ง: แต่ละหลักมีค่าเท่ากับค่าของหลักนั้นคูณกำลังของฐาน ในเลขฐานสองแต่ละตำแหน่งมีค่า 1, 2, 4, 8, 16, …; ในเลขฐานสิบหก 1, 16, 256, … โดย A–F แทน 10–15 ในระบบ two's complement 8 บิต บิตซ้ายสุดมีค่า −128 แทนที่จะเป็น +128 ซึ่งเป็นวิธีเก็บจำนวนลบ

บิตและไบต์

1920·1080·32 = 66355200 bit = 8294400 B

แปลงเป็น KiB

8294400/1024 = 8100 KiB

คำตอบ

M = 8100 KiB
3.ตรรกศาสตร์ประพจน์และการพิสูจน์

คำตอบ: ¬c → ¬a

ความสมมูลเชิงตรรกะ: สูตรสองสูตรสมมูลกัน (≡) เมื่อมีค่าเท่ากันทุกแถวของตารางค่าความจริง ซ้ำซ้อน (tautology) เป็น 1 ทุกแถว ขัดแย้ง (contradiction) เป็น 0 ทุกแถว และ contingency ไม่ใช่ทั้งสองอย่าง กฎที่มีประโยชน์: กฎของเดอมอร์แกน ¬(a ∧ b) ≡ ¬a ∨ ¬b และ ¬(a ∨ b) ≡ ¬a ∧ ¬b; a → b ≡ ¬a ∨ b ≡ ¬b → ¬a (การแย้งสลับที่); ¬(a → b) ≡ a ∧ ¬b; และกฎการแจกแจง a ∨ (b ∧ c) ≡ (a ∨ b) ∧ (a ∨ c)

กฎ

นัยสมมูลกับการแย้งสลับที่ ¬b → ¬a ไม่ใช่กับคอนเวิร์ส b → a หรืออินเวิร์ส ¬a → ¬b
a → c ≡ ¬c → ¬a

ตรวจสอบด้วยตารางค่าความจริง

a = 1, c = 1: 1 | 1 1 0 1
a = 1, c = 0: 0 | 1 1 0 0
a = 0, c = 1: 1 | 0 0 0 1
a = 0, c = 0: 1 | 1 1 1 1

คำตอบ

¬c → ¬a

คอลัมน์หลังเส้นคั่นคือตัวเลือกตามลำดับที่แสดง

4.ตรรกศาสตร์ประพจน์และการพิสูจน์

คำตอบ: b

ตัวบ่งปริมาณและการอ้างเหตุผล: ¬∀x P(x) ≡ ∃x ¬P(x) และ ¬∃x P(x) ≡ ∀x ¬P(x) ย้ายนิเสธเข้าด้านใน สลับทุกตัวบ่งปริมาณที่นิเสธผ่าน และใส่นิเสธให้สูตรด้านในด้วยกฎของประพจน์ เช่น ¬(a → b) ≡ a ∧ ¬b การอ้างเหตุผลสมเหตุสมผลเมื่อบทสรุปเป็น 1 ในทุกแถวที่สมมติฐานทั้งหมดเป็น 1 แถวเดียวที่สมมติฐานเป็นจริงแต่บทสรุปเป็นเท็จคือตัวอย่างค้านและแสดงว่าการอ้างเหตุผลนั้นไม่สมเหตุสมผล

แถวที่สมมติฐานทั้งหมดเป็นจริง

b = 1, c = 1: c ∧ ¬b = 0, b = 1, ¬c = 0, ¬b = 0

สรุป

b (โมดัสโพเนนส์)

คำตอบ

b
5.ตรรกะดิจิทัล: เกต แผนที่คาร์โนห์ และฟลิปฟล็อป

คำตอบ: L = 3

แผนที่คาร์โนห์: เซลล์เรียงตามรหัสเกรย์ (00, 01, 11, 10) ดังนั้นเซลล์ที่อยู่ติดกัน รวมถึงเซลล์ที่อยู่ตรงข้ามขอบ ต่างกันเพียงตัวแปรเดียว จัดกลุ่ม 1 เป็นสี่เหลี่ยมที่มี 1, 2, 4, 8 หรือ 16 เซลล์ ให้ใหญ่ที่สุดและมีจำนวนกลุ่มน้อยที่สุดจนครอบคลุมทุก 1 แต่ละกลุ่มคือหนึ่งพจน์ผลคูณ: ตัวแปรที่คงที่ภายในกลุ่ม กลุ่มที่มี 2ᵏ เซลล์สูญเสียตัวแปรไป k ตัว ค่าไม่สนใจ (X) ใช้เพื่อทำให้กลุ่มใหญ่ขึ้นได้ แต่ไม่จำเป็นต้องถูกครอบคลุม การจัดกลุ่ม 0 แทนจะได้รูป POS ที่น้อยที่สุด

ABC00011110010001130214151716

จัดกลุ่ม 1

ทุกกลุ่มเป็นสี่เหลี่ยมของ 2ᵏ เซลล์ เซลล์ที่ขอบเป็นเพื่อนบ้านของเซลล์ที่ขอบตรงข้าม

BC
A

รูป SOP ที่น้อยที่สุด

F = BC + A
L = 3

คำตอบ

L = 3
6.ตรรกะดิจิทัล: เกต แผนที่คาร์โนห์ และฟลิปฟล็อป

คำตอบ: N = 1

แผนที่คาร์โนห์: เซลล์เรียงตามรหัสเกรย์ (00, 01, 11, 10) ดังนั้นเซลล์ที่อยู่ติดกัน รวมถึงเซลล์ที่อยู่ตรงข้ามขอบ ต่างกันเพียงตัวแปรเดียว จัดกลุ่ม 1 เป็นสี่เหลี่ยมที่มี 1, 2, 4, 8 หรือ 16 เซลล์ ให้ใหญ่ที่สุดและมีจำนวนกลุ่มน้อยที่สุดจนครอบคลุมทุก 1 แต่ละกลุ่มคือหนึ่งพจน์ผลคูณ: ตัวแปรที่คงที่ภายในกลุ่ม กลุ่มที่มี 2ᵏ เซลล์สูญเสียตัวแปรไป k ตัว ค่าไม่สนใจ (X) ใช้เพื่อทำให้กลุ่มใหญ่ขึ้นได้ แต่ไม่จำเป็นต้องถูกครอบคลุม การจัดกลุ่ม 0 แทนจะได้รูป POS ที่น้อยที่สุด

ไพรม์อิมพลิแคนต์

กลุ่มที่ใหญ่ที่สุดที่สร้างได้จาก 1 และ X

B′C′D, BC′D′, AC′, A′B′D, ABD
ABCD000111100001111000111302X4050706112113X15014X819011X10

ไพรม์อิมพลิแคนต์จำเป็น

A′B′D
N = 1

คำตอบ

N = 1
7.ทฤษฎีจำนวนและเลขคณิตมอดูลาร์

คำตอบ: x = 14

ตัวผกผันและความสอดคล้อง: a มีตัวผกผันมอดูโล n เมื่อ gcd(a, n) = 1 เท่านั้น ขั้นตอนวิธีของยูคลิดแบบขยายเขียน 1 = s·n + t·a แล้ว a⁻¹ ≡ t (mod n) ความสอดคล้อง a·x ≡ b (mod n) ที่ gcd(a, n) = 1 มีคำตอบ x ≡ a⁻¹·b ความสอดคล้องสองข้อ x ≡ r₁ (mod m₁) และ x ≡ r₂ (mod m₂) ที่มอดูลัสเป็นจำนวนเฉพาะสัมพัทธ์กันมีคำตอบเดียวมอดูโล m₁·m₂ (ทฤษฎีบทเศษเหลือของจีน) φ(n) ของออยเลอร์นับจำนวนตั้งแต่ 1 ถึง n ที่เป็นจำนวนเฉพาะสัมพัทธ์กับ n: φ(n) = n·∏(1 − 1/p)

ตัวผกผันของ 8

r = 19, t = 0
r = 8, q = 2, t = 1
r = 3, q = 2, t = −2
r = 2, q = 1, t = 5
r = 1, q = 2, t = −7
8−1 ≡ 12 (mod 19)

แก้สมการ

x ≡ 12·17 = 204 ≡ 14 (mod 19)
ตรวจสอบ: 8·14 = 112 ≡ 17 (mod 19)

คำตอบ

x = 14
8.ทฤษฎีจำนวนและเลขคณิตมอดูลาร์

คำตอบ: m = 127

เลขยกกำลังมอดูลาร์และ RSA: คำนวณ aᵏ mod n ด้วยการยกกำลังสองซ้ำ: เขียน k เป็นเลขฐานสอง ยกกำลังสอง ลดค่าหลังทุกขั้นตอน และคูณเลขยกกำลังที่บิตเป็น 1 แฟร์มา: aᵖ⁻¹ ≡ 1 (mod p) สำหรับจำนวนเฉพาะ p ที่หาร a ไม่ลงตัว ดังนั้นลดเลขชี้กำลังมอดูโล p − 1 ได้ RSA: เลือกจำนวนเฉพาะ p และ q, n = p·q และ φ(n) = (p − 1)(q − 1) เลขชี้กำลังสาธารณะ e เป็นจำนวนเฉพาะสัมพัทธ์กับ φ(n) และเลขชี้กำลังส่วนตัวคือ d = e⁻¹ mod φ(n) เข้ารหัสด้วย c = mᵉ mod n และถอดรหัสด้วย m = cᵈ mod n

เลขชี้กำลังส่วนตัว

n = 247, φ(n) = 216
d = 17−1 mod 216 = 89

ถอดรหัสด้วยการยกกำลังสองซ้ำ

89 = 64 + 16 + 8 + 1
2121 ≡ 212 (mod 247)
2122 ≡ 237 (mod 247)
2124 ≡ 100 (mod 247)
2128 ≡ 120 (mod 247)
21216 ≡ 74 (mod 247)
21232 ≡ 42 (mod 247)
21264 ≡ 35 (mod 247)
21289 ≡ 212·120·74·35 ≡ 127 (mod 247)

ข้อความ

m = 127
ตรวจสอบ: 12717 mod 247 = 212

คำตอบ

m = 127
9.อัลกอริทึมและความซับซ้อน

คำตอบ: C · O(n)

เหตุผลที่เป็นคำตอบนี้

มี n ระดับ แต่ละระดับทำงานคงที่ เช่น การรวมสมาชิกของอาร์เรย์แบบเรียกซ้ำ

คำตอบ

C · O(n)
10.อัลกอริทึมและความซับซ้อน

คำตอบ: B · หลัง V − 1 รอบ ตรวจว่ามีเส้นเชื่อมใดที่ยังผ่อนคลายได้อีกหรือไม่

เหตุผลที่เป็นคำตอบนี้

ระยะทางสั้นที่สุดจริงทั้งหมดพบภายใน V − 1 รอบ ถ้ายังปรับปรุงเส้นเชื่อมใดได้อีก ต้องมีวงจรติดลบ

คำตอบ

B · หลัง V − 1 รอบ ตรวจว่ามีเส้นเชื่อมใดที่ยังผ่อนคลายได้อีกหรือไม่
11.โครงสร้างข้อมูล

คำตอบ: A · ดัชนี 4

เหตุผลที่เป็นคำตอบนี้

10 mod 7 = 3 และ 17 mod 7 = 3 ดัชนี 3 ถูกใช้แล้ว linear probing จึงลองช่องถัดไป คือดัชนี 4

คำตอบ

A · ดัชนี 4
12.โครงสร้างข้อมูล

คำตอบ: D · เลื่อนตัวชี้หนึ่งทีละหนึ่งก้าวและอีกตัวสองก้าว แล้วตรวจว่าพบกันหรือไม่

เหตุผลที่เป็นคำตอบนี้

ในอัลกอริทึมของ Floyd ถ้ามีวงจร ตัวชี้เร็วจะไล่ทันตัวช้าในที่สุด มิฉะนั้นตัวชี้เร็วถึง null

คำตอบ

D · เลื่อนตัวชี้หนึ่งทีละหนึ่งก้าวและอีกตัวสองก้าว แล้วตรวจว่าพบกันหรือไม่
13.ทฤษฎีกราฟ

คำตอบ: k = 11

ออยเลอร์ แฮมิลตัน และต้นไม้: กราฟเชื่อมโยงมีวงจรออยเลอร์ (ผ่านทุกเส้นเชื่อมครั้งเดียวและกลับจุดเริ่มต้น) เมื่อทุกจุดยอดมีดีกรีคู่ และมีทางเดินออยเลอร์ที่ไม่ใช่วงจรเมื่อมีจุดยอดดีกรีคี่พอดีสองจุด ทางเดินนั้นไปจากจุดยอดคี่จุดหนึ่งถึงอีกจุดหนึ่ง วงจรแฮมิลตันผ่านทุกจุดยอดครั้งเดียว Kn มีวงจรแบบนี้ (n − 1)!/2 วงจร ต้นไม้ที่มี n จุดยอดมี n − 1 เส้นเชื่อม และกราฟเชื่อมโยงที่มี m เส้นเชื่อมจะเหลือต้นไม้ทอดข้ามหลังเอาเส้นเชื่อมออก m − n + 1 เส้น

เส้นเชื่อมของต้นไม้ทอดข้าม

20 − 1 = 19

เส้นเชื่อมที่ต้องเอาออก

k = 30 − 19 = 11

คำตอบ

k = 11
14.ทฤษฎีกราฟ

คำตอบ: W = 46

เส้นทางที่สั้นที่สุดและต้นไม้ทอดข้าม: ขั้นตอนวิธีของไดก์สตรายืนยันหนึ่งจุดยอดต่อรอบ: จุดยอดที่ยังไม่ยืนยันซึ่งมีระยะทางชั่วคราวน้อยที่สุด ระยะทางของมันเป็นค่าสุดท้ายแล้ว และเพื่อนบ้าน v ทุกจุดได้ d(v) = min(d(v), d(u) + w(u, v)) ขั้นตอนวิธีของครัสคัลสร้างต้นไม้ทอดข้ามค่าน้อยที่สุดโดยเลือกเส้นเชื่อมจากเบาไปหนักและข้ามเส้นที่ทำให้เกิดวัฏจักร ขั้นตอนวิธีของพริมขยายต้นไม้หนึ่งต้นจากจุดยอดเริ่มต้นโดยเพิ่มเส้นเชื่อมที่เบาที่สุดที่ออกจากต้นไม้เสมอ ต้นไม้ทอดข้ามที่มี n จุดยอดมี n − 1 เส้นเชื่อม

ขั้นตอนวิธีของครัสคัล

BC (1): เลือก
BE (6): เลือก
DE (7): เลือก
EF (14): เลือก
DF (16): ข้าม ทำให้เกิดวัฏจักร
BD (17): ข้าม ทำให้เกิดวัฏจักร
AC (18): เลือก

น้ำหนักรวม

W = 1 + 6 + 7 + 14 + 18 = 46

คำตอบ

W = 46
15.ฐานข้อมูลและ SQL

คำตอบ: C · ความผิดปกติในการแก้ไข (update anomaly)

เหตุผลที่เป็นคำตอบนี้

การเก็บซ้ำซ้อนหมายความว่าการเปลี่ยนหนึ่งครั้งต้องทำในหลายแถว หากพลาดบางแถวข้อมูลจะไม่สอดคล้อง ซึ่งนอร์มัลไลเซชันป้องกันได้

คำตอบ

C · ความผิดปกติในการแก้ไข (update anomaly)
16.ฐานข้อมูลและ SQL

คำตอบ: A · WHERE last_name = 'Jansen'

เหตุผลที่เป็นคำตอบนี้

ดัชนี B-tree ประกอบเรียงตาม last_name แล้วจึง first_name การค้นหาด้วยคอลัมน์นำจึงใช้ได้ แต่ first_name เพียงอย่างเดียวใช้ลำดับนี้ไม่ได้

คำตอบ

A · WHERE last_name = 'Jansen'
17.เครือข่ายคอมพิวเตอร์

คำตอบ: A · ให้อุปกรณ์จำนวนมากที่ใช้ที่อยู่ส่วนตัวใช้ที่อยู่ IP สาธารณะร่วมกันเพียงหนึ่งที่อยู่

เหตุผลที่เป็นคำตอบนี้

NAT เขียนที่อยู่ (และพอร์ต) ใหม่เพื่อให้เครือข่ายส่วนตัวเข้าถึงอินเทอร์เน็ตผ่านที่อยู่สาธารณะจำนวนน้อยกว่า

คำตอบ

A · ให้อุปกรณ์จำนวนมากที่ใช้ที่อยู่ส่วนตัวใช้ที่อยู่ IP สาธารณะร่วมกันเพียงหนึ่งที่อยู่
18.เครือข่ายคอมพิวเตอร์

คำตอบ: A · การแปลงชื่อ (DNS)

เหตุผลที่เป็นคำตอบนี้

การ ping ไปยัง IP ภายนอกสำเร็จพิสูจน์ว่าสายเคเบิล การกำหนดที่อยู่ และการกำหนดเส้นทางใช้ได้ ชื่อที่ล้มเหลวชี้ไปที่ปัญหาเซิร์ฟเวอร์ DNS หรือการตั้งค่ารีโซลเวอร์

คำตอบ

A · การแปลงชื่อ (DNS)
19.การแบ่งซับเน็ต IPv4

คำตอบ: H = 62

IPv4 subnetting: an address has 32 bits. The prefix /p says how many leading bits identify the network; the remaining 32 − p bits number the hosts. A subnet has 2³²⁻ᵖ addresses, but the first (network address) and last (broadcast address) cannot be given to hosts, so 2³²⁻ᵖ − 2 hosts fit. Exceptions: a /31 (point-to-point link, RFC 3021) uses both of its 2 addresses for hosts, and a /32 is one single address (a single host or a loopback).

ความยาวพรีฟิกซ์

255.255.255.192 = /26

โฮสต์ที่ใช้ได้

26 − 2 = 62

คำตอบ

H = 62
20.การแบ่งซับเน็ต IPv4

คำตอบ: p = 22

การสรุปเส้นทาง: เส้นทางสรุป a.b.c.0/p ครอบคลุมทุกเครือข่ายที่ p บิตแรกตรงกัน เขียนออกเท็ตที่ต่างกันของเครือข่ายแรกและสุดท้ายเป็นเลขฐานสอง จำนวนบิตนำหน้าที่ตรงกัน บวกบิตของออกเท็ตก่อนหน้า คือพรีฟิกซ์สรุปที่ยาวที่สุด

เทียบบิต

53 = 00110101
54 = 00110110
บิตนำหน้าที่ตรงกัน: 6

ความยาวพรีฟิกซ์

p = 16 + 6 = 22

คำตอบ

p = /22

เส้นทางสรุป: 10.206.52.0/22 (ครอบคลุมเครือข่าย 2 เครือข่ายที่ไม่อยู่ในรายการด้วย)

ExamProblems · examproblems.com/courses/computer-science-fundamentals