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

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

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

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

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

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

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

(b ↔ (a ↔ ¬c)) → (a ↔ b)
N =
4.ตรรกศาสตร์ประพจน์และการพิสูจน์ยาก
pqp → qqp11100100

การอ้างเหตุผลที่มีสมมติฐาน p → q; q และบทสรุป p ไม่สมเหตุสมผล ให้คลิกแถวของตารางค่าความจริงที่เป็นตัวอย่างค้าน

p → qq∴ p
  1. 1p = 1, q = 1
  2. 2p = 1, q = 0
  3. 3p = 0, q = 1
  4. 4p = 0, q = 0
5.ตรรกะดิจิทัล: เกต แผนที่คาร์โนห์ และฟลิปฟล็อปปานกลาง
ABCD000111100001111000110302140517061120130151140819111010

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

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

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

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

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

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

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

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

ฟังก์ชันแฟกทอเรียลแบบเรียกซ้ำง่าย ๆ fact(n) = n × fact(n − 1) ใช้พื้นที่สแต็กเท่าใด

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

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

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

ความซับซ้อนเชิงเวลาของการค้นหาคีย์ใน binary search tree ที่สมดุลคือเท่าใด

  1. AO(log n)
  2. BO(n)
  3. CO(n log n)
  4. DO(1)
12.โครงสร้างข้อมูลยาก

Fenwick tree (binary indexed tree) บนอาร์เรย์ที่มีตัวเลข n ตัว รองรับการดำเนินการใดใน O(log n)

  1. Aคำถามผลรวมคำนำหน้าและการอัปเดตสมาชิกเดียว
  2. Bการหามัธยฐานใน O(1)
  3. Cการแทรกสมาชิกที่ตำแหน่งใดก็ได้
  4. Dการเรียงอาร์เรย์และการค้นหาแบบทวิภาค
13.ทฤษฎีกราฟปานกลาง

ต้นไม้มี 3 จุดยอดดีกรี 5, 4 จุดยอดดีกรี 2 และจุดยอดอื่นทั้งหมดเป็นใบ (ดีกรี 1) มีกี่ใบ L

3 × deg 54 × deg 2
L =
14.ทฤษฎีกราฟยาก
48411121713ABCDEF

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

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

คุณสมบัติ ACID ใดหมายความว่าทรานแซกชันที่ทำพร้อมกันไม่เห็นการเปลี่ยนแปลงที่ยังไม่เสร็จของกันและกัน?

  1. ADurability
  2. BAvailability
  3. CIsolation
  4. DAtomicity
16.ฐานข้อมูลและ SQLยาก

ฐานข้อมูลรายงานคัดลอกชื่อลูกค้าเข้าตาราง orders เพื่อเลี่ยงการเชื่อม ต้นทุนหลักของการทำดีนอร์มัลไลซ์นี้คืออะไร?

  1. Aใช้คีย์หลักไม่ได้อีกต่อไป
  2. Bสำเนาซ้ำซ้อนต้องคงความสอดคล้องกันทุกครั้งที่ข้อมูลลูกค้าเปลี่ยน
  3. Cฐานข้อมูลใช้ดัชนีไม่ได้อีกต่อไป
  4. Dคิวรีบนตาราง orders ช้าลง
17.เครือข่ายคอมพิวเตอร์ปานกลาง

เบราว์เซอร์ได้รับรหัสสถานะ HTTP 404 หมายความว่าอย่างไร?

  1. Aไม่พบทรัพยากรที่ขอ
  2. Bคำขอสำเร็จ
  3. Cไคลเอนต์ต้องล็อกอินก่อน
  4. Dเซิร์ฟเวอร์เกิดข้อผิดพลาดภายใน
18.เครือข่ายคอมพิวเตอร์ยาก

BGP ทำหน้าที่หลักอะไรบนอินเทอร์เน็ต?

  1. Aแลกเปลี่ยนข้อมูลการกำหนดเส้นทางระหว่างระบบอิสระ (autonomous system)
  2. Bกำหนดที่อยู่ IP ให้ผู้ใช้ตามบ้านผ่านผู้ให้บริการอินเทอร์เน็ตของตน
  3. Cแปลงชื่อเป็นที่อยู่
  4. Dเข้ารหัสข้อมูลระหว่างเราเตอร์
19.การแบ่งซับเน็ต IPv4ปานกลาง
/20 → /2711111111111111111111111111100000บิตเครือข่ายบิตโฮสต์

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

10.175.32.0/20/27
N =
20.การแบ่งซับเน็ต IPv4ยาก

เครือข่าย 192.168.2.0/24 ถูกแบ่งด้วย VLSM สำหรับ LAN เหล่านี้: A: 4 โฮสต์, B: 26 โฮสต์, C: 14 โฮสต์, D: 57 โฮสต์, E: 10 โฮสต์ ซับเน็ตถูกจัดสรรจาก .0 ขึ้นไป โดย LAN ที่มีโฮสต์มากที่สุดมาก่อน แต่ละ LAN ได้ซับเน็ตที่เล็กที่สุดที่พอดี ออกเท็ตที่สี่ x ของที่อยู่เครือข่ายของ LAN E คือเท่าใด

A: 4B: 26C: 14D: 57E: 10
x =

3สารละลาย

1.ระบบเลข

คำตอบ: N = −83

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

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

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

−128 + 32 + 8 + 4 + 1 = −83

คำตอบ

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

คำตอบ: b = 11 bit

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

กำลังของสอง

210 = 1024 < 1891
211 = 2048 ≥ 1891

คำตอบ

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

คำตอบ: N = 6

ตารางค่าความจริง: สูตรที่มีตัวแปรต่างกัน 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, a ↔ ¬c = 0, b ↔ (a ↔ ¬c) = 0, a ↔ b = 1, (b ↔ (a ↔ ¬c)) → (a ↔ b) = 1
a = 1, b = 1, c = 0: ¬c = 1, a ↔ ¬c = 1, b ↔ (a ↔ ¬c) = 1, a ↔ b = 1, (b ↔ (a ↔ ¬c)) → (a ↔ b) = 1
a = 1, b = 0, c = 1: ¬c = 0, a ↔ ¬c = 0, b ↔ (a ↔ ¬c) = 1, a ↔ b = 0, (b ↔ (a ↔ ¬c)) → (a ↔ b) = 0
a = 1, b = 0, c = 0: ¬c = 1, a ↔ ¬c = 1, b ↔ (a ↔ ¬c) = 0, a ↔ b = 0, (b ↔ (a ↔ ¬c)) → (a ↔ b) = 1
a = 0, b = 1, c = 1: ¬c = 0, a ↔ ¬c = 1, b ↔ (a ↔ ¬c) = 1, a ↔ b = 0, (b ↔ (a ↔ ¬c)) → (a ↔ b) = 0
a = 0, b = 1, c = 0: ¬c = 1, a ↔ ¬c = 0, b ↔ (a ↔ ¬c) = 0, a ↔ b = 0, (b ↔ (a ↔ ¬c)) → (a ↔ b) = 1
a = 0, b = 0, c = 1: ¬c = 0, a ↔ ¬c = 1, b ↔ (a ↔ ¬c) = 0, a ↔ b = 1, (b ↔ (a ↔ ¬c)) → (a ↔ b) = 1
a = 0, b = 0, c = 0: ¬c = 1, a ↔ ¬c = 0, b ↔ (a ↔ ¬c) = 1, a ↔ b = 1, (b ↔ (a ↔ ¬c)) → (a ↔ b) = 1

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

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

คำตอบ

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

คำตอบ: p = 0, q = 1

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

สมมติฐานและบทสรุปทีละแถว

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

ตัวอย่างค้าน

p = 0, q = 1

คำตอบ

p = 0, q = 1

การอ้างเหตุผลรูปแบบนี้ดูเหมือนกฎที่สมเหตุสมผล แต่แถวเดียวก็เพียงพอที่จะแสดงว่าไม่ใช่

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

คำตอบ: L = 16

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

ABCD000111100001111000110302140517061120130151140819111010

จัดกลุ่ม 1

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

B′C′D
BC′D′
AB′D
ABD′
A′BCD

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

F = B′C′D + BC′D′ + AB′D + ABD′ + A′BCD
L = 16

คำตอบ

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

คำตอบ: N = 3

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

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

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

B′C′D′, BCD′, A′BD′, A′BC
ABCD0001111000011110X0010302X40517160120130151141809X11010

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

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

คำตอบ

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

คำตอบ: 12−1 mod 23 = 2

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

r = 23, t = 0
r = 12, q = 1, t = 1
r = 11, q = 1, t = −1
r = 1, q = 11, t = 2

อินเวอร์ส

1 ≡ 2·12 (mod 23)
x = 2
ตรวจสอบ: 12·2 = 24 = 1·23 + 1

คำตอบ

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

คำตอบ: 1960 mod 79 = 67

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

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

60 = 1111002 = 32 + 16 + 8 + 4

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

191 ≡ 19 (mod 79)
192 ≡ 45 (mod 79)
194 ≡ 50 (mod 79)
198 ≡ 51 (mod 79)
1916 ≡ 73 (mod 79)
1932 ≡ 36 (mod 79)

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

1960 ≡ 50·51·73·36 ≡ 67 (mod 79)

คำตอบ

1960 mod 79 = 67
9.อัลกอริทึมและความซับซ้อน

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

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

การเรียกซ้ำลึก n ชั้นก่อนจะมีการคืนค่าใด ๆ และแต่ละการเรียกต้องมีเฟรมสแต็ก จึงใช้พื้นที่ O(n)

คำตอบ

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

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

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

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

คำตอบ

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

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

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

ต้นไม้สมดุลมีความสูงประมาณ log₂ n การค้นหาจึงตามหนึ่งเส้นทางจากรากถึงใบ

คำตอบ

A · O(log n)
12.โครงสร้างข้อมูล

คำตอบ: A · คำถามผลรวมคำนำหน้าและการอัปเดตสมาชิกเดียว

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

Fenwick tree เก็บผลรวมบางส่วนของช่วงที่กำหนดโดยบิตต่ำของแต่ละดัชนี ทั้งผลรวมคำนำหน้าและการอัปเดตจุดจึงใช้ O(log n)

คำตอบ

A · คำถามผลรวมคำนำหน้าและการอัปเดตสมาชิกเดียว
13.ทฤษฎีกราฟ

คำตอบ: L = 11

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

เล็มมาการจับมือสำหรับต้นไม้

L + 23 = 2(L + 7) − 2
L = 11

คำตอบ

L = 11

ทางลัด: L = 2 + Σ (d − 2) ของจุดยอดที่มีดีกรี d ≥ 3

14.ทฤษฎีกราฟ

คำตอบ: F

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

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

1. A (0): B: 4, C: 8
2. B (4): E: 17
3. C (8)
4. E (17): D: 29, F: 24
5. F (24): D: 25
6. D (25)

รอบ 5

F

คำตอบ

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

คำตอบ: C · Isolation

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

Isolation แยกทรานแซกชันที่ทำพร้อมกันออกจากกัน ระดับการแยกกำหนดว่าบังคับเข้มงวดเพียงใด

คำตอบ

C · Isolation
16.ฐานข้อมูลและ SQL

คำตอบ: B · สำเนาซ้ำซ้อนต้องคงความสอดคล้องกันทุกครั้งที่ข้อมูลลูกค้าเปลี่ยน

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

ดีนอร์มัลไลเซชันเร่งการอ่านแต่นำความซ้ำซ้อนกลับมา การอัปเดตจึงต้องเปลี่ยนทุกสำเนา มิฉะนั้นเกิดความผิดปกติ

คำตอบ

B · สำเนาซ้ำซ้อนต้องคงความสอดคล้องกันทุกครั้งที่ข้อมูลลูกค้าเปลี่ยน
17.เครือข่ายคอมพิวเตอร์

คำตอบ: A · ไม่พบทรัพยากรที่ขอ

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

404 Not Found หมายความว่าเซิร์ฟเวอร์ไม่มีทรัพยากรที่ URL นั้น 200 คือ OK, 401 คือ Unauthorized และ 500 คือ Internal Server Error

คำตอบ

A · ไม่พบทรัพยากรที่ขอ
18.เครือข่ายคอมพิวเตอร์

คำตอบ: A · แลกเปลี่ยนข้อมูลการกำหนดเส้นทางระหว่างระบบอิสระ (autonomous system)

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

BGP เป็นโพรโทคอลเลือกเส้นทางระหว่างโดเมน ระบบอิสระประกาศพรีฟิกซ์ที่เข้าถึงได้และเลือกเส้นทางตามนโยบาย

คำตอบ

A · แลกเปลี่ยนข้อมูลการกำหนดเส้นทางระหว่างระบบอิสระ (autonomous system)
19.การแบ่งซับเน็ต IPv4

คำตอบ: N = 128

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

บิตที่ยืมมา

27 − 20 = 7

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

N = 27 = 128

คำตอบ

N = 128

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

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

คำตอบ: x = 112

VLSM: แต่ละ LAN ได้ซับเน็ตที่เล็กที่สุดที่ 2ʰ − 2 ≥ จำนวนโฮสต์ของมัน คือพรีฟิกซ์ 32 − h การจัดสรรซับเน็ตที่ใหญ่ที่สุดก่อนทำให้ทุกบล็อกอยู่ในแนวพหุคูณของขนาดตัวเอง ที่อยู่เครือข่ายจึงได้จากการบวกขนาดบล็อก

ขนาดบล็อกของแต่ละ LAN

D: 57 โฮสต์ → 26 = 64 (/26)
B: 26 โฮสต์ → 25 = 32 (/27)
C: 14 โฮสต์ → 24 = 16 (/28)
E: 10 โฮสต์ → 24 = 16 (/28)
A: 4 โฮสต์ → 23 = 8 (/29)

การจัดสรร จากใหญ่ที่สุดก่อน

D: .0 – .63
B: .64 – .95
C: .96 – .111
E: .112 – .127
A: .128 – .135

คำตอบ

x = 112

LAN E: 192.168.2.112/28

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