You are on page 1of 25

Chapter 4 Finite

Automata with output

Aj.Umaporn Saisangchan
CS-MSU
IT-Faculty
1
่ งคำนวณจำกัดเชงิ กำหนด
เครือ

เครือ
่ งคำนวณ

2
ข้อควรรูเ้ กีย
่ วก ับ FA with output
1. ลักษณะของ FA with output ประเภท Mealy Machine
ี FA with output
2. องค์ประกอบของแมชชน
ี FA with output
3. กำรสร ้ำงแมชชน

3
FA with output (Mealy Machine)
ี ทีส
เป็ นแมชชน ่ ำมำรถแสดงผลลัพธ์ได ้ ดังภำพตัวอย่ำง

10112 Machine? 01002


input output

ตัวอย่ำง Mealy machine

4
FA with output (Mealy Machine)
รูปแบบเมียรีแมชชน ี
1. มีจด ุ เริม
่ ต ้น 1 จุด
2. ไม่ม ี final state
3. ทีโ่ หนดใดๆ จะแสดงเพียงชอ ื่ โหนดเท่ำนั น

้ อ
4. ทีเ่ สนเช ื่ มจะมีข ้อมูลสองสว่ นคือ
ข ้อมูลอินพุต/ข ้อมูลผลลัพธ์

Input: 0 1 1 0 1
Output: 1 0 0 1 0
5
FA with output (Mealy Machine)
รูปแบบเมียรีแมชชน ี (ต่อ)
5. ข ้อมูลอินพุต 1 ค่ำจะมีข ้อมูลผลลัพธ์ได ้เพียง 1 ค่ำ
6. ข ้อมูลอินพุต 1 ค่ำจะมีโหนดปลำยทำงได ้เพียง 1 โหนด
7. กำรตรวจสอบว่ำ FA ถูกต ้องหรือไม่ให ้พิจำรณำผลลัพธ์ท ี่
ได ้จำก FA นัน

รูปแบบข ้อมูลบนเสนลู ้ กศร


ข ้อมูลอินพุต/ข ้อมูลผลลัพธ์

6
องค์ประกอบของ Mealy Machine
มีทัง้ หมด 4 องค์ประกอบดังนี้
1. Q เป็ นเซตจำกัด ซงึ่ มีโหนดทัง้ หมดเป็ นสมำชก ิ ของเซต
2.  เป็ นเซตจำกัด ซงึ่ มีอก
ั ขระอินพุตทัง้ หมดเป็ นสมำชกิ

3.  เป็ นเซตจำกัด ซงึ่ มีอกั ขระผลลัพธ์ (output) ทัง้ หมด


เป็ นสมำชกิ
4. ภาพเมียรีแมชชนี
ต ัวอย่างเทปของ FA with output
input

output
7
องค์ประกอบของ Mealy Machine
มีทัง้ หมด 4 องค์ประกอบดังนี้
1. Q = {??} 2.  ={0,1,#}
3. ={0,1,x,#} ี
4. ภาพเมียรีแมชชน

??

ต ัวอย่างเทปของ FA with output


input

output
8
ต ัวอย่างภาษา และ FA with Output
1. ให ้สร ้ำงแมชชน ี ทีต
่ รวจสอบว่ำในสตริงทดสอบมีข ้อควำม
“110” ปรำกฎอยูจ ่ ด
ุ ใดบ ้ำง
1.1 ยกตัวอย่ำงสตริงทดสอบ?
1.2 ลักษณะผลลัพธ์ทจ ี่ ะแสดง?
1.3 ร่ำงภำพด ้วย FA
1.4 ปรับ FA เป็ น FA with output
่ ำสงั่ บนเสน้
โดยเน ้นปรับทีค
เติมองค์ประกอบ
1. Q={ }
2. ={ }

3. ={ }
4. ภำพ FA with Output

10
ต ัวอย่างภาษา และ FA with Output
2. ให ้สร ้ำง checkBit แมชชน ี ซงึ่ ทำหน ้ำทีต่ รวจสอบสตริง
ทดสอบว่ำ ถ ้ำมีเลข 1 เป็ นจำนวนคีใ่ ห ้เพิม ่ เลข 1 ทีท
่ ้ำยสตริง
ถ ้ำมีเลข 1 เป็ นจำนวนคูใ่ ห ้เพิม ่ เลข 0 ทีท
่ ้ำยสตริง
2.1ยกตัวอย่ำงสตริงทดสอบ? 01101101# 100100#
2.2ลักษณะผลลัพธ์ทจ ี่ ะแสดง? 011011011 1001000
2.3ร่ำงภำพด ้วย FA? **บำงข ้อข ้ำมไปทำข ้อ 2.4 ได ้เลย
2.4ปรับ FA เป็ น FA with output โดยเน ้นปรับทีค ่ ำสงั่ บนเสน้
เติมองค์ประกอบ
1. Q={ }
2. ={ }

3. ={ }
4. ภำพ FA with Output

12
ต ัวอย่าง Mealy Machine
ี เพือ
EX. สร ้ำงเมียรีแมชชน ่ บวกค่ำอินพุตทีเ่ ป็ นเลขฐำน 2 เพิม
่ อีก 1

** กำรบวกเลขฐำน 2 แต่ละหลัก มีกก


ี่ รณีทเี่ ป็ นไปได ้ 101
+
1. หล ักขวาสุด 1
อินพุต 0 1 0
ตัวบวก 1 1
110
ผลลัพธ์ 1 0 +
1
เขียนเป็ น 0/1 ไม่มต
ี วั ทด เขียนเป็ น 1/0 มีตวั ทด 1
14
ี เพือ
EX. สร ้ำงเมียรีแมชชน ่ บวกค่ำอินพุตทีเ่ ป็ นเลขฐำน 2 เพิม่ อีก 1
1. หล ักขวาสุด 1

อินพุต 1 0 101
+
ตัวบวก 1 1 1
ผลลัพธ์ 0 1 0
เขียนเป็ น 1/0 มีตวั ทด เขียนเป็ น 0/1 ไม่มตี วั ทด 110
+
1
1

15
ี เพือ
EX. สร ้ำงเมียรีแมชชน ่ บวกค่ำอินพุตทีเ่ ป็ นเลขฐำน 2 เพิม ่ อีก 1
2. หล ักถ ัดมาทางซา้ ย 1 ตาแหน่ง (กรณีไม่มต ี ัวทด)
อินพุต 0 100 1 110
+ +
ตัวบวก 0 1 0 1
ผลลัพธ์ 0 01 1 11
เขียนเป็ น 0/0 ไม่มต ี วั ทด เขียนเป็ น 1/1 ไม่มต ี วั ทด

16
EX. สร ้ำงเมียรีแมชชนี เพือ ่ บวกค่ำอินพุตทีเ่ ป็ นเลขฐำน 2 เพิม
่ อีก 1
3. หล ักถ ัดมาทางซา้ ย 2 ตาแหน่ง (กรณีมต ี ัวทด)
อินพุต 0 1 1 1

ตัวบวก 1(ตัวทด) 101 1(ตั


ว ทด) 111
+ +
ผลลัพธ์ 1 1 0 1
เขียนเป็ น 0/1 ไม่มต ี วั ทด 10 เขียนเป็ น 1/0 มีตวั ทด 00

17
FA with output : increment by one

18
ี เพือ
EX. สร ้ำงเมียรีแมชชน ่ บวกค่ำอินพุตทีเ่ ป็ นเลขฐำน 2 เพิม
่ อีก 1
องค์ประกอบของ Mealy machine
1. Q = {q0, noCarry, Carry} หรือถ ้ำใช ้ q0, q1 ,q2 ก็ได ้ให ้แสดง
ชอ ื่ โหนดในรูปภำพด ้วย
2.  = {0,1} //ตัวอักขระทีอ
่ ยูด
่ ้ำนหน ้ำเครือ ี
่ งหมำย / ในรูปแมชชน

3.  = {0,1} //ตัวอักขระทีอ่ ยูด


่ ้ำนหลังเครือ ี
่ งหมำย / ในรูปแมชชน


4. ภำพเมียรีแมชชน

19
FA with output
EX. สร ้ำงเมียรีแมชชน ี เพือ
่ ขำยเครือ
่ งดืม
่ 2 ประเภทคือ
- น้ ำมะนำว (le) และน้ ำผึง้ (ho)
- รำคำขวดละ 3 บำท
- เหรียญทีใ่ ชซ้ อ
ื้ ได ้คือ เหรียญ 1 บำทและ 2 บำท

ขัน
้ ตอนกำรทำงำนของเครือ ่ ง
1. ใสเ่ งินจนครบ จึงจะสำมำรถกดเลือกน้ ำได ้ เมือ ่ ได ้รับเครือ่ งดืม
่ แล ้ว
เครือ
่ งจะกลับไปทีส ่ ต ้น รอคำสงั่ กำรซอ
่ ถำนะเริม ื้ ครัง้ ต่อไป
2. ถ ้ำใสเ่ งินเกิน เครือ่ งจะทอนเงินให ้อัตโนมัตแ ิ ละจึงจะกดเลือกน้ ำได ้
3. ทุกขัน ้ ตอนสำมำรถกดยกเลิกได ้ (C-cancle) และจะได ้รับเงินคืนตำม
จำนวนทีค ่ ้ำงในระบบ และเครือ ่ งจะกลับไปยังสถำนะเริม ่ ต ้น
4. ทุกขัน ้ ตอนลูกค ้ำสำมำรถกดปุ่ มอินพุตใดๆ ก็ได ้ แต่ถ ้ำเป็ นอินพุตทีไ่ ม่
ถูกต ้องเครือ ่ งจะไม่แสดงผลลัพธ์ (แทนสถำนะนีด ้ ้วย N-nothing)

20
ิ ค้าเท่าก ันหมด
Machine แบบที่ 1 : ราคาสน
EX. สร ้ำงเมียรีแมชชน ี เพือ
่ ขำยเครือ
่ งดืม
่ 2 ประเภทคือ
- น้ ำมะนำว (le) และน้ ำผึง้ (ho)
- รำคำขวดละ 3 บำท
- เหรียญทีใ่ ชซ้ อ
ื้ ได ้คือ เหรียญ 1 บำทและ 2 บำท

21
ิ ค้าเท่าก ันหมด
Machine แบบที่ 1 : ราคาสน
EX. สร ้ำงเมียรีแมชชน ี เพือ
่ ขำยเครือ
่ งดืม
่ 2 ประเภทคือ
- น้ ำมะนำว (le) และน้ ำผึง้ (ho)
- รำคำขวดละ 5 บำท
- เหรียญทีใ่ ชซ้ อ
ื้ ได ้คือ เหรียญ 1 บำทและ 2 บำท
องค์ประกอบของ Mealy machine
1. Q = { ?? }
2.  = {le,ho,1,2,??}
3.  = { ?? }

4. ภำพเมียรีแมชชน

22
ิ ค้าเท่าก ันหมด
Machine แบบที่ 1 : ราคาสน
EX. สร ้ำงเมียรีแมชชน ี เพือ
่ ขำยเครือ
่ งดืม
่ 2 ประเภทคือ
- น้ ำมะนำว (le) และน้ ำผึง้ (ho)
- รำคำขวดละ 5 บำท
- เหรียญทีใ่ ชซ้ อ
ื้ ได ้คือ เหรียญ 1 บำทและ 2 บำท

23
จะได ้โหนดกีโ่ หนด แต่ละโหนดมีรำคำเท่ำกับเท่ำใด

24
EX. สร ้ำงเมียรีแมชชน ี เพือ
่ ขำยเครือ
่ งดืม ่ 3 ประเภทคือ
- น้ ำมะนำว (le) และน้ ำผึง้ (ho) ขวดละ 5 บำท
- น้ ำเปล่ำ (wt) 3 บำท
- เหรียญทีใ่ ชซ ้ อ
ื้ ได ้คือ เหรียญ 1 บำทและ 2 บำท
ขัน
้ ตอนกำรทำงำนของเครือ ่ ง
1. ใสเ่ งินจนครบ จึงจะสำมำรถกดเลือกน้ ำได ้
2. ถ ้ำใสเ่ งินเกิน 5 บำทเครือ ่ งจะทอนเงินให ้อัตโนมัตแ ิ ละจึงจะกดเลือก
น้ ำได ้
3. ถ ้ำใสเ่ งินครบ 3 บำทเลือกกดน้ ำเปล่ำได ้
ถ ้ำใสเ่ งินครบ 5 บำทเลือกกดน้ ำเปล่ำได ้แต่จะมีเงินเหลือในแมชชน ี
2 บำทและสำมำรถใสเ่ งินเพิม ่ เพือ ื้ เครือ
่ ซอ ่ งดืม
่ อืน
่ ได ้อีก
ถ ้ำใสเ่ งินครบ 5 บำทเลือกกดน้ ำมะนำวหรือน้ ำผึง้ ได ้
4. ทุกขัน ้ ตอนสำมำรถกดยกเลิกได ้ (C-cancle) และจะได ้รับเงินคืน
ตำมจำนวนทีค ่ ้ำงในระบบ และเครือ ่ งจะกลับไปยังสถำนะเริม ่ ต ้น
5. ทุกขัน ้ ตอนลูกค ้ำสำมำรถกดปุ่ มอินพุตใดๆ ก็ได ้ แต่ถ ้ำเป็ นอินพุตที่
ไม่ถก ู ต ้องเครือ่ งจะไม่แสดงผลลัพธ์ (แทนสถำนะนีด ้ ้วย N-nothing) 25
ิ ค้าต่างก ัน
Machine แบบที่ 2 : ราคาสน
EX. สร ้ำงเมียรีแมชชน ี เพือ
่ ขำยเครือ
่ งดืม
่ 3 ประเภทคือ
- น้ ำมะนำว (le) และน้ ำผึง้ (ho) ขวดละ 5 บำท
- น้ ำเปล่ำ (wt) 3 บำท
- เหรียญทีใ่ ชซ้ อ
ื้ ได ้คือ เหรียญ 1 บำทและ 2 บำท
องค์ประกอบของ Mealy machine
1. Q = { ?? }
2. 2.  = {le,ho,wt,1,2,??}

3. 3.  = { ?? }

4. ภำพเมียรีแมชชน

26
ิ ค้าต่างก ันมีเงินเหลือ
Machine แบบที่ 2 : ราคาสน
EX. สร ้ำงเมียรีแมชชน ี เพือ
่ ขำยเครือ
่ งดืม
่ 3 ประเภทคือ
- น้ ำมะนำว (le) และน้ ำผึง้ (ho) ขวดละ 5 บำท
- น้ ำเปล่ำ (wt) 3 บำท
- เหรียญทีใ่ ชซ้ อ
ื้ ได ้คือ เหรียญ 1 บำทและ 2 บำท

27
Mealy Machine : เครือ
่ งขายเครือ
่ งดืม

ต้องมาเรียนนะคะ
สอนในห้อง
และออกข้อสอบ

28

You might also like