discrete mathematics

124
DISCRETE MATHEMATICS บบบบบบบบบบบบบบบบบบบบบบบบบบบบบบบบบบบบบบบบบบบบบบ Rosen, บบบบบบ บบบบบบบบบบบบบบบ บบ.บบบบบบบบบ บบบบบบบบ บบบ บบ. บบบบบบ บบบบ บบบ@rsu.ac.th San Ratanasanya

Upload: september-aguilar

Post on 03-Jan-2016

129 views

Category:

Documents


2 download

DESCRIPTION

Discrete Mathematics. San Ratanasanya. บางส่วนของเอกสารนี้มาจากเอกสารประกอบหน้งสือของ Rosen, เอกสารประกอบการสอนของ ดร.ทิพยรัตน์ ประโยชน์ และ ดร. อรรจน์ โกญจนาท @ rsu.ac.th. Course Overview. Compulsory and intensive BUT short 3 classes @ 3 hrs. Total = 9 hrs. - PowerPoint PPT Presentation

TRANSCRIPT

Page 1: Discrete Mathematics

DISCRETE MATHEMATICS

บางส�วนของเอกสารน �มาจากเอกสารประกอบหน�งส�อของ Rosen, เอกสารประกอบ การสอนของ ดร. ท�พยร�ตน� ประโยชน� และ ดร. อรรจน� โกญจนาท@rsu.ac.th

San Ratanasanya

Page 2: Discrete Mathematics

Course Overview

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

2

Page 3: Discrete Mathematics

Background Inquiries

CS CPE IT Others

Logic and Proof Sets and Matrices Counting Probability Algorithm Boolean Automata Graph and Tree Number Theory

6

Page 4: Discrete Mathematics

Discrete Mathematics (DM)

DM ค�ออะไร? ครอบคล%มหลายห�วข�อทางคณ�ตศาสตร� เป(นพ��นฐานท *ส+าค�ญของ CS ท *เก *ยวก�บ สมมต�ฐาน ความ

ค�ดต�างๆ และการพ�ส.จน�ความค�ดเหล�าน��น (proofs and ideas and abstraction)

ไม�ต�อเน�*อง, เต/มหน�วย, สามารถน�บได�, ปร�มาณ ท+าอย�างไรจ1งเข�าใจ DM?

พยายามค�ดในเช�งนามธรรม ต��งสมมต�ฐาน น�ยาม เช�*อมโยงน�ยามต�างๆ เข�าก�บการใช�งานจร�ง

7

Page 5: Discrete Mathematics

Discrete Mathematics (DM)

ท+าไมเราต�องใช� DM? ใช�ในการเช�*อมโยงทฤษฎ ต�างๆก�บป7ญหาในช ว�ตประจ+าว�น เพ�*อแก�ป7ญหาเหล�าน��นด�วยว�ธ การท *เหมาะสม

Examples Internet, Computer Network, Computer

Graphics, A.I., Database, Robotics, Image Processing and Computer Vision, Computer Security, etc.

8

Page 6: Discrete Mathematics

CHAPTER 1: BASIC FOUNDATIONS

Logics, Predicate Logics, Rules of Inference, and Proofs

Page 7: Discrete Mathematics

12

Logics Logics หมายถ1ง เหต%ผล หร�อ ระบบการใช�เหต%ผล เราใช� logic ในช ว�ตประจ+าว�นเสมอ ประโยคท *เราสามารถบอกได�ว�าเป(นจร�งหร�อเป(นเท/จเร ยกว�า ประพจน� หร�อ

ถอยแถลง หร�อ proposition เม�*อเราม ประพจน�มากกว�าหน1*ง และต�องการน+าประพจน�เหล�าน��นมาใช�ในการ

แสดงเหต%ผลร�วมก�น เราสามารถท+าได�โดยใช� ต�วดำ��เน�นก�รท�งตรรก (logical operator) ต�างๆ เช�น and (), or (), not (), xor (), conditional (), และ bidirectional ()

ซ1*งแต�ละต�วจะม ล+าด�บความส+าค�ญต�างก�น เราเร ยกประโยคท *ม ประพจน�มากกว�าหน1*งว�า ประพจน�ประกอบ หร�อ

ประพจน�ผสม หร�อ compound proposition เช�น ถ�าเราซ��อของราคา 10 บาทแล�วจ�ายเง�นไป 100 บาทจะได�เง�นทอน 15 บาท

Page 8: Discrete Mathematics

13

Logics เราเร ยกประพจน�ผสมท *ม ค�าความจร�งเป(นจร�งท%กกรณ ว�า ส�จน�ร�นดำร� หร�อ

tautology และ ประพจน�ผสมท *ม ค�าความจร�งเป(นเท/จท%กกรณ ว�า ขอข�ดำแยง หร�อ contradiction

เราเร ยกประพจน�ผสมท *ไม�เป(นท��ง tautology หร�อ contradiction ว�า ส��งท �เป!นไปไดำ หร�อ contingency

เราสามารถตรวจสอบได�ว�าประพจน�ผสมใดม ค�าความจร�งเป(นอย�างไร โดยการสร�างต�ร�งค$�คว�มจร�ง (truth table)

ในทางคณ�ตศาสตร� เราใช�ต�วอ�กษรภาษาอ�งกฤษในการแทนประพจน�เพ�*อความสะดวกในการอ�างถ1ง เช�น p: พระจ�นทร�ส เหล�อง

Logical Equivalence หร�อ ก�รสมม%ล เป(นการการเท�าก�นทางตรรกศาสตร� เม�*อประพจน� หร�อประพจน�ผสมใดๆ ม ค�าความจร�งเท�าก�นท%กประการ เราบอกว�าประพจน�เหล�าน��น สมม.ล ก�น

Bitwise operation เป(นการกระท+าทางตรรก ในระด�บ bit

Page 9: Discrete Mathematics

14

Page 10: Discrete Mathematics

15

Predicate Logics

ประพจน�ใดท *ม ต�วแปรมาเก *ยวข�อง เราจะไม�สามารถทราบค�าความจร�งของประพจน�น��นได�ในท�นท เราเร ยกประพจน�ท *ม ล�กษณะด�งน �ว�า ภ�คแสดำง หร�อ Predicate เช�น P(x) = x is greater than 3

Predicate หมายถ1ง ค%ณสมบ�ต� ของต�วแปรน��นๆ ด�งน��นค�าความจร�งของ ประพจน�เป;ด จ1งข1�นอย.�ก�บค%ณสมบ�ต�ของต�วแปรในประพจน�น��น

Quantifiers หร�อ ต�วบ$งปร�ม�ณ ใช�ในการบอกปร�มาณของต�วแปรในประพจน�

Page 11: Discrete Mathematics

16

Page 12: Discrete Mathematics

17

Rules of Inference

ทฤษฎ บท (theorems) หร�อ ขอโตแยง (arguments) ประกอบด�วย ประพจน� และ/หร�อ ประพจน�ผสม หลายๆ ประพจน� เราเร ยกประพจน�เหล�าน��นว�า หล�กฐ�น (premises)

เม�*อเราต�องท+าการพ�ส.จน� (proof) ทฤษฎ บท หร�อ ข�อโต�แย�งต�างๆ เราจะใช� กฎของก�รอน.ม�น หร�อ rules of inference ช�วยในการพ�ส.จน� หร�อน+าไปส.�บทสร.ป (conclusion) ว�าทฤษฎ บทน��น หร�อ ข�อโต�แย�งน��น ม เหต%ผล หร�อไม�ม เหต%ผล (valid or invalid) ด�วยการน�รน�ย (deduction)

ทฤษฎ บท หร�อ ข�อโต�แย�งต�างๆ จะม เหต%ผลก/ต�อเม�*อ หล�กฐานต�างๆท��งหมดเป(นจร�งและบทสร%ปก/ต�องเป(นจร�งด�วย

Page 13: Discrete Mathematics

18

Page 14: Discrete Mathematics

19

(Informal) Proofs ว�ธ ในการพ�ส.จน�ม หลายว�ธ การ เช�น

การพ�ส.จน�โดยการแจกแจงด�วยตารางค�าความจร�ง การพ�ส.จน�โดยตรง (direct proof)

พ�ส.จน�ว�า p q เป(นจร�ง การพ�ส.จน�โดยอ�อม (indirect proof)

การพ�ส.จน�โดยใช�ร.ปข�ดแย�ง (proof by contraposition) ใช� ร.ปข�ดแย�ง (contrapositive) ของ p q ในการพ�ส.จน�

การพ�ส.จน�โดยใช�ข�อข�ดแย�ง (proof by contradiction) พ�ส.จน�ว�า p q เป(นจร�ง โดยการพ�ส.จน�ว�าข�อข�ดแย�งของ p q เป(นท/จ ซ1*งสามารถ

ท+าได�โดย ให� p เป(นเท/จ แล�วท+าการหาบทสร%ป ถ�าบทสร%ปเป(นเท/จ แสดงว�า p q เป(นจร�ง

การพ�ส.จน�โดยการพ�จารณากรณ (proof by cases) การพ�ส.จน�เพ ยงบางส�วน (trivial proof and vacuous proof)

Trivial: แสดงให�เห/นว�า q เป(นจร�ง จะสร%ปได�ว�า p q เป(นจร�ง Vacuous: แสดงให�เห/นว�า p เป(นเท/จ จะได� p q เป(นจร�ง

ฯลฯ การพ�ส.จน�เช�งอ%ปน�ย (proof by induction)

Page 15: Discrete Mathematics

In-Class Exercises20

Page 16: Discrete Mathematics

CHAPTER 2: BASIC STRUCTURES

Sets, Functions, Sequences, and Sums

Page 17: Discrete Mathematics

22

Sets เซต หร�อ Set ค�อกล%�มของส�*งของต�างๆซ1*งม กฎเกณฑ�ช�ดเจนว�าส�*งใด

อย.�ในเซตและส�*งใดไม�ได�อย.�ในเซต ส�*งท *อย.�ในเซตเร ยกว�าสมาช�ก (member หร�อ element) ของเซต

เราใช�ต�วอ�กษรภาษาอ�งกฤษต�วพ�มพ�ใหญ�แทนช�*อของเซต และต�วอ�กษรภาษาอ�งกฤษต�วพ�มพ�เล/กเม�*อกล�าวถ1งสมาช�กในเซตเม�*อไม�ได�เจาะจงว�าเป(นต�วใด

เราเข ยนสมาช�กของเซตอย.�ภายในวงเล/บป>กกา {} a A แปลว�า a เป(นสมาช�กของ A, A = {1,2,3} หมายถ1งเซต A ม

สมาช�กเป(น 1 2 3 โดยท�*วไป เราสามารถเข ยนเซตได� 3 ว�ธ

ด�วยการใช�ถ�อยค+าอธ�บาย A เป(นเซตของจ+านวนเต/มบวกท *ม สมาช�กต��งแต� 1 ถ1ง 100

ด�วยการแจกแจงสมาช�กท��งหมด A = {1,2,3,4,5,6,….,100}

ด�วยการใช�ค%ณสมบ�ต�ของสมาช�ก หร�อ เร ยกว�า Set builder A = {x | xZ+ and 0 < x 100}

Page 18: Discrete Mathematics

23

Sets ขนาดของเซตหมายถ1งจ+านวนสมาช�กของเซต (cardinality) เราใช�

ส�ญล�กษณ� |A| แทนจ+านวนสมาช�กของเซต A เราเร ยก เซต A ท *ม สมาช�กท%กต�วเป(นสมาช�กของเซต B ว�า A เป(นเซต

ย�อย (subset) ของ B เข ยนแทนด�วย A B เซตว�างค�อเซตท *ไม�ม สมาช�กเลย และเป(น subset ของท%กเซต เซตก+าล�ง หร�อ P(A) ค�อเซตท *ม สมาช�กเป(น subset ของ A

Page 19: Discrete Mathematics

24

Set Operations การด+าเน�นการบนเซต หร�อ Set operation ได�แก� Union (),

Intersect (), Complement (¯ หร�อ ’), Difference (-), Symmetric Difference ()

เราสามารถใช�แผนภาพเวนน� (Venn Diagram) ในการแสดงการกระท+าบนเซตได� ซ1*งในแผนภาพเวนน�น �จะใช�หล�กของการเพ�*มเข�าและต�ดออก (inclusion and exclusion) ด�วย

การเท�าก�น หร�อการสมม.ลก�น ของเซตจะเก�ดข1�นก/ต�อเม�*อสมาช�กของเซตสองเซตน�*นเหม�อนก�นท%กประการ

เราสามารถพ�ส.จน�ว�าเซตสองเซตใดๆเท�าก�นได�โดยใช� Set Identities, Set Builder, หร�อ Set Membership Table

ผลค.ณคาร�ท เซ ยน (Cartesian) เป(นความส�มพ�นธ�ระหว�างเซตสองเซต โดยเป(นการจ�บค.�ก�นระหว�างสมาช�กของเซตแรกก�บสมาช�กของเซตท *สอง เข ยนแทนด�วย X Y โดยท *แต�ละค�าของ x ใน X จะม y ใน Y ท *แตกต�างก�น ผลค.ณฯ จะเป(นเซตท *ม สมาช�กท *ม ล�กษณะเหม�อนค.�อ�นด�บ (x, y)

Page 20: Discrete Mathematics

25

Page 21: Discrete Mathematics

26

Functions ฟ7งก�ช�น (function) ค�อความส�มพ�นธ�จากเซตหน1*งไปย�งอ กเซตหน1*ง หร�อเร ยกว�า

เป(นการจ�บค.� (mapping) หร�อ การแปลง (transformation) จากเซตแรกไปส.�เซตท *สอง โดยท *เซตแรกเร ยกว�า โดเมน (domain) เซตท *สองเร ยกว�า โคโดเมน (codomain)

เราบอกโดเมนก�บโคโดเมนด�วยส�ญล�กษณ� f: RR หมายถ1ง ฟ7งก�ช�น f เป(นการแปลงจากเซตของจ+านวนจร�ง (R)ไปย�งเซตของจ+านวนจร�ง f จ1งม R เป(นท��งโดเมนและโคโดเมน

เราแทนฟ7งก�ช�นด�วยส�ญล�กษณ� f(x) = y หมายถ1งฟ7งก�ช�น f เป(นการแปลงจาก x ไปเป(น y

เรนจ� (range) ของฟ7งก�ช�นค�อเซตท *ม สมาช�กท��งหมดท *ใช�ส+าหร�บการแปลงจากโดเมนมาส.�โคโดเมน ด�งน��น range จ1งเป(น subset ของ codomain

การแปลงม 2 ล�กษณะ ได�แก� หน1*งต�อหน1*ง (One-to-one) : ถ�า x1 และ x2 เป(นสมาช�กของโดเมนของ f แล�ว f (x1) = f

(x2) ก/ต�อเม�*อ x1 = x2 และ ท�*วถ1ง (Onto) : ถ�า y เป(นสมาช�กใดๆของโคโดเมนของ f แล�วจะม x อย�างน�อย 1 ต�ว ซ1*ง f

(x) = y

Page 22: Discrete Mathematics

27

Functions ฟ7งก�ช�นท *เป(นท��ง one-to-one และ onto จะเร ยกว�า bijection เราจะสามารถหาฟ7งก�ช�นผกผ�น (inverse function) ของฟ7งก�ช�นใดๆ

ได�ก/ต�อเม�*อฟ7งก�ช�นน��นเป(น bijection ฟ7งก�ช�น f: X → Y และ g:Y → Z สามารถประกอบก�นได� ซ1*งจะได�ผลเป(น

ฟ7งก�ช�นประกอบ (composite function) g o f: X → Z ซ1*งม น�ยามค�อ (g o f) (x) = g (f (x))

ฟ7งก�ช�นเพดาน และฟ7งก�ช�นพ��น (ceiling and floor functions) เป(นฟ7งก�ช�นท *ใช�ในการประมาณค�าจ+านวนจร�งให�เป(นจ+านวนเต/มโดยการป7ดเศษข1�นหร�อลงตามล+าด�บ ใช�ส�ญล�กษณ� และ ตามล+าด�บ

เราสามารถอธ�บายฟ7งก�ช�นได�ด�วยกราฟของฟ7งก�ช�น ซ1*งค�อการวาดภาพความส�มพ�นธ�ของสมาช�กในโดเมนและเรนจ�น�*นเอง

Page 23: Discrete Mathematics

28

Page 24: Discrete Mathematics

29

Sequences ล+าด�บ หร�อ Sequence เป(นรายการของส�*งของท *ม การเร ยงล+าด�บแล�ว ม ส�วนท *คล�ายก�บ Set ม พจน� ซ1*งเป(นสมาช�กในล+าด�บ และจ+านวนสมาช�ก

ค�อความยาวของล+าด�บ ส�วนท *แตกต�างจาก Set ค�อ สมาช�กท%กต�วม ล+าด�บ ด�งน��น พจน�ท *เหม�อน

ก�น จะเก�ดข1�นต�างล+าด�บก�น เราแทนสมาช�กต�วท * n ของล+าด�บด�วย an โดยท * n = 1,2,3, … เราสามารถแบ�งล+าด�บตามจ+านวนสมาช�กได�ด�งน �

ล+าด�บอน�นต� ค�อล+าด�บท *ม จ+านวนสมาช�กไม�จ+าก�ด ล+าด�บจ+าก�ด ค�อล+าด�บท *ม จ+านวนสมาช�กจ+าก�ด

Page 25: Discrete Mathematics

30

Sequences เราสามารถแบ�งล+าด�บตามความส�มพ�นธ�ของสมาช�กได�หลายประเภท เช�น

ล+าด�บเลขคณ�ต : ค�อล+าด�บท *ม ผลต�างระหว�างพจน�ท * 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 ค�ออ�ตราส�วนร�วม ล+าด�บฮาร�โมน�ก : หมายถ1ง ล+าด�บท *ม พจน�แต�ละพจน�เป(นส�วนกล�บของพจน�ในล+าด�บ

เลขคณ�ต ล+าด�บฟ>โบน�กช : ค�อล+าด�บของจ+านวนเต/มบวก ซ1*งม ค%ณสมบ�ต�ว�า

an = an − 1 + an − 2

Page 26: Discrete Mathematics

31

Summations

ผลบวก หร�อ summation ค�อผลบวกของของเซตของจ+านวน ในบางคร��งเราอาจเร ยกว�า series

Series เป(นผลบวกของพจน�ใน sequence เราใช�ส�ญล�กษณ� แทนผลบวกของสมาช�กในเซตหร�อล+าด�บ และใช�ส�ญล�กษณ� แทนผลค.ณของสมาช�กในเซตหร�อ

ล+าด�บ ค%ณสมบ�ต�ท *น�าสนใจของผลบวก เช�น

ca = c a เม�*อ c เป(นค�าคงท * a + b = (a+b)

Page 27: Discrete Mathematics

32

Page 28: Discrete Mathematics

In-Class Exercises33

Page 29: Discrete Mathematics

CHAPTER 3: ALGORITHMS

Algorithms and Analysis, (Algorithms on) The Integers, and Matrices

Page 30: Discrete Mathematics

35

Algorithms ข�/นตอนว�ธ หร�อ อ�ลกอร�ท1ม (algorithm) หมายถ1งกระบวนการแก�

ป7ญหาท *สามารถเข�าใจได� ม ล+าด�บหร�อว�ธ การในการแก�ไขป7ญหาใดป7ญหาหน1*งอย�างเป(นข��นเป(นตอนและ ช�ดเจน เม�*อน+าเข�าอะไร แล�วจะต�องได�ผลล�พธ�เช�นไร

ในการท+างานอย�างเด ยวก�น เราอาจจะเล�อกข��นตอนว�ธ ท *ต�างก�นเพ�*อแก�ป7ญหาได� โดยท *ผลล�พธ�ท *ได�ในข��นส%ดท�ายจะออกมาเหม�อนก�นหร�อไม�ก/ได� และจะม ความแตกต�าง ท *จ+านวนและช%ดค+าส�*งท *ใช�ต�างก�นซ1*งส�งผลให� เวลา (time) , และขนาดหน�วยความจ+า (space) ท *ต�องการต�างก�น หร�อเร ยกได�อ กอย�างว�าม ความซ�บซ�อน (complexity) ต�างก�น

การน+าข��นตอนว�ธ ไปใช� ไม�จ+าก�ดเฉพาะการเข ยนโปรแกรมคอมพ�วเตอร� แต�สามารถใช�ก�บป7ญหาอ�*น ๆ ได�เช�น การออกแบบวงจรไฟฟCา, การท+างานเคร�*องจ�กรกล, หร�อแม�กระท�*งป7ญหาในธรรมชาต� เช�น ว�ธ ของสมองมน%ษย�ในการค�ดเลข หร�อว�ธ การขนอาหารของแมลง

Page 31: Discrete Mathematics

36

Pseudocode

รห�สเท ยม (Pseudocode) เป(นภาษาท *ใช�ในการเข ยนอธ�บาย algorithm โดยอย.�ในร.ปท *ใกล�เค ยงก�บภาษาท *ใช�ในการเข ยนโปรแกรม

Page 32: Discrete Mathematics

37

Analysis of Algorithms

ความซ�บซ�อน (Complexity) ของ algorithm เช�งเวลา (time complexity) หมายถ1งเวลาท *ใช�ในการ

ท+างานของโปรแกรม โดยท�*วไปจะข1�นอย.�ก�บขนาดของ input เช�งพ��นท * (space complexity) หมายถ1งขนาดของพ��นท *ใน

หน�วยความจ+าท *ถ.กใช�ส+าหร�บการท+างานของโปรแกรม

Page 33: Discrete Mathematics

38

Analysis of Algorithms

การเต�บโตของฟ7งก�ช�น (Growth of Function) Big O Big Theta Big Omega

Page 34: Discrete Mathematics

39

Algorithms on the Integers

Division Modular GCD LCM

Page 35: Discrete Mathematics

40

Algorithms on the Integers

Cryptology Caesar’s RSA

Page 36: Discrete Mathematics

41

Matrices

เมตร�กซ� (Matrices) เป(นการแสดงสมาช�กของเซตในร.ปแบบของแถวและหล�ก (row and column)

ขนาดของเมตร�กซ�หาได�จาก จ+านวนแถว x จ+านวนหล�ก เมตร�กซ�ใดๆ จะเท�าก�นได�ก/ต�อเม�*อม ขนาดเท�าก�นและสมาช�กท%ก

ต+าแหน�งม ค�าเท�าก�น การบวกเมตร�กซ�

เป(นการบวกก�นของสมาช�กท *อย.�ในต+าแหน�งเด ยวก�นของเมตร�กซ� 2 เมตร�กซ�ใดๆ ด�งน��นเมตร�กซ�จะบวกก�นได�ก/ต�อเม�*อเมตร�กซ�ใดๆ 2 เมตร�กซ�น��นม ขนาดเท�าก�น

การค.ณเมตร�กซ� จะท+าได�ก/ต�อเม�*อ จ+านวนแถวของเมตร�กซ�ต�วท *สองเท�าก�บจ+านวนหล�กของเมตร�

กซ�ต�วแรก และผลล�พธ�จะได�เมตร�กซ�ท *ม ขนาดเป(น จ+านวนแถวของเมตร�กซ�ต�วแรก x จ+านวนหล�กของเมตร�กซ�ต�วท *สอง

Page 37: Discrete Mathematics

In-Class Exercises42

Page 38: Discrete Mathematics

CHAPTER 4: INDUCTION AND RECURSION

Induction and Recursion

Page 39: Discrete Mathematics

44

Mathematical Induction

อ%ปน�ยเช�งคณ�ตศาสตร� (Mathematical Induction) เป(นการพ�ส.จน�แบบหน1*ง โดยใช�กรณ เฉพาะมาท+าการอ%ปน�ยให�ได�บทสร%ป โดยท�*วไปม�กใช�ในการสร�างทฤษฎ จากผลของการทดลอง

อ%ปน�ยเช�งคณ�ตศาสตร�จะใช�ก�บการพ�ส.จน�ค%ณสมบ�ต�บางประการของจ+านวนเต/มบวก หร�อจ+านวนน�บ

Page 40: Discrete Mathematics

45

Mathematical Induction

อ%ปน�ยเช�งคณ�ตศาสตร�ม 2 ข��นตอน ข��นม.ลฐาน (basis step) เป(นการแสดงว�าประพจน�เป(นจร�งเม�*อกล�าวก�บ

จ+านวนเต/มบวกต�วแรก ข��นช�กน+า (inductive step) เป(นการใช�กรณ หน1*งเพ�*อไปสร%ปอ กกรณ หน1*ง ค�อใช�

สมมต�ฐานว�าประพจน�เป(นจร�งก�บจ+านวนเต/มบวก k และท+าการพ�ส.จน�เพ�*อน+าไปส.�บทสร%ปว�า ประพจน�เป(นจร�งก�บจ+านวนเต/มบวกท *ถ�ดจาก k หร�อ k+1 เม�*อพ�ส.จน�ได�ว�าประพจน�เป(นจร�งก�บจ+านวนเต/มบวก k+1 แล�วจะสามารถสร%ปได�ว�าประพจน�น �เป(นจร�งก�บจ+านวนเต/มบวกท%กต�ว

Page 41: Discrete Mathematics

46

Strong Induction and Well-Ordering

จากหล�กการอ%ปน�ยทางคณ�ตศาสตร�ส+าหร�บ P(n) ท *ข1�นก�บจ+านวนน�บ n ถ�าเราสามารถพ�ส.จน�ได�ว�า1. P(1) จร�ง และ2. ส+าหร�บจ+านวนน�บ i 1 ใด ๆ P(i) P(i+1) แล�ว P(n) เป(นจร�งส+าหร�บท%ก ๆ จ+านวนน�บ n

หล�กการน �ไม�สามารถใช�พ�ส.จน�ได�ท%กกรณ เน�*องจากอาจม ค�าบางค�าท *อย.�ระหว�าง 1 ถ1ง i ใดๆ โดยท * i < n ท *ท+าให� P(i) ม ค�าเป(นเท/จ

ด�งน��น เราจ1งต�องท+าการพ�ส.จน�ให�เห/นว�า ช�วงระหว�าง 1 ถ1ง i ใดๆ น��นประพจน�ย�งม ค�าความจร�งเป(นจร�งอย.� แล�วค�อยท+าการพ�ส.จน�ต�อจาก i น��นๆ ไปย�ง i+1 หล�กการน �เร ยกว�า อ%ปน�ยเช�งคณ�ตศาสตร�แบบแข/งแกร�ง (Strong Induction)

Page 42: Discrete Mathematics

47

Strong Induction and Well-Ordering

Well-ordering เป(นหล�กการท *กล�าวว�า ส+าหร�บเซตท%กเซตท *ไม�ใช�เซตว�าง เซตน��นๆจะต�องม สมาช�กท *ม ค�าน�อยท *ส%ด

เราใช�หล�กการ well-ordering น �ในการพ�ส.จน�แบบ induction ได� เน�*องจากม ความคล�ายคล1งก�น แต�โดยส�วนมากแล�วเราจะพ�ส.จน�โดยใช�ข�อข�ดแย�ง

Page 43: Discrete Mathematics

48

Recursive Definition

ว�ธ ในการแก�ป7ญหาอย�างหน1*ง โดยประย%กต�ใช�หล�กของการอ%ปน�ยเช�งคณ�ตศาสตร� เร ยกว�า การเว ยนเก�ด หร�อ recursion

ในการแก�ป7ญหาแบบน � ค+าตอบจะข1�นอย.�ก�บค+าตอบของป7ญหาย�อยๆ ท *ม ล�กษณะเด ยวก�บป7ญหาใหญ�

เราต�องน�ยามการเว ยนเก�ดของป7ญหาก�อน และเร ยกน�ยามน �ว�า น�ยามเว ยนเก�ด หร�อ recursive definition

ด�งน��นว�ธ ในการพ�ส.จน� หร�อการน�ยามการเว ยนเก�ดจ1งใช�การอ%ปน�ยเช�งคณ�ตศาสตร�เช�นก�น

Page 44: Discrete Mathematics

49

Recursive Definition

การพ�ส.จน�แบบเว ยนเก�ดม 2 ข��นตอน ข��นม.ลฐาน (basis step) ท+าการพ�ส.จน�ว�า P(1) เป(นจร�ง

ข��นช�กน+า หร�อ ข��นเว ยนเก�ด (inductive or recursive step) ท+าการน�ยาม น�ยามเว ยนเก�ด เพ�*อน+าไปส.�การแก�ป7ญหา และท+าการพ�ส.จน�ว�า P(k) P(k+1)

Page 45: Discrete Mathematics

50

Recursive Algorithms

เป(น algorithm ท *ใช� การเว ยนเก�ด (recursion) ในการแก�ป7ญหา

การแก�ป7ญหาแบบเว ยนเก�ดม 2 ข��นตอน ข��นม.ลฐาน (basis step) ก+าหนดค�าเร�*มต�นของการเว ยน

เก�ด ข��นช�กน+า หร�อ ข��นเว ยนเก�ด (inductive or recursive

step) ท+าการน�ยาม น�ยามเว ยนเก�ด เพ�*อน+าไปส.�การแก�ป7ญหา โดยการสร�างกฎส+าหร�บการหาค+าตอบโดยเร�*มจากจ+านวนน�บท *น�อยๆ ก�อน

Page 46: Discrete Mathematics

51

Program Correctness

เป(นการพ�ส.จน�ว�าโปรแกรมท *เข ยนข1�นมาน��นม ความถ.กต�องเม�*อเท ยบก�บ input และ output ท *ก+าหนดให�

โปรแกรมจะม ความถ.กต�องก/ต�อเม�*อได�ให� output ท *ถ.กต�องส+าหร�บท%กๆ input ท *เป(นไปได� Initial assertion ค�อค%ณสมบ�ต�ของ input ท *ก+าหนดให� Final assertion ค�อค%ณสมบ�ต�ท * output ควรจะม

การพ�ส.จน�ความถ.กต�องของโปรแกรม (program verification) แบ�งได�เป(น 2 ส�วน โปรแกรมจะม ความถ.กต�องบางส�วน (partial correctness) เม�*อโปรแกรมสามารถให�

output ท *ถ.กต�องหล�งจากโปรแกรมหย%ดท+างาน (terminate) ได� ถ�าโปรแกรมสามารถจบการท+างานได� โปรแกรมจะม ความถ.กต�องท��งหมด (total

correctness) โดยท�*วไปจะใช� ส�ญล�กษณ�ของ Hoare (Hoare Notation) ในการพ�ส.จน�

Page 47: Discrete Mathematics

In-Class ExercisesHomework

52

Page 48: Discrete Mathematics

CHAPTER 5: COUNTING

Counting, Pigeonhole Principle, Permutation, and Combination

Page 49: Discrete Mathematics

54

Basic Rules of Count

กฎของผลค.ณและผลบวก (Rules of Product and Sum) ถ�า E1, E2, E3, …, Ek เป(นล+าด�บของเหต%การณ�ซ1*งจ+านวนว�ธ ของ

การเก�ดเหต%การณ�แต�ละอย�างไม�ข1�นก�บว�ธ การเก�ดของเหต%การณ�ท *เก�ดก�อน

ถ�าจ+านวนว�ธ ของการเก�ด Ei = ni, i = 1, 2, 3, …, k แล�ว จ+านวนว�ธ ของการเก�ดเหต%การณ�ท��งล+าด�บ ค�อ n1n2n3…nk

จ+านวนว�ธ ของการเก�ดเหต%การณ�เพ ยงอย�างใดอย�างหน1*ง ค�อ n1 + n2 + n3 + … + nk

หล�กของการเพ�*มเข�าและต�ดออก (Inclusion-Exclusion Principle) ใช�ในกรณ ท *ม การน�บขาด หร�อน�บเก�น

Page 50: Discrete Mathematics

55

Pigeonhole Principle

หล�กการร�งนกพ�ราบ (Pigeonhole Principle) ถ�าม ร�งนกพ�ราบ n ร�ง และม นกพ�ราบ m ต�ว ถ�า n+1 แล�วจะ

ม อย�างน�อย 1 ร�งท *ม นกพ�ราบมากกว�า 1 ต�ว เราสามารถขยายหล�กการน �ให�ใช�งานได�มากข1�นโดย

ถ�าม นกพ�ราบ N ≥ k+1 ต�วต�องการเข�าร�ง k ร�ง ด�งน��นต�องม อย�างน�อยท *ส%ด 1 ร�งท *ม นกพ�ราบอย�างน�อยท *ส%ด N/k ต�ว

Page 51: Discrete Mathematics

56

Permutations and Combinations

ว�ธ เร ยงส�บเปล *ยน (Permutation) ค�อการเล�อกสมาช�กจากเซตโดยให�ความส+าค�ญก�บอ�นด�บของการเล�อก หร�อเร ยกว�าเป(นการเร ยงล+าด�บ ให� P(n, k) เป(นจ+านวนว�ธ เร ยงส�บเปล *ยนของ n ส�*งท *ต�างก�น คราวละ k ส�*งโดยใช�

ของซ+�าก�นไม�ได� และ n k แล�ว P(n, k) = n! / (n-k)! ว�ธ จ�ดหม.� (Combination) การเล�อกสมาช�กจากเซตโดยไม�ให�ความ

ส+าค�ญก�บอ�นด�บของการเล�อก จ1งเป(นเพ ยงการจ�ดกล%�ม ให� C(n, k) เป(นจ+านวนว�ธ จ�ดหม.�ของ n ส�*งท *ต�างก�น คราวละ k ส�*งโดยแต�ละกล%�ม

ไม�ม ของซ+�าก�น และ n k แล�ว C(n, k) = n! / k!(n-k)! C(n, k) เร ยกอ กอย�างว�า ส�มประส�ทธ�Dทว�นาม (binomial

coefficient) เน�*องจากผลของการกระจายทว�นาม (x+y)n ม ส�มประส�ทธ�Dของพจน�ต�างๆ อย.�ในร.ป C(n, k)

Page 52: Discrete Mathematics

57

Permutations and Combinations

ส�มประส�ทธ�Dของ (x+y)n สามารถจ�ดเร ยงในร.ปสามเหล *ยมได�ซ1*งเราเร ยกสามเหล *ยมน �ว�า สามเหล *ยมของปาสคาล (Pascal’s Tiangle) ซ1*งม ค%ณสมบ�ต�ด�งน � จ+านวนแรกและจ+านวนส%ดท�ายในแต�ละแถวเป(น 1 จ+านวนอ�*นๆในแถวล+าด�บได�จากการบวกจ+านวน 2 จ+านวนท *อย.�เหน�อเลขจ+านวนน��น

ผลรวมของส�มประส�ทธ�Dทว�นามค�อ

Page 53: Discrete Mathematics

58

Permutations and Combinations with repetition

Page 54: Discrete Mathematics

59

Distributing Objects into Boxes

การจ�ดของท *ไม�เหม�อนก�น n ส�*งลงในกล�องท *ไม�เหม�อนก�น k กล�อง n! / n1!n2!n3!...nk!

การจ�ดของท *ไม�เหม�อนก�นลงในกล�องท *เหม�อนก�น ไม�ม ส.ตรท *แน�นอนตายต�ว

การจ�ดของท *เหม�อนก�นลงในกล�องท *ไม�เหม�อนก�น Combination with r-repetition

การจ�ดของท *เหม�อนก�นลงในกล�องท *เหม�อนก�น ใช�การแจกแจงในการน�บ

Page 55: Discrete Mathematics

60

Generating Permutations and Combinations

ในบางป7ญหา การน�บ ย�งไม�เพ ยงพอต�อการแก�ป7ญหา จ+าเป(นต�องท+าการสร�างเซตของการเร ยงส�บเปล *ยนหร�อจ�ดหม.�ข1�นมา

เราสามารถสร�างเซตของการเร ยงส�บเปล *ยนได�โดยใช�การเร ยงส�บเปล *ยน

เราสามารถสร�างเซตของการจ�ดกล%�มได�ด�วยการสร�าง subset

Page 56: Discrete Mathematics

In-Class Exercises61

Page 57: Discrete Mathematics

CHAPTER 6: DISCRETE PROBABILITY

Probability, Baye’s Theorem, and Expected Value and Variance

Page 58: Discrete Mathematics

63

Probability การทดลองส%�ม (Random Experiment) ค�อกระบวนการหร�อก�จกรรมใดๆท *ผลล�พธ�

เป(นไปได�หลายอย�างและไม�แน�นอน แซมเป;ลสเปซ (Sample Space) ค�อเซตของผลล�พธ�ท *เป(นไปได�ท��งหมดของการ

ทดลอง แทนด�วย S เหต%การณ� (Event) ค�อเซตของผลล�พธ�ท *สนใจ เป(น subset ของ sample space

ในความหมายท�*วไป คว�มน$�จะเป!น (probability) หมายถ1งเหต%การณ�หร�อความร. �ท *ไม�แน�นอน ซ1*งม ค+าใกล�เค ยงก�บค+าว�า เป(นไปได� น�าจะ ไม�แน�นอน เส *ยง หร�อ โชค

ในความหมายทางคณ�ตศาสตร� คว�มน$�จะเป!น เก *ยวก�บความเป(นไปได� โดยศ1กษาเร�*องท *อาจจะเก�ดข1�น หร�อไม�เก�ดข1�น

ต�วเลขระหว�างศ.นย�ก�บหน1*ง ถ.กก+าหนดให�ก�บ "เหต%การณ�" (ความน�าจะเป(นท *เท�าก�บ 0 ก/ค�อไม�ม โอกาสท *เหต%การณ�น��นจะเก�ดข1�น แต�ถ�าความน�าจะเป(นเท�าก�บ 1 แสดงว�าเหต%การณ�เหล�าน��นเก�ดข1�นได�อย�างแน�นอน) ท *เก�ดข1�นแบบส%�ม ความน�าจะเป(น P(E) ถ.กก+าหนดให�ก�บเหต%การณ� E ตามส�จพจน�ของความน�าจะเป(น P(E) = |E| / |S|

Page 59: Discrete Mathematics

64

Probability ความน�าจะเป(นท *เหต%การณ� E จะเก�ดข1�น เม�*อ ก+าหนด ให�อ กเหต%การณ� F เก�ดข1�น เร ยกว�า

ความน�าจะเป(นม เง�*อนไข ของ E เม�*อให� F โดยค�าความน�าจะเป(นค�อ P(EF) / P(F) (เม�*อ P(F) ไม�เป(นศ.นย�)

ถ�าความน�าจะเป(นม เง�*อนไขของ E เม�*อให� F ม ค�าเช�นเด ยวก�บความน�าจะเป(น (แบบไม�ม เง�*อนไข) ของ E เราจะกล�าวว�าเหต%การณ� E และ F เป(นเหต%การณ�ท *เป(นอ�สระต�อก�นเช�งสถ�ต� (independent) เราจะส�งเกตได�ว�าความส�มพ�นธ�น �เป(นความส�มพ�นธ�สมมาตร ท��งน �เน�*องจากการเป(นอ�สระต�อก�นน �เข ยนแทนได�เป(น P(EF) = P(E)P(F)

ค%ณสมบ�ต�ของความน�าจะเป(น เช�น P(E1E2) = P(E1) + P(E2) – P(E1 E2) หร�อ P(E1) + P(E2) ถ�า E1

และ E2 independent P(E’) = 1 – P(E) 0 P(E) 1

แนวค�ดหล�กของทฤษฎ ความน�าจะเป(นค�อต�วแปรส%�มและการแจกแจงความน�าจะเป(น

Se

eP 1)(

Page 60: Discrete Mathematics

65

Baye’s Theorem

n

i ii

jjj

FpFEp

FpFEpEFp

0)()|(

)()|()|(

n

i i SF0

Page 61: Discrete Mathematics

66

Random Variable

ต�วแปรส%�ม (Random Variable) ค�อ ฟ7งก�ช�นค�าจร�ง ท *ม โดเมนเป(นแซมเป;ลสเปซ และเรนจ�เป(นส�บเซตของจ+านวนจร�ง

Page 62: Discrete Mathematics

67

Expected Value and Variance

ค�าคาดหว�ง (Expected Value)

ค�าความแปรปรวนV(X) = E(X2) – E(X)2

)(

)()(SXr

rrXpXE

rsXSs

sp)(,

)(

)(

)()(SXr

rrXpXE

Ss

spXEsXXV )())()(()( 2

)()( XVX

Page 63: Discrete Mathematics

In-Class Exercises68

Page 64: Discrete Mathematics

CHAPTER 7: ADVANCED COUNTING TECHNIQUES

Recurrence Relations and Divide-and-Conquer

Page 65: Discrete Mathematics

73

Recurrence Relations

Recurrence relation ส+าหร�บ ล+าด�บ {an} ค�อสมการท *แสดง an

ในร.ปความส�มพ�นธ�ของเทอมก�อนๆของล+าด�บน��น โดยท * n ≥ n0 และ n0 เป(น Nonnegative Integer ซ1*งเราจะเร ยกล+าด�บน��น

ว�าเป(นค+าตอบ (Solution) ของ relation ก/ต�อเม�*อ แต�ละเทอมของล+าด�บน��นเป(นไปตามสมการด�งกล�าว

Relation จะม unique solution ก/ต�อเม�*อม การก+าหนด initial condition

เราสามารถสร�างแบบจ+าลองของเหต%การณ�ต�างๆด�วย Recurrence Relation ได� เช�น ร.ปแบบการหยอดเหร ยญท *เคร�*องของน+�าอ�ตโนม�ต�

Page 66: Discrete Mathematics

74

Solving Linear Recurrence Relations

เราสามารถเปล *ยนสมการ Recurrence relation ให�อย.�ในร.ปอ�*นท *ไม�เป(น recursive ได� กล�าวค�อไม�แสดงถ1งความส�มพ�นธ�ระหว�างเทอมก�อนหน�าก�บเทอมท * n

ว�ธ การเปล *ยนจะม หลายว�ธ แต�ท *เราน+าไปใช�บ�อยๆ ค�อการเปล *ยนให�อย.�ในร.ปของสมการเช�งเส�น (Linear equation) การเปล *ยนเป(นสมการเช�งเส�นจะม 2 ร.ปแบบ ค�อ

Homogeneous Non-Homogeneous

ร.ปแบบของสมการท *แปลงจาก recurrence เป(น linear จะข1�นอย.�ก�บ recurrence degree หร�อ จ+านวนเทอมก�อนหน�าท *เก *ยวข�อง

Page 67: Discrete Mathematics

75

Generating Functions

ฟ7งก�ช�นก�อก+าเน�ด (Generating Function) เป(นฟ7งก�ช�นท *อย.�ในร.ปของ Power Series ใช�ในการน�บ ใช�ในการหา Explicit Formula ของ Recurrence Relation ฯลฯ

Page 68: Discrete Mathematics

76

Divide-and-Conquer and Recurrence Relations

สมมต�ว�า Recursive Algorithm ได�แบ�งป7ญหาขนาด n ออกเป(นป7ญหาย�อยๆ จ+านวน a ป7ญหาโดยท *แต�ละป7ญหาม ขนาดเป(น n/b โดยท * n หารb ลงต�วและสมมต�ว�าย�งม เศษเหล�อของป7ญหาท *เราต�องใช�อ ก g(n) เพ�*อแก�ป7ญหาในส�วนน �

กระบวนการแบ�งป7ญหาข�างต�นเร ยกว�า Divide (แบ�งแยก) ซ1*งจะท+าต�อเน�*องก�นไปเร�*อยๆ จนถ1งขนาดของป7ญหาท *เล/กท *ส%ดและได�ค+าตอบท�นท และเป(นป7ญหาท *สามารถใช�ว�ธ การเด ยวก�นในการแก�ป7ญหาได� เม�*อเราแก�ป7ญหาย�อยได�หมดแล�วจ1งน+าค+าตอบของแต�ละป7ญหาย�อยเหล�าน��นมารวมก�นในส�วนน �เราเร ยกว�า Conquer (ครอบครอง)

Page 69: Discrete Mathematics

77

Divide-and-Conquer and Recurrence Relations

สมมต�ให� f(n) เป(นจ+านวนการท+างานท *ต�องใช�ในการแก�ป7ญหาขนาด n เราจะได� f(n) ท *อย.�ในร.ปของ Recurrence Relation ด�งน � f(n) = a·f(n/b) + g(n)

เราเร ยกสมการน �ว�า Divide-and-Conquer Recurrence Relation

เราสามารถใช� Master Theorem ในการประมาณค�าความซ�บซ�อนของ algorithm ล�กษณะน �ได�

Page 70: Discrete Mathematics

78

Inclusion-Exclusion

Theorem 1: หล�กก�รของก�รเพ��มเข�-ต�ดำออก ถ�าให� A1, A2, …, An เป(น Set จ+าก�ด จะได�ว�า

nji

jiniin AAAAAA

1121 |||...|

nkji

njin

kji AAAAAA1

1 |...|)1(...||

Page 71: Discrete Mathematics

In-Class Exercises79

Page 72: Discrete Mathematics

CHAPTER 8: RELATIONS

Relations, Application of n-ary Relations, Representing Relations, Equivalence Relations, and Partial Ordering

Page 73: Discrete Mathematics

Relations81

Relations (ความส�มพ�นธ�) แสดงถ1งโครงสร�าง หร�อความส�มพ�นธ�ของสมาช�กใน set ซ1*งเราสามารถน+าความส�มพ�นธ�น �ไปใช�แก�ป7ญหาในหลายๆเร�*องได� เช�น การออกแบบฐานข�อม.ล การออกแบบและวางเคร�อข�ายคอมพ�วเตอร� เป(นต�น

ค%ณสมบ�ต�ท *น�าสนใจของ Relations เช�น Reflexive, Symmtric, Antisymmetric, และ Transitive

ค+าว�า Relation โดยท�*วไปจะหมายถ1ง Binary Relation เราใช�ส�ญล�กษณ� a R b แทน relation R จาก a ไป b และ a R b

หมายถ1ง a และ b ไม�ม relation R ต�อก�น เราสามารถแสดงใช� Matrix หร�อ DiGraph ความส�มพ�นธ�ได� Matrix และ DiGraph สามารถบอกถ1งค%ณสมบ�ต�ท *ม อย.�ในความ

ส�มพ�นธ�น��นได� Relational Database เป(นต�วอย�างหน1*งของการน+า Relationไป

ใช�ในงานฐานข�อม.ล ซ1*งจะม Operation หล�กๆ อย.� 3 อย�าง ค�อ Conditional Selection, Projection, และ Join

/

Page 74: Discrete Mathematics

82

Closures of Relations

เม�*อ Relation ใดม ค%ณสมบ�ต�ท *ต�องการไม�ครบถ�วน เช�น Reflexive เราสามารถเต�มเต/มค%ณสมบ�ต� Reflexive ได�ด�วยการเพ�*ม Ordered pair จ+านวนท *น�อยท *ส%ดเพ�*อให�ได� Relation ใหม�ท *ม ค%ณสมบ�ต�เป(น Reflexive และเราเร ยก Relation น �ว�า Closure หร�อ ความส�มพ�นธ�ป;ด

Transitive Closure น��นม ว�ธ การสร�างท *ซ�บซ�อนกว�า Reflexive และ Symmetric ซ1*งต�องอาศ�ย Connectivity (R*) ช�วยในการสร�าง

R* สามารถหาได�โดยใช� Warshall’s Algorithm

Page 75: Discrete Mathematics

83

Warshall’s Algorithm

Page 76: Discrete Mathematics

84

Equivalence Relations

R ต�องม ค%ณสม�บต� Reflexsive, Symmetric, Transitive

แบ�ง set ออกเป(นส�วนๆ (Partition) โดยท *ไม�จ+าเป(นต�องร. �รายละเอ ยดปล กย�อยของสมาช�กในส�วนน��นๆ

ใช�เป(นต�วแทน (Representative) ค%ณสมบ�ต�ของสมาช�กของส�วนท *แบ�งแล�วได�

Page 77: Discrete Mathematics

85

Partial Ordering

R ท *ม ค%ณสมบ�ต� Reflexive, Anti-symmetric, Transitive

POSET = Partially Ordered Set หร�อ (S, R) เช�น (Z, >) หมายถ1ง ในเซต Z ความส�มพ�นธ� > ม ล�กษณะเป(น Partial Ordered หร�อ > บน Z เป(น POSET น�*นเอง

POSET สามารถเข ยนให�อย.�ในร.ปของ Graph ได� หร�อจะใช� Hasse diagram ก/ได�

Topological Sorting เปร ยบเสม�อนการหา POSET

Page 78: Discrete Mathematics

86

Page 79: Discrete Mathematics

In-Class ExercisesHomework

87

Page 80: Discrete Mathematics

CHAPTER 9: GRAPHS

Graphs, Euler and Hamilton, Shortest Path, Planargraph and Isomorphism, and Graph Coloring

Page 81: Discrete Mathematics

89

Graphs

เป(นโครงสร�างแบบไม�ต�อเน�*อง (Discrete) ท *ประกอบด�วย 2 ส�วน หร�อ set ค�อ Vertices (จ%ดยอด) และ Edges (เส�นขอบ)

Adjacency และ Incident หมายถ1งความส�มพ�นธ�ของจ%ดยอดและเส�นขอบ โดยท * จ%ดยอด u และ v จะ adjacent ก�นก/ต�อเม�*อม เส�นขอบ e เช�*อมระหว�างจ%ดยอดท��ง 2 หร�ออ กน�ยหน1*ง เส�นขอบ e incident ก�บจ%ดยอด u และ v

ประย%กต�ใช�ก�บงานได�หลายประเภท เช�น Networking, OCR, Facilities Planning,

Searching, etc.

Page 82: Discrete Mathematics

90

Graphs

แบ�งออกได�หลายล�กษณะ แบ�งตามจ+านวนจ%ดยอด

Finite and Infinite Graphs แบ�งตามจ+านวนและท�ศทางของเส�นขอบ

Simple-, Multi-, Directed-, Directed Multi-graphs แบ�งตามล�กษณะการเช�*อมโยง

Cycle, Wheel, Bipartite, Planar, Cyclic, Acyclic, Connected Graphs

Page 83: Discrete Mathematics

91

Euler and Hamilton

Path (เส�นทาง, ว�ถ ) หมายถ1งเส�นทางจากจ%ดยอดเร�*มต�น a ไปย�งจ%ดยอดส��นส%ด b ความยาวของ path ค�อความยาวของเส�นขอบท *เช�*อมต�อระหว�างจ%ด a และ b

Circuit (วงจร) หมายถ1ง path ท *ม จ%ดเร�*มต�นและจ%ดส��นส%ดเป(นจ%ดเด ยวก�น

Euler path and circuit Path หร�อ Circuit จากจ%ดเร�*มต�นไปย�งจ%ดส��นส%ด โดยท *ผ�านเส�น

ขอบใดๆ ได�เพ ยงหน1*งคร��งเท�าน��น Hamilton path and circuit

Path หร�อ Circuit จากจ%ดเร�*มต�นไปย�งจ%ดส��นส%ด โดยท *ผ�านจ%ดยอดใดๆ ได�เพ ยงหน1*งคร��งเท�าน��น

Page 84: Discrete Mathematics

92

Shortest path problem

Traveling Salesman Problem Salesman คนหน1*งต�องการจะไปขายส�นค�าตามเม�องต�างๆ

n เม�อง เขาจะต�องหาเส�นทางท *ส� �นท *ส%ดในการเด�นทาง และจะต�องผ�านท%กเม�องๆละคร��งเด ยวเท�าน��น

ความซ�บซ�อนของป7ญหาข1�นอย.�ก�บจ+านวนของเม�อง จ�ดเป(นป7ญหาประเภท Non-Polynomial time

Page 85: Discrete Mathematics

93

Dijkstra’s Algorithm

Page 86: Discrete Mathematics

94

Planargraph and Isomorhpism

กราฟระนาบ (Planargraph) กราฟท *ไม�ม เส�นขอบหร�อเส�นเช�*อมใดๆต�ดก�น

Graph Isomorphic กราฟ 2 กราฟใดๆ จะเหม�อนก�นก/ต�อเม�*อ ม bijection

function จากกราฟแรกไปย�งกราฟท *สอง โดยท *ย�งคงความเป(น adjacency ของ vertex ต�างๆไว� หร�อ ท��ง 2 กราฟม ความส�มพ�นธ�สมม.ลก�น (Equivalence Relation)

Page 87: Discrete Mathematics

95

Graph Coloring

เราสามารถใช� Graph เป(น model ในการท *จะก+าหนดค�าต�างๆท *ไม�ซ+�าก�นให�พ��นท *ท *อย.�ต�ดก�น เช�นการท+าแผนท *, การจ�ดตารางเวลา ได� เราเร ยก model น �ว�า Graph coloring

จาก Four Color Theorem เราทราบว�าในแผนท *ใดๆ เราสามารถใช�ส เพ ยง 4 ส ในการท+าแผนท *น� �นๆ

Cycle Graph ท *ม จ+านวน vertex เป(น จ+านวนค.� จะใช�ส แค� 2 ส ถ�าม vertex เป(นจ+านวนค *จะใช� 3 ส

Page 88: Discrete Mathematics

In-Class Exercises96

Page 89: Discrete Mathematics

CHAPTER 10: TREES

Tree and its Properties, Rooted Trees, Applications of Trees, Tree Traversals, Spanning Tree, and Minimum Spanning

Page 90: Discrete Mathematics

98

Trees

No circuit No multiple edges No loops

Tree ค�อ Connected Undirected Graph ท *ไม�ม Simple Circuit

ส+าหร�บ Undirected Graph ท *ไม�ม Simple Circuit แต�ไม� Connect ก�น เราสามารถเร ยกว�าเป(น Tree หลายอ�น และในกรณ น � เราเร ยก Tree เหล�าน��นว�า Forest

Simple Graph

Page 91: Discrete Mathematics

99

Rooted Tree

เป(น Tree ท *ม หน1*ง Vertex ก+าหนดให�เป(น Root และท%กๆ Edge จะม ท�ศทางออกมาจาก Root น��น

Root Ancestor, Descendant Parent, Child, Sibling Internal Vertex, Leaf Subtree Level, Height

Page 92: Discrete Mathematics

100

More Trees

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 ม การจ�ดล+าด�บ ซ1*งปกต�เราจะจ�ดเร ยงจากซ�ายไปขวา

Balanced Tree ค�อ Tree ท *ม Leaf อย.�ท * Level h หร�อ h-1 เท�าน��น

Page 93: Discrete Mathematics

101

Tree Properties

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

Page 94: Discrete Mathematics

102

102

Tree Modeling and Applications

Binary Search Tree Decision Tree Prefix Code: Huffman Coding Game Trees

Page 95: Discrete Mathematics

103

Tree Traversal

Preorder : parent อย.�ด�านหน�า ตามด�วย left child และ right child

Inorder : left child, parent, right child Postorder : left child, right child, parent

Page 96: Discrete Mathematics

104

Spanning Tree (ต�นไม�ทอดข�าม)

ถ�าให� G เป(น Simple Graph แล�ว เราจะเร ยก Tree ท *ประกอบไปด�วย vertex ท%ก vertex ใน G ว�า Spanning Tree ซ1*งก/ค�อ Subgraph ของ G น�*นเอง จะเห/นได�ว�าเราสามารถหา Spanning Tree ของ G ได�หลายอ�น

เราสามารถหา Spanning Tree ได�จาก Depth-First Search หร�อ Breadth-First Search Depth-First Search เป(นการ search ไปตามความล1กของ

เส�นขอบท *เช�*อมจ%ดยอดเข�าด�วยก�น Breadth-First Search เป(นการ search ไปตามแนวกว�าง

ของ Tree กล�าวค�อ search ไปตามเส�นขอบท *เช�*อมจ%ดยอดท ละช�วง

Page 97: Discrete Mathematics

105

Minimum Spanning Tree

ถ�าหากว�า Graph ม น+�าหน�กแล�ว Spanning Tree ก/จะม น+�าหน�กด�วย ด�งน��น Minimum Spanning Tree ค�อ Spanning Tree ท *ม น+�าหน�กน�อยท *ส%ด ซ1*งค+านวณจากผลรวมของน+�าหน�กของเส�นเช�*อมท��งหมด โดยท�*วไปเราจะหา Minimum Spanning Tree จาก Prim’s Algorithm หร�อ Kruskal’s Algorithm

หล�กการของท��ง 2 ว�ธ การด�งกล�าวคล�ายก�น ต�างก�นตรงท * Kruskal’s จะเล�อก edge ท *ม น+�าหน�กน�อยท *ส%ดโดยไม�สนใจว�าจะสามารถเช�*อมต�อก�บ edge ท *ม อย.�แล�วได�หร�อไม�ก�อน

Kruskal’s จะม ประส�ทธ�ภาพด กว�า Prim’s เม�*อม จ+านวน edge น�อยๆ หร�อกราฟม ล�กษณะแผ�กว�าง (Sprase)

Page 98: Discrete Mathematics

106

Examples

e g

h

d

f

a c b

i k j

l

2 3 1

4 3 3

3 3 1

3

4

1

2

2 5

4 3

e g

h

d

f

a c b

i k j

l

2 3 1

4 3 3

3 3 1

3

4

1

2

2 5

4 3

e g

h

d

f

a c b

i k j

l

2 3 1

4 3 3

3 3 1

3

4

1

2

2 5

4 3

Prim’s Algorithm Kruskal’s Algorithm

Page 99: Discrete Mathematics

In-Class Exercises107

Page 100: Discrete Mathematics

CHAPTER 11: BOOLEAN ALGEBRA

Boolean Algebra, Representing Boolean, Logic Gates, Combinational Circuits, and Minimizing Circuits

Page 101: Discrete Mathematics

109

Boolean Algebra

เป(นกฎท *ใช�ในการท+างานก�บ set { 0, 1 } หร�อ { F, T } หร�อ Logic

Boolean Algebra น+ามาใช�ก�บการออกแบบวงจร Electronics ให�ท+างานตามท *ต�องการ

ให� B = {0, 1}, Bn = {(x1,x2,…,xn) | xiB for 1 i n} เป(น set ของ n-

tuples ของ 0 และ 1 ท *เป(นไปได� x ค�อ Boolean Variable หร�อ Boolean Literal

Function จาก Bn ถ1ง B เร ยกว�า Boolean Function ท *ม degree n

เราสามารถแสดง Boolean Function โดยใช� น�พจน�บ.ล น (Boolean Expression) ได�ซ1*งก/ค�อการด+าเน�นการของ Boolean Operation บน Boolean Variable

เราสามารถน�ยาม Boolean Expression ในแบบ recursive ได� การด+าเน�นการท *ใช�บ�อยท *ส%ด 3 อย�าง ได�แก�

Complement, Boolean product (AND), และ Boolean sum (OR)

ล+าด�บของต�วด+าเน�นการ (Precedence): complement, AND, OR

Page 102: Discrete Mathematics

110

Representing Boolean

เม�*อเราม Boolean Function, Boolean Expression ท *สามารถแสดงถ1ง 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 ซ1*งม ผลให�สามารถลดประเภทของ Logic Gate ท *ต�องใช�ได�

Page 103: Discrete Mathematics

111

Logic Gates

Boolean Algebra ใช�ในการ model วงจร Electronics

ส�วนประกอบพ��นฐานท *ส%ดในวงจรประเภทน �ก/ค�อ Logic Gate

Logic Gate แต�ละประเภทจะสร�างจาก Boolean Operation แต�ละอย�าง

Not Gate

Page 104: Discrete Mathematics

112

Combinational Circuits

วงจรรวม (Combinational Circuit) ค�อวงจรท *ประกอบข1�นจาก Logic Gate หลายๆต�วเพ�*อท+างานอย�างใดอย�างหน1*ง โดยท *ไม�ต�องม หน�วยความจ+า

วงจรประเภทน �สามารถม input และ output ได�มากกว�าหน1*ง ข1�นอย.�ก�บงานท *น+าไปใช�

ต�วอย�างของวงจรประเภทน �ท *ม ใช�ในคอมพ�วเตอร�ได�แก� Half / Full Adder Multiplexer

Page 105: Discrete Mathematics

113

Minimizing Circuits

เป(นการลดร.ปวงจร Combinations เพ�*อให�ใช�จ+านวน Logic Gate น�อยลง ส�งผลให�ได� Chip ท *ม ขนาดเล/กลงและราคาถ.กลง

สามารถใช� Sum-of-Product Expansion และ Boolean Identities ในการลดร.ปได�

แต�โดยท�*วไปจะใช� Karnaugh Map หร�อ Quine-McCluskey ในการลดร.ปวงจร

Page 106: Discrete Mathematics

In-Class Exercises114

Page 107: Discrete Mathematics

CHAPTER 12: MODELING COMPUTATION

Languages and Grammars, Finite-State Machine w/ and w/o output, Language Recognition, Probability, and Turing Machine

Page 108: Discrete Mathematics

116

Languages and Grammars

ค+าในภาษาต�างๆ เช�น ภาษาไทย ภาษาอ�งกฤษ สามารถน+ามาประกอบก�นเป(นประโยคได�หลายร.ปแบบ

Grammar หร�อ หล�กไวยากรณ� เป(นต�วบอกว�าจะต�องน+าค+ามาประกอบก�นแบบใดถ1งจะเป(นประโยคท *ม ความหมายในภาษาน��นๆ

Grammar ใช�ในการตรวจสอบว�าประโยคน �เป(นประโยคท *ถ.กต�องหร�อไม� และ เราจะสร�างประโยคในภาษาน��นได�อย�างไร Syntax, Semantics, Natural Language, Formal

Language

Page 109: Discrete Mathematics

117

Phrase-Structure Grammars

Vocabulary (V) เป(น set ของส�ญล�กษณ�ท *ใช�แสดงในภาษาน��น Terminals (T) ค�อ set ของส�ญล�กษณ�ท *ไม�สามารถแทนด�วย สมาช�กอ�*นๆใน V ได� Nonterminals (N) ค�อ set ของส�ญล�กษณ�ท *สามารถแทนด�วย สมาช�กอ�*นๆใน V

ได� Start symbol (S) เป(นสมาช�กของ V ท *ใช�ในการเร�*มต�นประโยคเสมอ Productions (P) เป(นกฎท *บอกว�าเราสามารถแทนสมาช�กใน V ใดด�วยสมาช�กต�ว

อ�*นใน V ใดได� ใช�ส�ญล�กษณ� แทน production เช�น z0 z1 หมายถ1งเราสามารถแทน z0 ด�วย z1 ได� หมายถ1งการแทนท *โดยตรง หร�อ การกลายโดยตรง จาก z0 มาเป(น z1

หมายถ1งการกลาย เช�น z0 zn หมายถ1งการกลายจาก z0 มาเป(น zn

เป(น set ของ empty string L(G) เป(นภาษาท *สร�างจาก Grammar G

Page 110: Discrete Mathematics

118

Chomsky’ Scheme

Backus-Naur เป(น notation (ส�ญล�กษณ�) ท *ใช�ระบ% Type 2 grammar อ กช%ดท *น�ยมใช�ก�นในการอธ�บายภาษาการโปรแกรม (Programming Language) ใช� ::= แทน เพ�*อแสดงถ1ง production, ใช� <> เพ�*อบ�งบอกว�าส�ญล�กษณ�น��นเป(น nonterminal, และใช� | แทน , หมายถ1ง หร�อ“ ”

Type 3 Type 2Type 2 Type 1Type 1 Type 0

Page 111: Discrete Mathematics

119

Derivation (or Parse) Tree

เราสามารถใช� Tree เพ�*อแสดงการแทนท *ในภาษาแบบ Context-free (Type 2) ได�และเร ยก Tree น �ว�า Derivation หร�อ Parse Tree และน+าไปใช�ในการออกแบบ Compiler

Page 112: Discrete Mathematics

120

State Machines

เคร�*องจ�กร หร�อกลไกประเภทต�างๆ ม ล�กษณะท *คล�ายก�บการค+านวณท+าให�เราสนใจท *จะศ1กษาและจ+าลองการท+างานของเคร�*องกลต�างๆ เราสามารถมองว�า ข� �นตอนการท+างานกลไกต�างๆ ท+าให�ภาพรวมของกลไกน��นม สถานะในการท+างานท *แตกต�างก�นในแต�ละข� �นตอน

ด�งน��นในการจ+าลองการท+างานของ Machine น � เราน�ยมใช� Model ท *เร ยกว�า Finite-State Machine เพ�*อให�ร. �ถ1งการท+างานและสามารถท+านายผลการท+างานเพ�*อควบค%มการท+างานให�เป(นไปตามท *เราต�องการ เน�*องจากถ�า machine ใดม จ+านวนของ สถานะ (state) ท *ไม�จ+าก�ดแล�ว เราจะไม�สามารถศ1กษาและควบค%ม machine น��นได�อย�างถ.กต�อง

โครงสร�างน �สามารถน+าไปใช�จ+าลองการท+างานของกลไกได�หลายอย�าง เช�น grammar and spell checking, searching text, transforming text using HTML or XML, และ network protocols เป(นต�น

Finite-State Machine น �แบ�งได�เป(น 2 แบบตามล�กษณะ Output ค�อแบบม และไม�ม Output

Page 113: Discrete Mathematics

121

Finite-State Machine with Output

เราสามารถใช� State table เพ�*อแสดงถ1ง f และ g ของ Finite-State Machine M หร�อใช� State diagram ซ1*งเป(น 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 ต�วมาต�อก�น

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 เร�*มต�น

Page 114: Discrete Mathematics

122

Finite-State Machine with No Output

State Machine with No Output ม อ กช�*อหน1*งว�า Automata Finite-State Machine ประเภทน �จะไม�ม Output แต�จะม Final State แทน ใน State diagram Final State จะแทนด�วยส�ญล�กษณ�วงกลม 2 วงซ�อนก�น การท+างานของ Machine ประเภทน �จะส��นส%ดลงท * Final State ซ1*งม ได�หลาย

state Application อย�างหน1*งท *ส+าค�ญของ Finite-State Machine ค�อ การร. �จ+าภาษา

(Language Recognition) ซ1*งสามารถน+าไปใช�ในงาน Machine Translation หร�อ ออกแบบ Compiler และ Programming Language ได� รวมถ1งการศ1กษาทฤษฎ การคณนา (Theory of Computation)

และ Finite-State Automata ก/ถ.กจ+าลองมาเพ�*อจ�ดการก�บป7ญหาน �โดยเฉพาะ โดยม หล�กการว�า “Finite Automata จะร. �จ�ก String น��นก/ต�อเม�*อ String น��นสามารถเปล *ยนสถานะของม�นไปย�งสถานะส%ดท�ายได�”

Finite Automata (FA) ม อย.�ด�วยก�น 2 แบบ Deterministic และ Non-Deterministic FA

FA 2 ต�วจะเท�าก�นได� (equivalent) ก/ต�อเม�*อม�นร. �จ�กภาษาเด ยวก�น

Page 115: Discrete Mathematics

123

DFA vs. NFA

Deterministic FA (DFA) เป(น FA ท *ม transition จาก state ป7จจ%บ�นไปย�ง state ใหม�ท *แน�นอนและเป(น unique

Nondeterministic FA (NFA) เป(น FA ท *ม transition จาก state ป7จจ%บ�นไปย�ง state ใหม�ได�หลาย transition

Definition 3Deterministic 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 4Nondeterministic 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

Page 116: Discrete Mathematics

124

Regular Sets

ถ1งแม�ว�า finite-state automaton จะสามารถร. �จ+าภาษาท *เป(น regular ได� แต�ก/ย�งม บางภาษา หร�อ บาง set ท *ไม�เป(น regular ซ1*งไม�สามารถสร�าง FA มารองร�บได�

ด�งน��นการแสดงว�าภาษาใดเป(น regular หร�อไม�น��นจ1งเป(นเร�*องส+าค�ญ

Definition 1Regular Expressions บน set I สามารถน�ยามแบบเว ยนเก�ดได�โดย:

ส�ญญล�กษณ� Ø เป(น regular expression; ส�ญญล�กษณ� เป(น regular expression; ส�ญญล�กษณ� x เป(น regular expression เม�*อ x I; ส�ญญล�กษณ� (AB), (A B), และ A* เป(น Regular Expression

เม�*อ A และ B เป(น Regular Expression

Page 117: Discrete Mathematics

125

จงสร�าง nondeterministic finite-state automaton ท *ร. �จ+า regular set 1*01 สร�าง automaton ท *ร. �จ+า

1* สร�าง automaton ท *ร. �จ+า

01 น+ามา union ก�น

Example

Page 118: Discrete Mathematics

126

Irregular Set

อย�างไรก/ตาม ย�งม set บาง set ท *ไม�สามารถแทนด�วย FA ได� เช�น 0n1n

จาก pigeonhole principle เราสามารถสร%ปได�ว�า 0n1n = 0n+11n ท+าให� set น �ไม�เป(น regular set

Page 119: Discrete Mathematics

127

Turing Machine

Machine Model ด�วย Finite-State Automata ท *เราได�ท+าการศ1กษาผ�านมาน��น ไม�สามารถจะน+ามาใช�ก�บ Model ท�*วๆไปของการค+านวนได� เน�*องจากไม�ม ส�วนของ Memory หร�อม Memory จ+าก�ดในการจดจ+า ด�งน��นในการท+างานท *ซ�บซ�อนของเคร�*องคอมพ�วเตอร�จ+าเป(นท *จะต�องหา Model ของ Machine อ�นใหม�

ซ1*งก/ค�อ Turing Machine ประด�ษฐ�ค�ดค�นโดย Alan Turing ในช�วงทศวรรษ 1930s

Page 120: Discrete Mathematics

128

Turing Machine

โดยหล�กการแล�ว Turing Machine (TM) จะประกอบไปด�วย Control Unit และ Tape

ในแต�ละ Step ของการท+างาน TM จะอย.�ใน State ใด State หน1*งในหลายๆ State ท *ม อย.�จ+าก�ด

ในส�วนของ Tape จะแบ�งออกเป(น Block หร�อ Cell โดยสมม%ต�ว�าความยาวของ Tape ม ไม�จ+าก�ดท��งสองท�ศทาง

เม�*อส�วนของ Control Unit ท+าการเคล�*อนท *ไปบนเทป โดยจะเคล�*อนท ละ 1 Cell และจะม การอ�านและเข ยนลงบนเทปด�งกล�าว

เม�*อ Control Unit ท+าการอ�านค�าใน Block ของเทป ม�นจะท+าการเปล *ยน State ข1�นอย.�ก�บว�าค�าท *อ�านเป(นส�ญญล�กษณ�อะไร

ล�กษณะของ Turing Machine ท *กล�าวมา สามารถน+ามาใช�เป(น Model ของ Computer ท�*วไปได�ด ท *ส%ด และสามารถท+าอะไรก/ได�ท *คอมพ�วเตอร�ท+าได�

Page 121: Discrete Mathematics

129

Page 122: Discrete Mathematics

130

B B 1 1 0 1 B 0 1 B B …. ….

State

xs Control Unit

Read/Write Head

Tape ³ ¥µ¥Å Ê ° ·« µÅ¤nε´ ªµ¤¥µª� � � � � � � � � � � � � Ân³¤� � Cell ÉÁ}� � � Nonblank É Îµª Åo� � � � � � �

Page 123: Discrete Mathematics

131

นอกเหน�อไปจากน � Church-Turing Thesis ซ1*งกล�าวว�า ไม�ว�าเราจะก+าหนดป7ญหาใดๆข1�นมาก/ตาม ซ1*งป7ญหาน��นสามารถหา Algorithm มาแก�ได� เราจะสามารถหา Turing Machine มาแก�ไขป7ญหาน��นได�เช�นเด ยวก�น ส�งเกตว�าเราไม�ใช�ค+าว�า ‘Theorem’ แต�ใช�ค+าว�า ‘Thesis’ แทน เน�*องจาก Concept ของค+าว�า สามา“รถแก�ป7ญหาได� หร�อ ” Solvability ของ Algorithm น��น เป(นค+าท *ปราศจากหล�กเกณฑ� และก+ากวม ในม%มมองทางคณ�ตศาสตร� ต�างก�บค+า Solvability ของ Turing Machine อย�างไรก/ตาม จะเห/นได�ว�าแนวความค�ดของ Turing Machine น��น ได�ม มาก�อนการค�ดค�น Computer ท *ใช�ในป7จจ%บ�น

ด.รายละเอ ยดเพ�*มเต�มใน Sec. 12.5 page 827 - 837

Page 124: Discrete Mathematics

In-Class ExercisesQuizzesEnd of Class

132