T u r i n g   m a c h i n e   จัดทำโดย นางสาวมนัชญา สดวกดี นักเรียนชั้นมัธยมศึกษาปีที่  4/3  เลขที่  35 อาจารย์ผู้สอน อาจารย์ ณัฐพล บัวอุไร
แอลัน แมธิสัน ทัวริง  ( Alan Mathison Turing ) เป็นนักคณิตศาสตร์ ,  นักตรรกศาสตร์ ,  นักรหัสวิทยา และวีรบุรุษสงครามชาวอังกฤษ และเป็นที่ยอมรับว่าเป็นบิดาของวิทยาการคอมพิวเตอร์ เขาได้สร้างรูปแบบที่เป็นทางการทางคณิตศาสตร์ของการระบุอัลกอริทึมและการคำนวณ โดยใช้เครื่องจักทัวริง ซึ่งตามข้อปัญหาเชิร์ช - ทัวริงได้กล่าวว่าเป็นรูปแบบของเครื่องจักรคำนวณเชิงกลที่ครอบคลุมทุกๆ รูปแบบที่เป็นไปได้ในทางปฏิบัติ ในระหว่างสงครามโลกครั้งที่สอง ทัวริงมีส่วนสำคัญในการแกะรหัสลับของฝ่ายเยอรมัน โดยเขาเป็นหัวหน้าของกลุ่ม  Hut 8   ที่ทำหน้าที่ในการแกะรหัสของเครื่องอีนิกมาที่ใช้ในฝ่ายทหารเรือ หลังจากสงครามเขาได้ออกแบบเครื่องคอมพิวเตอร์อิเล็กทรอนิกส์ที่สามารถ โปรแกรมได้เครื่องแรกๆ ของโลกที่ห้องปฏิบัติการฟิสิกส์แห่งชาติ และได้สร้างเครื่องคอมพิวเตอร์ขึ้นจริงๆ ที่มหาวิทยาลัยแมนเชสเตอร์ รางวัลทัวริงถูกก่อตั้งขึ้นเพื่อยกย่องเขาในเรื่องนี้
เครื่องจักรทัวริง   Turing machine   เครื่องจักทัวริง  ( Turing machine ) คือเครื่องจักรนามธรรมที่แอลัน ทัวริง ได้คิดค้นขึ้นใน ค . ศ . 1936 (  พ . ศ .2479)  เพื่อการนิยามอัลกอริทึมหรือ  ‘ กระบวนการเชิงกล ’  อย่างชัดเจนแบบคณิตศาสตร์ เครื่องจักทัวริงได้ถูกใช้อย่างแพร่หลายในการศึกษาวิทยาการคิมพิวเตอร์เชิงทฤษฎี โดยเฉพาะในทฤษฎีความซับซ้อนในการคำนวณและทฤษฎีการคำนวณ ข้อปัญหา ( thesis )   ที่ว่าโมเดลของเครื่องจักรทัวริงนั้นครอบคลุมกระบวนการเชิงกลทั้งหมด ในการคำนวณทางตรรกศาสตร์และคณิตศาสตร์ เป็นที่รู้จักกันในชื่อข้อปัญหาของเชิร์ช - ทัว
แนวคิดของเครื่องจักรทัวริง   แนวคิดของเครื่องจักรทัวริงนั้นต้องการจะอธิบายการทำงานของคนที่ปฏิบัติ ตามขั้นตอนที่ระบุไว้อย่างชัดเจน เพื่อแก้ไขข้อมูลที่ถูกบันทึกไว้ในกระดาษที่เรียงต่อกันความยาวไม่จำกัด โดยที่กระดาษแผ่นหนึ่งจะสามารถเก็บสัญลักษณ์ได้หนึ่งตัวจากสัญลักษณ์ที่เป็น ไปได้จำนวนจำกัด ผู้ปฏิบัติงานนั้นจะต้องจดจำสถานะหนึ่งจากสถานะที่เป็นไปได้ที่มีจำนวนจำกัด และขั้นตอนที่ระบุให้เขาทำงานนั้นจะอยู่ในลักษณะเช่น  " ถ้าสถานะของคุณคือ   42   และสัญลักษณ์บนกระดาษที่คุณเห็นคือ  '0',   ให้เปลี่ยนสัญลักษณ์นี้เป็น   '1',   จดจำว่าสถานะใหม่เป็น  17   และไปทำงานต่อกับกระดาษแผ่นถัดไป " เครื่องจักรทัวริงนั้นไม่เกี่ยวข้องกับการทดสอบของทัวริง ซึ่งถูกใช้เพื่ออธิบายความหมายของปัญญาประดิษฐ์ โดยทัวริง
เครื่องจักรทัวริงสากล เครื่องจักรทัวริงที่สามารถจำลองการทำงานของเครื่องจักรทัวริงเครื่องใด ๆ ก็ได้เรียกว่า  เครื่องจักรทัวริงสากล   (universal Turing machine)   หรือเรียกสั้นๆ ว่า  เครื่องจักรสากล  ทัวริงอธิบายไว้ใน ค . ศ .  1947  ( พ . ศ .2490 )  ว่า สามารถแสดงได้ว่ามีเครื่องจักรพิเศษในรูปแบบนี้ ที่สามารถทำงานของเครื่องจักรอื่น ๆ ในรูปแบบดังกล่าวได้ทั้งหมด นอกจากนี้เครื่องจักรนี้ยังสามารถใช้เป็นโมเดลสำหรับเครื่องจักรในแบบอื่น ๆ เครื่องจักรพิเศษนี้สามารถเรียกได้ว่าเป็นเครื่องจักรสากล
วิธีใช้งานโปรแกรม   1 .  เปิดโปรแกรม  Visual Turing  ขึ้นมา โปรแกมจะสร้างโปรเจคเอาไว้ให้ ดังในรูปที่  7   หรือหากต้องการสร้างโปรเจคใหม่ให้กดที่  New button  หรือ  File / New  หรือ  Ctrl + N
   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  สำหรับสร้างลูกศรเส้นทางให้เดินวน
6 .  การกำหนด  Condition  ของ  arrow  ทำได้โดยดับเบิ้ลคลิกหรือคลิกขวาเลือก  properties  ที่วงกลมบน  arrow  ดังรูปที่  10   7 .  การสร้างและแก้ไขเทป ทำได้โดยคลิกขวาบนเทป เลือก  Symbols  ที่ต้องการ นอกจากนี้ยังสามารถสร้างเทปใหม่และบันทึกเทปที่สร้างไว้ก็ได้โดยการกดที่  New tape button  หรือไปที่  menu bar  เลือก  Tape / New tape  เพื่อสร้างเทปใหม่ และกดที่  Save tape button  หรือไปที่  menu bar  เลือก  Tape / Save tape  เพื่อบันทึกเทป
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
โปรแกรม  Visual Turing Visual Turing   เป็นเครื่องมือที่ใช้ออกแบบและสร้าง  Turing machine  โดยนำเสนอในรูปแบบของภาพ graphic  สามารถ  cut ,  copy ,  paste  และ  undo  ได้สามารถรัน  machine  ที่สร้างขึ้น และทำการ  debug breakpoints  รวมถึงสามารถมองเห็นลำดับการทำงานของ machine ในแต่ละขั้นตอนได้อย่างชัดเจน
เปรียบเทียบ  Transition Diagram  แบบ  Visual Turing  กับ แบบมาตรฐาน   แสดง  Main Machine  ของ  Copy String  แสดง  Left # Machine   แสดง  Right # Machine
แสดง  Tape  ข้อมูลนำเข้า   แสดง  Tape  ข้อมูลออก   แสดง  Transition Diagram  แบบมาตรฐานของ  Copy String
จุดเด่นของโปรแกรม   1 .  นำเสนอในรูปแบบของภาพ  graphic 2 .  มีความยืดหยุ่น สามารถออกแบบและสร้าง  Machine  ได้ตามที่เราต้องการ 3 .  สามารถมองเห็นลำดับการทำงานและเส้นทางการเดินไปยังแต่ละโหนด ทำให้เข้าใจหลักการทำงาน 4 .  Turing machine  กับ หัวอ่านบนเทป ทำงานสัมพันธ์กัน ทำให้สามารถทำความเข้าใจได้ง่าย 5 .  ประหยัดทรัพยากรและหน่วยความจำของเครื่อง 6 .  มีความสะดวกในการติดตั้งโปรแกรม เนื่องจากตัวติดตั้งเป็นไฟล์นามสกุล  . exe 7 .  มีความรวดเร็วในการ  execute  โปรแกรม
จุดด้อยของโปรแกรม   1 .  มีข้อจำกัดเรื่องข้อมูล  input  และ  output   2 .  การใช้งานค้อนข้างยาก ต้องใช้เวลาในการเรียนรู้ใหม่ เนื่องจากการเขียน  Turing machine  ใน  Visual Turing  ไม่เหมือนกับการเขียนแบบมาตรฐานสากล   3 .  เทปมีความยาวจำกัด   4 .  ไม่สามารถเปิดไฟล์ได้ครั้งละหลายๆไฟล์ เปิดได้ครั้งละไฟล์เดียว
โปรแกรม  Turing Machine Simulator   เป็นโปรแกรมบนเวบไซต์ ( http :// ironphoenix.org / tril / tm / )  ที่พัฒนาด้วยภาษาจาวา  ( Java Applet )  ใช้จำลองตัวแบบการคำนวณ  Turing Machine  โดยผู้ใช้สามารถสร้างแบบจำลองของ  Turing Machine  ในรูปแบบของรหัสสัญลักษณ์ และ  input  เทปเพื่อทดสอบตัวแบบได้ นอกจากนี้ยังมีตัวอย่างของ  Turing Machine  เพื่อเป็นแนวทางในการศึกษาและเรียนรู้อีกด้วย
จากรูป   เป็น  Turing Machine  สำหรับการลบเลข  ( Subtractor )  ที่ประกอบด้วยเลข 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
จุดเด่นของโปรแกรม   1 .  เป็นโปรแกรมบนเวบไซต์จึงง่ายต่อการเผยแพร่        2 .  มีตัวอย่าง  Turing Machine  เพื่อแนวทางในการศึกษา        3 .  มีความสามารถในการสร้าง  Turing Machine  โดยการใช้รหัสสัญลักษณ์และสามารถ input  เทปเพื่อการตรวจสอบ  Output ได้        4 .  สามารถ  input  เทปที่มีความยาวได้ถึง  15,000   ตัวอักษร        5 .  แสดงข้นตอนการหา  output  ทั้งแบบ  step  และ แบบ  compute       6 .  ลักษณะของรหัสสัญลักษณ์ที่ใช้เข้าใจง่ายและเป็นไปตามรูปแบบมาตรฐานสากล        7 .  พัฒนาด้วยภาษาจาวา ( Java Applet )  จึงทำให้โปรแกรมสามารถใช้งานได้บนทุกๆระบบปฏิบัติการ
จุดด้อยของโปรแกรม   1 .  แม้จะแสดงขั้นตอนการหา  output  แต่ก็ขาดส่วนที่เป็น  Transition diagram  ทำให้ผู้ใช้อาจเกิดปัญหาในการจินตนาการภาพของการไหลเวียนของ  state       2 .  ไม่สามารถทำการบันทึก  Turing machine  ที่ผู้ใช้สร้างขึ้นเองไว้ในรูปแบบของแฟ้มข้อมูลได้ เมื่อผู้ใช้ทำการปิดหน้าต่างเว็บไซต์ หรือ รีเฟรชหน้าจอ  Machine  ที่สร้างไว้ก็จะหายไป        3 .  การสร้าง  Turing Machine  ด้วยรหัสสัญลักษณ์ ล่าช้ากว่ากว่าการสร้างด้วย  Transition diagram       4 .  ผู้ใช้จะต้องติดตั้ง  Java Runtime  เสียก่อน จึงจะสามารถใช้งานโปรแกรมได้        5 .  สำหรับผู้ใช้ที่ไม่สามารถเชื่อมต่อเข้ากับระบบ  Internet  ก็ไม่สามารถใช้งานโปรแกรมได้
อ้างอิง 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
The End

More Related Content

PPT
Turing machine2
PPT
งานคอมพิวเตอร์
PPT
งานคอมพิวเตอร์
PPT
งานคอมพิวเตอร์
PDF
งานคอมพิวเตอร์
PPT
การบ้านคอม
PDF
งานคอมพิวเตอร์.Ppt (1)
PDF
Turing machine
Turing machine2
งานคอมพิวเตอร์
งานคอมพิวเตอร์
งานคอมพิวเตอร์
งานคอมพิวเตอร์
การบ้านคอม
งานคอมพิวเตอร์.Ppt (1)
Turing machine

What's hot (19)

PDF
Turing machine
PPT
Turing machine2
PPT
Turing machine
 
PDF
Turing machine
DOC
3 software deverlop
PPT
ขั้นตอนการเขียนโปรแกรม
PDF
อัลกอริทึมและการวิเคราะห์ปัญหา
PPT
Programmer1
PPTX
รหัสเทียม Psuedo code
PPTX
บทที่4การกำหนดและวิเคราะห์ปัญหา
PPT
อัลกอริทึมและการวิเคราะห์ปัญหา
PDF
Lesson 4 การใช้คำสั่งในการเขียนโปรแกรม
PPT
ความรู้เบื้องต้นเกี่ยวกับโครงสร้างข้อมูลและอัลกอริทึม
DOC
การสร้างบทเรียน Cai ด้วย Flash
PDF
Lesson 6 การวาดรูปต่างๆ
PDF
Flowchart
PDF
Lesson 8 การเขียนโปรแกรมโดยใช้ตัวแปร
Turing machine
Turing machine2
Turing machine
 
Turing machine
3 software deverlop
ขั้นตอนการเขียนโปรแกรม
อัลกอริทึมและการวิเคราะห์ปัญหา
Programmer1
รหัสเทียม Psuedo code
บทที่4การกำหนดและวิเคราะห์ปัญหา
อัลกอริทึมและการวิเคราะห์ปัญหา
Lesson 4 การใช้คำสั่งในการเขียนโปรแกรม
ความรู้เบื้องต้นเกี่ยวกับโครงสร้างข้อมูลและอัลกอริทึม
การสร้างบทเรียน Cai ด้วย Flash
Lesson 6 การวาดรูปต่างๆ
Flowchart
Lesson 8 การเขียนโปรแกรมโดยใช้ตัวแปร
Ad

Viewers also liked (20)

PDF
112391סכנת ניפוח המפקדות
PDF
Dr. Yaron Brook on TheMarker 12/2013
PPT
Desert Line Israel
PPT
Canada's rank in OECD studies 20100610
PDF
08 14 248bהוצאה לאומית לחינוך
PPT
Sejarah komputer
PPTX
Dissertations - Writing with Power, OR "Academic" Is No One's First Language
PDF
From hitmotetut
PDF
Airplanes: Sailboats :: Mobile : Desktop
PDF
1022 predictions
PDF
הצעת החוק להגנה על הסופרים והספרים - נסיון בינלאומי
PDF
Z STREET: IRS continues Constitutional violations concerning Israel - A
DOC
Gmail
PDF
Electricitycosts2012
PDF
Social Media Analytics Tel-Aviv College 29-jan2012
PPTX
IIW 13 - Scalability Point to Point Federation
PDF
מדיניות סבסוד ביודלק ומחירי מזון
PDF
17 lifshitz
PDF
Westfield Health Care Reform Webinar Power Point
PDF
Global petroleum-survey-2013
112391סכנת ניפוח המפקדות
Dr. Yaron Brook on TheMarker 12/2013
Desert Line Israel
Canada's rank in OECD studies 20100610
08 14 248bהוצאה לאומית לחינוך
Sejarah komputer
Dissertations - Writing with Power, OR "Academic" Is No One's First Language
From hitmotetut
Airplanes: Sailboats :: Mobile : Desktop
1022 predictions
הצעת החוק להגנה על הסופרים והספרים - נסיון בינלאומי
Z STREET: IRS continues Constitutional violations concerning Israel - A
Gmail
Electricitycosts2012
Social Media Analytics Tel-Aviv College 29-jan2012
IIW 13 - Scalability Point to Point Federation
מדיניות סבסוד ביודלק ומחירי מזון
17 lifshitz
Westfield Health Care Reform Webinar Power Point
Global petroleum-survey-2013
Ad

Similar to Turing machine (20)

PPT
Turing Machine2
PPT
งานคอมพิวเตอร์
PPT
งานคอมพิวเตอร์
PPT
E:\works\turing machine2
PDF
หลักการเขียนโปรแกรม
PPT
งานคอมแก้.Pdf
PPT
คอมแก้.Pdf
PDF
Algorithm flow chart
PDF
3.7 การเขียนผังงาน
PDF
PDF
Programming
 
DOC
ความหมายของเทคโนโลยีสารสนเทศ
PPT
บทที่2
DOC
งานที่5
PDF
กลุ่มที่ 3 คอมพิวเตอร์ส่วนบุคคล
PDF
กลุ่มที่ 3 คอมพิวเตอร์ส่วนบุคคล
PPT
ขั้นตอนการเขียนโปรแกรมคอมพิวเตอร์
DOC
ผังงาน (Flowchart)
PDF
การแก้ปัญหาด้วยกระบวนการเทคโนโลยีสารสนเทศ
PDF
บทที่ 1 คอมพิวเตอร์เบื้องต้น
Turing Machine2
งานคอมพิวเตอร์
งานคอมพิวเตอร์
E:\works\turing machine2
หลักการเขียนโปรแกรม
งานคอมแก้.Pdf
คอมแก้.Pdf
Algorithm flow chart
3.7 การเขียนผังงาน
Programming
 
ความหมายของเทคโนโลยีสารสนเทศ
บทที่2
งานที่5
กลุ่มที่ 3 คอมพิวเตอร์ส่วนบุคคล
กลุ่มที่ 3 คอมพิวเตอร์ส่วนบุคคล
ขั้นตอนการเขียนโปรแกรมคอมพิวเตอร์
ผังงาน (Flowchart)
การแก้ปัญหาด้วยกระบวนการเทคโนโลยีสารสนเทศ
บทที่ 1 คอมพิวเตอร์เบื้องต้น

Turing machine

  • 1. T u r i n g m a c h i n e จัดทำโดย นางสาวมนัชญา สดวกดี นักเรียนชั้นมัธยมศึกษาปีที่ 4/3 เลขที่ 35 อาจารย์ผู้สอน อาจารย์ ณัฐพล บัวอุไร
  • 2. แอลัน แมธิสัน ทัวริง ( Alan Mathison Turing ) เป็นนักคณิตศาสตร์ , นักตรรกศาสตร์ , นักรหัสวิทยา และวีรบุรุษสงครามชาวอังกฤษ และเป็นที่ยอมรับว่าเป็นบิดาของวิทยาการคอมพิวเตอร์ เขาได้สร้างรูปแบบที่เป็นทางการทางคณิตศาสตร์ของการระบุอัลกอริทึมและการคำนวณ โดยใช้เครื่องจักทัวริง ซึ่งตามข้อปัญหาเชิร์ช - ทัวริงได้กล่าวว่าเป็นรูปแบบของเครื่องจักรคำนวณเชิงกลที่ครอบคลุมทุกๆ รูปแบบที่เป็นไปได้ในทางปฏิบัติ ในระหว่างสงครามโลกครั้งที่สอง ทัวริงมีส่วนสำคัญในการแกะรหัสลับของฝ่ายเยอรมัน โดยเขาเป็นหัวหน้าของกลุ่ม Hut 8 ที่ทำหน้าที่ในการแกะรหัสของเครื่องอีนิกมาที่ใช้ในฝ่ายทหารเรือ หลังจากสงครามเขาได้ออกแบบเครื่องคอมพิวเตอร์อิเล็กทรอนิกส์ที่สามารถ โปรแกรมได้เครื่องแรกๆ ของโลกที่ห้องปฏิบัติการฟิสิกส์แห่งชาติ และได้สร้างเครื่องคอมพิวเตอร์ขึ้นจริงๆ ที่มหาวิทยาลัยแมนเชสเตอร์ รางวัลทัวริงถูกก่อตั้งขึ้นเพื่อยกย่องเขาในเรื่องนี้
  • 3. เครื่องจักรทัวริง Turing machine เครื่องจักทัวริง ( Turing machine ) คือเครื่องจักรนามธรรมที่แอลัน ทัวริง ได้คิดค้นขึ้นใน ค . ศ . 1936 ( พ . ศ .2479) เพื่อการนิยามอัลกอริทึมหรือ ‘ กระบวนการเชิงกล ’ อย่างชัดเจนแบบคณิตศาสตร์ เครื่องจักทัวริงได้ถูกใช้อย่างแพร่หลายในการศึกษาวิทยาการคิมพิวเตอร์เชิงทฤษฎี โดยเฉพาะในทฤษฎีความซับซ้อนในการคำนวณและทฤษฎีการคำนวณ ข้อปัญหา ( thesis ) ที่ว่าโมเดลของเครื่องจักรทัวริงนั้นครอบคลุมกระบวนการเชิงกลทั้งหมด ในการคำนวณทางตรรกศาสตร์และคณิตศาสตร์ เป็นที่รู้จักกันในชื่อข้อปัญหาของเชิร์ช - ทัว
  • 4. แนวคิดของเครื่องจักรทัวริง แนวคิดของเครื่องจักรทัวริงนั้นต้องการจะอธิบายการทำงานของคนที่ปฏิบัติ ตามขั้นตอนที่ระบุไว้อย่างชัดเจน เพื่อแก้ไขข้อมูลที่ถูกบันทึกไว้ในกระดาษที่เรียงต่อกันความยาวไม่จำกัด โดยที่กระดาษแผ่นหนึ่งจะสามารถเก็บสัญลักษณ์ได้หนึ่งตัวจากสัญลักษณ์ที่เป็น ไปได้จำนวนจำกัด ผู้ปฏิบัติงานนั้นจะต้องจดจำสถานะหนึ่งจากสถานะที่เป็นไปได้ที่มีจำนวนจำกัด และขั้นตอนที่ระบุให้เขาทำงานนั้นจะอยู่ในลักษณะเช่น &quot; ถ้าสถานะของคุณคือ 42 และสัญลักษณ์บนกระดาษที่คุณเห็นคือ '0', ให้เปลี่ยนสัญลักษณ์นี้เป็น '1', จดจำว่าสถานะใหม่เป็น 17 และไปทำงานต่อกับกระดาษแผ่นถัดไป &quot; เครื่องจักรทัวริงนั้นไม่เกี่ยวข้องกับการทดสอบของทัวริง ซึ่งถูกใช้เพื่ออธิบายความหมายของปัญญาประดิษฐ์ โดยทัวริง
  • 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
  • 13. แสดง Tape ข้อมูลนำเข้า แสดง Tape ข้อมูลออก แสดง Transition Diagram แบบมาตรฐานของ Copy String
  • 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 :// 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