Weitere ähnliche Inhalte
Ähnlich wie งานคอมพิวเตอร์.Ppt (1)
Ähnlich wie งานคอมพิวเตอร์.Ppt (1) (20)
งานคอมพิวเตอร์.Ppt (1)
- 2. แอลัน แมธิสัน ทัวริง (Alan Mathison Turing)
• แอลัน แมธิสัน ทัวริง (Alan Mathison Turing)
เป็นนักคณิตศาสตร์, นักตรรกศาสตร์, นักรหัสวิทยา และวีรบุรษสงคราม
ุ
ชาวอังกฤษ และเป็นทียอมรับว่าเป็นบิดาของวิทยาการคอมพิวเตอร์
่
เขาได้สร้างรูปแบบที่เป็นทางการทางคณิตศาสตร์ของการระบุ
อัลกอริทึมและการคานวณ โดยใช้เครืองจักรทัวริง
่
ซึงตามข้อปัญหาเชิรช-ทัวริงได้กล่าวว่าเป็นรูปแบบของเครืองจักร
่ ์ ่
คานวณเชิงกลที่ครอบคลุมทุกๆ รูปแบบที่เป็นไปได้ในทางปฏิบติ ในระหว่างสงครามโลก
ั
ครังทีสอง ทัวริงมีสวนสาคัญในการแกะรหัสลับของฝ่ายเยอรมัน โดยเขาเป็นหัวหน้าของ
้ ่ ่
กลุ่ม Hut 8 ที่ทาหน้าที่ในการแกะรหัสของเครืองอีนิกมาที่ใช้ในฝ่ายทหารเรือ
่
หลังจากสงครามเขาได้ออกแบบเครืองคอมพิวเตอร์อเิ ล็กทรอนิกส์ที่สามารถ
่
โปรแกรมได้เครืองแรกๆ ของโลกที่หองปฏิบัตการฟิสกส์แห่งชาติ และได้สร้างเครือง
่ ้ ิ ิ ่
คอมพิวเตอร์ขึ้นจริงๆ ทีมหาวิทยาลัยแมนเชสเตอร์ รางวัลทัวริงถูกก่อตั้งขึ้นเพือยกย่อง
่ ่
เขาในเรืองนี้
่
- 3. เครื่องจักรทัวริง (the Turing machine)
• เครืองจักรทัวริง (the Turing machine) คือเครื่องจักรนามธรรมที่แอลัน
่
ทัวริงได้คิดค้นขึ้นใน ค.ศ. 1936 (พ.ศ. 2479) เพื่อการนิยามอัลกอริทึม
หรือ 'กระบวนการเชิงกล' อย่างชัดเจนแบบคณิตศาสตร์ เครื่องจักรทัวริงได้
ถูกใช้อย่างแพร่หลายในการศึกษาวิทยาการคอมพิวเตอร์เชิงทฤษฎี
โดยเฉพาะในทฤษฎีความซับซ้อนในการคานวณและทฤษฎีการคานวณ
ข้อปัญหา (thesis) ที่ว่าโมเดลของเครื่องจักรทัวริงนั้นครอบคลุม
กระบวนการเชิงกลทั้งหมด ในการคานวณทางตรรกศาสตร์และคณิตศาสตร์
เป็นที่รู้จักกันในชื่อข้อปัญหาของเชิร์ช-ทัวริง
- 4. แนวคิดของเครื่องจักรทัวริง
แนวคิดของเครืองจักรทัวริง
่
นั้นต้องการจะอธิบายการทางานของคนที่ปฏิบัติตามขั้นตอน
ที่ระบุไว้อย่างชัดเจน เพื่อแก้ไขข้อมูลที่ถูกบันทึกไว้ในกระดาษ
ที่เรียงต่อกันความยาวไม่จากัด โดยที่กระดาษแผ่นหนึ่งจะ
สามารถเก็บสัญลักษณ์ได้หนึ่งตัวจากสัญลักษณ์ที่เป็นไปได้
จานวนจากัด ผู้ปฏิบัติงานนั้นจะต้องจดจาสถานะหนึ่งจาก
สถานะที่เป็นไปได้ที่มีจานวนจากัด และขั้นตอนที่ระบุให้เขา
ทางานนั้นจะอยู่ในลักษณะเช่น "ถ้าสถานะของคุณคือ 42
และสัญลักษณ์บนกระดาษที่คุณเห็นคือ '0', ให้เปลี่ยน
สัญลักษณ์นี้เป็น '1', จดจาว่าสถานะใหม่เป็น 17 และไป
ทางานต่อกับกระดาษแผ่นถัดไป"
เครื่องจักรทัวริงนั้นไม่เกี่ยวข้องกับการทดสอบของทัวริง ซึ่ง
ถูกใช้เพื่ออธิบายความหมายของปัญญาประดิษฐ์โดยทัวริง
- 5. เครื่องจักรทัวริงสากล
เครื่องจักรทัวริงที่สามารถจาลองการทางานของ
เครื่องจักรทัวริงเครื่องใด ๆ ก็ได้เรียกว่า เครืองจักรทัวริง
่
สากล (universal Turing machine) หรือเรียกสั้นๆ ว่า
เครืองจักรสากล ทัวริงอธิบายไว้ใน ค.ศ. 1947 (พ.ศ.
่
2490) ว่า
........สามารถแสดงได้ว่ามีเครื่องจักรพิเศษในรูปแบบนี้ ที่
สามารถทางานของเครื่องจักรอื่น ๆ ในรูปแบบดังกล่าวได้
ทั้งหมด นอกจากนี้เครื่องจักรนี้ยังสามารถใช้เป็นโมเดล
สาหรับเครื่องจักรในแบบอื่น ๆ เครื่องจักรพิเศษนี้สามารถ
เรียกได้ว่าเป็นเครื่องจักรสากล ........
- 6. วิธีใช้งานโปรแกรม
• วิธีใช้งานโปรแกรม
1. เปิดโปรแกรม Visual Turing ขึ้นมา โปรแกมจะสร้างโปรเจคเอาไว้ให้ ดังในรูปที่ 7 หรือ
หากต้องการสร้างโปรเจคใหม่ให้กดที่ New button หรือ File/New หรือ Ctrl+N
- 7. • 2. การสร้าง machine ใหม่ ให้กดที่ Insert machine button
หรือ คลิกขวาที่ tree view ด้านซ้ายมือ เลือก Insert machine จากนัน
้
เปลี่ยนชื่อ machine ที่หน้าต่าง properties
- 8. 3. การสร้าง Symbol ใหม่ ให้กดที่ Insert symbol button หรือ คลิกขวาที่ tree view ด้าน
ซ้ายมือ เลือก Insert symbol
4. การสร้าง Symbol ใหม่ ให้กดที่ Insert variable button หรือ คลิกขวาที่ tree view ด้าน
ซ้ายมือ เลือก Insert variable
5. การที่ Machine จะทางานได้ ต้องเกิดจากการนาเอาคาสั่งแต่ละคาสั่งมาประกอบกันให้เป็น
machine โดยกดที่ Insert instruction button ซึ่งประกอบด้วยคาสั่ง nothing, move left, move
right และคาสั่ง write นอกจากนี้ยังมี Insert branch button ไว้สาหรับสร้างเส้นทางหรือสาขาออกไป
, Insert arrow button สาหรับสร้างลูกศรเส้นทาง และ Insert self-arrow สาหรับสร้างลูกศร
เส้นทางให้เดินวน
- 9. 6. การกาหนด Condition ของ arrow ทาได้โดยดับเบิ้ลคลิกหรือคลิกขวาเลือก
properties ที่วงกลมบน arrow
7. การสร้างและแก้ไขเทป ทาได้โดยคลิกขวาบนเทป เลือก Symbols ที่ต้องการ
นอกจากนี้ยังสามารถสร้างเทปใหม่และบันทึกเทปที่สร้างไว้ก็ได้โดยการกดที่ New tape
button หรือไปที่ menu bar เลือก Tape/New tape เพื่อสร้างเทปใหม่ และกดที่
Save tape button หรือไปที่ menu bar เลือก Tape/Save tape เพื่อบันทึกเทป
- 10. 8. การกาหนดหัวอ่านเทป ทาได้โดยคลิกขวาบนเทปที่ต้องการ เลือก Set head
Enter
9. การรันโปรแกรม สามารถทาได้โดยไปที่ Playerbar กด Play button หรือ ไป
ที่ menu bar เลือก Run/Play, กด Pause เพื่อหยุดชั่วคราว, กด Stop เพื่อ
หยุดการทางาน, กด Step back เพื่อย้อนกลับ 1 step, กด Step into เพื่อ
เดินหน้า 1 step, กด Step out เพื่อเดินหน้าแบบก้าวกระโดด
10. การรันโปรแกรมนั้นสามารถปรับความเร็วในการรัน Machine ได้ 5 ระดับ
โดยคลิกที่ Speed menu button แล้วเลือกระดับความเร็ว
11. การลบ Machine, symbol, variable ทาได้โดยคลิกขวาที่ machine,
symbol หรือ variable ที่ต้องการลบ ที่ tree view ด้านซ้ายมือ เลือก
Delete และการลบคาสั่งแต่ละตาสั่งทาได้โดยเลือกคาสั่งที่ต้องการลบ แล้วกด
Delete button หรือ คลิกขวาที่ตัวคาสั่งนั้น เลือก Delete
- 11. โปรแกรม Visual Turing
• โปรแกรม Visual Turing
Visual Turing เป็นเครื่องมือที่ใช้ออกแบบและสร้าง
Turing machine โดยนาเสนอในรูปแบบของภาพ graphic
สามารถ cut, copy, paste และ undo ได้ สามารถรัน
machine ที่สร้างขึ้น และทาการ debug breakpoints
รวมถึงสามารถมองเห็นลาดับการทางานของ machine ในแต่
ละขันตอนได้อย่างชัดเจน
้
- 14. จุดเด่นของโปรแกรม
1. นาเสนอในรูปแบบของภาพ graphic
2. มีความยืดหยุ่น สามารถออกแบบและสร้าง Machine ได้ตามที่เราต้องการ
3. สามารถมองเห็นลาดับการทางานและเส้นทางการเดินไปยังแต่ละโหนด ทาให้เข้าใจ
หลักการทางาน
4. Turing machine กับ หัวอ่านบนเทป ทางานสัมพันธ์กัน ทาให้สามารถทาความ
เข้าใจได้ง่าย
5. ประหยัดทรัพยากรและหน่วยความจาของเครือง ่
6. มีความสะดวกในการติดตั้งโปรแกรม เนื่องจากตัว
ติดตั้งเป็นไฟล์นามสกุล .exe
7. มีความรวดเร็วในการ execute โปรแกรม
- 15. จุดด้อยของโปรแกรม
1. มีข้อจากัดเรื่องข้อมูล input และ output
2. การใช้งานค้อนข้างยาก ต้องใช้เวลาในการเรียนรู้ใหม่ เนื่องจาก
การเขียน Turing machine ใน Visual Turing ไม่เหมือนกับการ
เขียนแบบมาตรฐานสากล
3. เทปมีความยาวจากัด
4. ไม่สามารถเปิดไฟล์ได้ครั้งละหลายๆไฟล์ เปิดได้ครั้งละไฟล์เดียว
- 16. โปรแกรม Turing Machine Simulator
เป็นโปรแกรมบนเวบไซต์(http://ironphoenix.org/tril/tm/) ที่
พัฒนาด้วยภาษาจาวา (Java Applet) ใช้จาลองตัวแบบการคานวณ Turing
Machine โดยผู้ใช้สามารถสร้างแบบจาลองของ Turing Machine ในรูปแบบ
ของรหัสสัญลักษณ์ และ input เทปเพื่อทดสอบตัวแบบได้ นอกจากนี้ยังมีตัวอย่าง
ของ Turing Machine เพื่อเป็นแนวทางในการศึกษาและเรียนรู้อีกด้วย
- 17. จากรูป เป็น Turing Machine สาหรับการลบเลข (Subtractor) ที่ประกอบด้วยเลข
1เพียงอย่างเดียวและผลลัพธ์ต้องไม่เป็นลบ สามารถอธิบาย รหัสสัญลักษณ์ที่ใช้แทน
Transition diagram ของ Turing Machineได้ดังนี้
1,_ 1,_,> หมายถึง เมื่ออยู่ที่ state1 ถ้าหัวอ่านread Null ให้เขียน Null แล้วขยับ
หัวอ่านไปทางขวา และไปstate1
1,1 1,1,> หมายถึง เมื่ออยู่ที่ state1 ถ้าหัวอ่าน read 1 ให้เขียน 1 แล้วขยับหัวอ่านไป
ทางขวา และไป state1
- 18. 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
- 19. จุดเด่นของโปรแกรม
1. เป็นโปรแกรมบนเวบไซต์จึงง่ายต่อการเผยแพร่
2. มีตัวอย่าง Turing Machine เพื่อแนวทางในการศึกษา
3. มีความสามารถในการสร้าง Turing Machine โดยการใช้รหัสสัญลักษณ์และ
สามารถinput เทปเพื่อการตรวจสอบ Outputได้
4. สามารถ input เทปที่มีความยาวได้ถึง 15,000 ตัวอักษร
5. แสดงข้นตอนการหา output ทั้งแบบ step และ แบบ compute
6. ลักษณะของรหัสสัญลักษณ์ที่ใช้เข้าใจ
ง่ายและเป็นไปตามรูปแบบมาตรฐานสากล
7. พัฒนาด้วยภาษาจาวา(Java Applet)
จึงทาให้โปรแกรมสามารถใช้งานได้บนทุกๆระบบปฏิบัติการ
- 20. จุดด้อยของโปรแกรม
1. แม้จะแสดงขั้นตอนการหา output แต่ก็ขาดส่วนที่เป็น Transition
diagram ทาให้ผู้ใช้อาจเกิดปัญหาในการจินตนาการภาพของการไหลเวียนของ state
2. ไม่สามารถทาการบันทึก Turing machine ที่ผู้ใช้สร้างขึ้นเองไว้ในรูปแบบ
ของแฟ้มข้อมูลได้ เมื่อผู้ใช้ทาการปิดหน้าต่างเว็บไซต์ หรือ รีเฟรชหน้าจอ Machine ที่
สร้างไว้ก็จะหายไป
3. การสร้าง Turing Machine ด้วยรหัสสัญลักษณ์ ล่าช้ากว่ากว่าการสร้างด้วย
Transition diagram
4. ผู้ใช้จะต้องติดตั้ง Java Runtime เสียก่อน
จึงจะสามารถใช้งานโปรแกรมได้
5. สาหรับผู้ใช้ที่ไม่สามารถเชื่อมต่อเข้ากับระบบ
Internet ก็ไม่สามารถใช้งานโปรแกรมได้
- 21. อ้างอิง
• http://fuggingitup.blogspot.com
/2007/08/turing-machine.html
• http://www.atriumtech.com/cgi
-
bin/hilightcgi?Home=/home/Int
erWeb2000&File=/home2/sea
rchdata/Forums/http/www.pan
tip.com/cafe/wahkor/topicstoc
k/X1447152/X1447152.html
• http://202.28.94.55/web/320
491/2548/web1/g19/doc.html