Upload
nutthanee-mitnoy
View
3.996
Download
1
Tags:
Embed Size (px)
Citation preview
Turing machine
จดท าโดย นางสาวณฐนย มตรนอย ม.4/1 เลขท12
เสนอคณครณฐพล บวอไร
Turing machine
คอ เครองจกรนามธรรมท Alan Turing ไดคดคนขนใน ค.ศ. 1936 (พ.ศ. 2479) เพอการนยามอลกอรทมหรอ „กระบวนการเชงกล‟
อยางชดเจนแบบคณตศาสตร เครองจกรทวรงไดถกใชอยางแพรหลายในการศกษาวทยาการคอมพวเตอรเชงทฤษฎ โดยเฉพาะในทฤษฎความซบซอนในการค านวณและทฤษฎการค านวณ ขอปญหา (thesis) ทวาโมเดลของเครองจกรทวรงนนครอบคลมกระบวนการเชงกลทงหมด ในการค านวณทางตรรกศาสตรและคณตศาสตร เปนทรจกกนในชอขอปญหาของเชรช-ทวรง
แนวคดของเครองจกรทวรงนนตองการจะอธบายการท างานของคนทปฏบตตามขนตอนทระบไวอยางชดเจน เพอแกไขขอมลทถกบนทกไวในกระดาษทเรยงตอกนความยาวไมจ ากด โดยทกระดาษแผนหนงจะสามารถเกบสญลกษณไดหนงตวจากสญลกษณทเปนไปไดจ านวนจ ากด ผปฏบตงานนนจะตองจดจ าสถานะหนงจากสถานะทเปนไปไดทมจ านวนจ ากด และขนตอนทระบใหเขาท างานนนจะอยในลกษณะเชน "ถาสถานะของคณคอ 42 และสญลกษณบนกระดาษทคณเหนคอ '0', ใหเปลยนสญลกษณนเปน '1', จดจ าวาสถานะใหมเปน 17
และไปท างานตอกบกระดาษแผนถดไป"
เครองจกรทวรงนนไมเกยวของกบการทดสอบของทวรง ซงถกใชเพออธบายความหมายของปญญาประดษฐโดยทวรง
เครองจกรทวรงทสามารถจ าลองการท างานของเครองจกรทวรงเครองใด ๆ กไดเรยกวา เครองจกรทวรงสากล (universal
Turing machine) หรอเรยกสนๆ วา เครองจกรสากล ทวรงอธบายไวใน ค.ศ. 1947 (พ.ศ. 2490) วา
“สามารถแสดงไดวามเครองจกรพเศษในรปแบบนทสามารถท างานของเครองจกรอน ๆ ในรปแบบดงกลาวไดทงหมด นอกจากนเครองจกรนยงสามารถใชเปนโมเดลส าหรบเครองจกรในแบบอน ๆ เครองจกรพเศษนสามารถเรยกไดวาเปนเครองจกรสากล”
เครองจกรทวรงนนไมยงยาก ท างานเปนเหมอนเครองอานมวนกระดาษยาวๆ (หรอเทป) ลองคดดวาเรามกระดาษเกบขอมลยาวๆ ไมสนสด บนกระดาษจะบนทกเลขสองตวคอ ศนยและหนง เชน ...0011011000100... ทวรงแมชชนมหวอานคาในกระดาษน ทบอกวาตอนนก าลงอานเลขตวไหนอยตรงไหน และรวาตอนนอยในสถานะใด(ทวรงแมชชนมไดหลายสถานะ แลวแตขอมลทก าลงอานอย) วธท าทแนบมาดวยสามารถสงใหทวรงแมชชนท างานไดสประการตอไปน
1. อานเลขตวตดกนทางซาย (เปลยนต าแหนงปจจบน)2. อานเลขตวตดกนทางขวา (เปลยนต าแหนงปจจบน)3. แกคาปจจบนทอานอย เชนจาก 0 เปน 1 หรอจาก 1 เปน 0
(เปลยนคาบนกระดาษ)4. เปลยนสถานะ
รปดานบนเปนการใชเครองจกรทวรงตรวจสอบค าวาใช "aabb" หรอไม ไมนาเชอทวาแคสงใหเครองจกรทวรงเคลอนไหวไปๆ มาๆ ลบคาบาง เปลยนสถานะบาง จะท าใหเครองนมความสามารถมากมาย วธท าทแนบมาเปนตวควบคมการท างานของทวรง ถาเราแนบค าสงใหทวรงอานเลขตวตดกนทางขวาไปเรอยๆ ทวรงกจะไมมประโยชนอะไรนก แตถาเราเขยนค าสงทซบซอนขน เครองจกรทวรงกสามารถเลนหมากรกกบเราได อลน ทวรงถงกบบอกวาเครองจกรทวรงสามารถจ าลองระบบความคดของมนษยได และนคอเครองมอมหศจรรยทอลน ทวรงคดคน
โปรแกรม Turing Machine Simulator
เปนโปรแกรมบนเวบไซต(http://ironphoenix.org/tril/tm/) ทพฒนาดวยภาษาจาวา (Java Applet) ใชจ าลองตวแบบการค านวณ Turing Machine โดยผใชสามารถสรางแบบจ าลองของ Turing Machine
ในรปแบบของรหสสญลกษณ และ input เทปเพอทดสอบตวแบบได นอกจากนยงมตวอยางของ Turing Machine เพอเปนแนวทางในการศกษาและเรยนร
แสดงรหสสญลกษณทใชแทน Transition diagram ของ Turing Machine
และแสดงเทปท input เขามา
แสดงรหสสญลกษณทใชแทน 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,-
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 แลวขยบหวอานไปทางซาย
และไป state3 3,- 4,-,< หมายถง เมออยท state3 ถาหวอาน read
- ใหเขยน - แลวขยบหวอานไปทางซาย และไป state4 4,_ 4,_,< หมายถง เมออยท state4 ถาหวอาน
read Null ใหเขยน Null แลวขยบหวอานไปทางซาย และไป state4 4,1 1,_,> หมายถง เมออยท state4 ถาหวอาน
read 1 ใหเขยน Null แลวขยบหวอานไปทางขวา และไป state1
โปรแกรม Visual Turing Visual Turing เปนเครองมอทใชออกแบบและสราง Turing machine โดยน าเสนอใน รปแบบของภาพgraphic สามารถ cut, copy, paste และ undo ได สามารถรน machine
ท สรางขน และท าการ debug breakpoints รวมถงสามารถมองเหนล าดบการท างานของ machine ในแตละขนตอนไดอยางชดเจน
จดดอยของโปรแกรม1. แมจะแสดงขนตอนการหา output แตกขาดสวนทเปน Transition
diagram ทาใหผใชอาจเกด ปญหาในการจนตนาการภาพของการไหลเวยนของ state
2. ไมสามารถทาการบนทก Turing machine ทผใชสรางขนเองไวในรปแบบของแฟมขอมลได เมอ ผใชทาการปดหนาตางเวบไซต หรอ รเฟรชหนาจอ Machine ทสรางไวกจะหายไป
3. การสราง Turing Machine ดวยรหสสญลกษณ ลาชากวากวาการสรางดวย Transition diagram
4. ผใชจะตองตดตง Java Runtime เสยกอน จงจะสามารถใชงานโปรแกรมได
5. สาหรบผใชทไมสามารถเชอมตอเขากบระบบ Internet กไมสามารถใชงานโปรแกรมได
จดเดนของโปรแกรม
1. เปนโปรแกรมบนเวบไซตจงงายตอการเผยแพร2. มตวอยาง Turing Machine เพอแนวทางในการศกษา 3. มความสามารถในการสราง Turing Machine โดยการใชรหส
สญลกษณและสามารถinput เทป เพอการตรวจสอบ Outputได4. สามารถ input เทปทมความยาวไดถง 15,000 ตวอกษร 5. แสดงขนตอนการหา output ทงแบบ step และ แบบ compute
6. ลกษณะของรหสสญลกษณทใชเขาใจงายและเปนไปตามรปแบบมาตรฐานสากล
7. พฒนาดวยภาษาจาวา(Java Applet) จงทาใหโปรแกรมสามารถใชงานไดบนทกๆ ระบบปฏบตการ
วธการศกษา
1. การศกษามงเนนไปทการเปรยบเทยบความสามารถในการใชงาน จดเดน จดดอย ของโปรแกรม Visual Turing กบโปรแกรมตวอยางอนๆทเกยวของกบตวแบบทฤษฎการค านวณ โดยมงเนนตวแบบดงตอไปนคอ Finite Automata, Pushdown Automata และ Turing Machine
2. คนหาเอกสาร บทความ และหนงสอทเกยวของกบ Turing
machine และทฤษฎการค านวณ3. คนหาบทความและโปรแกรมหรอ demo ทเกยวของกบ Turing
machine และทฤษฎการค านวณบน web site ทงภายในประเทศและตางประเทศ
4. ตดตงโปรแกรม Visual Turing และ plug in ตางๆ เพอน ามาศกษาการใชงานและลกษณะการท างาน
5. รวบรวม demo และโปรแกรมตวอยาง ของ Finite Automata,
Pushdown Automata และ Turing Machine เพอน ามาเปรยบเทยบความสามารถในการใชงาน จดเดน และจดดอยของตวแบบแตละตว
6. วเคราะหการท างานและเปรยบเทยบความสามารถในการใชงาน จดเดน และจดดอยของตวแบบแตละตว
ผลการศกษาและวจารณ
Finite Automata ตวแบบทน ามาวเคราะหไดแก โปรแกรมแบบทดสอบOnline
จดเดนของโปรแกรม Finite Automata
1. เปนขอสอบแบบ Online งายตอการเผยแพรความร2. การใชงานโปรแกรมไมยงยากซบซอน3. สามารถเปรยบเทยบความแตกตางระหวาง Deterministic Finite
Automata และ Nondeterministic Finite Automata ไดอยางชดเจน ดวย Transition diagram
วตถประสงคและเปาหมาย
1. เพอศกษาความเปนไปไดในการพฒนาโปรแกรมสอการเรยนการสอนวชาทฤษฎการค านวณ Online
2. เปรยบเทยบความสามารถในการใชงาน จดเดน จดดอย ของโปรแกรมVisual Turing กบโปรแกรมตวอยางอนๆทเกยวของกบตวแบบทฤษฎการค านวณ โดยมงเนนตวแบบดงตอไปนคอ Finite
Automata, Pushdown Automata และ Turing Machine
ขอสรปโปรแกรม Visual Turing มจดเดนในเรองการสรางการจ าลอง
Transition diagramของตวแบบ Turing Machine โดยแสดงเปนแผนภาพแสดงการไหลเวยนของ State อยางชดเจน แตรปแบบของ Transition diagramไมไดอยในรปมาตรฐาน และโปรแกรม Turing
Machine Simulator มจดเดนในเรองการน าเสนอบนเวบไซต และรปแบบของรหสสญลกษณทใชสามารถแทนดวย Transition diagram
ในรปแบบมาตรฐานได แตมจดดอยคอขาดแผนภาพ Transition
diagram เพอแสดงการไหลเวยนของ state ถาน าเอาจดเดนของแตละโปรแกรมมาผสมผสานกน และลบลางจดดอยแตละโปรแกรมออกไป กจะไดโปรแกรมในการจ าลองตวแบบการค านวณทสมบรณแบบ
ประวตผคดคน Turing Machine
Alan Turing ผคดคน Turing Machine
ผทคดคน Turing Machine คอ Alan Turing เปนนกคณตศาสตรชาวองกฤษ เกดป 1912 ทลอนดอน อยกบพชาย แตพอแมไปท างานทอนเดย
อลน ทวรง เกดในลอนดอน ป 1912 บดาท างานเปนขาราชการองกฤษทตองประจ าในอนเดย ซงเปนสถานททมารดาของเขาเหนวาไมเหมาะสมทจะเปนสภาพแวดลอมของลก ดงนนชวตในวยเดกของทวรงจงเตบโตในองกฤษในบานเลยงเดก โดยทพอแมมาเยยมเปนครงคราว คาดกนวาความเดยวดายในวยเดกน ท าใหทวรงตดใจการท างานของจตใจมนษยเปนพเศษ
เมออายสบสามป ทวรงเขาโรงเรยน Sherbourne ใน Dorset ในสมยมธยม ทวรงสนทและนบถอรนพคนหนง ชอ ครสโตเฟอร มอรคอม (Christopher Morcom) ซงเสยชวตในเวลาตอมาอยางกะทนหนดวยวณโรค ความสญเสยนท าใหทวรงหมดสนศรทธาในศาสนาและพระเปนเจา และเชอวาทกสงทเกดขนจะตองมค าอธบายทเหนและจบตองไดจรง ทวรงตงค าถามวาจตใจคนเราท างานอยางไร จตของเพอนคนนนจะเปนอยางไรเมอรางกายจากไปแลว เขาเชอวาในเครองจกรกลและสมองของมนษยนนไมมจตวญญาณอยจรง แตสงสยวาความคด และความมสตสมปชญญะเกดไดอยางไร
อลน ทวรงเขาเรยนท King's College ในเคมบรดจ เมอเรยนจบไดไมนานกเผยแพรผลงานเครองจกรทวรง ชวงนนเปนชวงของสงครามโลกครงทสอง จากผลงานของทวรงทปรากฎท าใหรฐบาลเรยกตวเขาไปรวมงานชนส าคญ ในตอนนน รฐบาลองกฤษรวบรวมนกคณตศาสตร แชมเปยนหมากรก นกภาษา นกวเคราะหอกขระอยปต และใครกตามทมผลงานเกยวกบหลกตรรกศาสตร เพอพยายามถอดรหสของเครองเอนกมา (Enigma) ซงเปนรหสลบทนาซใชตดตอสอสารในชวงสงคราม งานนเปนความลบระดบชาต หลงจากทวรงเสยชวตไปแลว สาธารณชนจงไดรบรวาทวรงมสวนในการออกแบบเครองมอทใชแกะนาซโคดทสงไปท U-boats ในแอตแลนตกเหนอ และมสวนชวยใหแกะรหสนส าเรจในเวลาตอมา
ทวรงกลบมาทเคมบรดจหลงสงครามเลก และยงสนใจเรองเครองจกรกลทสามารถคดเองได เขาเสนอความคดวาเครองกลหนงๆ สามารถจะเรยนรและแกค าสงทแนบมาเองได ทวรงยงคดคนการทดสอบแบบทวรง (Turing test) ทโดงดงซงเปนการวดวาเครองมอหนงๆ จะมความฉลาดทดเทยมมนษยไดหรอไม โดยวดจากการน าคนหนงไปนงในหองปด และถามค าถามเดยวกนกบคน และกบเครอง (แตมองไมเหนวาใครตอบ) ถาผถามไมสามารถแยกแยะไดวาค าตอบใดมาจากเครอง ค าตอบใดมาจากคน นนยอมแปลวาเครองกลนนฉลาดทดเทยมมนษย
ผลงานของ Alan Turing
-การคดโมเดลทสามารถท างานไดเทยบเทากบคอมพวเตอร (แตอาจมความเรวต ากวา) โดยใชค าสงพนฐานงายๆ คอ เดนหนา ถอยหลง เขยน ลบ เทานนเอง -ทฤษฎความสามารถค านวณไดของคอมพวเตอร (Computability)
-การทดสอบความฉลาดของคอมพวเตอร (Turing test) --เครองจกรทวรง (universal 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