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

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

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

N = −288 bit
U =
2.ระบบเลขยาก
คลิกบิตเพื่อตั้งค่า012806403201608040201

ตั้งบิตให้เป็นผลลัพธ์ 8 บิตของ 1010 1001 AND 0110 1010 ค่าของผลลัพธ์ R เป็นเท่าใดในเลขฐานสิบ

1010 1001AND0110 1010
R =
3.ตรรกศาสตร์ประพจน์และการพิสูจน์ปานกลาง
pqrr → p(p ∨ q) → (r → p)(r → q) ∧ ((p ∨ q) → (r → p))111?110?101?100?011?010?001?000?

ในตารางค่าความจริง 8 แถวของ (r → q) ∧ ((p ∨ q) → (r → p)) มีกี่แถวที่เป็นจริง เรียกจำนวนนี้ว่า N

(r → q) ∧ ((p ∨ q) → (r → p))
N =
4.ตรรกศาสตร์ประพจน์และการพิสูจน์ยาก
¬pqq ∧ rp

กำหนดสมมติฐาน q ∨ r; q → p; r → p บทสรุปใดตามมาจากสมมติฐานเหล่านี้ ให้คลิกบทสรุปนั้น

q ∨ rq → pr → p
  1. 1¬p
  2. 2q
  3. 3q ∧ r
  4. 4p
5.ตรรกะดิจิทัล: เกต แผนที่คาร์โนห์ และฟลิปฟล็อปปานกลาง
ABCD000111100001111000010312040517161121131151141819111010

ใช้แผนที่คาร์โนห์หารูปผลบวกของผลคูณ (SOP) ที่น้อยที่สุดของ F(A, B, C, D) = Σm(2, 6, 7, 8, 9, 11, 12, 13, 14, 15) มีกี่พจน์ผลคูณ N

F(A, B, C, D) = Σm(2, 6, 7, 8, 9, 11, 12, 13, 14, 15)
N =
6.ตรรกะดิจิทัล: เกต แผนที่คาร์โนห์ และฟลิปฟล็อปยาก
TQ0​Q0​TQ1​Q1​TQ2​Q2​TQ3​Q3​CLKUP

ตัวนับขึ้นฐานสอง 4 บิต เริ่มที่ 11 (ฐานสิบ, Q = 1011) หลังพัลส์นาฬิกา 35 พัลส์ จะแสดงค่านับ Q (เป็นเลขฐานสิบ) เท่าใด

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

จงแก้ 9x ≡ 10 (mod 17) ให้คำตอบ x ที่ 0 < x < 17

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

กุญแจ RSA ใช้จำนวนเฉพาะ p = 17 และ q = 43 และเลขชี้กำลังสาธารณะ e = 23 จงหาเลขชี้กำลังส่วนตัว d (0 < d < φ(n))

p = 17q = 43e = 23
d =
9.อัลกอริทึมและความซับซ้อนปานกลาง

ความซับซ้อนเชิงเวลาเฉลี่ยแบบกระจายต้นทุน (amortised) ของการต่อท้ายอาร์เรย์พลวัตที่เพิ่มความจุเป็นสองเท่าเมื่อเต็มคือเท่าใด

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

เหตุใดอัลกอริทึมของ Dijkstra จึงอาจให้ผลผิดเมื่อน้ำหนักเส้นเชื่อมบางเส้นติดลบ

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

ต้นไม้ทวิภาคสมบูรณ์เต็ม (perfect binary tree) ที่มีความสูง h มีกี่โหนด เมื่อความสูงนับเป็นเส้นเชื่อม

  1. A2h
  2. B2h+1 − 1
  3. C2h + 1
  4. Dh2
12.โครงสร้างข้อมูลยาก

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

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

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

K4
H =
14.ทฤษฎีกราฟยาก
172431519720111014ABCDEFG

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

เริ่มต้น: Ek = 4
  1. 1เส้นเชื่อม AB
  2. 2เส้นเชื่อม AC
  3. 3เส้นเชื่อม BC
  4. 4เส้นเชื่อม BD
  5. 5เส้นเชื่อม CE
  6. 6เส้นเชื่อม DE
  7. 7เส้นเชื่อม EF
  8. 8เส้นเชื่อม GB
  9. 9เส้นเชื่อม GC
  10. 10เส้นเชื่อม GD
  11. 11เส้นเชื่อม GE
15.ฐานข้อมูลและ SQLปานกลาง

รูปแบบบรรทัดฐานที่สอง (2NF) ขจัด:

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

เหตุใด DBMS จำนวนมากจึงใช้ strict two-phase locking โดยถือล็อกแบบเอกสิทธิ์จนถึง commit?

  1. Aทำให้ทรานแซกชันอ่านข้อมูล dirty ได้อย่างปลอดภัย
  2. Bทำให้ deadlock เป็นไปไม่ได้
  3. Cไม่ต้องใช้ล็อกของทรานแซกชัน
  4. Dป้องกัน cascading abort เพราะไม่มีใครอ่านการเขียนที่ยังไม่ commit ได้
17.เครือข่ายคอมพิวเตอร์ปานกลาง

เหตุใดสวิตช์บางครั้งจึงส่งเฟรมออกทุกพอร์ตยกเว้นพอร์ตที่เฟรมเข้ามา?

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

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

  1. A12 kbit/s
  2. B6 kbit/s
  3. C24 kbit/s
  4. D3 kbit/s
19.การแบ่งซับเน็ต IPv4ปานกลาง
255.255.255.22411111111111111111111111111100000บิตเครือข่ายบิตโฮสต์

ซับเน็ตหนึ่งใช้มาสก์ 255.255.255.224 มีที่อยู่โฮสต์ที่ใช้ได้กี่ที่อยู่ H

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

โฮสต์มีที่อยู่ 10.20.175.92/29 ออคเต็ตที่สี่ x ของที่อยู่เครือข่ายคือเท่าใด

10.20.175.92/29
x =

3สารละลาย

1.ระบบเลข

คำตอบ: U = 228

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

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

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

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

1110 0100₂ = 256 − 28 = 228

คำตอบ

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

คำตอบ: R = 40

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

ทีละบิต

AND ให้ 1 เฉพาะที่ทั้งสองบิตเป็น 1

1010 1001
AND 0110 1010
= 0010 1000

ค่าของผลลัพธ์

0010 1000₂ = 40

คำตอบ

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

คำตอบ: N = 5

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

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

p = 1, q = 1, r = 1: r → q = 1, p ∨ q = 1, r → p = 1, (p ∨ q) → (r → p) = 1, (r → q) ∧ ((p ∨ q) → (r → p)) = 1
p = 1, q = 1, r = 0: r → q = 1, p ∨ q = 1, r → p = 1, (p ∨ q) → (r → p) = 1, (r → q) ∧ ((p ∨ q) → (r → p)) = 1
p = 1, q = 0, r = 1: r → q = 0, p ∨ q = 1, r → p = 1, (p ∨ q) → (r → p) = 1, (r → q) ∧ ((p ∨ q) → (r → p)) = 0
p = 1, q = 0, r = 0: r → q = 1, p ∨ q = 1, r → p = 1, (p ∨ q) → (r → p) = 1, (r → q) ∧ ((p ∨ q) → (r → p)) = 1
p = 0, q = 1, r = 1: r → q = 1, p ∨ q = 1, r → p = 0, (p ∨ q) → (r → p) = 0, (r → q) ∧ ((p ∨ q) → (r → p)) = 0
p = 0, q = 1, r = 0: r → q = 1, p ∨ q = 1, r → p = 1, (p ∨ q) → (r → p) = 1, (r → q) ∧ ((p ∨ q) → (r → p)) = 1
p = 0, q = 0, r = 1: r → q = 0, p ∨ q = 0, r → p = 0, (p ∨ q) → (r → p) = 1, (r → q) ∧ ((p ∨ q) → (r → p)) = 0
p = 0, q = 0, r = 0: r → q = 1, p ∨ q = 0, r → p = 1, (p ∨ q) → (r → p) = 1, (r → q) ∧ ((p ∨ q) → (r → p)) = 1

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

(r → q) ∧ ((p ∨ q) → (r → p)): 1, 1, 0, 1, 0, 1, 0, 1
N = 5

คำตอบ

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

คำตอบ: p

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

แถวที่สมมติฐานทั้งหมดเป็นจริง

p = 1, q = 1, r = 1: ¬p = 0, q = 1, q ∧ r = 1, p = 1
p = 1, q = 1, r = 0: ¬p = 0, q = 1, q ∧ r = 0, p = 1
p = 1, q = 0, r = 1: ¬p = 0, q = 0, q ∧ r = 0, p = 1

สรุป

p (การพิสูจน์แยกกรณี)

คำตอบ

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

คำตอบ: N = 4

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

ABCD000111100001111000010312040517161121131151141819111010

จัดกลุ่ม 1

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

BC
AD
AC′
A′CD′

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

F = BC + AD + AC′ + A′CD′
N = 4

คำตอบ

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

คำตอบ: Q = 14

ฟลิปฟล็อปและตัวนับ: ฟลิปฟล็อปเปลี่ยนค่าเฉพาะที่ขอบแอ็กทีฟของสัญญาณนาฬิกา 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

รอบเต็ม

ทุก 16 พัลส์ทำให้ตัวนับกลับสู่สถานะเดิม

35 = 2·16 + 3

ค่านับหลังพัลส์ที่เหลือ

Q = (11 + 3) mod 16 = 14
Q = 1110₂

คำตอบ

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

คำตอบ: x = 3

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

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

r = 17, t = 0
r = 9, q = 1, t = 1
r = 8, q = 1, t = −1
r = 1, q = 8, t = 2
9−1 ≡ 2 (mod 17)

แก้สมการ

x ≡ 2·10 = 20 ≡ 3 (mod 17)
ตรวจสอบ: 9·3 = 27 ≡ 10 (mod 17)

คำตอบ

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

คำตอบ: d = 263

เลขยกกำลังมอดูลาร์และ 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 = 17·43 = 731
φ(n) = 16·42 = 672

ขั้นตอนวิธีของยูคลิดแบบขยาย

r = 672, t = 0
r = 23, q = 29, t = 1
r = 5, q = 4, t = −29
r = 3, q = 1, t = 117
r = 2, q = 1, t = −146
r = 1, q = 2, t = 263

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

d = 263
ตรวจสอบ: 23·263 = 6049 = 9·672 + 1

คำตอบ

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

คำตอบ: C · O(1)

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

การคัดลอกสมาชิกทั้งหมดเกิดขึ้นเฉพาะที่เลขกำลังสอง เมื่อกระจายต้นทุนตลอดทุกการต่อท้าย ค่าเฉลี่ยต่อหนึ่งครั้งจึงคงที่

คำตอบ

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

คำตอบ: B · จุดยอดถูกตรึงค่าเมื่อถูกดึงออก แต่เส้นเชื่อมติดลบที่มาทีหลังอาจให้เส้นทางที่สั้นกว่าแก่มัน

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

ขั้นตอนละโมบพึ่งพาน้ำหนักที่ไม่เป็นลบเพื่อให้ระยะทางที่ดึงออกเป็นค่าสุดท้าย เมื่อน้ำหนักอาจติดลบให้ใช้ Bellman–Ford

คำตอบ

B · จุดยอดถูกตรึงค่าเมื่อถูกดึงออก แต่เส้นเชื่อมติดลบที่มาทีหลังอาจให้เส้นทางที่สั้นกว่าแก่มัน
11.โครงสร้างข้อมูล

คำตอบ: B · 2h+1 − 1

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

การรวม 1 + 2 + 4 + ... + 2h ได้ 2h+1 − 1 เช่น ความสูง 2 ได้ 7 โหนด

คำตอบ

B · 2h+1 − 1
12.โครงสร้างข้อมูล

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

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

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

คำตอบ

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

คำตอบ: H = 3

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

นับ

H = (4 − 1)!/2 = 6/2 = 3

คำตอบ

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

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

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

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

1. EF (7)
2. GE (14)
3. GD (10)
4. BD (3)
5. BC (4)
6. AC (2)

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

BD

คำตอบ

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

คำตอบ: B · การพึ่งพาบางส่วนของคอลัมน์ที่ไม่ใช่คีย์ต่อส่วนหนึ่งของคีย์ประกอบ

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

2NF ต้องเป็น 1NF และทุกแอตทริบิวต์ที่ไม่ใช่คีย์ต้องขึ้นกับคีย์ทั้งหมด ไม่ใช่เพียงบางส่วน

คำตอบ

B · การพึ่งพาบางส่วนของคอลัมน์ที่ไม่ใช่คีย์ต่อส่วนหนึ่งของคีย์ประกอบ
16.ฐานข้อมูลและ SQL

คำตอบ: D · ป้องกัน cascading abort เพราะไม่มีใครอ่านการเขียนที่ยังไม่ commit ได้

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

2PL พื้นฐานรับประกัน serializability แต่การปล่อยล็อกเขียนเร็วอาจให้ผู้อื่นอ่านข้อมูลที่ภายหลังถูก rollback ส่วน strict 2PL หลีกเลี่ยงปัญหานี้

คำตอบ

D · ป้องกัน cascading abort เพราะไม่มีใครอ่านการเขียนที่ยังไม่ commit ได้
17.เครือข่ายคอมพิวเตอร์

คำตอบ: A · ที่อยู่ MAC ปลายทางยังไม่อยู่ในตารางที่อยู่ของมัน

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

สำหรับที่อยู่ยูนิแคสต์ที่ไม่รู้จัก สวิตช์ flood เฟรม เมื่อปลายทางตอบกลับ สวิตช์เรียนรู้พอร์ตของมันจาก MAC ต้นทาง

คำตอบ

A · ที่อยู่ MAC ปลายทางยังไม่อยู่ในตารางที่อยู่ของมัน
18.เครือข่ายคอมพิวเตอร์

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

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

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

คำตอบ

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

คำตอบ: H = 30

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

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

255.255.255.224 = /27

โฮสต์ที่ใช้ได้

25 − 2 = 30

คำตอบ

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

คำตอบ: x = 88

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

ขนาดบล็อก

23 = 8

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

เครือข่าย: ⌊92/8⌋·8 = 88
บรอดคาสต์: 88 + 8 − 1 = 95
โฮสต์ที่ใช้ได้: 89 … 94

คำตอบ

x = 88

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