turing machine

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

Upload: nutthanee-mitnoy

Post on 26-Jun-2015

278 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)