More Related Content
Similar to Turing machine2
Similar to Turing machine2 (20)
Turing machine2
- 1. T u r i n g m a c h i n e จัดทำโดย นางสาวมนัชญา สดวกดี นักเรียนชั้นมัธยมศึกษาปีที่ 4/3 เลขที่ 35 อาจารย์ผู้สอน อาจารย์ ณัฐพล บัวอุไร
- 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
- 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 ดังรูปที่ 10 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 เป็นเครื่องมือที่ใช้ออกแบบและสร้าง Turing machine โดยนำเสนอในรูปแบบของภาพ graphic สามารถ cut , copy , paste และ undo ได้สามารถรัน machine ที่สร้างขึ้น และทำการ debug breakpoints รวมถึงสามารถมองเห็นลำดับการทำงานของ machine ในแต่ละขั้นตอนได้อย่างชัดเจน
- 12. เปรียบเทียบ Transition Diagram แบบ Visual Turing กับ แบบมาตรฐาน แสดง Main Machine ของ Copy String แสดง Left # Machine แสดง Right # Machine
- 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 :// th . wikipedia . org / wiki /เครื่องจักรทัวริง http :// 202.28.94.55 / web / 320491/2548 / web1 / g19 / doc . html http :// www . atriumtech . com / cgi - bin / hilightcgi?Home =/ home / InterWeb2000&File =/ home2 / searchdata / Forums / http / www . pantip . com / cafe / wahkor / topicstock / X1447152 / X1447152 . html