Turing machine

Post on 26-Jun-2015

278 views 1 download

Transcript of Turing machine

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)