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

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

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

1101 01008 bit
N =
2.ระบบเลขยาก
16 bit1 px1280 px720 pxM = ? KiB

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

1280 × 720 px16 bit/px1 KiB = 1024 B
M = KiB
3.ตรรกศาสตร์ประพจน์และการพิสูจน์ปานกลาง
(c ∧ a) ∨ (c ∧ b)(c ∨ a) ∧ (c ∨ b)(c ∧ a) ∨ bc ∨ (a ∧ b)

สูตรใดสมมูลเชิงตรรกะกับ c ∧ (a ∨ b) ให้คลิกสูตรนั้น

c ∧ (a ∨ b)
  1. 1(c ∧ a) ∨ (c ∧ b)
  2. 2(c ∨ a) ∧ (c ∨ b)
  3. 3(c ∧ a) ∨ b
  4. 4c ∨ (a ∧ b)
4.ตรรกศาสตร์ประพจน์และการพิสูจน์ยาก
qrq ∨ rq¬r11100100

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

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

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

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

ฟลิปฟล็อป D ที่ทริกเกอร์ขอบขาขึ้นเริ่มด้วย Q = 0 และได้รับอินพุตที่แสดงที่ขอบขาขึ้นของนาฬิกา 7 ขอบ Q เปลี่ยนสถานะกี่ครั้ง N

Q₀ = 0D
N =
7.ทฤษฎีจำนวนและเลขคณิตมอดูลาร์ปานกลาง

จงหาจำนวนเต็มบวกที่น้อยที่สุด x ที่ x ≡ 10 (mod 11) และ x ≡ 3 (mod 13)

x ≡ 10 (mod 11)x ≡ 3 (mod 13)
x =
8.ทฤษฎีจำนวนและเลขคณิตมอดูลาร์ยาก
mc = me​ mod n310m = cd​ mod n?(n, e) = (377, 13)d

กุญแจ RSA ใช้ p = 13, q = 29 และ e = 13 จงถอดรหัสข้อความเข้ารหัส c = 310: หาข้อความ m

p = 13q = 29e = 13c = 310
m =
9.อัลกอริทึมและความซับซ้อนปานกลาง

การโปรแกรมพลวัต (dynamic programming) มีประโยชน์เมื่อปัญหามี

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

ความซับซ้อนเชิงเวลาของ for i = 1 to n: for (j = i; j ≤ n; j = j + i) ทำงาน O(1) คือเท่าใด

  1. AO(n)
  2. BO(n √n)
  3. CO(n log n)
  4. DO(n²)
11.โครงสร้างข้อมูลปานกลาง

จะเกิดอะไรขึ้นเมื่อตารางแฮช rehash หลังตัวประกอบการโหลดเกินเกณฑ์

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

โครงสร้าง union-find (เซตไม่เชื่อมกัน) ที่ใช้ union by rank และ path compression มีต้นทุนกระจายต่อการดำเนินการเป็น

  1. AO(n²)
  2. BO(log n) พอดี
  3. CO(n)
  4. DO(α(n)) ซึ่งเป็นฟังก์ชันผกผันของอัคเคอร์มันน์ ที่แทบเป็นค่าคงที่ในทางปฏิบัติ
13.ทฤษฎีกราฟปานกลาง

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

K5
H =
14.ทฤษฎีกราฟยาก
1861251014ABCDE

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

เริ่มต้น: Bk = 4
  1. 1เส้นเชื่อม AB
  2. 2เส้นเชื่อม AC
  3. 3เส้นเชื่อม BC
  4. 4เส้นเชื่อม BD
  5. 5เส้นเชื่อม CE
  6. 6เส้นเชื่อม DE
  7. 7เส้นเชื่อม BE
15.ฐานข้อมูลและ SQLปานกลาง

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

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

ทรานแซกชัน T1 ล็อกแถว A และรอแถว B ขณะที่ T2 ล็อกแถว B และรอแถว A DBMS ทั่วไปทำอย่างไร?

  1. Aตรวจพบ deadlock และยกเลิกทรานแซกชันหนึ่งเป็นผู้เสียสละ
  2. Bปล่อยให้ทั้งสองทรานแซกชันรอจนกว่าหนึ่งในนั้นจะคอมมิตตามปกติ
  3. Cรวมสองทรานแซกชันเป็นหนึ่ง
  4. Dcommit ทั้งสองทรานแซกชันพร้อมกัน
17.เครือข่ายคอมพิวเตอร์ปานกลาง

จุดประสงค์หลักของ VLAN คืออะไร?

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

TCP fast retransmit ทำอะไร?

  1. Aส่งทุกเซกเมนต์ซ้ำสองครั้งเพื่อความปลอดภัย
  2. Bข้ามการแฮนด์เชกสามทางเมื่อเชื่อมต่อใหม่กับโฮสต์ที่รู้จัก ข้อมูลจึงถูกส่งซ้ำเร็วขึ้น
  3. Cส่งเซกเมนต์ซ้ำหลังได้ ACK ซ้ำสามครั้ง โดยไม่รอเวลาหมดอายุ
  4. Dเพิ่มหน้าต่างเป็นสองเท่าหลังการสูญหายทุกครั้ง
19.การแบ่งซับเน็ต IPv4ปานกลาง
/24 → /2911111111111111111111111111111000บิตเครือข่ายบิตโฮสต์

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

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

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

10.208.23.0/24 … 10.208.29.0/24
p =

3สารละลาย

1.ระบบเลข

คำตอบ: N = −44

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

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

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

−128 + 64 + 16 + 4 = −44

คำตอบ

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

คำตอบ: M = 1800 KiB

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

บิตและไบต์

1280·720·16 = 14745600 bit = 1843200 B

แปลงเป็น KiB

1843200/1024 = 1800 KiB

คำตอบ

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

คำตอบ: (c ∧ a) ∨ (c ∧ b)

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

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

a = 1, b = 1, c = 1: 1 | 1 1 1 1
a = 1, b = 1, c = 0: 0 | 0 1 1 1
a = 1, b = 0, c = 1: 1 | 1 1 1 1
a = 1, b = 0, c = 0: 0 | 0 0 0 0
a = 0, b = 1, c = 1: 1 | 1 1 1 1
a = 0, b = 1, c = 0: 0 | 0 0 1 0
a = 0, b = 0, c = 1: 0 | 0 1 0 1
a = 0, b = 0, c = 0: 0 | 0 0 0 0

คำตอบ

(c ∧ a) ∨ (c ∧ b)

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

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

คำตอบ: q = 1, r = 1

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

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

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

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

q = 1, r = 1

คำตอบ

q = 1, r = 1

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

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

คำตอบ: L = 2

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

ABC00011110011011131204151706

จัดกลุ่ม 1

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

C
A′

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

F = C + A′
L = 2

คำตอบ

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

คำตอบ: N = 3

ฟลิปฟล็อปและตัวนับ: ฟลิปฟล็อปเปลี่ยนค่าเฉพาะที่ขอบแอ็กทีฟของสัญญาณนาฬิกา D คัดลอกอินพุต (Q⁺ = D); T สลับค่าเมื่อ T = 1; JK คงค่าสำหรับ 00 รีเซ็ตสำหรับ 01 เซตสำหรับ 10 และสลับค่าสำหรับ 11 ตัวนับฐานสอง n บิตมี 2ⁿ สถานะและนับมอดูโล 2ⁿ ตัวนับมอด N นับ 0, 1, …, N − 1 แล้ววนกลับเป็น 0 และต้องใช้ฟลิปฟล็อปจำนวน n ที่น้อยที่สุดที่ 2ⁿ ≥ N แต่ละภาคของตัวนับริปเปิลลดความถี่ลงครึ่งหนึ่ง ดังนั้นเอาต์พุตสุดท้ายของตัวนับมอด N ทำงานที่ fclk/N ตัวนับจอห์นสันที่มีฟลิปฟล็อป n ตัวมี 2n สถานะ ตัวนับริงมี n

Q หลังทุกขอบ

ฟลิปฟล็อป D คัดลอก D ทุกขอบขาขึ้น: Q⁺ = D

1: D = 1 → Q = 1
2: D = 1 → Q = 1
3: D = 1 → Q = 1
4: D = 1 → Q = 1
5: D = 1 → Q = 1
6: D = 0 → Q = 0
7: D = 1 → Q = 1

นับการเปลี่ยน

0 → 1 → 1 → 1 → 1 → 1 → 0 → 1
N = 3

คำตอบ

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

คำตอบ: x = 120

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

ความสอดคล้องข้อแรก

x = 10 + 11k

ความสอดคล้องข้อที่สอง

10 + 11k ≡ 3 (mod 13) → 11k ≡ 6 (mod 13)
k ≡ 6·6 ≡ 10 (mod 13)

ผลลัพธ์

x = 10 + 11·10 = 120
x = 120
ตรวจสอบ: 120 mod 11 = 10, 120 mod 13 = 3

คำตอบ

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

คำตอบ: m = 219

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

เลขชี้กำลังส่วนตัว

n = 377, φ(n) = 336
d = 13−1 mod 336 = 181

ถอดรหัสด้วยการยกกำลังสองซ้ำ

181 = 128 + 32 + 16 + 4 + 1
3101 ≡ 310 (mod 377)
3102 ≡ 342 (mod 377)
3104 ≡ 94 (mod 377)
3108 ≡ 165 (mod 377)
31016 ≡ 81 (mod 377)
31032 ≡ 152 (mod 377)
31064 ≡ 107 (mod 377)
310128 ≡ 139 (mod 377)
310181 ≡ 310·94·81·152·139 ≡ 219 (mod 377)

ข้อความ

m = 219
ตรวจสอบ: 21913 mod 377 = 310

คำตอบ

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

คำตอบ: C · ปัญหาย่อยที่ซ้อนทับกันและโครงสร้างย่อยเหมาะสมที่สุด

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

การเก็บผลของปัญหาย่อยที่ซ้อนทับกัน (memoisation หรือ tabulation) ช่วยหลีกเลี่ยงงานซ้ำ เปลี่ยนอัลกอริทึมแบบเอกซ์โพเนนเชียลให้เป็นพหุนาม

คำตอบ

C · ปัญหาย่อยที่ซ้อนทับกันและโครงสร้างย่อยเหมาะสมที่สุด
10.อัลกอริทึมและความซับซ้อน

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

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

ผลรวมคือ n / 1 + n / 2 + ... + n / n = n × Hn และจำนวนฮาร์มอนิก Hn เป็น Θ(log n)

คำตอบ

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

คำตอบ: C · จัดสรรตารางใหม่ที่ใหญ่กว่าและแทรกทุกคีย์ใหม่

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

เนื่องจากดัชนีคำนวณแบบ modulo ขนาดตาราง ทุกคีย์ต้องถูกแฮชใหม่ลงตารางที่ใหญ่ขึ้น เมื่อเพิ่มเป็นสองเท่า ยังคงเป็น O(1) แบบกระจายต้นทุน

คำตอบ

C · จัดสรรตารางใหม่ที่ใหญ่กว่าและแทรกทุกคีย์ใหม่
12.โครงสร้างข้อมูล

คำตอบ: D · O(α(n)) ซึ่งเป็นฟังก์ชันผกผันของอัคเคอร์มันน์ ที่แทบเป็นค่าคงที่ในทางปฏิบัติ

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

เมื่อใช้ทั้งสองการปรับปรุง การดำเนินการใช้เวลา O(α(n)) แบบกระจายต้นทุน และ α(n) ≤ 4 สำหรับ n ที่เป็นจริงทุกขนาด

คำตอบ

D · O(α(n)) ซึ่งเป็นฟังก์ชันผกผันของอัคเคอร์มันน์ ที่แทบเป็นค่าคงที่ในทางปฏิบัติ
13.ทฤษฎีกราฟ

คำตอบ: H = 12

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

นับ

H = (5 − 1)!/2 = 24/2 = 12

คำตอบ

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

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

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

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

1. BE (4)
2. DE (1)
3. CE (10)
4. AC (6)

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

AC

คำตอบ

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

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

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

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

คำตอบ

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

คำตอบ: A · ตรวจพบ deadlock และยกเลิกทรานแซกชันหนึ่งเป็นผู้เสียสละ

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

วงจรในกราฟการรอ (wait-for graph) คือ deadlock DBMS rollback ทรานแซกชันหนึ่งเพื่อให้อีกอันดำเนินต่อได้ และผู้เสียสละอาจถูกลองใหม่

คำตอบ

A · ตรวจพบ deadlock และยกเลิกทรานแซกชันหนึ่งเป็นผู้เสียสละ
17.เครือข่ายคอมพิวเตอร์

คำตอบ: C · แบ่งเครือข่ายสวิตช์ทางกายภาพหนึ่งเครือข่ายเป็นบรอดแคสต์โดเมนแยกกัน

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

VLAN จัดกลุ่มพอร์ตในเชิงตรรกะ บรอดแคสต์จึงอยู่ภายในแต่ละ VLAN ช่วยปรับปรุงความปลอดภัยและจำกัดทราฟฟิกบรอดแคสต์

คำตอบ

C · แบ่งเครือข่ายสวิตช์ทางกายภาพหนึ่งเครือข่ายเป็นบรอดแคสต์โดเมนแยกกัน
18.เครือข่ายคอมพิวเตอร์

คำตอบ: C · ส่งเซกเมนต์ซ้ำหลังได้ ACK ซ้ำสามครั้ง โดยไม่รอเวลาหมดอายุ

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

ACK ซ้ำสามครั้งบ่งชี้ว่ามีเซกเมนต์หายเพียงเซกเมนต์เดียว TCP จึงส่งซ้ำทันที กู้คืนได้เร็วกว่าการรอตัวจับเวลาการส่งซ้ำมาก

คำตอบ

C · ส่งเซกเมนต์ซ้ำหลังได้ ACK ซ้ำสามครั้ง โดยไม่รอเวลาหมดอายุ
19.การแบ่งซับเน็ต IPv4

คำตอบ: H = 6

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

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

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

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

23 − 2 = 6

คำตอบ

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

คำตอบ: p = 20

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

เทียบบิต

23 = 00010111
29 = 00011101
บิตนำหน้าที่ตรงกัน: 4

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

p = 16 + 4 = 20

คำตอบ

p = /20

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

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