turing machine

26
Turing machine จัดทาโดย นางสาวณัฐนีย์ มิตรน้อย ม.4/1 เลขที่12 เสนอ คุณครูณัฐพล บัวอุไร

Upload: nutthanee-mitnoy

Post on 26-Jun-2015

4.004 views

Category:

Documents


1 download

TRANSCRIPT

Page 1: Turing  machine

Turing machine

จดท าโดย นางสาวณฐนย มตรนอย ม.4/1 เลขท12

เสนอคณครณฐพล บวอไร

Page 2: Turing  machine

Turing machine

คอ เครองจกรนามธรรมท Alan Turing ไดคดคนขนใน ค.ศ. 1936 (พ.ศ. 2479) เพอการนยามอลกอรทมหรอ „กระบวนการเชงกล‟

อยางชดเจนแบบคณตศาสตร เครองจกรทวรงไดถกใชอยางแพรหลายในการศกษาวทยาการคอมพวเตอรเชงทฤษฎ โดยเฉพาะในทฤษฎความซบซอนในการค านวณและทฤษฎการค านวณ ขอปญหา (thesis) ทวาโมเดลของเครองจกรทวรงนนครอบคลมกระบวนการเชงกลทงหมด ในการค านวณทางตรรกศาสตรและคณตศาสตร เปนทรจกกนในชอขอปญหาของเชรช-ทวรง

Page 3: Turing  machine

แนวคดของเครองจกรทวรงนนตองการจะอธบายการท างานของคนทปฏบตตามขนตอนทระบไวอยางชดเจน เพอแกไขขอมลทถกบนทกไวในกระดาษทเรยงตอกนความยาวไมจ ากด โดยทกระดาษแผนหนงจะสามารถเกบสญลกษณไดหนงตวจากสญลกษณทเปนไปไดจ านวนจ ากด ผปฏบตงานนนจะตองจดจ าสถานะหนงจากสถานะทเปนไปไดทมจ านวนจ ากด และขนตอนทระบใหเขาท างานนนจะอยในลกษณะเชน "ถาสถานะของคณคอ 42 และสญลกษณบนกระดาษทคณเหนคอ '0', ใหเปลยนสญลกษณนเปน '1', จดจ าวาสถานะใหมเปน 17

และไปท างานตอกบกระดาษแผนถดไป"

Page 4: Turing  machine

เครองจกรทวรงนนไมเกยวของกบการทดสอบของทวรง ซงถกใชเพออธบายความหมายของปญญาประดษฐโดยทวรง

เครองจกรทวรงทสามารถจ าลองการท างานของเครองจกรทวรงเครองใด ๆ กไดเรยกวา เครองจกรทวรงสากล (universal

Turing machine) หรอเรยกสนๆ วา เครองจกรสากล ทวรงอธบายไวใน ค.ศ. 1947 (พ.ศ. 2490) วา

“สามารถแสดงไดวามเครองจกรพเศษในรปแบบนทสามารถท างานของเครองจกรอน ๆ ในรปแบบดงกลาวไดทงหมด นอกจากนเครองจกรนยงสามารถใชเปนโมเดลส าหรบเครองจกรในแบบอน ๆ เครองจกรพเศษนสามารถเรยกไดวาเปนเครองจกรสากล”

Page 5: Turing  machine

เครองจกรทวรงนนไมยงยาก ท างานเปนเหมอนเครองอานมวนกระดาษยาวๆ (หรอเทป) ลองคดดวาเรามกระดาษเกบขอมลยาวๆ ไมสนสด บนกระดาษจะบนทกเลขสองตวคอ ศนยและหนง เชน ...0011011000100... ทวรงแมชชนมหวอานคาในกระดาษน ทบอกวาตอนนก าลงอานเลขตวไหนอยตรงไหน และรวาตอนนอยในสถานะใด(ทวรงแมชชนมไดหลายสถานะ แลวแตขอมลทก าลงอานอย) วธท าทแนบมาดวยสามารถสงใหทวรงแมชชนท างานไดสประการตอไปน

1. อานเลขตวตดกนทางซาย (เปลยนต าแหนงปจจบน)2. อานเลขตวตดกนทางขวา (เปลยนต าแหนงปจจบน)3. แกคาปจจบนทอานอย เชนจาก 0 เปน 1 หรอจาก 1 เปน 0

(เปลยนคาบนกระดาษ)4. เปลยนสถานะ

Page 6: Turing  machine

รปดานบนเปนการใชเครองจกรทวรงตรวจสอบค าวาใช "aabb" หรอไม ไมนาเชอทวาแคสงใหเครองจกรทวรงเคลอนไหวไปๆ มาๆ ลบคาบาง เปลยนสถานะบาง จะท าใหเครองนมความสามารถมากมาย วธท าทแนบมาเปนตวควบคมการท างานของทวรง ถาเราแนบค าสงใหทวรงอานเลขตวตดกนทางขวาไปเรอยๆ ทวรงกจะไมมประโยชนอะไรนก แตถาเราเขยนค าสงทซบซอนขน เครองจกรทวรงกสามารถเลนหมากรกกบเราได อลน ทวรงถงกบบอกวาเครองจกรทวรงสามารถจ าลองระบบความคดของมนษยได และนคอเครองมอมหศจรรยทอลน ทวรงคดคน

Page 7: Turing  machine

โปรแกรม Turing Machine Simulator

เปนโปรแกรมบนเวบไซต(http://ironphoenix.org/tril/tm/) ทพฒนาดวยภาษาจาวา (Java Applet) ใชจ าลองตวแบบการค านวณ Turing Machine โดยผใชสามารถสรางแบบจ าลองของ Turing Machine

ในรปแบบของรหสสญลกษณ และ input เทปเพอทดสอบตวแบบได นอกจากนยงมตวอยางของ Turing Machine เพอเปนแนวทางในการศกษาและเรยนร

Page 8: Turing  machine

แสดงรหสสญลกษณทใชแทน Transition diagram ของ Turing Machine

และแสดงเทปท input เขามา

Page 9: Turing  machine

แสดงรหสสญลกษณทใชแทน Transition diagram ของ Turing

Machine และแสดงเทปท input เขามา เปน Turing Machine ส าหรบการลบเลข (Sub tractor) ท

ประกอบดวยเลข1เพยงอยางเดยวและผลลพธตองไมเปนลบ สามารถอธบายรหสสญลกษณทใชแทน Transition diagram ของ Turing

Machineไดดงน 1,_ 1,_,> หมายถง เมออยท state1 ถาหวอานread Null ให

เขยน Null แลวขยบหวอานไปทางขวา และไปstate1

1,1 1,1,> หมายถง เมออยท state1 ถาหวอาน read 1 ใหเขยน 1

แลวขยบหวอานไปทางขวา และไป state1 1,-

Page 10: Turing  machine

1,-,> หมายถง เมออยท state1 ถาหวอาน read - ใหเขยน - แลวขยบหวอานไปทางขวา และไป state1 1,=

2,_,< หมายถง เมออยท state1 ถาหวอาน read = ใหเขยน Null

แลวขยบหวอานไปทางซาย และไป state2

2,1 3,=,< หมายถง เมออยท state2 ถาหวอาน read 1 ใหเขยน = แลวขยบหวอานไปทางซาย และไป state3

2,- H,_,< หมายถง เมออยท state2 ถาหวอาน read - ใหเขยน Null แลวขยบหวอานไปทางซาย และไป state

H (Halt state) 3,1 3,1,< หมายถง เมออยท state3 ถาหวอาน read

1 ใหเขยน 1 แลวขยบหวอานไปทางซาย

Page 11: Turing  machine

และไป state3 3,- 4,-,< หมายถง เมออยท state3 ถาหวอาน read

- ใหเขยน - แลวขยบหวอานไปทางซาย และไป state4 4,_ 4,_,< หมายถง เมออยท state4 ถาหวอาน

read Null ใหเขยน Null แลวขยบหวอานไปทางซาย และไป state4 4,1 1,_,> หมายถง เมออยท state4 ถาหวอาน

read 1 ใหเขยน Null แลวขยบหวอานไปทางขวา และไป state1

Page 12: Turing  machine

โปรแกรม Visual Turing Visual Turing เปนเครองมอทใชออกแบบและสราง Turing machine โดยน าเสนอใน รปแบบของภาพgraphic สามารถ cut, copy, paste และ undo ได สามารถรน machine

ท สรางขน และท าการ debug breakpoints รวมถงสามารถมองเหนล าดบการท างานของ machine ในแตละขนตอนไดอยางชดเจน

Page 13: Turing  machine

จดดอยของโปรแกรม1. แมจะแสดงขนตอนการหา output แตกขาดสวนทเปน Transition

diagram ทาใหผใชอาจเกด ปญหาในการจนตนาการภาพของการไหลเวยนของ state

2. ไมสามารถทาการบนทก Turing machine ทผใชสรางขนเองไวในรปแบบของแฟมขอมลได เมอ ผใชทาการปดหนาตางเวบไซต หรอ รเฟรชหนาจอ Machine ทสรางไวกจะหายไป

3. การสราง Turing Machine ดวยรหสสญลกษณ ลาชากวากวาการสรางดวย Transition diagram

4. ผใชจะตองตดตง Java Runtime เสยกอน จงจะสามารถใชงานโปรแกรมได

5. สาหรบผใชทไมสามารถเชอมตอเขากบระบบ Internet กไมสามารถใชงานโปรแกรมได

Page 14: Turing  machine

จดเดนของโปรแกรม

1. เปนโปรแกรมบนเวบไซตจงงายตอการเผยแพร2. มตวอยาง Turing Machine เพอแนวทางในการศกษา 3. มความสามารถในการสราง Turing Machine โดยการใชรหส

สญลกษณและสามารถinput เทป เพอการตรวจสอบ Outputได4. สามารถ input เทปทมความยาวไดถง 15,000 ตวอกษร 5. แสดงขนตอนการหา output ทงแบบ step และ แบบ compute

6. ลกษณะของรหสสญลกษณทใชเขาใจงายและเปนไปตามรปแบบมาตรฐานสากล

7. พฒนาดวยภาษาจาวา(Java Applet) จงทาใหโปรแกรมสามารถใชงานไดบนทกๆ ระบบปฏบตการ

Page 15: Turing  machine

วธการศกษา

1. การศกษามงเนนไปทการเปรยบเทยบความสามารถในการใชงาน จดเดน จดดอย ของโปรแกรม Visual Turing กบโปรแกรมตวอยางอนๆทเกยวของกบตวแบบทฤษฎการค านวณ โดยมงเนนตวแบบดงตอไปนคอ Finite Automata, Pushdown Automata และ Turing Machine

2. คนหาเอกสาร บทความ และหนงสอทเกยวของกบ Turing

machine และทฤษฎการค านวณ3. คนหาบทความและโปรแกรมหรอ demo ทเกยวของกบ Turing

machine และทฤษฎการค านวณบน web site ทงภายในประเทศและตางประเทศ

Page 16: Turing  machine

4. ตดตงโปรแกรม Visual Turing และ plug in ตางๆ เพอน ามาศกษาการใชงานและลกษณะการท างาน

5. รวบรวม demo และโปรแกรมตวอยาง ของ Finite Automata,

Pushdown Automata และ Turing Machine เพอน ามาเปรยบเทยบความสามารถในการใชงาน จดเดน และจดดอยของตวแบบแตละตว

6. วเคราะหการท างานและเปรยบเทยบความสามารถในการใชงาน จดเดน และจดดอยของตวแบบแตละตว

Page 17: Turing  machine

ผลการศกษาและวจารณ

Finite Automata ตวแบบทน ามาวเคราะหไดแก โปรแกรมแบบทดสอบOnline

จดเดนของโปรแกรม Finite Automata

1. เปนขอสอบแบบ Online งายตอการเผยแพรความร2. การใชงานโปรแกรมไมยงยากซบซอน3. สามารถเปรยบเทยบความแตกตางระหวาง Deterministic Finite

Automata และ Nondeterministic Finite Automata ไดอยางชดเจน ดวย Transition diagram

Page 18: Turing  machine

วตถประสงคและเปาหมาย

1. เพอศกษาความเปนไปไดในการพฒนาโปรแกรมสอการเรยนการสอนวชาทฤษฎการค านวณ Online

2. เปรยบเทยบความสามารถในการใชงาน จดเดน จดดอย ของโปรแกรมVisual Turing กบโปรแกรมตวอยางอนๆทเกยวของกบตวแบบทฤษฎการค านวณ โดยมงเนนตวแบบดงตอไปนคอ Finite

Automata, Pushdown Automata และ Turing Machine

Page 19: Turing  machine

ขอสรปโปรแกรม Visual Turing มจดเดนในเรองการสรางการจ าลอง

Transition diagramของตวแบบ Turing Machine โดยแสดงเปนแผนภาพแสดงการไหลเวยนของ State อยางชดเจน แตรปแบบของ Transition diagramไมไดอยในรปมาตรฐาน และโปรแกรม Turing

Machine Simulator มจดเดนในเรองการน าเสนอบนเวบไซต และรปแบบของรหสสญลกษณทใชสามารถแทนดวย Transition diagram

ในรปแบบมาตรฐานได แตมจดดอยคอขาดแผนภาพ Transition

diagram เพอแสดงการไหลเวยนของ state ถาน าเอาจดเดนของแตละโปรแกรมมาผสมผสานกน และลบลางจดดอยแตละโปรแกรมออกไป กจะไดโปรแกรมในการจ าลองตวแบบการค านวณทสมบรณแบบ

Page 20: Turing  machine

ประวตผคดคน Turing Machine

Alan Turing ผคดคน Turing Machine

Page 21: Turing  machine

ผทคดคน Turing Machine คอ Alan Turing เปนนกคณตศาสตรชาวองกฤษ เกดป 1912 ทลอนดอน อยกบพชาย แตพอแมไปท างานทอนเดย

อลน ทวรง เกดในลอนดอน ป 1912 บดาท างานเปนขาราชการองกฤษทตองประจ าในอนเดย ซงเปนสถานททมารดาของเขาเหนวาไมเหมาะสมทจะเปนสภาพแวดลอมของลก ดงนนชวตในวยเดกของทวรงจงเตบโตในองกฤษในบานเลยงเดก โดยทพอแมมาเยยมเปนครงคราว คาดกนวาความเดยวดายในวยเดกน ท าใหทวรงตดใจการท างานของจตใจมนษยเปนพเศษ

Page 22: Turing  machine

เมออายสบสามป ทวรงเขาโรงเรยน Sherbourne ใน Dorset ในสมยมธยม ทวรงสนทและนบถอรนพคนหนง ชอ ครสโตเฟอร มอรคอม (Christopher Morcom) ซงเสยชวตในเวลาตอมาอยางกะทนหนดวยวณโรค ความสญเสยนท าใหทวรงหมดสนศรทธาในศาสนาและพระเปนเจา และเชอวาทกสงทเกดขนจะตองมค าอธบายทเหนและจบตองไดจรง ทวรงตงค าถามวาจตใจคนเราท างานอยางไร จตของเพอนคนนนจะเปนอยางไรเมอรางกายจากไปแลว เขาเชอวาในเครองจกรกลและสมองของมนษยนนไมมจตวญญาณอยจรง แตสงสยวาความคด และความมสตสมปชญญะเกดไดอยางไร

Page 23: Turing  machine

อลน ทวรงเขาเรยนท King's College ในเคมบรดจ เมอเรยนจบไดไมนานกเผยแพรผลงานเครองจกรทวรง ชวงนนเปนชวงของสงครามโลกครงทสอง จากผลงานของทวรงทปรากฎท าใหรฐบาลเรยกตวเขาไปรวมงานชนส าคญ ในตอนนน รฐบาลองกฤษรวบรวมนกคณตศาสตร แชมเปยนหมากรก นกภาษา นกวเคราะหอกขระอยปต และใครกตามทมผลงานเกยวกบหลกตรรกศาสตร เพอพยายามถอดรหสของเครองเอนกมา (Enigma) ซงเปนรหสลบทนาซใชตดตอสอสารในชวงสงคราม งานนเปนความลบระดบชาต หลงจากทวรงเสยชวตไปแลว สาธารณชนจงไดรบรวาทวรงมสวนในการออกแบบเครองมอทใชแกะนาซโคดทสงไปท U-boats ในแอตแลนตกเหนอ และมสวนชวยใหแกะรหสนส าเรจในเวลาตอมา

Page 24: Turing  machine

ทวรงกลบมาทเคมบรดจหลงสงครามเลก และยงสนใจเรองเครองจกรกลทสามารถคดเองได เขาเสนอความคดวาเครองกลหนงๆ สามารถจะเรยนรและแกค าสงทแนบมาเองได ทวรงยงคดคนการทดสอบแบบทวรง (Turing test) ทโดงดงซงเปนการวดวาเครองมอหนงๆ จะมความฉลาดทดเทยมมนษยไดหรอไม โดยวดจากการน าคนหนงไปนงในหองปด และถามค าถามเดยวกนกบคน และกบเครอง (แตมองไมเหนวาใครตอบ) ถาผถามไมสามารถแยกแยะไดวาค าตอบใดมาจากเครอง ค าตอบใดมาจากคน นนยอมแปลวาเครองกลนนฉลาดทดเทยมมนษย

Page 25: Turing  machine

ผลงานของ Alan Turing

-การคดโมเดลทสามารถท างานไดเทยบเทากบคอมพวเตอร (แตอาจมความเรวต ากวา) โดยใชค าสงพนฐานงายๆ คอ เดนหนา ถอยหลง เขยน ลบ เทานนเอง -ทฤษฎความสามารถค านวณไดของคอมพวเตอร (Computability)

-การทดสอบความฉลาดของคอมพวเตอร (Turing test) --เครองจกรทวรง (universal Turing machine)

Page 26: Turing  machine

เอกสารอางอง

1.http://www.il.mahidol.ac.th/e-media/computer/evolution/Pioneers_Turing.htm

2.http://202.28.94.55/web/320491/2548/web1/g19/doc.html

3.http://th.wikipedia.org/wiki/%E0%B9%80%E0%B8%84%E0%B8%A3%E0%B8%B7%E0%B9%88%E0

%B8%AD%E0%B8%87%E0%B8%88%E0%B8%B1%E0%B8%81%E0%B8%A3%E0%B8%97%E0%B8%B1

%E0%B8%A7%E0%B8%A3%E0%B8%B4%E0%B8%87

4. http://fuggingitup.blogspot.com/2007/08/turing-machine.html

5. http://plato.stanford.edu/entries/turing-machine/

6.http://cs01.cs.psu.ac.th/Instool/File/8/551-01TuringMachine.doc

7.http://www.vcharkarn.com/vcafe/10409