Mini-DM-C123

Report
DISCRETE
MATHEMATICS
San Ratanasanya
บางส่วนของเอกสารนี้ มาจากเอกสารประกอบหน้งสือของ Rosen, เอกสารประกอบการ
สอนของ ดร.ทิพยรัตน์ ประโยชน์ และ ดร. อรรจน์ [email protected]
Course Overview
2







Compulsory and intensive
BUT short 3 classes @ 3 hrs. Total = 9 hrs.
Covers basic and some interesting topics
Topics are not discussed in order
In-class exercises, homework, and quizzes
Collaborative study and work: SSD
Any textbook in Discrete Mathematics will do



Kenneth Rosen, Discrete Mathematics and its Applications,
6th ed.
Steven G. Krantz, Discrete Mathematics Demystified
Edward A. Bender and S. Gill Williamson, A Short Course in
Discrete Mathematics
Background Inquiries
6




CS
CPE
IT
Others









Logic and Proof
Sets and Matrices
Counting
Probability
Algorithm
Boolean
Automata
Graph and Tree
Number Theory
Discrete Mathematics (DM)
7

DM คืออะไร?
 ครอบคลุมหลายหัวข ้อทางคณิตศาสตร์
 เป็ นพืน
้ ฐานทีส
่ าคัญของ
CS ทีเ่ กีย
่ วกับ สมมติฐาน
ความคิดต่างๆ และการพิสจ
ู น์ความคิดเหล่านัน
้ (proofs
and ideas and abstraction)
 ไม่ตอ
่ เนือ
่ ง, เต็มหน่วย, สามารถนับได ้, ปริมาณ

ทาอย่างไรจึงเข ้าใจ DM?
ิ นามธรรม
 พยายามคิดในเชง
ตัง้ สมมติฐาน นิยาม
ื่ มโยงนิยามต่างๆ เข ้ากับการใชงานจริ
้
 เชอ
ง
Discrete Mathematics (DM)
8

ทาไมเราต ้องใช ้ DM?
้
ื่ มโยงทฤษฎีตา่ งๆกับปั ญหาใน
 ใชในการเช
อ
ชวี ต
ิ ประจาวัน
 เพือ
่ แก ้ปั ญหาเหล่านัน
้ ด ้วยวิธก
ี ารทีเ่ หมาะสม

Examples
 Internet,
Computer Network, Computer
Graphics, A.I., Database, Robotics, Image
Processing and Computer Vision, Computer
Security, etc.
CHAPTER 1: BASIC FOUNDATIONS
Logics, Predicate Logics, Rules of Inference, and
Proofs
Logics
12




้ ผล
Logics หมายถึง เหตุผล หรือ ระบบการใชเหตุ
เราใช ้ logic ในชวี ต
ิ ประจาวันเสมอ
ประโยคทีเ่ ราสามารถบอกได ้ว่าเป็ นจริงหรือเป็ นเท็จเรียกว่า ประพจน์
หรือ ถ้อยแถลง หรือ proposition
้
เมือ
่ เรามีประพจน์มากกว่าหนึง่ และต ้องการนาประพจน์เหล่านัน
้ มาใชใน
การแสดงเหตุผลร่วมกัน เราสามารถทาได ้โดยใช ้ ต ัวดำเนินกำร
่
ทำงตรรก (logical operator) ต่างๆ เชน


and (), or (), not (), xor (), conditional (), และ bidirectional () ซงึ่ แต่ละ
ตัวจะมีลาดับความสาคัญต่างกัน
เราเรียกประโยคทีม
่ ป
ี ระพจน์มากกว่าหนึง่ ว่า ประพจน์ประกอบ หรือ
่
ประพจน์ผสม หรือ compound proposition เชน

ื้ ของราคา 10 บาทแล ้วจ่ายเงินไป 100 บาทจะได ้เงินทอน 15 บาท
ถ ้าเราซอ
Logics
13




ั ร ันดร์ หรือ
เราเรียกประพจน์ผสมทีม
่ ค
ี า่ ความจริงเป็ นจริงทุกกรณีวา่ สจนิ
tautology และ ประพจน์ผสมทีม
่ ค
ี า่ ความจริงเป็ นเท็จทุกกรณีวา่ ข้อ
ข ัดแย้ง หรือ contradiction
เราเรียกประพจน์ผสมทีไ่ ม่เป็ นทัง้ tautology หรือ contradiction ว่า สงิ่ ที่
เป็นไปได้ หรือ contingency
เราสามารถตรวจสอบได ้ว่าประพจน์ผสมใดมีคา่ ความจริงเป็ นอย่างไร
โดยการสร ้างตำรำงค่ำควำมจริง (truth table)
ในทางคณิตศาสตร์ เราใชตั้ วอักษรภาษาอังกฤษในการแทนประพจน์
่
เพือ
่ ความสะดวกในการอ ้างถึง เชน



p: พระจันทร์สเี หลือง
Logical Equivalence หรือ กำรสมมูล เป็ นการการเท่ากันทาง
ตรรกศาสตร์ เมือ
่ ประพจน์ หรือประพจน์ผสมใดๆ มีคา่ ความจริงเท่ากัน
ทุกประการ เราบอกว่าประพจน์เหล่านัน
้ สมมูล กัน
Bitwise operation เป็ นการกระทาทางตรรก ในระดับ bit
14
Predicate Logics
15

ประพจน์ใดทีม
่ ต
ี วั แปรมาเกีย
่ วข ้อง เราจะไม่สามารถทราบค่าความ
จริงของประพจน์นัน
้ ได ้ในทันที เราเรียกประพจน์ทม
ี่ ล
ี ก
ั ษณะดังนีว้ า่
่
ภำคแสดง หรือ Predicate เชน



P(x) = x is greater than 3
Predicate หมายถึง คุณสมบัต ิ ของตัวแปรนัน
้ ๆ ดังนัน
้ ค่าความจริง
ของ ประพจน์เปิ ด จึงขึน
้ อยูก
่ บ
ั คุณสมบัตข
ิ องตัวแปรในประพจน์นัน
้
้
Quantifiers หรือ ต ัวบ่งปริมำณ ใชในการบอกปริ
มาณของตัวแปร
ในประพจน์
16
Rules of Inference
17



ทฤษฎีบท (theorems) หรือ ข้อโต้แย้ง (arguments) ประกอบด ้วย
ประพจน์ และ/หรือ ประพจน์ผสม หลายๆ ประพจน์ เราเรียกประพจน์
เหล่านัน
้ ว่า หล ักฐำน (premises)
เมือ
่ เราต ้องทาการพิสจ
ู น์ (proof) ทฤษฎีบท หรือ ข ้อโต ้แย ้งต่างๆ เรา
จะใช ้ กฎของกำรอนุมำน หรือ rules of inference ชว่ ยในการ
่ ทสรุป (conclusion) ว่าทฤษฎีบทนัน
พิสจ
ู น์ หรือนาไปสูบ
้ หรือ ข ้อ
โต ้แย ้งนัน
้ มีเหตุผล หรือไม่มเี หตุผล (valid or invalid) ด ้วยการนิรนัย
(deduction)
ทฤษฎีบท หรือ ข ้อโต ้แย ้งต่างๆ จะมีเหตุผลก็ตอ
่ เมือ
่ หลักฐานต่างๆ
ทัง้ หมดเป็ นจริงและบทสรุปก็ต ้องเป็ นจริงด ้วย
18
(Informal) Proofs
19

่
วิธใี นการพิสจ
ู น์มห
ี ลายวิธก
ี าร เชน

การพิสจ
ู น์โดยการแจกแจงด ้วยตารางค่าความจริง
การพิสจ
ู น์โดยตรง (direct proof)
 พิสจ
ู น์วา่ p  q เป็ นจริง

การพิสจ
ู น์โดยอ ้อม (indirect proof)







การพิสจ
ู น์โดยใชรู้ ปขัดแย ้ง (proof by contraposition)
 ใช ้ รูปขัดแย ้ง (contrapositive) ของ p  q ในการพิสจ
ู น์
การพิสจ
ู น์โดยใชข้ ้อขัดแย ้ง (proof by contradiction)
 พิสจ
ู น์วา่ p  q เป็ นจริง โดยการพิสจ
ู น์วา่ ข ้อขัดแย ้งของ p  q เป็ นท็จ ซงึ่
สามารถทาได ้โดย ให ้ p เป็ นเท็จ แล ้วทาการหาบทสรุป ถ ้าบทสรุปเป็ นเท็จ
แสดงว่า p  q เป็ นจริง
การพิสจ
ู น์โดยการพิจารณากรณี (proof by cases)
การพิสจ
ู น์เพียงบางสว่ น (trivial proof and vacuous proof)
 Trivial: แสดงให้เห็นว่า q เป็ นจริง จะสรุปได้วา่ p  q เป็ นจริง
 Vacuous: แสดงให้เห็นว่า p เป็ นเท็จ จะได้ p  q เป็ นจริง
ฯลฯ
การพิสจ
ู น์เชงิ อุปนัย (proof by induction)
In-Class Exercises
20
Chapter 2: Basic Structures
Sets, Functions, Sequences, and Sums
Sets
22





ั เจนว่าสงิ่ ใด
เซต หรือ Set คือกลุม
่ ของสงิ่ ของต่างๆซงึ่ มีกฎเกณฑ์ชด
ิ
อยูใ่ นเซตและสงิ่ ใดไม่ได ้อยูใ่ นเซต สงิ่ ทีอ
่ ยูใ่ นเซตเรียกว่าสมาชก
(member หรือ element) ของเซต
ื่ ของเซต และ
เราใชตั้ วอักษรภาษาอังกฤษตัวพิมพ์ใหญ่แทนชอ
ิ ในเซตเมือ
ตัวอักษรภาษาอังกฤษตัวพิมพ์เล็กเมือ
่ กล่าวถึงสมาชก
่
ไม่ได ้เจาะจงว่าเป็ นตัวใด
ิ ของเซตอยูภ
เราเขียนสมาชก
่ ายในวงเล็บปี กกา {}
ิ ของ A, A = {1,2,3} หมายถึงเซต A มี
a  A แปลว่า a เป็ นสมาชก
ิ เป็ น 1 2 3
สมาชก
โดยทัว่ ไป เราสามารถเขียนเซตได ้ 3 วิธ ี



ด ้วยการใชถ้ ้อยคาอธิบาย
ิ ตัง้ แต่ 1 ถึง 100
 A เป็ นเซตของจานวนเต็มบวกทีม
่ ส
ี มาชก
ิ ทัง้ หมด
ด ้วยการแจกแจงสมาชก
 A = {1,2,3,4,5,6,….,100}
ิ หรือ เรียกว่า Set builder
ด ้วยการใชคุ้ ณสมบัตข
ิ องสมาชก
 A = {x | xZ+ and 0 < x  100}
Sets
23




ิ ของเซต (cardinality) เราใช ้
ขนาดของเซตหมายถึงจานวนสมาชก
ั ลักษณ์ |A| แทนจานวนสมาชก
ิ ของเซต A
สญ
ิ ทุกตัวเป็ นสมาชก
ิ ของเซต B ว่า A เป็ น
เราเรียก เซต A ทีม
่ ส
ี มาชก
เซตย่อย (subset) ของ B เขียนแทนด ้วย A  B
ิ เลย และเป็ น subset ของทุกเซต
เซตว่างคือเซตทีไ่ ม่มส
ี มาชก
ิ เป็ น subset ของ A
เซตกาลัง หรือ P(A) คือเซตทีม
่ ส
ี มาชก
Set Operations
24





การดาเนินการบนเซต หรือ Set operation ได ้แก่ Union (), Intersect
(), Complement (¯ หรือ ’), Difference (-), Symmetric Difference
()
้
เราสามารถใชแผนภาพเวนน์
(Venn Diagram) ในการแสดงการ
้ กของการเพิม
กระทาบนเซตได ้ ซงึ่ ในแผนภาพเวนน์นจ
ี้ ะใชหลั
่ เข ้า
และตัดออก (inclusion and exclusion) ด ้วย
ิ
การเท่ากัน หรือการสมมูลกัน ของเซตจะเกิดขึน
้ ก็ตอ
่ เมือ
่ สมาชก
ของเซตสองเซตนั่นเหมือนกันทุกประการ
เราสามารถพิสจ
ู น์วา่ เซตสองเซตใดๆเท่ากันได ้โดยใช ้ Set Identities,
Set Builder, หรือ Set Membership Table
ี น (Cartesian) เป็ นความสม
ั พันธ์ระหว่างเซตสอง
ผลคูณคาร์ทเี ซย
ิ ของเซตแรกกับสมาชก
ิ ของ
เซต โดยเป็ นการจับคูก
่ น
ั ระหว่างสมาชก
เซตทีส
่ อง เขียนแทนด ้วย X  Y โดยทีแ
่ ต่ละค่าของ x ใน X จะมี y
ิ ทีม
ใน Y ทีแ
่ ตกต่างกัน ผลคูณฯ จะเป็ นเซตทีม
่ ส
ี มาชก
่ ล
ี ก
ั ษณะ
เหมือนคูอ
่ น
ั ดับ (x, y)
25
Functions
26





ั (function) คือความสม
ั พันธ์จากเซตหนึง่ ไปยังอีกเซตหนึง่ หรือเรียกว่าเป็ น
ฟั งก์ชน
การจับคู่ (mapping) หรือ การแปลง (transformation) จากเซตแรกไปสูเ่ ซตทีส
่ อง
โดยทีเ่ ซตแรกเรียกว่า โดเมน (domain) เซตทีส
่ องเรียกว่า โคโดเมน (codomain)
ั ลักษณ์ f: RR หมายถึง ฟั งก์ชน
ั f เป็ นการ
เราบอกโดเมนกับโคโดเมนด ้วยสญ
แปลงจากเซตของจานวนจริง (R)ไปยังเซตของจานวนจริง f จึงมี R เป็ นทัง้ โดเมน
และโคโดเมน
ั ด ้วยสญ
ั ลักษณ์ f(x) = y หมายถึงฟั งก์ชน
ั f เป็ นการแปลงจาก x ไป
เราแทนฟั งก์ชน
เป็ น y
ั คือเซตทีม
ิ ทัง้ หมดทีใ่ ชส้ าหรับการแปลงจากโดเมน
เรนจ์ (range) ของฟั งก์ชน
่ ส
ี มาชก
มาสูโ่ คโดเมน ดังนัน
้ range จึงเป็ น subset ของ codomain
การแปลงมี 2 ลักษณะ ได ้แก่


ิ ของโดเมนของ f แล ้ว f (x1) = f
หนึง่ ต่อหนึง่ (One-to-one) : ถ ้า x1 และ x2 เป็ นสมาชก
(x2) ก็ตอ
่ เมือ
่ x1 = x2 และ
ิ ใดๆของโคโดเมนของ f แล ้วจะมี x อย่างน ้อย 1 ตัว ซงึ่ f
ทั่วถึง (Onto) : ถ ้า y เป็ นสมาชก
(x) = y
Functions
27





ั ทีเ่ ป็ นทัง้ one-to-one และ onto จะเรียกว่า bijection
ฟั งก์ชน
ั ผกผัน (inverse function) ของฟั งก์ชน
ั ใดๆได ้ก็
เราจะสามารถหาฟั งก์ชน
ั นัน
ต่อเมือ
่ ฟั งก์ชน
้ เป็ น bijection
ั f: X → Y และ g:Y → Z สามารถประกอบกันได ้ ซงึ่ จะได ้ผล
ฟั งก์ชน
ั ประกอบ (composite function) g o f: X → Z ซงึ่ มีนย
เป็ น ฟั งก์ชน
ิ ามคือ
(g o f) (x) = g (f (x))
ั เพดาน และฟั งก์ชน
ั พืน
ฟั งก์ชน
้ (ceiling and floor functions) เป็ น
ั ทีใ่ ชในการประมาณค่
้
ฟั งก์ชน
าจานวนจริงให ้เป็ นจานวนเต็มโดยการปั ด
ั ลักษณ์  และ   ตามลาดับ
เศษขึน
้ หรือลงตามลาดับ ใชส้ ญ
ั ได ้ด ้วยกราฟของฟั งก์ชน
ั ซงึ่ คือการวาด
เราสามารถอธิบายฟั งก์ชน
ั พันธ์ของสมาชก
ิ ในโดเมนและเรนจ์นั่นเอง
ภาพความสม
28
Sequences
29





ลาดับ หรือ Sequence เป็ นรายการของสงิ่ ของทีม
่ ก
ี ารเรียงลาดับแล ้ว
ิ ในลาดับ และจานวน
มีสว่ นทีค
่ ล ้ายกับ Set มีพจน์ ซงึ่ เป็ นสมาชก
ิ คือความยาวของลาดับ
สมาชก
ิ ทุกตัวมีลาดับ ดังนัน
สว่ นทีแ
่ ตกต่างจาก Set คือ สมาชก
้ พจน์ท ี่
เหมือนกัน จะเกิดขึน
้ ต่างลาดับกัน
ิ ตัวที่ n ของลาดับด ้วย an โดยที่ n = 1,2,3, …
เราแทนสมาชก
ิ ได ้ดังนี้
เราสามารถแบ่งลาดับตามจานวนสมาชก


ิ ไม่จากัด
ลาดับอนันต์ คือลาดับทีม
่ จ
ี านวนสมาชก
ิ จากัด
ลาดับจากัด คือลาดับทีม
่ จ
ี านวนสมาชก
Sequences
30

ั พันธ์ของสมาชก
ิ ได ้หลายประเภท
เราสามารถแบ่งลาดับตามความสม
่
เชน




ลาดับเลขคณิต : คือลาดับทีม
่ ผ
ี ลต่างระหว่างพจน์ท ี่ n+1 กับพจน์ท ี่ n มีคา่ คงตัว
ค่าคงตัวนีเ้ รียกว่า ผลต่างร่วม (common diference) สามารถเขียนสูตรของพจน์ท ี่
n ในรูปของพจน์ท ี่ 1 ได ้ดังสมการ
an = a1 + (n-1)d โดยที่ d คือ ผลต่างร่วม
ลาดับเรขาคณิต : คือ อัตราสว่ นระหว่างพจน์ท ี่ n +1 กับ พจน์ท ี่ n มีคา่ คงตัว ค่า
คงตัวนีเ้ รียกว่า อัตราสว่ นร่วม (common ratio) สามารถเขียนพจน์ท ี่ n ใดๆ ในรูป
ของพจน์ท ี่ 1 ดังนี้
an = a1 * rn − 1 โดยที่ r คืออัตราสว่ นร่วม
ลาดับฮาร์โมนิก : หมายถึง ลาดับทีม
่ พ
ี จน์แต่ละพจน์เป็ นสว่ นกลับของพจน์ใน
ลาดับเลขคณิต
ลาดับฟี โบนักช ี : คือลาดับของจานวนเต็มบวก ซงึ่ มีคณ
ุ สมบัตวิ า่
an = an − 1 + an − 2
Summations
31





ผลบวก หรือ summation คือผลบวกของของเซตของ
จานวน ในบางครัง้ เราอาจเรียกว่า series
Series เป็ นผลบวกของพจน์ใน sequence
ั ลักษณ์  แทนผลบวกของสมาชก
ิ ในเซตหรือ
เราใชส้ ญ
ลาดับ
ั ลักษณ์ แทนผลคูณของสมาชก
ิ ในเซตหรือ
และใชส้ ญ
ลาดับ
่
คุณสมบัตท
ิ น
ี่ ่าสนใจของผลบวก เชน
ca = c a เมือ
่ c เป็ นค่าคงที่
 a + b = (a+b)

32
In-Class Exercises
33
Chapter 3: Algorithms
Algorithms and Analysis, (Algorithms on) The
Integers, and Matrices
Algorithms
35



ขนตอนวิ
ั้
ธ ี หรือ อ ัลกอริทม
ึ (algorithm) หมายถึงกระบวนการ
แก ้ปั ญหาทีส
่ ามารถเข ้าใจได ้ มีลาดับหรือวิธก
ี ารในการแก ้ไขปั ญหา
ั เจน เมือ
ใดปั ญหาหนึง่ อย่างเป็ นขัน
้ เป็ นตอนและ ชด
่ นาเข ้าอะไร แล ้ว
่ ไร
จะต ้องได ้ผลลัพธ์เชน
ในการทางานอย่างเดียวกัน เราอาจจะเลือกขัน
้ ตอนวิธท
ี ต
ี่ า่ งกันเพือ
่
แก ้ปั ญหาได ้ โดยทีผ
่ ลลัพธ์ทไี่ ด ้ในขัน
้ สุดท ้ายจะออกมาเหมือนกัน
หรือไม่ก็ได ้ และจะมีความแตกต่าง ทีจ
่ านวนและชุดคาสงั่ ทีใ่ ช ้
ต่างกันซงึ่ สง่ ผลให ้ เวลา (time) , และขนาดหน่วยความจา (space)
ั ซอน
้
ทีต
่ ้องการต่างกัน หรือเรียกได ้อีกอย่างว่ามีความซบ
(complexity) ต่างกัน
การนาขัน
้ ตอนวิธไี ปใช ้ ไม่จากัดเฉพาะการเขียนโปรแกรม
่ การออกแบบ
คอมพิวเตอร์ แต่สามารถใชกั้ บปั ญหาอืน
่ ๆ ได ้เชน
วงจรไฟฟ้ า, การทางานเครือ
่ งจักรกล, หรือแม ้กระทัง่ ปั ญหาใน
่ วิธข
ธรรมชาติ เชน
ี องสมองมนุษย์ในการคิดเลข หรือวิธก
ี ารขน
อาหารของแมลง
Pseudocode
36

้
รหัสเทียม (Pseudocode) เป็ นภาษาทีใ่ ชในการเขี
ยน
อธิบาย algorithm โดยอยูใ่ นรูปทีใ่ กล ้เคียงกับภาษาทีใ่ ช ้
ในการเขียนโปรแกรม
Analysis of Algorithms
37

ั ซอน
้ (Complexity) ของ algorithm
ความซบ
ิ เวลา
 เชง
้
(time complexity) หมายถึงเวลาทีใ่ ชในการท
างาน
ของโปรแกรม โดยทัว่ ไปจะขึน
้ อยูก
่ บ
ั ขนาดของ input
ิ พืน
 เชง
้ ที่ (space complexity) หมายถึงขนาดของพืน
้ ทีใ่ น
หน่วยความจาทีถ
่ ก
ู ใชส้ าหรับการทางานของโปรแกรม
Analysis of Algorithms
38

ั (Growth of Function)
การเติบโตของฟั งก์ชน
 Big
O
 Big Theta
 Big Omega
Algorithms on the Integers
39




Division
Modular
GCD
LCM
Algorithms on the Integers
40

Cryptology
 Caesar’s
 RSA
Matrices
41




ิ ของเซตในรูปแบบของ
เมตริกซ ์ (Matrices) เป็ นการแสดงสมาชก
แถวและหลัก (row and column)
์ าได ้จาก จานวนแถว x จานวนหลัก
ขนาดของเมตริกซห
ิ ก
เมตริกซใ์ ดๆ จะเท่ากันได ้ก็ตอ
่ เมือ
่ มีขนาดเท่ากันและสมาชกทุ
ตาแหน่งมีคา่ เท่ากัน
การบวกเมตริกซ ์


ิ ทีอ
เป็ นการบวกกันของสมาชก
่ ยูใ่ นตาแหน่งเดียวกันของเมตริกซ ์ 2 เมตริกซ ์
์ ะบวกกันได ้ก็ตอ
์ ัน
ใดๆ ดังนัน
้ เมตริกซจ
่ เมือ
่ เมตริกซใ์ ดๆ 2 เมตริกซน
้ มีขนาด
เท่ากัน
การคูณเมตริกซ ์

์ วั ทีส
จะทาได ้ก็ตอ
่ เมือ
่ จานวนแถวของเมตริกซต
่ องเท่ากับจานวนหลักของ
์ วั แรก และผลลัพธ์จะได ้เมตริกซท
์ ม
เมตริกซต
ี่ ข
ี นาดเป็ น
์ วั แรก x จานวนหลักของเมตริกซต
์ วั ทีส
จานวนแถวของเมตริกซต
่ อง
In-Class Exercises
42
Chapter 4: Induction and Recursion
Induction and Recursion
Mathematical Induction
44


อุปนัยเชงิ คณิตศาสตร์ (Mathematical Induction) เป็ นการพิสจ
ู น์แบบ
้
หนึง่ โดยใชกรณี
เฉพาะมาทาการอุปนัยให ้ได ้บทสรุป โดยทัว่ ไปมัก
้
ใชในการสร
้างทฤษฎีจากผลของการทดลอง
อุปนัยเชงิ คณิตศาสตร์จะใชกั้ บการพิสจ
ู น์คณ
ุ สมบัตบ
ิ างประการของ
จานวนเต็มบวก หรือจานวนนับ
Mathematical Induction
45

อุปนัยเชงิ คณิตศาสตร์ม ี 2 ขัน
้ ตอน


ขัน
้ มูลฐาน (basis step) เป็ นการแสดงว่าประพจน์เป็ นจริงเมือ
่ กล่าวกับจานวน
เต็มบวกตัวแรก
ั นา (inductive step) เป็ นการใชกรณี
้
ขัน
้ ชก
หนึง่ เพือ
่ ไปสรุปอีกกรณีหนึง่ คือใช ้
สมมติฐานว่าประพจน์เป็ นจริงกับจานวนเต็มบวก k และทาการพิสจ
ู น์เพือ
่
่ ทสรุปว่า ประพจน์เป็ นจริงกับจานวนเต็มบวกทีถ
นาไปสูบ
่ ัดจาก k หรือ k+1
เมือ
่ พิสจ
ู น์ได ้ว่าประพจน์เป็ นจริงกับจานวนเต็มบวก k+1 แล ้วจะสามารถสรุปได ้
ว่าประพจน์นเี้ ป็ นจริงกับจานวนเต็มบวกทุกตัว
Strong Induction and Well-Ordering
46



จากหลักการอุปนัยทางคณิตศาสตร์
สาหรับ P(n) ทีข
่ น
ึ้ กับจานวนนับ n ถ ้าเราสามารถพิสจ
ู น์ได ้ว่า
1. P(1) จริง และ
2. สาหรับจานวนนับ i  1 ใด ๆ P(i)  P(i+1)
แล ้ว P(n) เป็ นจริงสาหรับทุก ๆ จานวนนับ n
้ สจ
หลักการนีไ
้ ม่สามารถใชพิ
ู น์ได ้ทุกกรณี เนือ
่ งจากอาจมีคา่ บางค่าที่
อยูร่ ะหว่าง 1 ถึง i ใดๆ โดยที่ i < n ทีท
่ าให ้ P(i) มีคา่ เป็ นเท็จ
ดังนัน
้ เราจึงต ้องทาการพิสจ
ู น์ให ้เห็นว่า ชว่ งระหว่าง 1 ถึง i ใดๆ นัน
้
ประพจน์ยงั มีคา่ ความจริงเป็ นจริงอยู่ แล ้วค่อยทาการพิสจ
ู น์ตอ
่ จาก i
นัน
้ ๆ ไปยัง i+1 หลักการนีเ้ รียกว่า อุปนัยเชงิ คณิตศาสตร์แบบ
แข็งแกร่ง (Strong Induction)
Strong Induction and Well-Ordering
47


Well-ordering เป็ นหลักการทีก
่ ล่าวว่า สาหรับเซตทุกเซต
ิ ทีม
ทีไ่ ม่ใชเ่ ซตว่าง เซตนั น
้ ๆจะต ้องมีสมาชก
่ ค
ี า่ น ้อยทีส
่ ด
ุ
้ กการ well-ordering นีใ้ นการพิสจ
เราใชหลั
ู น์แบบ induction
ได ้ เนือ
่ งจากมีความคล ้ายคลึงกัน แต่โดยสว่ นมากแล ้วเรา
จะพิสจ
ู น์โดยใชข้ ้อขัดแย ้ง
Recursive Definition
48

้ กของการ
วิธใี นการแก ้ปั ญหาอย่างหนึง่ โดยประยุกต์ใชหลั
อุปนั ยเชงิ คณิตศาสตร์ เรียกว่า การเวียนเกิด หรือ recursion

ในการแก ้ปั ญหาแบบนี้ คาตอบจะขึน
้ อยูก
่ บ
ั คาตอบของ
ปั ญหาย่อยๆ ทีม
่ ล
ี ักษณะเดียวกับปั ญหาใหญ่

เราต ้องนิยามการเวียนเกิดของปั ญหาก่อน และเรียกนิยาม
นีว้ า่ นิยามเวียนเกิด หรือ recursive definition

้
ดังนัน
้ วิธใี นการพิสจ
ู น์ หรือการนิยามการเวียนเกิดจึงใชการ
่ กัน
อุปนั ยเชงิ คณิตศาสตร์เชน
Recursive Definition
49

การพิสจ
ู น์แบบเวียนเกิดมี 2 ขัน
้ ตอน


ขัน
้ มูลฐาน (basis step) ทาการพิสจ
ู น์วา่ P(1) เป็ นจริง
ั นา หรือ ขัน
ขัน
้ ชก
้ เวียนเกิด (inductive or recursive step) ทาการ
่ ารแก ้ปั ญหา และทาการพิสจ
นิยาม นิยามเวียนเกิด เพือ
่ นาไปสูก
ู น์
ว่า P(k)  P(k+1)
Recursive Algorithms
50


เป็ น algorithm ทีใ่ ช ้ การเวียนเกิด (recursion) ในการ
แก ้ปั ญหา
การแก ้ปั ญหาแบบเวียนเกิดมี 2 ขัน
้ ตอน
 ขัน
้ มูลฐาน
(basis step) กาหนดค่าเริม
่ ต ้นของการเวียนเกิด
ั นา หรือ ขัน
 ขัน
้ ชก
้ เวียนเกิด (inductive or recursive step) ทา
่ ารแก ้ปั ญหา โดย
การนิยาม นิยามเวียนเกิด เพือ
่ นาไปสูก
การสร ้างกฎสาหรับการหาคาตอบโดยเริม
่ จากจานวนนับที่
น ้อยๆ ก่อน
Program Correctness
51


เป็ นการพิสจ
ู น์วา่ โปรแกรมทีเ่ ขียนขึน
้ มานัน
้ มีความถูกต ้องเมือ
่ เทียบกับ input และ
output ทีก
่ าหนดให ้
โปรแกรมจะมีความถูกต ้องก็ตอ
่ เมือ
่ ได ้ให ้ output ทีถ
่ ก
ู ต ้องสาหรับทุกๆ input ที่
เป็ นไปได ้



การพิสจ
ู น์ความถูกต ้องของโปรแกรม (program verification) แบ่งได ้เป็ น 2 สว่ น



Initial assertion คือคุณสมบัตข
ิ อง input ทีก
่ าหนดให ้
Final assertion คือคุณสมบัตท
ิ ี่ output ควรจะมี
โปรแกรมจะมีความถูกต ้องบางสว่ น (partial correctness) เมือ
่ โปรแกรมสามารถให ้
output ทีถ
่ ก
ู ต ้องหลังจากโปรแกรมหยุดทางาน (terminate) ได ้
ถ ้าโปรแกรมสามารถจบการทางานได ้ โปรแกรมจะมีความถูกต ้องทัง้ หมด (total
correctness)
ั ลักษณ์ของ Hoare (Hoare Notation) ในการพิสจ
โดยทั่วไปจะใช ้ สญ
ู น์
52
In-Class Exercises
Homework

Chapter 5: Counting
Counting, Pigeonhole Principle, Permutation, and
Combination
Basic Rules of Count
54

กฎของผลคูณและผลบวก (Rules of Product and Sum)
ถ ้า E1, E2, E3, …, Ek เป็ นลาดับของเหตุการณ์ซงึ่ จานวนวิธข
ี องการ
เกิดเหตุการณ์แต่ละอย่างไม่ขน
ึ้ กับวิธก
ี ารเกิดของเหตุการณ์ทเี่ กิด
ก่อน
 ถ ้าจานวนวิธข
ี องการเกิด Ei = ni, i = 1, 2, 3, …, k แล ้ว
 จานวนวิธข
ี องการเกิดเหตุการณ์ทงั ้ ลาดับ คือ n1n2n3…nk
 จานวนวิธข
ี องการเกิดเหตุการณ์เพียงอย่างใดอย่างหนึง่ คือ n1
+ n2 + n3 + … + nk


หลักของการเพิม
่ เข ้าและตัดออก (Inclusion-Exclusion
้
Principle) ใชในกรณี
ทม
ี่ ก
ี ารนั บขาด หรือนั บเกิน
Pigeonhole Principle
55

หลักการรังนกพิราบ (Pigeonhole Principle)
 ถ ้ามีรังนกพิราบ
n รัง และมีนกพิราบ m ตัว ถ ้า n+1 แล ้วจะมี
อย่างน ้อย 1 รังทีม
่ น
ี กพิราบมากกว่า 1 ตัว

้
เราสามารถขยายหลักการนีใ้ ห ้ใชงานได
้มากขึน
้ โดย
 ถ ้ามีนกพิราบ
N ≥ k+1 ตัวต ้องการเข ้ารัง k รัง ดังนัน
้ ต ้องมี
อย่างน ้อยทีส
่ ด
ุ 1 รังทีม
่ น
ี กพิราบอย่างน ้อยทีส
่ ด
ุ N/k ตัว
Permutations and Combinations
56

ั เปลีย
ิ จากเซตโดยให ้
วิธเี รียงสบ
่ น (Permutation) คือการเลือกสมาชก
ความสาคัญกับอันดับของการเลือก หรือเรียกว่าเป็ นการเรียงลาดับ


ิ จากเซตโดยไม่ให ้
วิธจ
ี ัดหมู่ (Combination) การเลือกสมาชก
ความสาคัญกับอันดับของการเลือก จึงเป็ นเพียงการจัดกลุม
่


ั เปลีย
ให ้ P(n, k) เป็ นจานวนวิธเี รียงสบ
่ นของ n สงิ่ ทีต
่ า่ งกัน คราวละ k สงิ่ โดย
้
้ากันไม่ได ้ และ n  k แล ้ว P(n, k) = n! / (n-k)!
ใชของซ
ให ้ C(n, k) เป็ นจานวนวิธจ
ี ัดหมูข
่ อง n สงิ่ ทีต
่ า่ งกัน คราวละ k สงิ่ โดยแต่ละกลุม
่
ไม่มข
ี องซ้ากัน และ n  k แล ้ว C(n, k) = n! / k!(n-k)!
ั ประสท
ิ ธิท
C(n, k) เรียกอีกอย่างว่า สม
์ วินาม (binomial coefficient)
ั ประสท
ิ ธิข
เนือ
่ งจากผลของการกระจายทวินาม (x+y)n มีสม
์ องพจน์
ต่างๆ อยูใ่ นรูป C(n, k)
Permutations and Combinations
57

ั ประสท
ิ ธิข
สม
์ อง (x+y)n สามารถจัดเรียงในรูปสามเหลีย
่ มได ้ซงึ่ เรา
เรียกสามเหลีย
่ มนีว้ า่ สามเหลีย
่ มของปาสคาล (Pascal’s Tiangle) ซงึ่
มีคณ
ุ สมบัตด
ิ งั นี้



จานวนแรกและจานวนสุดท ้ายในแต่ละแถวเป็ น 1
จานวนอืน
่ ๆในแถวลาดับได ้จากการบวกจานวน 2 จานวนทีอ
่ ยูเ่ หนือเลขจานวน
นัน
้
ั ประสท
ิ ธิท
ผลรวมของสม
์ วินามคือ
Permutations and Combinations with
repetition
58
Distributing Objects into Boxes
59

การจัดของทีไ่ ม่เหมือนกัน n สงิ่ ลงในกล่องทีไ่ ม่เหมือนกัน
k กล่อง


การจัดของทีไ่ ม่เหมือนกันลงในกล่องทีเ่ หมือนกัน


ไม่มส
ี ต
ู รทีแ
่ น่นอนตายตัว
การจัดของทีเ่ หมือนกันลงในกล่องทีไ่ ม่เหมือนกัน


n! / n1!n2!n3!...nk!
Combination with r-repetition
การจัดของทีเ่ หมือนกันลงในกล่องทีเ่ หมือนกัน

้
ใชการแจกแจงในการนั
บ
60
Generating Permutations and
Combinations



ในบางปั ญหา การนับ ยังไม่เพียงพอต่อการแก ้ปั ญหา
ั เปลีย
จาเป็ นต ้องทาการสร ้างเซตของการเรียงสบ
่ น
หรือจัดหมูข
่ น
ึ้ มา
ั เปลีย
เราสามารถสร ้างเซตของการเรียงสบ
่ นได ้โดย
้
ั เปลีย
ใชการเรี
ยงสบ
่ น
เราสามารถสร ้างเซตของการจัดกลุม
่ ได ้ด ้วยการสร ้าง
subset
In-Class Exercises
61
Chapter 6: Discrete Probability
Probability, Baye’s Theorem, and Expected Value
and Variance
Probability






่ (Random Experiment) คือกระบวนการหรือกิจกรรมใดๆทีผ
การทดลองสุม
่ ลลัพธ์
เป็ นไปได ้หลายอย่างและไม่แน่นอน
แซมเปิ ลสเปซ (Sample Space) คือเซตของผลลัพธ์ทเี่ ป็ นไปได ้ทัง้ หมดของการ
ทดลอง แทนด ้วย S
เหตุการณ์ (Event) คือเซตของผลลัพธ์ทส
ี่ นใจ เป็ น subset ของ sample space
ในความหมายทั่วไป ควำมน่ำจะเป็น (probability) หมายถึงเหตุการณ์หรือความรู ้ที่
ี่ ง หรือ โชค
ไม่แน่นอน ซงึ่ มีคาใกล ้เคียงกับคาว่า เป็ นไปได ้ น่าจะ ไม่แน่นอน เสย
ึ ษา
ในความหมายทางคณิตศาสตร์ ควำมน่ำจะเป็น เกีย
่ วกับความเป็ นไปได ้ โดยศก
เรือ
่ งทีอ
่ าจจะเกิดขึน
้ หรือไม่เกิดขึน
้
ตัวเลขระหว่างศูนย์กบ
ั หนึง่ ถูกกาหนดให ้กับ "เหตุการณ์" (ความน่าจะเป็ นทีเ่ ท่ากับ 0
ก็คอ
ื ไม่มโี อกาสทีเ่ หตุการณ์นัน
้ จะเกิดขึน
้ แต่ถ ้าความน่าจะเป็ นเท่ากับ 1 แสดงว่า
่ ความน่าจะเป็ น P(E) ถูก
เหตุการณ์เหล่านัน
้ เกิดขึน
้ ได ้อย่างแน่นอน) ทีเ่ กิดขึน
้ แบบสุม
ั พจน์ของความน่าจะเป็ น
กาหนดให ้กับเหตุการณ์ E ตามสจ

P(E) = |E| / |S|
63
Probability



ความน่าจะเป็ นทีเ่ หตุการณ์ E จะเกิดขึน
้ เมือ
่ กาหนด ให ้อีกเหตุการณ์ F เกิดขึน
้
เรียกว่าความน่าจะเป็ นมีเงือ
่ นไข ของ E เมือ
่ ให ้ F โดยค่าความน่าจะเป็ นคือ
P(EF) / P(F) (เมือ
่ P(F) ไม่เป็ นศูนย์)
่ เดียวกับความน่าจะเป็ น (แบบไม่
ถ ้าความน่าจะเป็ นมีเงือ
่ นไขของ E เมือ
่ ให ้ F มีคา่ เชน
มีเงือ
่ นไข) ของ E เราจะกล่าวว่าเหตุการณ์ E และ F เป็ นเหตุการณ์ทเี่ ป็ นอิสระต่อกัน
ั พันธ์นเี้ ป็ นความสม
ั พันธ์สมมาตร
เชงิ สถิต ิ (independent) เราจะสงั เกตได ้ว่าความสม
ทัง้ นีเ้ นือ
่ งจากการเป็ นอิสระต่อกันนีเ้ ขียนแทนได ้เป็ น P(EF) = P(E)P(F)
่
คุณสมบัตข
ิ องความน่าจะเป็ น เชน
 P(E1E2) = P(E1) + P(E2) – P(E1  E2) หรือ P(E1) + P(E2) ถ ้า E1 และ E2
independent
 P(E’) = 1 – P(E)
 0  P(E)  1

 P (e)  1
e S

่ และการแจกแจงความน่าจะเป็ น
แนวคิดหลักของทฤษฎีความน่าจะเป็ นคือตัวแปรสุม
64
Baye’s Theorem
65

p(Fj | E ) 
n
i0
Fi  S
p(E | Fj ) p(Fj )

n
i0
p ( E | Fi ) p ( Fi )
Random Variable
66

่ (Random Variable) คือ ฟั งก์ชน
ั
ตัวแปรสุม
ค่าจริง ทีม
่ โี ดเมนเป็ นแซมเปิ ลสเปซ
ั เซตของจานวนจริง
และเรนจ์เป็ นสบ
Expected Value and Variance
67

ค่าคาดหวัง (Expected Value)
E(X ) 

p ( X  r )r
r X ( S )

ค่าความแปรปรวน
V(X) = E(X2) – E(X)2
 p(s)
s S , X ( s )  r
E ( X )   p ( X  r )r
r X ( S )
V (X ) 

( X ( s )  E ( X )) p ( s )
2
s S
 (X ) 
V (X )
In-Class Exercises
68
CHAPTER 7: ADVANCED COUNTING TECHNIQUES
Recurrence Relations and Divide-and-Conquer
Recurrence Relations
73



Recurrence relation สาหรับ ลาดับ {an} คือสมการที่แสดง an ในรูป
ความสัมพันธ์ของเทอมก่อนๆของลาดับนั้น โดยที่ n ≥ n0 และ n0 เป็ น
Nonnegative Integer ซึ่งเราจะเรียกลาดับนั้นว่าเป็ นคาตอบ (Solution)
ของ relation ก็ต่อเมื่อ แต่ละเทอมของลาดับนั้นเป็ นไปตามสมการดังกล่าว
Relation จะมี unique solution ก็ต่อเมื่อมีการกาหนด initial
condition
เราสามารถสร้างแบบจาลองของเหตุการณ์ต่างๆด้วย Recurrence Relation ได้
เช่น รู ปแบบการหยอดเหรี ยญที่เครื่ องของน้ าอัตโนมัติ
Solving Linear Recurrence Relations
74


เราสามารถเปลี่ยนสมการ Recurrence relation ให้อยูใ่ นรู ปอื่นที่ไม่เป็ น
recursive ได้ กล่าวคือไม่แสดงถึงความสัมพันธ์ระหว่างเทอมก่อนหน้ากับเทอมที่
n
วิธีการเปลี่ยนจะมีหลายวิธี แต่ที่เรานาไปใช้บ่อยๆ คือการเปลี่ยนให้อยูใ่ นรู ปของ
สมการเชิงเส้น (Linear equation)

การเปลี่ยนเป็ นสมการเชิงเส้นจะมี 2 รู ปแบบ คือ



Homogeneous
Non-Homogeneous
รู ปแบบของสมการที่แปลงจาก recurrence เป็ น linear จะขึ้นอยูก่ บั recurrence
degree หรื อ จานวนเทอมก่อนหน้าที่เกี่ยวข้อง
Generating Functions
75

ฟังก์ชนั ก่อกาเนิด (Generating Function) เป็ นฟังก์ชนั ที่อยูใ่ นรู ปของ
Power Series
ใช้ในการนับ
 ใช้ในการหา Explicit Formula ของ Recurrence Relation
 ฯลฯ

Divide-and-Conquer and Recurrence
Relations
76


สมมติวา่ Recursive Algorithm ได้แบ่งปั ญหาขนาด n ออกเป็ นปั ญหาย่อยๆ
จานวน a ปั ญหาโดยที่แต่ละปั ญหามีขนาดเป็ น n/b โดยที่ n หารb ลงตัวและ
สมมติวา่ ยังมีเศษเหลือของปั ญหาที่เราต้องใช้อีก g(n) เพื่อแก้ปัญหาในส่ วนนี้
กระบวนการแบ่งปั ญหาข้างต้นเรี ยกว่า Divide (แบ่งแยก) ซึ่ งจะทาต่อเนื่องกันไป
เรื่ อยๆ จนถึงขนาดของปัญหาที่เล็กที่สุดและได้คาตอบทันที และเป็ นปัญหาที่สามารถ
ใช้วธิ ี การเดียวกันในการแก้ปัญหาได้ เมื่อเราแก้ปัญหาย่อยได้หมดแล้วจึงนาคาตอบ
ของแต่ละปั ญหาย่อยเหล่านั้นมารวมกันในส่ วนนี้เราเรี ยกว่า Conquer
(ครอบครอง)
Divide-and-Conquer and Recurrence
Relations
77

สมมติให้ f(n) เป็ นจานวนการทางานที่ตอ้ งใช้ในการแก้ปัญหาขนาด n เราจะได้
f(n) ที่อยูใ่ นรู ปของ Recurrence Relation ดังนี้



f(n) = a·f(n/b) + g(n)
เราเรี ยกสมการนี้วา่ Divide-and-Conquer Recurrence Relation
เราสามารถใช้ Master Theorem ในการประมาณค่าความซับซ้อนของ
algorithm ลักษณะนี้ได้
Inclusion-Exclusion
78
Theorem 1: หลักการของการเพิ่มเข้า-ตัดออก
ถ้าให้ A1, A2, …, An เป็ น Set จากัด จะได้วา่
| A1  A 2  ...  A n |
A
1 i  n

i

| A
i
 Aj |
1 i  j  n
 | Ai  A j  Ak |  ...  (  1)
1 i  j  k  n
n 1
| Ai  A j  ...  A n |
In-Class Exercises
79
Chapter 8: Relations
Relations, Application of n-ary Relations, Representing
Relations, Equivalence Relations, and Partial Ordering
Relations
81







Relations (ความสัมพันธ์) แสดงถึงโครงสร้าง หรื อความสัมพันธ์ของสมาชิกใน set ซึ่งเราสามารถนา
ความสัมพันธ์น้ ีไปใช้แก้ปัญหาในหลายๆเรื่ องได้ เช่น การออกแบบฐานข้อมูล การออกแบบและวาง
เครื อข่ายคอมพิวเตอร์ เป็ นต้น
คุณสมบัติที่น่าสนใจของ Relations เช่น Reflexive, Symmtric, Antisymmetric, และ Transitive
คาว่า Relation โดยทัว่ ไปจะหมายถึง Binary Relation
เราใช้สญ
ั ลักษณ์ a R b แทน relation R จาก a ไป b และ a R/b หมายถึง a และ b ไม่มี relation R ต่อกัน
เราสามารถแสดงใช้ Matrix หรื อ DiGraph ความสัมพันธ์ได้
Matrix และ DiGraph สามารถบอกถึงคุณสมบัติที่มีอยูใ่ นความสัมพันธ์น้ นั ได้
Relational Database เป็ นตัวอย่างหนึ่งของการนา Relationไปใช้ในงานฐานข้อมูล ซึ่งจะมี Operation
หลักๆ อยู่ 3 อย่าง คือ Conditional Selection, Projection, และ Join
Closures of Relations
82



เมื่อ Relation ใดมีคุณสมบัติที่ตอ้ งการไม่ครบถ้วน เช่น Reflexive เราสามารถเติม
เต็มคุณสมบัติ Reflexive ได้ดว้ ยการเพิม่ Ordered pair จานวนที่นอ้ ยที่สุดเพือ่ ให้ได้
Relation ใหม่ที่มีคุณสมบัติเป็ น Reflexive และเราเรี ยก Relation นี้วา่ Closure หรื อ
ความสัมพันธ์ปิด
Transitive Closure นั้นมีวธิ ีการสร้างที่ซบั ซ้อนกว่า Reflexive และ Symmetric ซึ่ง
ต้องอาศัย Connectivity (R*) ช่วยในการสร้าง
R* สามารถหาได้โดยใช้ Warshall’s Algorithm
Warshall’s Algorithm
83
Equivalence Relations
84



R ต้องมีคุณสมับติ Reflexsive, Symmetric, Transitive
แบ่ง set ออกเป็ นส่ วนๆ (Partition) โดยที่ไม่จาเป็ นต้องรู ้รายละเอียดปลีกย่อยของ
สมาชิกในส่ วนนั้นๆ
ใช้เป็ นตัวแทน (Representative) คุณสมบัติของสมาชิกของส่ วนที่แบ่งแล้วได้
Partial Ordering
85




R ที่มีคุณสมบัติ Reflexive, Anti-symmetric, Transitive
POSET = Partially Ordered Set หรื อ (S, R) เช่น (Z, >) หมายถึง ในเซต Z
ความสัมพันธ์ > มีลกั ษณะเป็ น Partial Ordered หรื อ > บน Z เป็ น POSET นัน่ เอง
POSET สามารถเขียนให้อยูใ่ นรู ปของ Graph ได้ หรื อจะใช้ Hasse diagram ก็ได้
Topological Sorting เปรี ยบเสมือนการหา POSET
86
87
In-Class Exercises
Homework

Chapter 9: Graphs
Graphs, Euler and Hamilton, Shortest Path,
Planargraph and Isomorphism, and Graph Coloring
Graphs
89



เป็ นโครงสร้างแบบไม่ต่อเนื่อง (Discrete) ที่ประกอบด้วย 2 ส่ วน หรื อ set คือ Vertices
(จุดยอด) และ Edges (เส้นขอบ)
Adjacency และ Incident หมายถึงความสัมพันธ์ของจุดยอดและเส้นขอบ โดยที่ จุด
ยอด u และ v จะ adjacent กันก็ต่อเมื่อมีเส้นขอบ e เชื่อมระหว่างจุดยอดทั้ง 2 หรื ออีก
นัยหนึ่ง เส้นขอบ e incident กับจุดยอด u และ v
ประยุกต์ใช้กบั งานได้หลายประเภท เช่น
 Networking, OCR, Facilities Planning, Searching, etc.
Graphs
90

แบ่งออกได้หลายลักษณะ
 แบ่งตามจานวนจุดยอด
 Finite and Infinite Graphs
 แบ่งตามจานวนและทิศทางของเส้นขอบ
 Simple-, Multi-, Directed-, Directed Multi-graphs
 แบ่งตามลักษณะการเชื่อมโยง
 Cycle, Wheel, Bipartite, Planar, Cyclic, Acyclic, Connected Graphs
Euler and Hamilton
91

Path (เส้นทาง, วิถี) หมายถึงเส้นทางจากจุดยอดเริ่ มต้น a ไปยังจุดยอดสิ้ นสุ ด b ความ
ยาวของ path คือความยาวของเส้นขอบที่เชื่อมต่อระหว่างจุด a และ b
Circuit (วงจร) หมายถึง path ที่มีจุดเริ่ มต้นและจุดสิ้ นสุ ดเป็ นจุดเดียวกัน

Euler path and circuit



Path หรื อ Circuit จากจุดเริ่ มต้นไปยังจุดสิ้ นสุ ด โดยที่ผา่ นเส้นขอบใดๆ ได้เพียงหนึ่งครั้งเท่านั้น
Hamilton path and circuit

Path หรื อ Circuit จากจุดเริ่ มต้นไปยังจุดสิ้ นสุ ด โดยที่ผา่ นจุดยอดใดๆ ได้เพียงหนึ่งครั้งเท่านั้น
Shortest path problem
92

Traveling Salesman Problem
 Salesman คนหนึ่ งต้องการจะไปขายสิ นค้าตามเมืองต่างๆ n เมือง เขาจะต้องหาเส้นทางที่
สั้นที่สุดในการเดินทาง และจะต้องผ่านทุกเมืองๆละครั้งเดียวเท่านั้น


ความซับซ้อนของปั ญหาขึ้นอยูก่ บั จานวนของเมือง
จัดเป็ นปั ญหาประเภท Non-Polynomial time
Dijkstra’s Algorithm
93
Planargraph and Isomorhpism
94

กราฟระนาบ (Planargraph)
 กราฟที่ไม่มีเส้นขอบหรื อเส้นเชื่อมใดๆตัดกัน

Graph Isomorphic
 กราฟ 2 กราฟใดๆ จะเหมือนกันก็ต่อเมื่อ มี bijection function จากกราฟแรกไปยังกราฟที่
สอง โดยที่ยงั คงความเป็ น adjacency ของ vertex ต่างๆไว้ หรื อ ทั้ง 2 กราฟมี
ความสัมพันธ์สมมูลกัน (Equivalence Relation)
Graph Coloring
95



เราสามารถใช้ Graph เป็ น model ในการที่จะกาหนดค่าต่างๆที่ไม่ซ้ ากันให้พ้นื ที่ที่อยูต่ ิดกัน เช่นการ
ทาแผนที่, การจัดตารางเวลา ได้ เราเรี ยก model นี้วา่ Graph coloring
จาก Four Color Theorem เราทราบว่าในแผนที่ใดๆ เราสามารถใช้สีเพียง 4 สี ในการทาแผนที่น้ นั ๆ
Cycle Graph ที่มีจานวน vertex เป็ น จานวนคู่ จะใช้สีแค่ 2 สี ถ้ามี vertex เป็ นจานวนคี่จะใช้ 3 สี
In-Class Exercises
96
Chapter 10: Trees
Tree and its Properties, Rooted Trees, Applications of Trees,
Tree Traversals, Spanning Tree, and Minimum Spanning
Trees
98





No circuit
No multiple edges
No loops
Simple Graph
Tree คือ Connected Undirected Graph ที่ไม่มี Simple Circuit
สาหรับ Undirected Graph ที่ไม่มี Simple Circuit แต่ไม่ Connect กัน เรา
สามารถเรี ยกว่าเป็ น Tree หลายอัน และในกรณี น้ ี เราเรี ยก Tree เหล่านั้นว่า
Forest
Rooted Tree
99







เป็ น Tree ที่มีหนึ่ง Vertex กาหนดให้เป็ น Root และทุกๆ Edge จะมีทิศทางออกมา
จาก Root นั้น
Root
Ancestor, Descendant
Parent, Child, Sibling
Internal Vertex, Leaf
Subtree
Level, Height
More Trees
100



M-ary Tree คือ Tree ที่ทุกๆ Internal Vertex มี Childrenไม่เกิน m children และจะ
เรี ยกว่าเป็ น Full M-ary Tree ก็ต่อเมื่อ ทุกๆ Internal Vertex มี m children
Ordered Root Tree คือ Rooted Tree ที่ Children ในแต่ละ Internal Vertex มีการ
จัดลาดับ ซึ่งปกติเราจะจัดเรี ยงจากซ้ายไปขวา
Balanced Tree คือ Tree ที่มี Leaf อยูท่ ี่ Level h หรื อ h-1 เท่านั้น
Tree Properties
101




Tree ทีม
่ ี n vertex จะมี n-1 edges
Full m-ary Tree ทีม
่ ี i Internal Vertices จะมี vertex ทัง้ หมด n = mi + 1
vertex
 ถ้า Full m-ary Tree มี n vertices, จะมี i = (n - 1)/m internal vertices
และ l = ((m - 1)n + 1)/m leaves
 ถ้า Full m-ary Tree มี i internal vertices, จะมี n = mi + 1 vertices
และ l = (m - 1)i + 1 leaves
 ถ้า Full m-ary Tree มี l leaves, จะมี n = (ml – 1)/(m – 1) vertices และ
i = (l - 1)/(m - 1) internal vertices
M-ary Tree ทีม
่ ีความสูง h จะมี leaf ได้มากทีส
่ ด
ุ เท่ากับ mh
M-ary Tree ทีม
่ ีความสูง h และมี l leaves, จะได้วา่ h  logml
ถ้า
เป็ น Full M-ary Balanced Tree, h = logml
Tree Modeling and
Applications
102

Binary Search Tree
Decision Tree
Prefix Code: Huffman Coding

Game Trees


102
Tree Traversal
103



Preorder : parent อยูด่ า้ นหน้า ตามด้วย left child และ right child
Inorder : left child, parent, right child
Postorder : left child, right child, parent
Spanning Tree (ต ้นไม ้ทอดข ้าม)
104


ถ้าให้ G เป็ น Simple Graph แล้ว เราจะเรี ยก Tree ที่ประกอบไปด้วย vertex ทุก
vertex ใน G ว่า Spanning Tree ซึ่ งก็คือ Subgraph ของ G นัน่ เอง จะเห็นได้วา่ เรา
สามารถหา Spanning Tree ของ G ได้หลายอัน
เราสามารถหา Spanning Tree ได้จาก Depth-First Search หรื อ Breadth-First Search
Depth-First Search เป็ นการ search ไปตามความลึกของเส้นขอบที่เชื่อมจุดยอดเข้าด้วยกัน
 Breadth-First Search เป็ นการ search ไปตามแนวกว้างของ Tree กล่าวคือ search ไปตามเส้น
ขอบที่เชื่อมจุดยอดทีละช่วง

Minimum Spanning Tree
105

ถ้าหากว่า Graph มีน้ าหนักแล้ว Spanning Tree ก็จะมีน้ าหนักด้วย ดังนั้น Minimum
Spanning Tree คือ Spanning Tree ที่มีน้ าหนักน้อยที่สุด ซึ่ งคานวณจากผลรวมของ
น้ าหนักของเส้นเชื่อมทั้งหมด โดยทัว่ ไปเราจะหา Minimum Spanning Tree จาก
Prim’s Algorithm หรื อ
 Kruskal’s Algorithm



หลักการของทั้ง 2 วิธีการดังกล่าวคล้ายกัน ต่างกันตรงที่ Kruskal’s จะเลือก edge ที่มี
น้ าหนักน้อยที่สุดโดยไม่สนใจว่าจะสามารถเชื่อมต่อกับ edge ที่มีอยูแ่ ล้วได้หรื อไม่ก่อน
Kruskal’s จะมีประสิ ทธิ ภาพดีกว่า Prim’s เมื่อมีจานวน edge น้อยๆ หรื อกราฟมี
ลักษณะแผ่กว้าง (Sprase)
Examples
106
a
2
3
e
4
f
3
2
3
b
3
1
4
f
c
3
g
3
4
3
3
k
Prim’s Algorithm
3
1
l
k
a
2
b
3
1
f
c
2
3
g
d
1
5
3
e
h
2
3
1
l
j
4
h
4
3
i
3
4
3
h
2
g
5
3
5
e
4
3
d
1
d
1
2
c
2
2
j
a
3
1
4
i
b
4
3
3
1
i
l
j
k
Kruskal’s Algorithm
In-Class Exercises
107
Chapter 11: Boolean Algebra
Boolean Algebra, Representing Boolean, Logic Gates,
Combinational Circuits, and Minimizing Circuits
Boolean Algebra
109

เป็ นกฎที่ใช้ในการทางานกับ set { 0, 1 } หรื อ { F, T } หรื อ Logic

Boolean Algebra นามาใช้กบั การออกแบบวงจร Electronics ให้ทางานตามที่ตอ้ งการ

ให้ B = {0, 1}, Bn = {(x1,x2,…,xn) | xiB for 1  i  n} เป็ น set ของ n-tuples ของ 0 และ 1 ที่เป็ นไปได้


x คือ Boolean Variable หรื อ Boolean Literal

Function จาก Bn ถึง B เรี ยกว่า Boolean Function ที่มี degree n

เราสามารถแสดง Boolean Function โดยใช้ นิพจน์บูลีน (Boolean Expression) ได้ซ่ ึงก็คือการดาเนินการของ Boolean
Operation บน Boolean Variable

เราสามารถนิยาม Boolean Expression ในแบบ recursive ได้
การดาเนินการที่ใช้บ่อยที่สุด 3 อย่าง ได้แก่

Complement, Boolean product (AND), และ Boolean sum (OR)

ลาดับของตัวดาเนินการ (Precedence): complement, AND, OR
Representing Boolean
110

เมื่อเรามี Boolean Function, Boolean Expression ที่สามารถแสดงถึง Boolean
Function นั้นได้ สามารถหาได้จาก
Sum-of-Products Expansion หรื อ
 Product-of-Sums Expansion



นัน่ หมายความว่า Boolean Function สามารถแสดงได้โดยการใช้ Boolean Operator
เพียง 3 ตัว ได้แก่ +, , และ ¯ เราเรี ยก set ของ operators เหล่านี้วา่ เป็ น Functionally
complete
มี set ของ Boolean Operator ที่มีสมาชิกน้อยกว่า 3 ตัว และเป็ น Functionally
Complete อยูห่ รื อไม่ ถ้ามีนนั่ แสดงว่าเราสามารถลดจานวนของ Operator ซึ่ งมีผลให้
สามารถลดประเภทของ Logic Gate ที่ตอ้ งใช้ได้
Logic Gates
111



Boolean Algebra ใช้ในการ model วงจร Electronics
ส่ วนประกอบพื้นฐานที่สุดในวงจรประเภทนี้กค็ ือ Logic Gate
Logic Gate แต่ละประเภทจะสร้างจาก Boolean Operation แต่ละอย่าง
Not Gate
Combinational Circuits
112



วงจรรวม (Combinational Circuit) คือวงจรที่ประกอบขึ้นจาก Logic Gate หลายๆ
ตัวเพือ่ ทางานอย่างใดอย่างหนึ่ง โดยที่ไม่ตอ้ งมีหน่วยความจา
วงจรประเภทนี้สามารถมี input และ output ได้มากกว่าหนึ่ง ขึ้นอยูก่ บั งานที่
นาไปใช้
ตัวอย่างของวงจรประเภทนี้ที่มีใช้ในคอมพิวเตอร์ได้แก่
 Half / Full Adder
 Multiplexer
Minimizing Circuits
113



เป็ นการลดรู ปวงจร Combinations เพื่อให้ใช้จานวน Logic Gate น้อยลง ส่ งผลให้ได้
Chip ที่มีขนาดเล็กลงและราคาถูกลง
สามารถใช้ Sum-of-Product Expansion และ Boolean Identities ในการลดรู ปได้
แต่โดยทัว่ ไปจะใช้ Karnaugh Map หรื อ Quine-McCluskey ในการลดรู ปวงจร
In-Class Exercises
114
Chapter 12: Modeling Computation
Languages and Grammars, Finite-State Machine w/ and w/o
output, Language Recognition, Probability, and Turing Machine
Languages and Grammars
116



คาในภาษาต่างๆ เช่น ภาษาไทย ภาษาอังกฤษ สามารถนามาประกอบกันเป็ น
ประโยคได้หลายรู ปแบบ
Grammar หรื อ หลักไวยากรณ์ เป็ นตัวบอกว่าจะต้องนาคามาประกอบกันแบบใดถึง
จะเป็ นประโยคที่มีความหมายในภาษานั้นๆ
Grammar ใช้ในการตรวจสอบว่าประโยคนี้เป็ นประโยคที่ถูกต้องหรื อไม่ และ เรา
จะสร้างประโยคในภาษานั้นได้อย่างไร
 Syntax, Semantics, Natural Language, Formal Language
Phrase-Structure Grammars
117







Vocabulary (V) เป็ น set ของสัญลักษณ์ที่ใช้แสดงในภาษานั้น
Terminals (T) คือ set ของสัญลักษณ์ที่ไม่สามารถแทนด้วย สมาชิกอื่นๆใน V ได้
Nonterminals (N) คือ set ของสัญลักษณ์ที่สามารถแทนด้วย สมาชิกอื่นๆใน V ได้
Start symbol (S) เป็ นสมาชิกของ V ที่ใช้ในการเริ่ มต้นประโยคเสมอ
Productions (P) เป็ นกฎที่บอกว่าเราสามารถแทนสมาชิกใน V ใดด้วยสมาชิกตัวอื่นใน V ใดได้ ใช้
สัญลักษณ์  แทน production เช่น z0  z1 หมายถึงเราสามารถแทน z0 ด้วย z1 ได้

 หมายถึงการแทนที่โดยตรง หรื อ การกลายโดยตรง จาก z0 มาเป็ น z1

 หมายถึงการกลาย เช่น z0  zn หมายถึงการกลายจาก z0 มาเป็ น zn
เป็ น set ของ empty string
L(G) เป็ นภาษาที่สร้างจาก Grammar G
118

Chomsky’ Scheme
Type 3  Type 2
Type 2  Type 1
Type 1  Type 0

Backus-Naur เป็ น notation (สัญลักษณ์) ที่ใช้ระบุ Type 2 grammar อีกชุดที่นิยมใช้กนั ในการอธิบาย
ภาษาการโปรแกรม (Programming Language) ใช้ ::= แทน  เพื่อแสดงถึง production, ใช้ <> เพื่อ
บ่งบอกว่าสัญลักษณ์น้ นั เป็ น nonterminal, และใช้ | แทน , หมายถึง “หรื อ”
Derivation (or Parse) Tree
119

เราสามารถใช้ Tree เพือ่ แสดงการแทนที่ในภาษาแบบ Context-free (Type 2) ได้
และเรี ยก Tree นี้วา่ Derivation หรื อ Parse Tree และนาไปใช้ในการออกแบบ
Compiler
State Machines
120




เครื่ องจักร หรื อกลไกประเภทต่างๆ มีลกั ษณะที่คล้ายกับการคานวณทาให้เราสนใจทีจ่ ะศึกษาและ
จาลองการทางานของเครื่ องกลต่างๆ เราสามารถมองว่า ขั้นตอนการทางานกลไกต่างๆ ทาให้
ภาพรวมของกลไกนั้นมีสถานะในการทางานที่แตกต่างกันในแต่ละขั้นตอน
ดังนั้นในการจาลองการทางานของ Machine นี้ เรานิยมใช้ Model ที่เรี ยกว่า Finite-State Machine
เพื่อให้รู้ถึงการทางานและสามารถทานายผลการทางานเพื่อควบคุมการทางานให้เป็ นไปตามที่เรา
ต้องการ เนื่องจากถ้า machine ใดมีจานวนของ สถานะ (state) ที่ไม่จากัดแล้ว เราจะไม่สามารถศึกษา
และควบคุม machine นั้นได้อย่างถูกต้อง
โครงสร้างนี้สามารถนาไปใช้จาลองการทางานของกลไกได้หลายอย่าง เช่น grammar and spell
checking, searching text, transforming text using HTML or XML, และ network protocols เป็ นต้น
Finite-State Machine นี้แบ่งได้เป็ น 2 แบบตามลักษณะ Output คือแบบมี และไม่มี Output
Finite-State Machine with Output
121
Definition 1
ให้ Finite-State Machine M = (S, I, O, f, g, s0) ประกอบด้วย เซตจากัดของ States (S),
Input (I), Output (O), มี f เป็ น transition function ที่กาหนดคู่ของ state และ input ไปยัง
state ใหม่, g เป็ น output function ที่กาหนด output ให้กบั คู่ของ state และ input
และมี s0 เป็ น state เริ่ มต้น


เราสามารถใช้ State table เพื่อแสดงถึง f และ g ของ Finite-State Machine M หรื อใช้ State diagram
ซึ่งเป็ น directed graph เพื่อแสดง M ก็ได้
Finite-State Machine with output มีหลาย model แต่ที่เป็ นที่นิยมใช้กนั มี 2 model คือ



Mealy Machine เป็ น model ที่ให้ Output สัมพันธ์กบั การเปลี่ยนสถานะของ Machine
Moore Machine เป็ น model ที่สถานะของ Machine จะเป็ นตัวกาหนด Output
String Concatenation คือการนา String 2 ตัวมาต่อกัน
Finite-State Machine with No Output
122








State Machine with No Output มีอีกชื่อหนึ่งว่า Automata
Finite-State Machine ประเภทนี้จะไม่มี Output แต่จะมี Final State แทน
ใน State diagram Final State จะแทนด้วยสัญลักษณ์วงกลม 2 วงซ้อนกัน
การทางานของ Machine ประเภทนี้จะสิ้ นสุ ดลงที่ Final State ซึ่งมีได้หลาย state
Application อย่างหนึ่งที่สาคัญของ Finite-State Machine คือ การรู้จาภาษา (Language Recognition)
ซึ่งสามารถนาไปใช้ในงาน Machine Translation หรื อ ออกแบบ Compiler และ Programming
Language ได้ รวมถึงการศึกษาทฤษฎีการคณนา (Theory of Computation)
และ Finite-State Automata ก็ถูกจาลองมาเพื่อจัดการกับปัญหานี้โดยเฉพาะ โดยมีหลักการว่า “Finite
Automata จะรู้จกั String นั้นก็ต่อเมื่อ String นั้นสามารถเปลี่ยนสถานะของมันไปยังสถานะสุ ดท้าย
ได้”
Finite Automata (FA) มีอยูด่ ว้ ยกัน 2 แบบ Deterministic และ Non-Deterministic FA
FA 2 ตัวจะเท่ากันได้ (equivalent) ก็ต่อเมื่อมันรู ้จกั ภาษาเดียวกัน
DFA vs. NFA
123
Definition 3
Deterministic Finite-State Automaton (DFA) M = (S, I, f, s0, F) ประกอบด้วย เซตจากัดของ States (S),
Input (I), มี f เป็ น transition function ที่กาหนด state ใหม่ให้กบั คู่ของ state และ input
(โดยที่ f : S  I  S) , มี s0 เป็ น state เริ่ มต้น, และมี F เป็ น subset ของ S ที่ประกอบไปด้วย Final State
Definition 4
Nondeterministic Finite-State Automaton (NFA) M = (S, I, f, s0, F) ประกอบด้วย เซตจากัดของ States (S),
Input (I), มี f เป็ น transition function ที่กาหนด state ใหม่ให้กบั คู่ของ state และ input
(โดยที่ f : S  I  P(S)) , มี s0 เป็ น state เริ่ มต้น, และมี F เป็ น subset ของ S ที่ประกอบไปด้วย Final State
 Deterministic FA (DFA) เป็ น FA ที่มี transition จาก state ปั จจุบน
ั ไปยัง state ใหม่ที่แน่นอนและ
เป็ น unique
 Nondeterministic FA (NFA) เป็ น FA ที่มี transition จาก state ปั จจุบน
ั ไปยัง state ใหม่ได้หลาย
transition
Regular Sets
124
Definition 1
Regular Expressions บน set I สามารถนิ ยามแบบเวียนเกิดได้โดย:
สัญญลักษณ์ Ø เป็ น regular expression;
สัญญลักษณ์ เป็ น regular expression;
สัญญลักษณ์ x เป็ น regular expression เมื่อ x  I;
สัญญลักษณ์ (AB), (A  B), และ A* เป็ น Regular Expression
เมื่อ A และ B เป็ น Regular Expression


ถึงแม้วา่ finite-state automaton จะสามารถรู้จาภาษาที่เป็ น regular ได้ แต่กย็ งั มีบาง
ภาษา หรื อ บาง set ที่ไม่เป็ น regular ซึ่ งไม่สามารถสร้าง FA มารองรับได้
ดังนั้นการแสดงว่าภาษาใดเป็ น regular หรื อไม่น้ นั จึงเป็ นเรื่ องสาคัญ
Example
125

จงสร้าง nondeterministic finite-state
automaton ที่รู้จา regular set 1*01
สร้าง automaton ที่รู้จา 1*
 สร้าง automaton ที่รู้จา 01
 นามา union กัน

Irregular Set
126


อย่างไรก็ตาม ยังมี set บาง set ที่ไม่สามารถแทนด้วย FA ได้ เช่น 0n1n
จาก pigeonhole principle เราสามารถสรุ ปได้วา่ 0n1n = 0n+11n ทาให้ set นี้ไม่เป็ น
regular set
Turing Machine
127


Machine Model ด้วย Finite-State Automata ที่เราได้ทาการศึกษาผ่านมานั้น ไม่
สามารถจะนามาใช้กบั Model ทัว่ ๆไปของการคานวนได้ เนื่องจากไม่มีส่วนของ
Memory หรื อมี Memory จากัดในการจดจา ดังนั้นในการทางานที่ซบั ซ้อนของ
เครื่ องคอมพิวเตอร์จาเป็ นที่จะต้องหา Model ของ Machine อันใหม่
ซึ่งก็คือ Turing Machine ประดิษฐ์คิดค้นโดย Alan Turing ในช่วงทศวรรษ 1930s
Turing Machine
128






โดยหลักการแล้ว Turing Machine (TM) จะประกอบไปด้วย Control Unit และ Tape
ในแต่ละ Step ของการทางาน TM จะอยูใ่ น State ใด State หนึ่งในหลายๆ State ที่มีอยู่
จากัด
ในส่ วนของ Tape จะแบ่งออกเป็ น Block หรื อ Cell โดยสมมุติวา่ ความยาวของ Tape มี
ไม่จากัดทั้งสองทิศทาง
เมื่อส่ วนของ Control Unit ทาการเคลื่อนที่ไปบนเทป โดยจะเคลื่อนทีละ 1 Cell และ
จะมีการอ่านและเขียนลงบนเทปดังกล่าว
เมื่อ Control Unit ทาการอ่านค่าใน Block ของเทป มันจะทาการเปลี่ยน State ขึ้นอยู่
กับว่าค่าที่อ่านเป็ นสัญญลักษณ์อะไร
ลักษณะของ Turing Machine ที่กล่าวมา สามารถนามาใช้เป็ น Model ของ Computer
ทัว่ ไปได้ดีที่สุด และสามารถทาอะไรก็ได้ที่คอมพิวเตอร์ ทาได้
129
130
State
Control Unit
sx
Read/Write Head
….
B
B
1
1
0
1
B
0
1
Tape จะขยายไปทั้งสองทิศทางไม่จากัดความยาว
แต่จะมี Cell ที่เปน Nonblank ที่นับจานวนได้
B
B
….
131


นอกเหนือไปจากนี้ Church-Turing Thesis ซึ่ งกล่าวว่า ไม่วา่ เราจะกาหนดปั ญหา
ใดๆขึ้นมาก็ตาม ซึ่ งปั ญหานั้นสามารถหา Algorithm มาแก้ได้ เราจะสามารถหา
Turing Machine มาแก้ไขปั ญหานั้นได้เช่นเดียวกัน สังเกตว่าเราไม่ใช้คาว่า ‘Theorem’
แต่ใช้คาว่า ‘Thesis’ แทน เนื่องจาก Concept ของคาว่า “สามารถแก้ปัญหาได้” หรื อ
Solvability ของ Algorithm นั้น เป็ นคาที่ปราศจากหลักเกณฑ์ และกากวม ในมุมมอง
ทางคณิ ตศาสตร์ ต่างกับคา Solvability ของ Turing Machine อย่างไรก็ตาม จะเห็นได้
ว่าแนวความคิดของ Turing Machine นั้น ได้มีมาก่อนการคิดค้น Computer ที่ใช้ใน
ปัจจุบนั
ดูรายละเอียดเพิ่มเติมใน Sec. 12.5 page 827 - 837
132
In-Class Exercises
Quizzes
End of Class


similar documents