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

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

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

N = −688 bit
U =
2.ระบบเลขยาก
รหัส 571 ตัว, b = ? บิต?2ᵇ⁻¹…?4?2?1

ระบบต้องให้รหัสฐานสองความยาวเท่ากันแก่สิ่งของ 571 ชิ้น ชิ้นละหนึ่งรหัส ต้องใช้อย่างน้อยกี่บิต b

571
b = bit
3.ตรรกศาสตร์ประพจน์และการพิสูจน์ปานกลาง
¬p ∧ ¬r¬p ∧ r¬p ∨ r¬p ∨ ¬r

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

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

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

(a ↔ (b → ¬a)) ↔ ((¬c → ¬d) ∨ d)
N =
5.ตรรกะดิจิทัล: เกต แผนที่คาร์โนห์ และฟลิปฟล็อปปานกลาง
ABCD000111100001111010111302040517061121131150141809111010

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

F(A, B, C, D) = Σm(0, 1, 3, 7, 8, 11, 12, 13, 15)
L =
6.ตรรกะดิจิทัล: เกต แผนที่คาร์โนห์ และฟลิปฟล็อปยาก
ABCD0001111000011110X00113X214150716X1201301501408X9011X10

จงหารูป SOP ที่น้อยที่สุดของ F(A, B, C, D) = Σm(3, 4, 5, 6) + d(0, 2, 9, 10, 12) โดย d แทนเงื่อนไขไม่สนใจ มีกี่พจน์ผลคูณ N

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

จงแก้ 20x ≡ 21 (mod 23) ให้คำตอบ x ที่ 0 < x < 23

20x ≡ 21 (mod 23)
x =
8.ทฤษฎีจำนวนและเลขคณิตมอดูลาร์ยาก
190c = me​ mod n?m = cd​ mod nm(n, e) = (329, 17)d

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

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

การค้นหาแบบทวิภาคต้องเปรียบเทียบประมาณกี่ครั้งในกรณีเลวร้ายที่สุดบนอาร์เรย์ที่เรียงแล้วซึ่งมี 1,000,000 สมาชิก

  1. Aประมาณ 100
  2. Bประมาณ 500,000
  3. Cประมาณ 20
  4. Dประมาณ 1,000
10.อัลกอริทึมและความซับซ้อนยาก

เพื่อแสดงว่าปัญหาใหม่ X เป็น NP-hard คุณต้องทำอะไร

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

ทราย (trie หรือ prefix tree) มีประสิทธิภาพเป็นพิเศษสำหรับ

  1. Aการเรียงตัวเลข
  2. Bการค้นหาด้วยคำนำหน้า เช่น autocomplete
  3. Cการเก็บเมทริกซ์
  4. Dการหาเส้นทางสั้นที่สุด
12.โครงสร้างข้อมูลยาก

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

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

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

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

ขั้นตอนวิธีของไดก์สตราเริ่มจาก A ให้คลิกจุดยอดที่ถูกยืนยัน (ทำให้เป็นค่าถาวร) ในรอบที่ 5 โดย A เองคือรอบที่ 1

เริ่มต้น: Aรอบ 5
  1. 1A
  2. 2B
  3. 3C
  4. 4D
  5. 5E
  6. 6F
15.ฐานข้อมูลและ SQLปานกลาง

วิว (view) ใน SQL คือ:

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

R(A, B, C, D) มีการพึ่งพาเชิงฟังก์ชัน A → B และ C → D คีย์ผู้สมัครคืออะไร?

  1. A{A, C}
  2. B{B, D}
  3. C{A}
  4. D{C}
17.เครือข่ายคอมพิวเตอร์ปานกลาง

ARP ทำหน้าที่อะไร?

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

เส้นทางหนึ่งมีแบนด์วิดท์ 100 Mbit/s และเวลาไป–กลับ (RTT) 40 ms ต้องมีข้อมูลอยู่ระหว่างทางเท่าใดจึงจะใช้เส้นทางได้เต็มที่?

  1. A2.5 MB
  2. B500 kB
  3. C50 kB
  4. D4 kB
19.การแบ่งซับเน็ต IPv4ปานกลาง
/24 → /2711111111111111111111111111100000บิตเครือข่ายบิตโฮสต์

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

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

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

10.185.216.0/24 … 10.185.218.0/24
p =

3สารละลาย

1.ระบบเลข

คำตอบ: U = 188

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

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

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

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

1011 1100₂ = 256 − 68 = 188

คำตอบ

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

คำตอบ: b = 10 bit

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

กำลังของสอง

29 = 512 < 571
210 = 1024 ≥ 571

คำตอบ

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

คำตอบ: ¬p ∨ ¬r

ความสมมูลเชิงตรรกะ: สูตรสองสูตรสมมูลกัน (≡) เมื่อมีค่าเท่ากันทุกแถวของตารางค่าความจริง ซ้ำซ้อน (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) ≡ ¬a ∨ ¬b ตัว ∧ เปลี่ยนเป็น ∨ และทั้งสองส่วนถูกใส่นิเสธ
¬(p ∧ r) ≡ ¬p ∨ ¬r

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

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

คำตอบ

¬p ∨ ¬r

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

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

คำตอบ: 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; b → ¬a; a ↔ (b → ¬a); ¬c; ¬d; ¬c → ¬d; (¬c → ¬d) ∨ d; (a ↔ (b → ¬a)) ↔ ((¬c → ¬d) ∨ d)

แยกตาม a

a = 1: 4
a = 0: 0
N = 4 + 0 = 4

คำตอบ

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

คำตอบ: L = 11

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

ABCD000111100001111010111302040517061121131150141809111010

จัดกลุ่ม 1

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

CD
AC′D′
ABD
A′B′C′

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

F = CD + AC′D′ + ABD + A′B′C′
L = 11

คำตอบ

L = 11

มีการจัดกลุ่มอีกแบบที่มีขนาดเท่ากัน ซึ่งมีจำนวนพจน์และลิเทอรัลเท่ากัน

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

คำตอบ: N = 3

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

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

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

BC′D′, A′D′, A′B′C, A′BC′
ABCD0001111000011110X00113X214150716X1201301501408X9011X10

การครอบคลุมที่น้อยที่สุด

F = A′D′ + A′B′C + A′BC′
N = 3

คำตอบ

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

คำตอบ: x = 16

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

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

r = 23, t = 0
r = 20, q = 1, t = 1
r = 3, q = 6, t = −1
r = 2, q = 1, t = 7
r = 1, q = 2, t = −8
20−1 ≡ 15 (mod 23)

แก้สมการ

x ≡ 15·21 = 315 ≡ 16 (mod 23)
ตรวจสอบ: 20·16 = 320 ≡ 21 (mod 23)

คำตอบ

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

คำตอบ: c = 36

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

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

17 = 16 + 1
1901 ≡ 190 (mod 329)
1902 ≡ 239 (mod 329)
1904 ≡ 204 (mod 329)
1908 ≡ 162 (mod 329)
19016 ≡ 253 (mod 329)
19017 ≡ 190·253 ≡ 36 (mod 329)

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

c = 36

คำตอบ

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

คำตอบ: C · ประมาณ 20

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

220 ≈ 1,048,576 ดังนั้นหลังแบ่งครึ่งประมาณ 20 ครั้งจะเหลือสมาชิกเพียงตัวเดียว

คำตอบ

C · ประมาณ 20
10.อัลกอริทึมและความซับซ้อน

คำตอบ: D · ลดรูปปัญหา NP-hard ที่ทราบมาเป็น X ในเวลาพหุนาม

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

ถ้าปัญหายากที่ทราบแปลงเป็น X ได้อย่างมีประสิทธิภาพ อัลกอริทึมเร็วสำหรับ X ก็จะแก้ปัญหาที่ทราบได้ด้วย

คำตอบ

D · ลดรูปปัญหา NP-hard ที่ทราบมาเป็น X ในเวลาพหุนาม
11.โครงสร้างข้อมูล

คำตอบ: B · การค้นหาด้วยคำนำหน้า เช่น autocomplete

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

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

คำตอบ

B · การค้นหาด้วยคำนำหน้า เช่น autocomplete
12.โครงสร้างข้อมูล

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

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

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

คำตอบ

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

คำตอบ: k = 3

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

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

20 − 1 = 19

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

k = 22 − 19 = 3

คำตอบ

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

คำตอบ: D

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

ไดก์สตราทีละรอบ

1. A (0): B: 13, C: 15
2. B (13): D: 18, E: 17
3. C (15)
4. E (17)
5. D (18): F: 27
6. F (27)

รอบ 5

D

คำตอบ

D
15.ฐานข้อมูลและ SQL

คำตอบ: D · คิวรีที่เก็บไว้ซึ่งทำงานเหมือนตารางเสมือน

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

วิวเก็บคำสั่ง SELECT การคิวรีวิวจะรันคิวรีเบื้องหลัง (materialised view เก็บผลลัพธ์ไว้)

คำตอบ

D · คิวรีที่เก็บไว้ซึ่งทำงานเหมือนตารางเสมือน
16.ฐานข้อมูลและ SQL

คำตอบ: A · {A, C}

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

A และ C ไม่ถูกกำหนดโดยสิ่งใด ทุกคีย์จึงต้องมีทั้งสอง และ {A, C}+ = {A, B, C, D}

คำตอบ

A · {A, C}
17.เครือข่ายคอมพิวเตอร์

คำตอบ: B · หาที่อยู่ MAC ที่เป็นของที่อยู่ IP หนึ่งในเครือข่ายท้องถิ่น

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

ARP broadcast ถามว่า "ใครมี IP นี้?" และเจ้าของตอบด้วยที่อยู่ MAC ของตน เพื่อให้ส่งเฟรมในเครือข่ายท้องถิ่นได้

คำตอบ

B · หาที่อยู่ MAC ที่เป็นของที่อยู่ IP หนึ่งในเครือข่ายท้องถิ่น
18.เครือข่ายคอมพิวเตอร์

คำตอบ: B · 500 kB

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

ผลคูณแบนด์วิดท์–ความล่าช้า (bandwidth-delay product) คือ 100 × 10⁶ bit/s × 0.04 s = 4 × 10⁶ บิต = 500 kB หน้าต่างของผู้ส่งต้องมีขนาดอย่างน้อยเท่านี้

คำตอบ

B · 500 kB
19.การแบ่งซับเน็ต IPv4

คำตอบ: H = 30

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

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

23 = 8 ≥ 8 → b = 3, /27

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

25 − 2 = 30

คำตอบ

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

คำตอบ: p = 22

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

เทียบบิต

216 = 11011000
218 = 11011010
บิตนำหน้าที่ตรงกัน: 6

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

p = 16 + 6 = 22

คำตอบ

p = /22

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

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