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

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

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

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

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

4029
b = bit
3.ตรรกศาสตร์ประพจน์และการพิสูจน์ปานกลาง
(q → r) ∨ (r → q)q ∧ r(q → r) ∧ (r → q)(q → r) ∧ (¬r → ¬q)

สูตรใดสมมูลเชิงตรรกะกับ q ↔ r ให้คลิกสูตรนั้น

q ↔ r
  1. 1(q → r) ∨ (r → q)
  2. 2q ∧ r
  3. 3(q → r) ∧ (r → q)
  4. 4(q → r) ∧ (¬r → ¬q)
4.ตรรกศาสตร์ประพจน์และการพิสูจน์ยาก
∀x (F(x) → ¬G(x))∀x (¬F(x) ∧ ¬G(x))∃x (¬F(x) ∧ ¬G(x))∃x (F(x) → ¬G(x))

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

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

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

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

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

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

จงแก้ 35x ≡ 37 (mod 99) ให้คำตอบ x ที่ 0 < x < 99

35x ≡ 37 (mod 99)
x =
8.ทฤษฎีจำนวนและเลขคณิตมอดูลาร์ยาก
79c = me​ mod n?m = cd​ mod nm(n, e) = (95, 7)d

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

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

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

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

ข้อใดเกี่ยวกับ P และ NP ถูกต้อง

  1. Aทุกปัญหาใน P อยู่ใน NP ด้วย
  2. BNP หมายถึง "ไม่ใช่พหุนาม"
  3. Cปัญหา NP ตรวจสอบอย่างรวดเร็วไม่ได้
  4. Dได้พิสูจน์แล้วว่า P ≠ NP
11.โครงสร้างข้อมูลปานกลาง

เหตุใดการท่องอาร์เรย์จึงเร็วกว่าการท่องลิงก์ลิสต์ที่ยาวเท่ากันมากในทางปฏิบัติ

  1. Aลิงก์ลิสต์เก็บสมาชิกบนดิสก์เสมอ
  2. Bอาร์เรย์ใช้คำสั่งน้อยกว่าในการเปรียบเทียบค่า
  3. Cสมาชิกของอาร์เรย์ต่อเนื่องกัน จึงใช้แคชของ CPU ได้ดี
  4. Dการท่องอาร์เรย์เป็น O(1) โดยรวม ส่วนการท่องลิงก์ลิสต์เป็น O(n)
12.โครงสร้างข้อมูลยาก

ใน BST ที่มีราก 50 ต้นไม้ย่อยซ้าย 30 (ลูก 20, 40) และต้นไม้ย่อยขวา 70 (ลูก 60, 80) ลบรากโดยใช้ in-order successor คีย์ใดกลายเป็นรากใหม่

  1. A40
  2. B60
  3. C70
  4. D80
13.ทฤษฎีกราฟปานกลาง

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

K8
H =
14.ทฤษฎีกราฟยาก
9615564496ABCDEFG

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

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

เหตุใดจึงสร้างดัชนี (index) บนคอลัมน์?

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

ด้วยการควบคุมภาวะพร้อมกันแบบหลายเวอร์ชัน (MVCC) ผู้อ่านหลีกเลี่ยงการบล็อกผู้เขียนได้อย่างไร?

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

ฟิลด์ใดในส่วนหัว IPv4 ป้องกันไม่ให้แพ็กเก็ตวนไปมาตลอดไปในลูปการกำหนดเส้นทาง?

  1. AType of service
  2. BIdentification
  3. CHeader checksum
  4. DTime to live (TTL)
18.เครือข่ายคอมพิวเตอร์ยาก

ตามสูตรของไนควิสต์ (Nyquist) อัตราบิตสูงสุดของช่องสัญญาณ 3 kHz ที่ไม่มีสัญญาณรบกวนและใช้ระดับสัญญาณ 4 ระดับคือเท่าใด?

  1. A3 kbit/s
  2. B6 kbit/s
  3. C12 kbit/s
  4. D24 kbit/s
19.การแบ่งซับเน็ต IPv4ปานกลาง
/24 → /2911111111111111111111111111111000บิตเครือข่ายบิตโฮสต์

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

192.168.10.0/2420 subnets
H =
20.การแบ่งซับเน็ต IPv4ยาก
ออคเต็ตสุดท้าย = 30012806403211618141201เครือข่ายโฮสต์

โฮสต์มีที่อยู่ 10.20.35.30/26 ออคเต็ตที่สี่ x ของที่อยู่โฮสต์ที่ใช้ได้สุดท้ายในซับเน็ตคือเท่าใด

10.20.35.30/26
x =

3สารละลาย

1.ระบบเลข

คำตอบ: N = −55

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

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

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

−128 + 64 + 8 + 1 = −55

คำตอบ

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

คำตอบ: b = 12 bit

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

กำลังของสอง

211 = 2048 < 4029
212 = 4096 ≥ 4029

คำตอบ

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

คำตอบ: (q → r) ∧ (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 หมายความว่านัยเป็นจริงทั้งสองทิศทาง: (a → b) ∧ (b → a)
q ↔ r ≡ (q → r) ∧ (r → q)

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

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

คำตอบ

(q → r) ∧ (r → q)

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

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

คำตอบ: ∀x (F(x) → ¬G(x))

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

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

¬∃x (F(x) ∧ G(x)) ≡ ∀x (F(x) → ¬G(x))

คำตอบ

∀x (F(x) → ¬G(x))

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

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

คำตอบ: L = 9

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

ABCD000111100001111000010302141507060121130150140819111110

จัดกลุ่ม 1

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

AC′D
A′BC′
AB′C

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

F = AC′D + A′BC′ + AB′C
L = 9

คำตอบ

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

คำตอบ: N = 2

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

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

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

CD, BD′, BC, AC
ABCD00011110000111100001X302140517X61120131151140809111X10

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

F = CD + BD′
N = 2

คำตอบ

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

คำตอบ: x = 35

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

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

r = 99, t = 0
r = 35, q = 2, t = 1
r = 29, q = 1, t = −2
r = 6, q = 4, t = 3
r = 5, q = 1, t = −14
r = 1, q = 5, t = 17
35−1 ≡ 17 (mod 99)

แก้สมการ

x ≡ 17·37 = 629 ≡ 35 (mod 99)
ตรวจสอบ: 35·35 = 1225 ≡ 37 (mod 99)

คำตอบ

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

คำตอบ: c = 59

เลขยกกำลังมอดูลาร์และ 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
791 ≡ 79 (mod 95)
792 ≡ 66 (mod 95)
794 ≡ 81 (mod 95)
797 ≡ 79·66·81 ≡ 59 (mod 95)

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

c = 59

คำตอบ

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

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

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

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

คำตอบ

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

คำตอบ: A · ทุกปัญหาใน P อยู่ใน NP ด้วย

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

P ⊆ NP: ถ้าแก้ปัญหาได้เร็ว ก็ตรวจสอบคำตอบได้เร็ว ส่วนคำถามว่า P = NP หรือไม่ยังเป็นปัญหาเปิด

คำตอบ

A · ทุกปัญหาใน P อยู่ใน NP ด้วย
11.โครงสร้างข้อมูล

คำตอบ: C · สมาชิกของอาร์เรย์ต่อเนื่องกัน จึงใช้แคชของ CPU ได้ดี

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

หน่วยความจำต่อเนื่องให้ locality of reference ที่ดี ขณะที่โหนดที่เชื่อมกันอาจกระจัดกระจายและทำให้เกิด cache miss มาก

คำตอบ

C · สมาชิกของอาร์เรย์ต่อเนื่องกัน จึงใช้แคชของ CPU ได้ดี
12.โครงสร้างข้อมูล

คำตอบ: B · 60

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

โหนดซ้ายสุดของต้นไม้ย่อยขวาคือ 60 ดังนั้น 60 แทนที่ 50 และตำแหน่งเดิมของมันถูกลบ ถ้าใช้ predecessor จะได้ 40

คำตอบ

B · 60
13.ทฤษฎีกราฟ

คำตอบ: H = 2520

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

นับ

H = (8 − 1)!/2 = 5040/2 = 2520

คำตอบ

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

คำตอบ: G

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

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

1. A (0): B: 9, C: 6
2. C (6)
3. B (9): G: 13
4. G (13): D: 22, E: 19
5. E (19): F: 23
6. D (22)
7. F (23)

รอบ 4

G

คำตอบ

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

คำตอบ: C · เพื่อเร่งการค้นหาและการเชื่อมบนคอลัมน์เหล่านั้น

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

ดัชนี (มักเป็น B-tree) เร่งการค้นหา แต่ใช้พื้นที่และทำให้การแทรกและการแก้ไขช้าลง เพราะต้องรักษาดัชนีให้ทันสมัย

คำตอบ

C · เพื่อเร่งการค้นหาและการเชื่อมบนคอลัมน์เหล่านั้น
16.ฐานข้อมูลและ SQL

คำตอบ: C · ผู้อ่านเห็นสแน็ปช็อตที่สอดคล้องของเวอร์ชันแถวที่ commit แล้ว ขณะที่ผู้เขียนสร้างเวอร์ชันใหม่

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

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

คำตอบ

C · ผู้อ่านเห็นสแน็ปช็อตที่สอดคล้องของเวอร์ชันแถวที่ commit แล้ว ขณะที่ผู้เขียนสร้างเวอร์ชันใหม่
17.เครือข่ายคอมพิวเตอร์

คำตอบ: D · Time to live (TTL)

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

เราเตอร์ทุกตัวลดค่า TTL ลง เมื่อถึงศูนย์แพ็กเก็ตถูกทิ้งและมักส่งข้อความ ICMP Time Exceeded IPv6 เรียกว่า hop limit

คำตอบ

D · Time to live (TTL)
18.เครือข่ายคอมพิวเตอร์

คำตอบ: C · 12 kbit/s

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

2 × 3000 × log₂ 4 = 2 × 3000 × 2 = 12,000 bit/s ระดับที่มากขึ้นเพิ่มอัตราได้ แต่สัญญาณรบกวนจำกัดจำนวนระดับที่แยกแยะได้

คำตอบ

C · 12 kbit/s
19.การแบ่งซับเน็ต IPv4

คำตอบ: H = 6

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

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

25 = 32 ≥ 20 → b = 5, /29

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

23 − 2 = 6

คำตอบ

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

คำตอบ: x = 62

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

ขนาดบล็อก

26 = 64

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

เครือข่าย: ⌊30/64⌋·64 = 0
บรอดคาสต์: 0 + 64 − 1 = 63
โฮสต์ที่ใช้ได้: 1 … 62

คำตอบ

x = 62

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