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

สรุปสูตร ขั้นตอนวิธีทำที่สำคัญของทุกหัวข้อ และโจทย์ฝึก 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 บิต?−128?64?32?16?8?4?2?1

เขียน −52 เป็นรูปแบบ two's complement 8 บิต อ่านรูปแบบนั้นเป็นเลขฐานสองแบบไม่มีเครื่องหมาย ค่าของมัน U ในเลขฐานสิบคือเท่าใด

N = −528 bit
U =
2.ระบบเลขยาก
12 บิต แบบไม่มีเครื่องหมาย, N = ?????????????

จำนวนเต็มไม่มีเครื่องหมายที่มากที่สุด N ที่ใส่ได้ใน 12 บิตคือเท่าใด

12 bit
N =
3.ตรรกศาสตร์ประพจน์และการพิสูจน์ปานกลาง
abc(¬c ∨ a) → ¬a¬c → b((¬c ∨ a) → ¬a) ↔ (¬c → b)111?110?101?100?011?010?001?000?

ในตารางค่าความจริง 8 แถวของ ((¬c ∨ a) → ¬a) ↔ (¬c → b) มีกี่แถวที่เป็นจริง เรียกจำนวนนี้ว่า N

((¬c ∨ a) → ¬a) ↔ (¬c → b)
N =
4.ตรรกศาสตร์ประพจน์และการพิสูจน์ยาก
∀x (¬P(x) → ¬Q(x))∃x (P(x) ∧ ¬Q(x))∀x (P(x) → ¬Q(x))∀x (P(x) ∧ ¬Q(x))

ประโยคใดสมมูลกับ ¬∃x (P(x) → Q(x)) เมื่อย้ายนิเสธเข้าด้านในสุด ให้คลิกประโยคนั้น

¬∃x (P(x) → Q(x))
  1. 1∀x (¬P(x) → ¬Q(x))
  2. 2∃x (P(x) ∧ ¬Q(x))
  3. 3∀x (P(x) → ¬Q(x))
  4. 4∀x (P(x) ∧ ¬Q(x))
5.ตรรกะดิจิทัล: เกต แผนที่คาร์โนห์ และฟลิปฟล็อปปานกลาง
ABCD0001111000011110111111

ในแผนที่คาร์โนห์นี้มี 1 เพียงตัวเดียวพอดีที่ไม่มี 1 อยู่ติดกัน จึงยังเป็นกลุ่มหนึ่งเซลล์ (มินเทอมเต็มที่มีสี่ลิเทอรัล) ในรูป SOP ที่น้อยที่สุด เพื่อนบ้านข้ามขอบแผนที่นับด้วย ให้คลิกเซลล์นั้น

F = Σm(0, 4, 6, 8, 10, 15)
  1. 1AB = 00, CD = 00
  2. 2AB = 00, CD = 01
  3. 3AB = 00, CD = 11
  4. 4AB = 00, CD = 10
  5. 5AB = 01, CD = 00
  6. 6AB = 01, CD = 01
  7. 7AB = 01, CD = 11
  8. 8AB = 01, CD = 10
  9. 9AB = 11, CD = 00
  10. 10AB = 11, CD = 01
  11. 11AB = 11, CD = 11
  12. 12AB = 11, CD = 10
  13. 13AB = 10, CD = 00
  14. 14AB = 10, CD = 01
  15. 15AB = 10, CD = 11
  16. 16AB = 10, CD = 10
6.ตรรกะดิจิทัล: เกต แผนที่คาร์โนห์ และฟลิปฟล็อปยาก
ABCD00011110000111100011031204X50716X12X130150141819111110

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

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

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

a = 64n = 73
64−1 mod 73 =
8.ทฤษฎีจำนวนและเลขคณิตมอดูลาร์ยาก
687c = me​ mod n?m = cd​ mod nm(n, e) = (779, 7)d

เข้ารหัสข้อความ m = 687 ด้วยกุญแจสาธารณะ RSA (n, e) = (779, 7) จงหาข้อความเข้ารหัส c

n = 779e = 7m = 687
c =
9.อัลกอริทึมและความซับซ้อนปานกลาง

ด้วยเหรียญ 1, 3 และ 4 และยอด 6 วิธีละโมบ "หยิบเหรียญใหญ่สุดก่อน" ใช้เหรียญกี่เหรียญเมื่อเทียบกับค่าที่เหมาะสมที่สุด

  1. Aละโมบใช้ 3 เหรียญ ค่าที่เหมาะสมที่สุดคือ 2
  2. Bละโมบใช้ 3 เหรียญ ค่าที่เหมาะสมที่สุดคือ 3
  3. Cละโมบใช้ 2 เหรียญ ค่าที่เหมาะสมที่สุดคือ 2
  4. Dละโมบใช้ 4 เหรียญ ค่าที่เหมาะสมที่สุดคือ 3
10.อัลกอริทึมและความซับซ้อนยาก

เทคนิคใดให้เวลาทำงานคาดหมาย O(n log n) ของ quicksort กับอินพุตใด ๆ

  1. Aเรียงอินพุตก่อนรัน quicksort
  2. Bเลือกตัวหลักแบบสุ่มสม่ำเสมอ
  3. Cเรียกซ้ำเฉพาะฝั่งซ้าย
  4. Dเลือกสมาชิกตัวแรกเสมอ
11.โครงสร้างข้อมูลปานกลาง

ต้นไม้ทวิภาคมีราก 1 ลูกซ้าย 2 ลูกขวา 3 โหนด 2 มีลูก 4 (ซ้าย) และ 5 (ขวา) การท่องแบบ postorder คืออะไร

  1. A4 5 2 3 1
  2. B4 2 5 1 3
  3. C1 2 4 5 3
  4. D5 4 3 2 1
12.โครงสร้างข้อมูลยาก

สำหรับแต่ละสมาชิกของอาร์เรย์ คุณต้องการสมาชิกที่ใหญ่กว่าถัดไปทางขวา ในเวลารวม O(n) โครงสร้างใดช่วยได้

  1. Aสแตกที่เก็บสมาชิกที่รอคำตอบ
  2. Bคิวที่เก็บทุกคู่ของสมาชิก
  3. Cตารางแฮชของสมาชิกทั้งหมด
  4. Dbinary search tree ที่สร้างใหม่สำหรับแต่ละสมาชิก
13.ทฤษฎีกราฟปานกลาง

กราฟบริบูรณ์ K6 มีวงจรแฮมิลตันที่แตกต่างกันกี่วงจร H วงจรที่ต่างกันเพียงจุดยอดเริ่มต้นหรือทิศทางนับเป็นวงจรเดียวกัน

K6
H =
14.ทฤษฎีกราฟยาก
148320112671216ABCDEFG

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

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

คีย์นอกถูกประกาศด้วย ON DELETE CASCADE เกิดอะไรขึ้นเมื่อแถวแม่ถูกลบ?

  1. Aแถวแม่ถูกคัดลอกไปยังตารางเก็บถาวร
  2. Bแถวลูกที่อ้างอิงแถวนั้นถูกลบโดยอัตโนมัติ
  3. Cการลบถูกปฏิเสธเสมอ
  4. Dคีย์นอกในแถวลูกถูกตั้งเป็น NULL โดยอัตโนมัติ
16.ฐานข้อมูลและ SQLยาก

เหตุใด NATURAL JOIN จึงถือว่าเสี่ยงในคิวรีที่ใช้งานจริง?

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

HTTP เป็นแบบไม่เก็บสถานะ (stateless) เว็บไซต์มักทำให้ผู้ใช้ล็อกอินค้างอยู่ข้ามคำขอได้อย่างไร?

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

กุญแจส่วนตัวของเซิร์ฟเวอร์ถูกขโมยในอีกหนึ่งปีข้างหน้า คุณสมบัติ TLS ใดทำให้เซสชันที่บันทึกไว้วันนี้ปลอดภัย?

  1. Aการใช้ชื่อโดเมนที่ยาวขึ้น
  2. Bการบีบอัดข้อมูลก่อนเข้ารหัส
  3. Cความลับไปข้างหน้า (forward secrecy) จากการแลกเปลี่ยนกุญแจ Diffie-Hellman แบบชั่วคราว
  4. Dการส่งใบรับรองสองครั้ง
19.การแบ่งซับเน็ต IPv4ปานกลาง
/22 → /2611111111111111111111111111000000บิตเครือข่ายบิตโฮสต์

เครือข่าย 10.233.24.0/22 ถูกแบ่งเป็นซับเน็ตขนาดเท่ากันด้วยพรีฟิกซ์ /26 มีกี่ซับเน็ต N

10.233.24.0/22/26
N =
20.การแบ่งซับเน็ต IPv4ยาก
ออคเต็ตสุดท้าย = 135112806403201608141211เครือข่ายโฮสต์

โฮสต์มีที่อยู่ 10.20.42.135/28 ตัวเลขสุดท้าย (ออคเต็ตที่สี่) x ของที่อยู่บรอดคาสต์ของซับเน็ตคือเท่าใด

10.20.42.135/28
x =

3สารละลาย

1.ระบบเลข

คำตอบ: U = 204

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

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

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

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

1100 1100₂ = 256 − 52 = 204

คำตอบ

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

คำตอบ: N = 4095

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

ค่าที่มากที่สุด

212 − 1 = 4095

คำตอบ

N = 4095
3.ตรรกศาสตร์ประพจน์และการพิสูจน์

คำตอบ: N = 4

ตารางค่าความจริง: สูตรที่มีตัวแปรต่างกัน n ตัวมี 2ⁿ แถว หนึ่งแถวต่อทุกชุดของค่าความจริง (1 = จริง, 0 = เท็จ) ทำจากด้านในออกมาและให้ทุกประพจน์ย่อยมีคอลัมน์ของตัวเอง ¬a กลับค่า a ∧ b เป็น 1 เฉพาะเมื่อทั้งสองเป็น 1 a ∨ b เป็น 0 เฉพาะเมื่อทั้งสองเป็น 0 a → b เป็น 0 เฉพาะเมื่อ a = 1 และ b = 0 a ↔ b เป็น 1 เมื่อทั้งสองข้างเท่ากัน

ตารางค่าความจริงทีละแถว

a = 1, b = 1, c = 1: ¬c = 0, ¬c ∨ a = 1, ¬a = 0, (¬c ∨ a) → ¬a = 0, ¬c → b = 1, ((¬c ∨ a) → ¬a) ↔ (¬c → b) = 0
a = 1, b = 1, c = 0: ¬c = 1, ¬c ∨ a = 1, ¬a = 0, (¬c ∨ a) → ¬a = 0, ¬c → b = 1, ((¬c ∨ a) → ¬a) ↔ (¬c → b) = 0
a = 1, b = 0, c = 1: ¬c = 0, ¬c ∨ a = 1, ¬a = 0, (¬c ∨ a) → ¬a = 0, ¬c → b = 1, ((¬c ∨ a) → ¬a) ↔ (¬c → b) = 0
a = 1, b = 0, c = 0: ¬c = 1, ¬c ∨ a = 1, ¬a = 0, (¬c ∨ a) → ¬a = 0, ¬c → b = 0, ((¬c ∨ a) → ¬a) ↔ (¬c → b) = 1
a = 0, b = 1, c = 1: ¬c = 0, ¬c ∨ a = 0, ¬a = 1, (¬c ∨ a) → ¬a = 1, ¬c → b = 1, ((¬c ∨ a) → ¬a) ↔ (¬c → b) = 1
a = 0, b = 1, c = 0: ¬c = 1, ¬c ∨ a = 1, ¬a = 1, (¬c ∨ a) → ¬a = 1, ¬c → b = 1, ((¬c ∨ a) → ¬a) ↔ (¬c → b) = 1
a = 0, b = 0, c = 1: ¬c = 0, ¬c ∨ a = 0, ¬a = 1, (¬c ∨ a) → ¬a = 1, ¬c → b = 1, ((¬c ∨ a) → ¬a) ↔ (¬c → b) = 1
a = 0, b = 0, c = 0: ¬c = 1, ¬c ∨ a = 1, ¬a = 1, (¬c ∨ a) → ¬a = 1, ¬c → b = 0, ((¬c ∨ a) → ¬a) ↔ (¬c → b) = 0

นับแถวที่มีค่าเป็น 1

((¬c ∨ a) → ¬a) ↔ (¬c → b): 0, 0, 0, 1, 1, 1, 1, 0
N = 4

คำตอบ

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

คำตอบ: ∀x (P(x) ∧ ¬Q(x))

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

ย้ายนิเสธเข้าด้านใน

¬∃x (P(x) → Q(x)) ≡ ∀x (P(x) ∧ ¬Q(x))

คำตอบ

∀x (P(x) ∧ ¬Q(x))

ตัวเลือกอื่นอาจคงตัวบ่งปริมาณไว้ไม่เปลี่ยน เปลี่ยนลำดับของตัวบ่งปริมาณ หรือใส่นิเสธให้สูตรด้านในผิด

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

คำตอบ: AB = 11, CD = 11

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

เพื่อนบ้านของแต่ละ 1

1 ที่มี 1 อยู่ติดกันเข้ากลุ่มสองเซลล์หรือมากกว่าได้

m15: m14, m13, m11, m7 → 0
ABCD0001111000011110111111

1 ที่อยู่โดดเดี่ยว

m15 = ABCD → AB = 11, CD = 11

คำตอบ

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

คำตอบ: N = 3

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

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

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

C′D, B′CD′, AC′, A′CD′, AB′
ABCD00011110000111100011031204X50716X12X130150141819111110

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

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

คำตอบ

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

คำตอบ: 64−1 mod 73 = 8

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

r = 73, t = 0
r = 64, q = 1, t = 1
r = 9, q = 7, t = −1
r = 1, q = 9, t = 8

อินเวอร์ส

1 ≡ 8·64 (mod 73)
x = 8
ตรวจสอบ: 64·8 = 512 = 7·73 + 1

คำตอบ

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

คำตอบ: c = 515

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

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

7 = 4 + 2 + 1
6871 ≡ 687 (mod 779)
6872 ≡ 674 (mod 779)
6874 ≡ 119 (mod 779)
6877 ≡ 687·674·119 ≡ 515 (mod 779)

ข้อความเข้ารหัส

c = 515

คำตอบ

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

คำตอบ: A · ละโมบใช้ 3 เหรียญ ค่าที่เหมาะสมที่สุดคือ 2

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

วิธีละโมบหยิบ 4 + 1 + 1 = 3 เหรียญ แต่ 3 + 3 ใช้เพียง 2 วิธีละโมบจึงไม่เหมาะสมที่สุดสำหรับระบบเหรียญนี้ การโปรแกรมพลวัตทำได้

คำตอบ

A · ละโมบใช้ 3 เหรียญ ค่าที่เหมาะสมที่สุดคือ 2
10.อัลกอริทึมและความซับซ้อน

คำตอบ: B · เลือกตัวหลักแบบสุ่มสม่ำเสมอ

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

เมื่อเลือกตัวหลักแบบสุ่ม เวลาทำงานคาดหมายเป็น O(n log n) สำหรับทุกอินพุต กรณีแย่ยังมีอยู่แต่เกิดขึ้นได้น้อยมาก

คำตอบ

B · เลือกตัวหลักแบบสุ่มสม่ำเสมอ
11.โครงสร้างข้อมูล

คำตอบ: A · 4 5 2 3 1

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

Postorder ประมวลผล 4 และ 5 ก่อน 2 แล้ว 3 และสุดท้ายราก 1

คำตอบ

A · 4 5 2 3 1
12.โครงสร้างข้อมูล

คำตอบ: A · สแตกที่เก็บสมาชิกที่รอคำตอบ

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

สแกนจากซ้ายไปขวา pop ทุกสมาชิกบนสแตกที่เล็กกว่าตัวปัจจุบัน (ตัวปัจจุบันคือคำตอบของพวกมัน) แล้ว push ตัวปัจจุบัน แต่ละสมาชิกเคลื่อนไม่เกินสองครั้ง

คำตอบ

A · สแตกที่เก็บสมาชิกที่รอคำตอบ
13.ทฤษฎีกราฟ

คำตอบ: H = 60

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

นับ

H = (6 − 1)!/2 = 120/2 = 60

คำตอบ

H = 60
14.ทฤษฎีกราฟ

คำตอบ: W = 42

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

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

DE (2): เลือก
BC (3): เลือก
DF (6): เลือก
EF (7): ข้าม ทำให้เกิดวัฏจักร
AC (8): เลือก
CE (11): เลือก
GB (12): เลือก

น้ำหนักรวม

W = 2 + 3 + 6 + 8 + 11 + 12 = 42

คำตอบ

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

คำตอบ: B · แถวลูกที่อ้างอิงแถวนั้นถูกลบโดยอัตโนมัติ

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

CASCADE ส่งต่อการลบไปยังแถวที่อ้างอิง ตัวเลือกอื่นคือ RESTRICT/NO ACTION (ปฏิเสธ) และ SET NULL

คำตอบ

B · แถวลูกที่อ้างอิงแถวนั้นถูกลบโดยอัตโนมัติ
16.ฐานข้อมูลและ SQL

คำตอบ: C · เชื่อมบนทุกคอลัมน์ที่ชื่อเดียวกัน คอลัมน์ใหม่จึงอาจเปลี่ยนผลลัพธ์โดยไม่รู้ตัว

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

natural join จับคู่ทุกคอลัมน์ที่ชื่อเหมือนกัน เช่น "name" หรือ "created_at" ที่ไม่เกี่ยวข้อง การใช้ ON หรือ USING แบบชัดเจนปลอดภัยกว่า

คำตอบ

C · เชื่อมบนทุกคอลัมน์ที่ชื่อเดียวกัน คอลัมน์ใหม่จึงอาจเปลี่ยนผลลัพธ์โดยไม่รู้ตัว
17.เครือข่ายคอมพิวเตอร์

คำตอบ: C · ด้วยคุกกี้ที่เก็บตัวระบุเซสชันหรือโทเค็น

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

เซิร์ฟเวอร์ตั้งคุกกี้ที่มี session ID หรือโทเค็น และเบราว์เซอร์ส่งกลับไปกับทุกคำขอ เซิร์ฟเวอร์จึงจำผู้ใช้ได้

คำตอบ

C · ด้วยคุกกี้ที่เก็บตัวระบุเซสชันหรือโทเค็น
18.เครือข่ายคอมพิวเตอร์

คำตอบ: C · ความลับไปข้างหน้า (forward secrecy) จากการแลกเปลี่ยนกุญแจ Diffie-Hellman แบบชั่วคราว

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

ด้วย (EC)DHE แบบชั่วคราว กุญแจเซสชันแต่ละอันมาจากค่าชั่วคราวที่ถูกทิ้ง กุญแจระยะยาวใช้ลงนามการแลกเปลี่ยนเท่านั้น การขโมยในภายหลังจึงถอดรหัสทราฟฟิกเก่าไม่ได้

คำตอบ

C · ความลับไปข้างหน้า (forward secrecy) จากการแลกเปลี่ยนกุญแจ Diffie-Hellman แบบชั่วคราว
19.การแบ่งซับเน็ต IPv4

คำตอบ: N = 16

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).

บิตที่ยืมมา

26 − 22 = 4

จำนวนซับเน็ต

N = 24 = 16

คำตอบ

N = 16

แต่ละซับเน็ต /26 มีโฮสต์ที่ใช้ได้ 26 − 2 = 62 โฮสต์

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

คำตอบ: x = 143

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

ขนาดบล็อก

24 = 16

ซับเน็ตของโฮสต์นี้

เครือข่าย: ⌊135/16⌋·16 = 128
บรอดคาสต์: 128 + 16 − 1 = 143
โฮสต์ที่ใช้ได้: 129 … 142

คำตอบ

x = 143

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