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

สรุปสูตร ขั้นตอนวิธีทำที่สำคัญของทุกหัวข้อ และโจทย์ฝึก 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 complement1−12816403211608141201

รูปแบบ 8 บิต 1101 0110 เก็บจำนวนเต็มมีเครื่องหมายแบบ two's complement ค่าของมัน N ในเลขฐานสิบคือเท่าใด

1101 01108 bit
N =
2.ระบบเลขยาก
24 bit1 px640 px480 pxM = ? KiB

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

640 × 480 px24 bit/px1 KiB = 1024 B
M = KiB
3.ตรรกศาสตร์ประพจน์และการพิสูจน์ปานกลาง
p → (r → q)(p → q) ∧ (r → q)(p → r) → qp ∧ (r → q)

สูตรใดสมมูลเชิงตรรกะกับ (p ∧ r) → q ให้คลิกสูตรนั้น

(p ∧ r) → q
  1. 1p → (r → q)
  2. 2(p → q) ∧ (r → q)
  3. 3(p → r) → q
  4. 4p ∧ (r → q)
4.ตรรกศาสตร์ประพจน์และการพิสูจน์ยาก
q¬p ∧ qp¬p

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

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

ใช้แผนที่คาร์โนห์หารูปผลคูณของผลบวก (POS) ที่น้อยที่สุดของ F(A, B, C, D) = Σm(0, 2, 3, 4, 6, 9, 10, 12, 13, 15) มีกี่พจน์ผลบวก (ตัวประกอบ) N

F(A, B, C, D) = Σm(0, 2, 3, 4, 6, 9, 10, 12, 13, 15)
N =
6.ตรรกะดิจิทัล: เกต แผนที่คาร์โนห์ และฟลิปฟล็อปยาก
ABCD0001111000011110100103021415X716012013015X1408X9111010

สำหรับ F(A, B, C, D) = Σm(0, 4, 5, 6, 11) + d(7, 9, 14) โดย d แทนเงื่อนไขไม่สนใจ จงหาจำนวน N ของไพรม์อิมพลิแคนต์จำเป็น

F(A, B, C, D) = Σm(0, 4, 5, 6, 11) + d(7, 9, 14)
N =
7.ทฤษฎีจำนวนและเลขคณิตมอดูลาร์ปานกลาง

จงหาตัวผกผันของ 47 มอดูโล 76: จำนวน x ที่ 0 < x < 76 และ 47·x ≡ 1 (mod 76)

a = 47n = 76
47−1 mod 76 =
8.ทฤษฎีจำนวนและเลขคณิตมอดูลาร์ยาก

ใช้การยกกำลังสองซ้ำเพื่อหา 5160 mod 19

a = 5k = 160n = 19
5160 mod 19 =
9.อัลกอริทึมและความซับซ้อนปานกลาง

เหตุใดการโปรแกรมพลวัตจึงไม่ช่วยเร่ง merge sort ได้จริง

  1. Aปัญหาย่อยของมันไม่ซ้อนทับกัน จึงไม่มีอะไรให้ใช้ซ้ำ
  2. Bการโปรแกรมพลวัตใช้ได้กับปัญหากราฟเท่านั้น ไม่ใช่กับอาร์เรย์
  3. CMerge sort เป็น O(n) อยู่แล้ว
  4. DMerge sort ไม่มีโครงสร้างแบบเรียกซ้ำ
10.อัลกอริทึมและความซับซ้อนยาก

ปัญหาการหยุด (halting problem) แสดงว่า

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

ต้นทุนของการแทรกสมาชิกตรงกลางอาร์เรย์ที่มี n สมาชิกคือเท่าใด

  1. AO(n²) เพราะแต่ละสมาชิกย้าย n ครั้ง
  2. BO(n) เพราะสมาชิกหลังจากนั้นต้องเลื่อน
  3. CO(log n) เพราะการค้นหาแบบทวิภาค
  4. DO(1) เพราะทราบดัชนี
12.โครงสร้างข้อมูลยาก

เหตุใดฐานข้อมูลจึงมักใช้ B+ tree แทน B-tree ธรรมดาสำหรับดัชนี

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

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

|V| = 14|E| = 20
k =
14.ทฤษฎีกราฟยาก
149102156181612ABCDEFG

ขั้นตอนวิธีของพริมสร้างต้นไม้ทอดข้ามค่าน้อยที่สุดโดยเริ่มจากจุดยอด D ให้คลิกเส้นเชื่อมที่เพิ่มเป็นเส้นหมายเลข 2

เริ่มต้น: Dk = 2
  1. 1เส้นเชื่อม AC
  2. 2เส้นเชื่อม BC
  3. 3เส้นเชื่อม BD
  4. 4เส้นเชื่อม CE
  5. 5เส้นเชื่อม DE
  6. 6เส้นเชื่อม EF
  7. 7เส้นเชื่อม GB
  8. 8เส้นเชื่อม GD
  9. 9เส้นเชื่อม GE
15.ฐานข้อมูลและ SQLปานกลาง

WHERE EXISTS (subquery) เป็นจริงสำหรับแถวเมื่อใด?

  1. Aเมื่อซับคิวรีคืนหนึ่งแถวพอดี
  2. Bเมื่อซับคิวรีคืนอย่างน้อยหนึ่งแถว
  3. Cเมื่อซับคิวรีคืนตัวเลขที่มากกว่าศูนย์
  4. Dเมื่อซับคิวรีไม่คืนค่า NULL
16.ฐานข้อมูลและ SQLยาก

FULL OUTER JOIN ให้ผลลัพธ์อะไร?

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

โฮสต์ใดอยู่ในซับเน็ต /16 เดียวกับ 10.1.2.3?

  1. A10.1.200.5
  2. B10.0.2.3
  3. C11.1.2.3
  4. D10.2.2.3
18.เครือข่ายคอมพิวเตอร์ยาก

หน่วยส่งสูงสุด (MTU) ของเพย์โหลดอีเทอร์เน็ตมาตรฐานคือเท่าใด?

  1. A9000 ไบต์ในทุกเครือข่าย
  2. B1500 ไบต์
  3. C64 ไบต์
  4. D65,535 ไบต์
19.การแบ่งซับเน็ต IPv4ปานกลาง
/24 → /2611111111111111111111111111000000บิตเครือข่ายบิตโฮสต์

เครือข่าย 192.168.10.0/24 ต้องแบ่งเป็นซับเน็ตขนาดเท่ากันอย่างน้อย 4 ซับเน็ต หากยืมบิตให้น้อยที่สุด แต่ละซับเน็ตมีโฮสต์ที่ใช้ได้กี่เครื่อง H

192.168.10.0/244 subnets
H =
20.การแบ่งซับเน็ต IPv4ยาก
ออกเท็ตที่สาม 230 … 231112816413201608141201ร่วมกันเปลี่ยนแปลง

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

10.52.230.0/24 … 10.52.231.0/24
p =

3สารละลาย

1.ระบบเลข

คำตอบ: N = −42

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

บวกค่าประจำตำแหน่ง

บิตอื่นยังคงมีค่าเป็นบวกตามปกติ

−128 + 64 + 16 + 4 + 2 = −42

คำตอบ

N = −42
2.ระบบเลข

คำตอบ: M = 900 KiB

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

บิตและไบต์

640·480·24 = 7372800 bit = 921600 B

แปลงเป็น KiB

921600/1024 = 900 KiB

คำตอบ

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

คำตอบ: p → (r → q)

ความสมมูลเชิงตรรกะ: สูตรสองสูตรสมมูลกัน (≡) เมื่อมีค่าเท่ากันทุกแถวของตารางค่าความจริง ซ้ำซ้อน (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)

กฎ

เอ็กซ์พอร์เทชัน: (a ∧ b) → c ≡ a → (b → c) ทั้งสองเป็น 0 เฉพาะเมื่อ a = 1, b = 1 และ c = 0
(p ∧ r) → q ≡ p → (r → q)

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

p = 1, q = 1, r = 1: 1 | 1 1 1 1
p = 1, q = 1, r = 0: 1 | 1 1 1 1
p = 1, q = 0, r = 1: 0 | 0 0 0 0
p = 1, q = 0, r = 0: 1 | 1 0 1 1
p = 0, q = 1, r = 1: 1 | 1 1 1 0
p = 0, q = 1, r = 0: 1 | 1 1 1 0
p = 0, q = 0, r = 1: 1 | 1 0 0 0
p = 0, q = 0, r = 0: 1 | 1 1 0 0

คำตอบ

p → (r → q)

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

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

คำตอบ: ¬p

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

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

p = 0, q = 0, r = 0: q = 0, ¬p ∧ q = 0, p = 0, ¬p = 1

สรุป

¬p (โมดัสโทลเลนส์สองครั้ง)

คำตอบ

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

คำตอบ: N = 5

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

ABCD000111100001111010011312140507161121131150140819011110

จัดกลุ่ม 0

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

(A + C + D′)
(A + B′ + D′)
(A′ + B + C + D)
(A′ + B + C′ + D′)
(A′ + B′ + C′ + D)

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

F = (A + C + D′)(A + B′ + D′)(A′ + B + C + D)(A′ + B + C′ + D′)(A′ + B′ + C′ + D)
N = 5

คำตอบ

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

คำตอบ: N = 3

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

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

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

BCD′, A′C′D′, A′B, AB′D
ABCD0001111000011110100103021415X716012013015X1408X9111010

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

A′C′D′, A′B, AB′D
N = 3

คำตอบ

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

คำตอบ: 47−1 mod 76 = 55

ตัวผกผันและความสอดคล้อง: 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)

ขั้นตอนวิธีของยูคลิดแบบขยาย

เศษ r แต่ละตัวเขียนเป็น r ≡ t·47 (mod 76)

r = 76, t = 0
r = 47, q = 1, t = 1
r = 29, q = 1, t = −1
r = 18, q = 1, t = 2
r = 11, q = 1, t = −3
r = 7, q = 1, t = 5
r = 4, q = 1, t = −8
r = 3, q = 1, t = 13
r = 1, q = 3, t = −21

อินเวอร์ส

1 ≡ −21·47 (mod 76)
x = 55
ตรวจสอบ: 47·55 = 2585 = 34·76 + 1

คำตอบ

47−1 mod 76 = 55
8.ทฤษฎีจำนวนและเลขคณิตมอดูลาร์

คำตอบ: 5160 mod 19 = 16

เลขยกกำลังมอดูลาร์และ 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

เลขชี้กำลังฐานสอง

160 = 101000002 = 128 + 32

การยกกำลังสองซ้ำ

51 ≡ 5 (mod 19)
52 ≡ 6 (mod 19)
54 ≡ 17 (mod 19)
58 ≡ 4 (mod 19)
516 ≡ 16 (mod 19)
532 ≡ 9 (mod 19)
564 ≡ 5 (mod 19)
5128 ≡ 6 (mod 19)

คูณเลขยกกำลังที่ต้องใช้

5160 ≡ 9·6 ≡ 16 (mod 19)

คำตอบ

5160 mod 19 = 16
9.อัลกอริทึมและความซับซ้อน

คำตอบ: A · ปัญหาย่อยของมันไม่ซ้อนทับกัน จึงไม่มีอะไรให้ใช้ซ้ำ

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

ครึ่งของ merge sort ไม่ซ้อนกันและแต่ละส่วนถูกแก้ครั้งเดียว DP ช่วยเฉพาะเมื่อปัญหาย่อยเกิดซ้ำ เช่น ฟีโบนักชี

คำตอบ

A · ปัญหาย่อยของมันไม่ซ้อนทับกัน จึงไม่มีอะไรให้ใช้ซ้ำ
10.อัลกอริทึมและความซับซ้อน

คำตอบ: C · ไม่มีอัลกอริทึมใดตัดสินได้สำหรับทุกโปรแกรมและอินพุตว่าโปรแกรมจะหยุดหรือไม่

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

ทัวริงแสดงว่าปัญหาการหยุดตัดสินไม่ได้ (undecidable): การสมมติว่ามีตัวตัดสินอยู่นำไปสู่ข้อขัดแย้งกับโปรแกรมที่ทำสิ่งตรงข้าม

คำตอบ

C · ไม่มีอัลกอริทึมใดตัดสินได้สำหรับทุกโปรแกรมและอินพุตว่าโปรแกรมจะหยุดหรือไม่
11.โครงสร้างข้อมูล

คำตอบ: B · O(n) เพราะสมาชิกหลังจากนั้นต้องเลื่อน

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

สมาชิกทั้งหมดหลังจุดแทรกเลื่อนไปทางขวาหนึ่งตำแหน่ง ซึ่งใช้เวลาแปรผันตาม n

คำตอบ

B · O(n) เพราะสมาชิกหลังจากนั้นต้องเลื่อน
12.โครงสร้างข้อมูล

คำตอบ: C · ระเบียนทั้งหมดอยู่ในใบที่เชื่อมกัน ทำให้สแกนช่วงได้มีประสิทธิภาพ

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

ใน B+ tree โหนดภายในเพียงนำทางการค้นหา และใบเชื่อมกันตามลำดับคีย์ คำถามช่วงจึงหาคีย์แรกแล้วเดินไปตามใบ

คำตอบ

C · ระเบียนทั้งหมดอยู่ในใบที่เชื่อมกัน ทำให้สแกนช่วงได้มีประสิทธิภาพ
13.ทฤษฎีกราฟ

คำตอบ: k = 7

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

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

14 − 1 = 13

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

k = 20 − 13 = 7

คำตอบ

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

คำตอบ: เส้นเชื่อม BC

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

ขั้นตอนวิธีของพริม

1. BD (10)
2. BC (9)
3. CE (2)
4. EF (6)
5. GE (12)
6. AC (14)

เส้นเชื่อมหมายเลข 2

BC

คำตอบ

เส้นเชื่อม BC
15.ฐานข้อมูลและ SQL

คำตอบ: B · เมื่อซับคิวรีคืนอย่างน้อยหนึ่งแถว

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

EXISTS ตรวจเพียงว่ามีแถวถูกสร้างหรือไม่ ส่วน NOT EXISTS เป็นจริงเมื่อซับคิวรีไม่คืนแถวเลย

คำตอบ

B · เมื่อซับคิวรีคืนอย่างน้อยหนึ่งแถว
16.ฐานข้อมูลและ SQL

คำตอบ: D · ทุกแถวจากทั้งสองตาราง จับคู่เท่าที่ทำได้และเติม NULL ในส่วนที่เหลือ

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

full outer join เก็บทุกแถวของทั้งสองตาราง จับคู่ที่ตรงกันและเติม NULL ให้ฝั่งที่ขาด

คำตอบ

D · ทุกแถวจากทั้งสองตาราง จับคู่เท่าที่ทำได้และเติม NULL ในส่วนที่เหลือ
17.เครือข่ายคอมพิวเตอร์

คำตอบ: A · 10.1.200.5

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

เมื่อเป็น /16 สิบหกบิตแรก (10.1) เป็นส่วนเครือข่าย มีเพียง 10.1.200.5 ที่ใช้ร่วมกัน จึงอยู่ใน 10.1.0.0/16

คำตอบ

A · 10.1.200.5
18.เครือข่ายคอมพิวเตอร์

คำตอบ: B · 1500 ไบต์

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

อีเทอร์เน็ตมาตรฐานรับเพย์โหลดได้ถึง 1500 ไบต์ แพ็กเก็ต IP ที่ใหญ่กว่าต้องถูกแบ่งส่วน (fragment) หรือใช้ path MTU discovery

คำตอบ

B · 1500 ไบต์
19.การแบ่งซับเน็ต IPv4

คำตอบ: H = 62

การแบ่งซับเน็ต IPv4: ที่อยู่มี 32 บิต พรีฟิกซ์ /p บอกว่าบิตนำหน้ากี่บิตระบุเครือข่าย ส่วน 32 − p บิตที่เหลือใช้ระบุเลขโฮสต์ ซับเน็ตมี 2³²⁻ᵖ ที่อยู่ แต่ที่อยู่แรก (ที่อยู่เครือข่าย) และที่อยู่สุดท้าย (ที่อยู่บรอดคาสต์) ใช้เป็นโฮสต์ไม่ได้ จึงมีโฮสต์ได้ 2³²⁻ᵖ − 2 เครื่อง ข้อยกเว้น: /31 (ลิงก์แบบจุดต่อจุด, RFC 3021) ใช้ทั้ง 2 แอดเดรสสำหรับโฮสต์ และ /32 เป็นแอดเดรสเดียว (โฮสต์เดียวหรือลูปแบ็ก)

บิตที่ต้องยืม

22 = 4 ≥ 4 → b = 2, /26

โฮสต์ต่อซับเน็ต

26 − 2 = 62

คำตอบ

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

คำตอบ: p = 23

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

เทียบบิต

230 = 11100110
231 = 11100111
บิตนำหน้าที่ตรงกัน: 7

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

p = 16 + 7 = 23

คำตอบ

p = /23

เส้นทางสรุป: 10.52.230.0/23

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