Tur ing  machine เครื่องจักร  ทัวริง      Turing  mach ine น . ส . วิภาวี ขวัญเมือง ม .4/1  เลขที่  10
Alan  Mathison Turing   แอลัน  แมธิสัน  ทัวริง   เป็นนักคณิตศาสตร์ ,  นักตรรกศาสตร์ ,  นักรหัสวิทยา   และวีรบุรุษสงคราม   ชาวอังกฤษและเป็นที่ยอมรับว่าเป็นบิดาของ วิทยาการคอมพิวเตอร์เขาได้สร้างรูปแบบที่เป็นทางการทางคณิตศาสตร์ของการระบุอัลกอริทึมและการคำนวณ   โดยใช้ เครื่องจักรทัวริง   ซึ่งตามข้อปัญหาเชิร์ช - ทัวริง ได้กล่าวว่าเป็นรูปแบบของเครื่องจักรคำนวณเชิงกลที่ครอบคลุมทุกๆ รูปแบบที่เป็นไปได้ในทางปฏิบัติ ในระหว่างสงครามโลกครั้งที่สอง   ทัวริงมีส่วนสำคัญในการแกะรหัสลับของฝ่ายเยอรมัน   โดยเขาเป็นหัวหน้าของกลุ่ม Hut 8  ที่ทำหน้าที่ในการแกะรหัส ของเครื่องอีนิกมาที่ใช้ในฝ่ายทหารเรือ หลังจากสงครามเขาได้ออกแบบเครื่องคอมพิวเตอร์ อิเล็กทรอนิกส์ที่สามารถโปรแกรมได้ เครื่องแรกๆของโลกที่ห้องปฏิบัติการฟิสิกส์แห่งชาติ  และได้สร้างเครื่องคอมพิวเตอร์ขึ้นจริงๆ  ที่มหาวิทยาลัยแมนเชสเตอร์รางวัลทัวริงถูกก่อตั้งขึ้นเพื่อยกย่องเขาในเรื่องนี้ นอกจากนั้นแล้วการทดสอบของทัวริงที่เขาได้เสนอนั้นมีผลอย่างสูงต่อการศึกษาเรื่องปัญญาประดิษฐ์ ซึ่งในขณะมีถกเถียงที่สำคัญว่า :   เป็นไปได้หรือไม่ที่จะกล่าวว่าเครื่องจักรนั้นมีสำนึกและสามารถคิด ได้
ประวัติ แอลัน ทัวริง เป็นชาวอังกฤษ เกิด 24  มิ . ย เมื่อปี พ . ศ .  2455  ( ค . ศ .  1912 )  ที่ลอนดอน อาศัยอยู่กับพี่ชาย . บิดาและมารดาของทัวริง พบกัน และทำงานที่ประเทศอินเดีย . ในสมัยมัธยม  ทัวริงสนิท  และนับถือรุ่นพี่คนหนึ่งชื่อ คริสโตเฟอร์ มอร์คอม  ( Christopher Morcom )  ซึ่งเสียชีวิตไปซะก่อน ทัวริงเศร้ามาก เลยตั้งใจสานต่อสิ่งที่รุ่น พี่เขาอยากทำให้สำเร็จ .  ตลอดสามปีหลังจากนั้น เขาเขียนจดหมายอย่างสม่ำเสมอให้ คุณแม่ของมอร์คอม ว่าเขาคิด   และสงสัยเรื่องความคิดของคน ว่าไปจับจดอยู่ในเรื่องหนึ่ง ๆ ได้อย่างไร  ( how the human mind was embodied in matter ) และ ปล่อยเรื่องนั้นๆ ออกไปได้อย่างไร  ( whether accordingly it could be realeased from matter )  แล้ววันหนึ่งเขาก็ไปเจอหนังสือดังในยุคนั้นชื่อ  " The Nature of the Physical World "   อ่านไปก็เกิดนึกไปเองว่า  ทฤษฏีกลศาสตร์ควอนตัม มันต้องเกี่ยวกับปัญหาเรื่อง  mind and matter   ที่เขาคิดอยู่
อลัน ทัวริง เกิดในลอนดอน ปี  1912   บิดาทำงานเป็นข้าราชการอังกฤษที่ต้องประจำในอินเดีย ซึ่งเป็นสถานที่ที่มารดาของเขาเห็นว่าไม่เหมาะสมที่จะเป็นสภาพแวดล้อมของลูก ดังนั้นชีวิตในวัยเด็กของทัวริงจึงเติบโตในอังกฤษในบ้านเลี้ยงเด็ก โดยที่พ่อแม่มาเยี่ยมเป็นครั้งคราว คาดกันว่าความเดียวดายในวัยเด็กนี้ ทำให้ทัวริงติดใจการทำงานของจิตใจมนุษย์เป็นพิเศษ      เมื่ออายุสิบสามปี ทัวริงเข้าโรงเรียน  Sherbourne  ใน  Dorset  ในสมัยมัธยม ทัวริงสนิทและนับถือรุ่นพี่คนหนึ่ง ชื่อ คริสโตเฟอร์ มอร์คอม  ( Christopher Morcom )  ซึ่งเสียชีวิตในเวลาต่อมาอย่างกะทันหันด้วยวัณโรค ความสูญเสียนี้ทำให้ทัวริงหมดสิ้นศรัทธาในศาสนาและพระเป็นเจ้า และเชื่อว่าทุกสิ่งที่เกิดขึ้นจะต้องมีคำอธิบายที่เห็นและจับต้องได้จริง ทัวริงตั้งคำถามว่าจิตใจคนเราทำงานอย่างไร จิตของเพื่อนคนนั้นจะเป็นอย่างไรเมื่อร่างกายจากไปแล้ว เขาเชื่อว่าในเครื่องจักรกลและสมองของมนุษย์นั้นไม่มีจิตวิญญาณอยู่จริง แต่สงสัยว่าความคิด และความมีสติสัมปชัญญะเกิดได้อย่างไร     อลัน ทัวริงเข้าเรียนที่  King's College  ในเคมบริดจ์ เมื่อเรียนจบได้ไม่นานก็เผยแพร่ผลงานเครื่องจักรทัวริง ช่วงนั้นเป็นช่วงของสงครามโลกครั้งที่สอง จากผลงานของทัวริงที่ปรากฎทำให้รัฐบาลเรียกตัวเขาไปร่วมงานชิ้นสำคัญ ในตอนนั้น รัฐบาลอังกฤษรวบรวมนักคณิตศาสตร์ แชมเปียนหมากรุก นักภาษา นักวิเคราะห์อักขระอียิปต์ และใครก็ตามที่มีผลงานเกี่ยวกับหลักตรรกศาสตร์ เพื่อพยายามถอดรหัสของเครื่องเอนิกมา  ( Enigma )  ซึ่งเป็นรหัสลับที่นาซีใช้ติดต่อสื่อสารในช่วงสงคราม งานนี้เป็นความลับระดับชาติ หลังจากทัวริงเสียชีวิตไปแล้ว สาธารณชนจึงได้รับรู้ว่าทัวริงมีส่วนในการออกแบบเครื่องมือที่ใช้แกะนาซีโค้ดที่ส่งไปที่  U - boats  ในแอตแลนติกเหนือ และมีส่วนช่วยให้แกะรหัสนี้สำเร็จในเวลาต่อมา
ทัวริงกลับมาที่เคมบริดจ์หลังสงครามเลิก และยังสนใจเรื่องเครื่องจักรกลที่สามารถคิดเองได้ เขาเสนอความคิดว่าเครื่องกลหนึ่งๆ สามารถจะเรียนรู้และแก้คำสั่งที่แนบมาเองได้ ทัวริงยังคิดค้นการทดสอบแบบทัวริง  ( Turing test )  ที่โด่งดังซึ่งเป็นการวัดว่าเครื่องมือหนึ่งๆ จะมีความฉลาดทัดเทียมมนุษย์ได้หรือไม่ โดยวัดจากการนำคนหนึ่งไปนั่งในห้องปิด และถามคำถามเดียวกันกับคน และกับเครื่อง  ( แต่มองไม่เห็นว่าใครตอบ )  ถ้าผู้ถามไม่สามารถแยกแยะได้ว่าคำตอบใดมาจากเครื่อง คำตอบใดมาจากคน นั่นย่อมแปลว่าเครื่องกลนั้นฉลาดทัดเทียมมนุษย์  ตัวอย่างของการทดสอบแบบทัวริงที่น่าสนใจอันหนึ่ง คือรางวัล  Loebner  ที่จัดทุกปี เพื่อแข่งขันหาโปรแกรมสนทนาโต้ตอบกับคนที่มีความสามารถใกล้เคียงมนุษย์มากที่สุด กรรมการสิบคนจากหลากหลายอาชีพพิมพ์โต้ตอบคุยกับอีกฝ่าย ซึ่งกรรมการไม่รู้ว่าอีกฝ่ายนี้เป็นโปรแกรมหรือเป็นคนจริงๆ ถ้ากรรมการแยกแยะไม่ได้ว่ากำลังคุยกับโปรแกรมหรือกับคน แต่จริงๆ แล้วอีกฝ่ายเป็นโปรแกรม ย่อมหมายความว่าโปรแกรมนั้นหลอกคนได้สำเร็จ และมีความฉลาดระดับหนึ่ง โปรแกรมที่ชนะเลิศการแข่งขันในปี  2004   มีชื่อว่าอลิซ  ( ALICE )  ผู้เรียนสามารถลองคุยกับอลิซได้ที่เว็บไซต์ http://alicebot.org/   ตัวอย่างคำตอบของเธอต่อกรรมการ
กรรมการ : Do you daydream           Alice : I have a lot of dreams but I cannot remember them all.           กรรมการ : Do you speak any Swedish           Alice : I speak only English right now, but I'd like to learn some other languages. Can you teach me a few phrases in Any Swedish.  โปรแกรมเหล่านี้ต้องละเอียดขนาดความเร็วของแต่ละตัวอักษรที่ปรากฎ  ( เพราะต้องทำให้รู้สึกเหมือนคนกำลังพิมพ์ตอบ )  ต้องวิจัยกันทีเดียวว่าเวลาที่ใช้การพิมพ์ตัวอักษรแต่ละตัวเป็นอย่างไร เช่นการพิมพ์  t  นั้นเร็วกว่าการพิมพ์ตัว  s  และต้องใส่ถ่วงเวลาแค่ไหนระหว่างตัวอักษรแต่ละตัวจะปรากฎ และบางทีโปรแกรมก็ต้องพิมพ์ผิด เว้นวรรคพลาดบ้าง จะได้แนบเนียน แต่อลิซหลอกกรรมการที่เป็นจิตแพทย์ไม่ค่อยเก่ง เพราะเธอจนปัญญาเอาทีเดียวกับคำถามเหล่านี้   กรรมการ : If I see a house         Alice : Try it.     กรรมการ : Am I on the inside outside or could it be either  
Turing machine   อลัน ทัวริง  ( Alan Turing )  คิดค้นเครื่องจักรทัวริง  ( Turing machine )  เครื่องมือในฝันที่สามารถทำอะไรได้ทุกอย่าง ถ้าเพียงแต่เราจะใส่วิธีทำลงไป ซึ่งกลายเป็นต้นแบบแรกเริ่มของคอมพิวเตอร์ในปัจจุบัน ทัวริงแมชชีนเป็นเครื่องมือมหัศจรรย์ เพราะเป็นครั้งแรกที่เราแยก  " อุปกรณ์ "  ออกจาก  " ความสามารถของอุปกรณ์ "  นั้นได้ การทำงานของเครื่องไม่ได้ถูกกำหนดมาล่วงหน้า แต่ขึ้นอยู่กับวิธีทำหรืออัลกอริทึมที่แนบมาด้วย   เครื่องจักรทัวริงนั้นไม่้ยุ่งยาก ทำงานเป็นเหมือนเครื่องอ่านม้วนกระดาษยาวๆ  ( หรือเทป )  ลองคิดดูว่าเรามีกระดาษเก็บข้อมูลยาวๆ ไม่สิ้นสุด บนกระดาษจะบันทึกเลขสองตัวคือ ศูนย์และหนึ่ง เช่น  ... 0011011000100 ...  ทัวริงแมชชีนมีหัวอ่านค่าในกระดาษนี้ ที่บอกว่าตอนนี้กำลังอ่านเลขตัวไหนอยู่ตรงไหน และรู้ว่าตอนนี้อยู่ในสถานะใด  ( ทัวริงแมชชีนมีได้หลายสถานะ แล้วแต่ข้อมูลที่กำลังอ่านอยู่ )  วิธีทำที่แนบมาด้วยสามารถสั่งให้ทัวริงแมชชีนทำงานได้สี่ประการต่อไปนี้    1 .  อ่านเลขตัวติดกันทางซ้าย  ( เปลี่ยนตำแหน่งปัจจุบัน )   2 .  อ่านเลขตัวติดกันทางขวา  ( เปลี่ยนตำแหน่งปัจจุบัน )   3 .  แก้ค่าปัจจุบันที่อ่านอยู่ เช่นจาก  0   เป็น  1   หรือจาก  1   เป็น  0  ( เปลี่ยนค่าบนกระดาษ )   4 .  เปลี่ยนสถานะ  รูปด้านบนเป็นการใช้เครื่องจักรทัวริงตรวจสอบคำว่าใช่  " aabb "  หรือไม่ ไม่น่าเชื่อที่ว่าแค่สั่งให้เครื่องจักรทัวริงเคลื่อนไหวไปๆ มาๆ ลบค่าบ้าง เปลี่ยนสถานะบ้าง จะทำให้เครื่องนี้มีความสามารถมากมาย วิธีทำที่แนบมาเป็นตัวควบคุมการทำงานของทัวริง ถ้าเราแนบคำสั่งให้ทัวริงอ่านเลขตัวติดกันทางขวาไปเรื่อยๆ ทัวริงก็จะไม่มีประโยชน์อะไรนัก แต่ถ้าเราเขียนคำสั่งที่ซับซ้อนขึ้น เครื่องจักรทัวริงก็สามารถเล่นหมากรุกกับเราได้ อลัน ทัวริงถึงกับบอกว่าเครื่องจักรทัวริงสามารถจำลองระบบความคิดของมนุษย์ได้ และนี่คือเครื่องมือมหัศจรรย์ที่อลัน ทัวริงคิดค้น
โปรแกรม  Visual Turing   Visual Turing  เป็นเครื่องมือที่ใช้ออกแบบและสร้าง  Turing machine  โดยนำเสนอในรูปแบบของภาพ  graphic  สามารถ  cut, copy, paste  และ  undo  ได้ สามารถรัน  machine  ที่สร้างขึ้น และทำการ  debug breakpoints  รวมถึงสามารถมองเห็นลำดับการทำงานของ  machine  ในแต่ละขั้นตอนได้อย่างชัดเจน  
จุดเด่นของโปรแกรม นำเสนอในรูปแบบของภาพ  graphic มีความยืดหยุ่น สามารถออกแบบและสร้าง  Machine  ได้ตามที่เราต้องการ สามารถมองเห็นลำดับการทำงานและเส้นทางการเดินไปยังแต่ละโหมด Transition diagram  กับ หัวอ่านบนเทป ทำงานสัมพันธ์กัน ประหยัดทรัพยากรและหน่วยความจำของเครื่อง
จุดด้อยของโปรแกรม มีข้อจำกัดเรื่องข้อมูล  input  และ  output การใช้งานค้อนข้างยาก ต้องใช้เวลาในการเรียนรู้ใหม่ เนื่องจากการเขียน  Turing machine  ใน  Visual Turing  ไม่เหมือนกับการเขียนแบบมาตรฐานสากล เทปมีความยาวจำกัด ไม่สามารถเปิดไฟล์ได้ครั้งละหลายๆไฟล์
วิธีใช้งานโปรแกรม 1 .  เปิดโปรแกรม  Visual Turing  ขึ้นมา โปรแกมจะสร้างโปรเจคเอาไว้ให้ ดังในรูป หรือหากต้องการสร้างโปรเจคใหม่ให้กดที่  New button  หรือ  File / New  หรือ  Ctrl + N
2 .  การสร้าง  machine  ใหม่ ให้กดที่  Insert machine button  หรือ คลิกขวาที่  tree view  ด้านซ้ายมือ  เลือก  Insert machine  จากนั้นเปลี่ยนชื่อ  machine  ที่หน้าต่าง  properties  ดังรูป     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  ดังรูป 
  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
เปรียบเทียบ  Transition Diagram   แบบ  Visual Turing   กับ แบบมาตรฐาน   แสดง  Main Machine  ของ  Copy String แสดง  Left # Machine แสดง  Right # Machine   แสดง  Tape  ข้อมูลนำเข้า แสดง  Tape  ข้อมูลออก แสดง  Transition Diagram  แบบมาตรฐานของ  Copy String
โปรแกรม Turing Machine Simulator เป็นโปรแกรมบนเวบไซต์ ( http :// ironphoenix.org / tril / tm / )  ที่พัฒนาด้วยภาษาจาวา  ( Java Applet )  ใช้จำลองตัวแบบการคำนวณ  Turing Machine  โดยผู้ใช้สามารถสร้างแบบจำลองของ  Turing Machine  ในรูปแบบของรหัสสัญลักษณ์ และ  input  เทปเพื่อทดสอบตัวแบบได้ นอกจากนี้ยังมีตัวอย่างของ  Turing Machine  เพื่อเป็นแนวทางในการศึกษาและเรียนรู้อีกด้วย   แสดงรหัสสัญลักษณ์ที่ใช้แทน  Transition diagram  ของ  Turing Machine  และแสดงเทปที่  input  เข้ามา
จากรูป เป็น  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  ก็ไม่สามารถใช้งานโปรแกรมได้ 
the end

Turing machine

  • 1.
    Tur ing machine เครื่องจักร ทัวริง   Turing mach ine น . ส . วิภาวี ขวัญเมือง ม .4/1 เลขที่ 10
  • 2.
    Alan MathisonTuring แอลัน แมธิสัน ทัวริง เป็นนักคณิตศาสตร์ ,  นักตรรกศาสตร์ ,  นักรหัสวิทยา   และวีรบุรุษสงคราม   ชาวอังกฤษและเป็นที่ยอมรับว่าเป็นบิดาของ วิทยาการคอมพิวเตอร์เขาได้สร้างรูปแบบที่เป็นทางการทางคณิตศาสตร์ของการระบุอัลกอริทึมและการคำนวณ   โดยใช้ เครื่องจักรทัวริง   ซึ่งตามข้อปัญหาเชิร์ช - ทัวริง ได้กล่าวว่าเป็นรูปแบบของเครื่องจักรคำนวณเชิงกลที่ครอบคลุมทุกๆ รูปแบบที่เป็นไปได้ในทางปฏิบัติ ในระหว่างสงครามโลกครั้งที่สอง   ทัวริงมีส่วนสำคัญในการแกะรหัสลับของฝ่ายเยอรมัน   โดยเขาเป็นหัวหน้าของกลุ่ม Hut 8 ที่ทำหน้าที่ในการแกะรหัส ของเครื่องอีนิกมาที่ใช้ในฝ่ายทหารเรือ หลังจากสงครามเขาได้ออกแบบเครื่องคอมพิวเตอร์ อิเล็กทรอนิกส์ที่สามารถโปรแกรมได้ เครื่องแรกๆของโลกที่ห้องปฏิบัติการฟิสิกส์แห่งชาติ และได้สร้างเครื่องคอมพิวเตอร์ขึ้นจริงๆ ที่มหาวิทยาลัยแมนเชสเตอร์รางวัลทัวริงถูกก่อตั้งขึ้นเพื่อยกย่องเขาในเรื่องนี้ นอกจากนั้นแล้วการทดสอบของทัวริงที่เขาได้เสนอนั้นมีผลอย่างสูงต่อการศึกษาเรื่องปัญญาประดิษฐ์ ซึ่งในขณะมีถกเถียงที่สำคัญว่า :   เป็นไปได้หรือไม่ที่จะกล่าวว่าเครื่องจักรนั้นมีสำนึกและสามารถคิด ได้
  • 3.
    ประวัติ แอลัน ทัวริงเป็นชาวอังกฤษ เกิด 24 มิ . ย เมื่อปี พ . ศ . 2455 ( ค . ศ . 1912 ) ที่ลอนดอน อาศัยอยู่กับพี่ชาย . บิดาและมารดาของทัวริง พบกัน และทำงานที่ประเทศอินเดีย . ในสมัยมัธยม ทัวริงสนิท และนับถือรุ่นพี่คนหนึ่งชื่อ คริสโตเฟอร์ มอร์คอม ( Christopher Morcom ) ซึ่งเสียชีวิตไปซะก่อน ทัวริงเศร้ามาก เลยตั้งใจสานต่อสิ่งที่รุ่น พี่เขาอยากทำให้สำเร็จ . ตลอดสามปีหลังจากนั้น เขาเขียนจดหมายอย่างสม่ำเสมอให้ คุณแม่ของมอร์คอม ว่าเขาคิด และสงสัยเรื่องความคิดของคน ว่าไปจับจดอยู่ในเรื่องหนึ่ง ๆ ได้อย่างไร ( how the human mind was embodied in matter ) และ ปล่อยเรื่องนั้นๆ ออกไปได้อย่างไร ( whether accordingly it could be realeased from matter ) แล้ววันหนึ่งเขาก็ไปเจอหนังสือดังในยุคนั้นชื่อ &quot; The Nature of the Physical World &quot; อ่านไปก็เกิดนึกไปเองว่า ทฤษฏีกลศาสตร์ควอนตัม มันต้องเกี่ยวกับปัญหาเรื่อง mind and matter ที่เขาคิดอยู่
  • 4.
    อลัน ทัวริง เกิดในลอนดอนปี 1912 บิดาทำงานเป็นข้าราชการอังกฤษที่ต้องประจำในอินเดีย ซึ่งเป็นสถานที่ที่มารดาของเขาเห็นว่าไม่เหมาะสมที่จะเป็นสภาพแวดล้อมของลูก ดังนั้นชีวิตในวัยเด็กของทัวริงจึงเติบโตในอังกฤษในบ้านเลี้ยงเด็ก โดยที่พ่อแม่มาเยี่ยมเป็นครั้งคราว คาดกันว่าความเดียวดายในวัยเด็กนี้ ทำให้ทัวริงติดใจการทำงานของจิตใจมนุษย์เป็นพิเศษ     เมื่ออายุสิบสามปี ทัวริงเข้าโรงเรียน Sherbourne ใน Dorset ในสมัยมัธยม ทัวริงสนิทและนับถือรุ่นพี่คนหนึ่ง ชื่อ คริสโตเฟอร์ มอร์คอม ( Christopher Morcom )  ซึ่งเสียชีวิตในเวลาต่อมาอย่างกะทันหันด้วยวัณโรค ความสูญเสียนี้ทำให้ทัวริงหมดสิ้นศรัทธาในศาสนาและพระเป็นเจ้า และเชื่อว่าทุกสิ่งที่เกิดขึ้นจะต้องมีคำอธิบายที่เห็นและจับต้องได้จริง ทัวริงตั้งคำถามว่าจิตใจคนเราทำงานอย่างไร จิตของเพื่อนคนนั้นจะเป็นอย่างไรเมื่อร่างกายจากไปแล้ว เขาเชื่อว่าในเครื่องจักรกลและสมองของมนุษย์นั้นไม่มีจิตวิญญาณอยู่จริง แต่สงสัยว่าความคิด และความมีสติสัมปชัญญะเกิดได้อย่างไร   อลัน ทัวริงเข้าเรียนที่ King's College ในเคมบริดจ์ เมื่อเรียนจบได้ไม่นานก็เผยแพร่ผลงานเครื่องจักรทัวริง ช่วงนั้นเป็นช่วงของสงครามโลกครั้งที่สอง จากผลงานของทัวริงที่ปรากฎทำให้รัฐบาลเรียกตัวเขาไปร่วมงานชิ้นสำคัญ ในตอนนั้น รัฐบาลอังกฤษรวบรวมนักคณิตศาสตร์ แชมเปียนหมากรุก นักภาษา นักวิเคราะห์อักขระอียิปต์ และใครก็ตามที่มีผลงานเกี่ยวกับหลักตรรกศาสตร์ เพื่อพยายามถอดรหัสของเครื่องเอนิกมา ( Enigma ) ซึ่งเป็นรหัสลับที่นาซีใช้ติดต่อสื่อสารในช่วงสงคราม งานนี้เป็นความลับระดับชาติ หลังจากทัวริงเสียชีวิตไปแล้ว สาธารณชนจึงได้รับรู้ว่าทัวริงมีส่วนในการออกแบบเครื่องมือที่ใช้แกะนาซีโค้ดที่ส่งไปที่ U - boats ในแอตแลนติกเหนือ และมีส่วนช่วยให้แกะรหัสนี้สำเร็จในเวลาต่อมา
  • 5.
    ทัวริงกลับมาที่เคมบริดจ์หลังสงครามเลิก และยังสนใจเรื่องเครื่องจักรกลที่สามารถคิดเองได้ เขาเสนอความคิดว่าเครื่องกลหนึ่งๆสามารถจะเรียนรู้และแก้คำสั่งที่แนบมาเองได้ ทัวริงยังคิดค้นการทดสอบแบบทัวริง ( Turing test ) ที่โด่งดังซึ่งเป็นการวัดว่าเครื่องมือหนึ่งๆ จะมีความฉลาดทัดเทียมมนุษย์ได้หรือไม่ โดยวัดจากการนำคนหนึ่งไปนั่งในห้องปิด และถามคำถามเดียวกันกับคน และกับเครื่อง ( แต่มองไม่เห็นว่าใครตอบ ) ถ้าผู้ถามไม่สามารถแยกแยะได้ว่าคำตอบใดมาจากเครื่อง คำตอบใดมาจากคน นั่นย่อมแปลว่าเครื่องกลนั้นฉลาดทัดเทียมมนุษย์ ตัวอย่างของการทดสอบแบบทัวริงที่น่าสนใจอันหนึ่ง คือรางวัล Loebner ที่จัดทุกปี เพื่อแข่งขันหาโปรแกรมสนทนาโต้ตอบกับคนที่มีความสามารถใกล้เคียงมนุษย์มากที่สุด กรรมการสิบคนจากหลากหลายอาชีพพิมพ์โต้ตอบคุยกับอีกฝ่าย ซึ่งกรรมการไม่รู้ว่าอีกฝ่ายนี้เป็นโปรแกรมหรือเป็นคนจริงๆ ถ้ากรรมการแยกแยะไม่ได้ว่ากำลังคุยกับโปรแกรมหรือกับคน แต่จริงๆ แล้วอีกฝ่ายเป็นโปรแกรม ย่อมหมายความว่าโปรแกรมนั้นหลอกคนได้สำเร็จ และมีความฉลาดระดับหนึ่ง โปรแกรมที่ชนะเลิศการแข่งขันในปี 2004 มีชื่อว่าอลิซ ( ALICE ) ผู้เรียนสามารถลองคุยกับอลิซได้ที่เว็บไซต์ http://alicebot.org/   ตัวอย่างคำตอบของเธอต่อกรรมการ
  • 6.
    กรรมการ : Doyou daydream           Alice : I have a lot of dreams but I cannot remember them all.           กรรมการ : Do you speak any Swedish           Alice : I speak only English right now, but I'd like to learn some other languages. Can you teach me a few phrases in Any Swedish. โปรแกรมเหล่านี้ต้องละเอียดขนาดความเร็วของแต่ละตัวอักษรที่ปรากฎ ( เพราะต้องทำให้รู้สึกเหมือนคนกำลังพิมพ์ตอบ ) ต้องวิจัยกันทีเดียวว่าเวลาที่ใช้การพิมพ์ตัวอักษรแต่ละตัวเป็นอย่างไร เช่นการพิมพ์ t นั้นเร็วกว่าการพิมพ์ตัว s และต้องใส่ถ่วงเวลาแค่ไหนระหว่างตัวอักษรแต่ละตัวจะปรากฎ และบางทีโปรแกรมก็ต้องพิมพ์ผิด เว้นวรรคพลาดบ้าง จะได้แนบเนียน แต่อลิซหลอกกรรมการที่เป็นจิตแพทย์ไม่ค่อยเก่ง เพราะเธอจนปัญญาเอาทีเดียวกับคำถามเหล่านี้ กรรมการ : If I see a house        Alice : Try it.   กรรมการ : Am I on the inside outside or could it be either  
  • 7.
    Turing machine อลัน ทัวริง ( Alan Turing ) คิดค้นเครื่องจักรทัวริง ( Turing machine ) เครื่องมือในฝันที่สามารถทำอะไรได้ทุกอย่าง ถ้าเพียงแต่เราจะใส่วิธีทำลงไป ซึ่งกลายเป็นต้นแบบแรกเริ่มของคอมพิวเตอร์ในปัจจุบัน ทัวริงแมชชีนเป็นเครื่องมือมหัศจรรย์ เพราะเป็นครั้งแรกที่เราแยก &quot; อุปกรณ์ &quot; ออกจาก &quot; ความสามารถของอุปกรณ์ &quot; นั้นได้ การทำงานของเครื่องไม่ได้ถูกกำหนดมาล่วงหน้า แต่ขึ้นอยู่กับวิธีทำหรืออัลกอริทึมที่แนบมาด้วย   เครื่องจักรทัวริงนั้นไม่้ยุ่งยาก ทำงานเป็นเหมือนเครื่องอ่านม้วนกระดาษยาวๆ ( หรือเทป ) ลองคิดดูว่าเรามีกระดาษเก็บข้อมูลยาวๆ ไม่สิ้นสุด บนกระดาษจะบันทึกเลขสองตัวคือ ศูนย์และหนึ่ง เช่น ... 0011011000100 ... ทัวริงแมชชีนมีหัวอ่านค่าในกระดาษนี้ ที่บอกว่าตอนนี้กำลังอ่านเลขตัวไหนอยู่ตรงไหน และรู้ว่าตอนนี้อยู่ในสถานะใด ( ทัวริงแมชชีนมีได้หลายสถานะ แล้วแต่ข้อมูลที่กำลังอ่านอยู่ ) วิธีทำที่แนบมาด้วยสามารถสั่งให้ทัวริงแมชชีนทำงานได้สี่ประการต่อไปนี้   1 . อ่านเลขตัวติดกันทางซ้าย ( เปลี่ยนตำแหน่งปัจจุบัน )   2 . อ่านเลขตัวติดกันทางขวา ( เปลี่ยนตำแหน่งปัจจุบัน )   3 . แก้ค่าปัจจุบันที่อ่านอยู่ เช่นจาก 0 เป็น 1 หรือจาก 1 เป็น 0 ( เปลี่ยนค่าบนกระดาษ )   4 . เปลี่ยนสถานะ รูปด้านบนเป็นการใช้เครื่องจักรทัวริงตรวจสอบคำว่าใช่ &quot; aabb &quot; หรือไม่ ไม่น่าเชื่อที่ว่าแค่สั่งให้เครื่องจักรทัวริงเคลื่อนไหวไปๆ มาๆ ลบค่าบ้าง เปลี่ยนสถานะบ้าง จะทำให้เครื่องนี้มีความสามารถมากมาย วิธีทำที่แนบมาเป็นตัวควบคุมการทำงานของทัวริง ถ้าเราแนบคำสั่งให้ทัวริงอ่านเลขตัวติดกันทางขวาไปเรื่อยๆ ทัวริงก็จะไม่มีประโยชน์อะไรนัก แต่ถ้าเราเขียนคำสั่งที่ซับซ้อนขึ้น เครื่องจักรทัวริงก็สามารถเล่นหมากรุกกับเราได้ อลัน ทัวริงถึงกับบอกว่าเครื่องจักรทัวริงสามารถจำลองระบบความคิดของมนุษย์ได้ และนี่คือเครื่องมือมหัศจรรย์ที่อลัน ทัวริงคิดค้น
  • 8.
    โปรแกรม VisualTuring Visual Turing เป็นเครื่องมือที่ใช้ออกแบบและสร้าง Turing machine โดยนำเสนอในรูปแบบของภาพ graphic สามารถ cut, copy, paste และ undo ได้ สามารถรัน machine ที่สร้างขึ้น และทำการ debug breakpoints รวมถึงสามารถมองเห็นลำดับการทำงานของ machine ในแต่ละขั้นตอนได้อย่างชัดเจน  
  • 9.
    จุดเด่นของโปรแกรม นำเสนอในรูปแบบของภาพ graphic มีความยืดหยุ่น สามารถออกแบบและสร้าง Machine ได้ตามที่เราต้องการ สามารถมองเห็นลำดับการทำงานและเส้นทางการเดินไปยังแต่ละโหมด Transition diagram กับ หัวอ่านบนเทป ทำงานสัมพันธ์กัน ประหยัดทรัพยากรและหน่วยความจำของเครื่อง
  • 10.
    จุดด้อยของโปรแกรม มีข้อจำกัดเรื่องข้อมูล input และ output การใช้งานค้อนข้างยาก ต้องใช้เวลาในการเรียนรู้ใหม่ เนื่องจากการเขียน Turing machine ใน Visual Turing ไม่เหมือนกับการเขียนแบบมาตรฐานสากล เทปมีความยาวจำกัด ไม่สามารถเปิดไฟล์ได้ครั้งละหลายๆไฟล์
  • 11.
    วิธีใช้งานโปรแกรม 1 . เปิดโปรแกรม Visual Turing ขึ้นมา โปรแกมจะสร้างโปรเจคเอาไว้ให้ ดังในรูป หรือหากต้องการสร้างโปรเจคใหม่ให้กดที่ New button หรือ File / New หรือ Ctrl + N
  • 12.
    2 . การสร้าง machine ใหม่ ให้กดที่ Insert machine button หรือ คลิกขวาที่ tree view ด้านซ้ายมือ เลือก Insert machine จากนั้นเปลี่ยนชื่อ machine ที่หน้าต่าง properties ดังรูป   3 . การสร้าง Symbol ใหม่ ให้กดที่ Insert symbol button หรือ คลิกขวาที่ tree view ด้านซ้ายมือ เลือก Insert symbol 4 . การสร้าง Symbol ใหม่ ให้กดที่ Insert variable button หรือ คลิกขวาที่ tree view ด้านซ้ายมือ เลือก Insert variable
  • 13.
      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 ดังรูป 
  • 14.
      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
  • 15.
    เปรียบเทียบ TransitionDiagram แบบ Visual Turing กับ แบบมาตรฐาน แสดง Main Machine ของ Copy String แสดง Left # Machine แสดง Right # Machine   แสดง Tape ข้อมูลนำเข้า แสดง Tape ข้อมูลออก แสดง Transition Diagram แบบมาตรฐานของ Copy String
  • 16.
    โปรแกรม Turing MachineSimulator เป็นโปรแกรมบนเวบไซต์ ( http :// ironphoenix.org / tril / tm / ) ที่พัฒนาด้วยภาษาจาวา ( Java Applet ) ใช้จำลองตัวแบบการคำนวณ Turing Machine โดยผู้ใช้สามารถสร้างแบบจำลองของ Turing Machine ในรูปแบบของรหัสสัญลักษณ์ และ input เทปเพื่อทดสอบตัวแบบได้ นอกจากนี้ยังมีตัวอย่างของ Turing Machine เพื่อเป็นแนวทางในการศึกษาและเรียนรู้อีกด้วย แสดงรหัสสัญลักษณ์ที่ใช้แทน Transition diagram ของ Turing Machine และแสดงเทปที่ input เข้ามา
  • 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 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
  • 18.
    จุดเด่นของโปรแกรม 1 . เป็นโปรแกรมบนเวบไซต์จึงง่ายต่อการเผยแพร่ 2 . มีตัวอย่าง Turing Machine เพื่อแนวทางในการศึกษา 3 . มีความสามารถในการสร้าง Turing Machine โดยการใช้รหัสสัญลักษณ์และสามารถ input เทปเพื่อการตรวจสอบ Output ได้ 4 . สามารถ input เทปที่มีความยาวได้ถึง 15,000 ตัวอักษร 5 . แสดงข้นตอนการหา output ทั้งแบบ step และ แบบ compute 6 . ลักษณะของรหัสสัญลักษณ์ที่ใช้เข้าใจง่ายและเป็นไปตามรูปแบบมาตรฐานสากล 7 . พัฒนาด้วยภาษาจาวา ( Java Applet ) จึงทำให้โปรแกรมสามารถใช้งานได้บนทุกๆระบบปฏิบัติการ
  • 19.
    จุดด้อยของโปรแกรม 1 . แม้จะแสดงขั้นตอนการหา output แต่ก็ขาดส่วนที่เป็น Transition diagram ทำให้ผู้ใช้อาจเกิดปัญหาในการจินตนาการภาพของการไหลเวียนของ state       2 . ไม่สามารถทำการบันทึก Turing machine ที่ผู้ใช้สร้างขึ้นเองไว้ในรูปแบบของแฟ้มข้อมูลได้ เมื่อผู้ใช้ทำการปิดหน้าต่างเว็บไซต์ หรือ รีเฟรชหน้าจอ Machine ที่สร้างไว้ก็จะหายไป        3 . การสร้าง Turing Machine ด้วยรหัสสัญลักษณ์ ล่าช้ากว่ากว่าการสร้างด้วย Transition diagram       4 . ผู้ใช้จะต้องติดตั้ง Java Runtime เสียก่อน จึงจะสามารถใช้งานโปรแกรมได้        5 . สำหรับผู้ใช้ที่ไม่สามารถเชื่อมต่อเข้ากับระบบ Internet ก็ไม่สามารถใช้งานโปรแกรมได้ 
  • 20.