More Related Content Similar to E:\works\turing machine2 Similar to E:\works\turing machine2 (20) E:\works\turing machine21. Turing machine เสนอ คุณครู ณัฐพล บัวอุไร จัดทำโดย นายเมธัส มุ่งตุลารักษ์ ม .4/1 เลขที่ 9 งานนี้เป็นส่วนหนึ่งของวิชาการงานอาชีพและเทคโนโลยี ภาคเรียนที่ 1 ปีการศึกษา 2553 โรงเรียนเตรียมอุดมศึกษาพัฒนาการ ลำลูกกา 2. Turing machine เครื่องจักรทัวริง เครื่องจักรทัวริง คือเครื่องจักรนามธรรมที่แอลัน ทัวริงได้คิดค้นขึ้นใน ค . ศ . 1936 ( พ . ศ . 2479) เพื่อการนิยามอัลกอริทึมหรือ ' กระบวนการเชิงกล ' อย่างชัดเจนแบบคณิตศาสตร์ เครื่องจักรทัวริงได้ถูกใช้อย่างแพร่หลายในการศึกษาวิทยาการคอมพิวเตอร์เชิงทฤษฎี โดยเฉพาะในทฤษฎีความซับซ้อนในการคำนวณและทฤษฎีการคำนวณ ข้อปัญหา ( thesis) ที่ว่าโมเดลของเครื่องจักรทัวริงนั้นครอบคลุมกระบวนการเชิงกลทั้งหมด ในการคำนวณทางตรรกศาสตร์และคณิตศาสตร์ เป็นที่รู้จักกันในชื่อข้อปัญหาของเชิร์ช - ทัวริง แนวคิดของเครื่องจักรทัวริงนั้นต้องการจะอธิบายการทำงานของคนที่ปฏิบัติตามขั้นตอนที่ระบุไว้อย่างชัดเจน เพื่อแก้ไขข้อมูลที่ถูกบันทึกไว้ในกระดาษที่เรียงต่อกันความยาวไม่จำกัด โดยที่กระดาษแผ่นหนึ่งจะสามารถเก็บสัญลักษณ์ได้หนึ่งตัวจากสัญลักษณ์ที่เป็นไปได้จำนวนจำกัด ผู้ปฏิบัติงานนั้นจะต้องจดจำสถานะหนึ่งจากสถานะที่เป็นไปได้ที่มีจำนวนจำกัด และขั้นตอนที่ระบุให้เขาทำงานนั้นจะอยู่ในลักษณะเช่น " ถ้าสถานะของคุณคือ 42 และสัญลักษณ์บนกระดาษที่คุณเห็นคือ ' 0 ', ให้เปลี่ยนสัญลักษณ์นี้เป็น ' 1 ', จดจำว่าสถานะใหม่เป็น 17 และไปทำงานต่อกับกระดาษแผ่นถัดไป " เครื่องจักรทัวริงนั้นไม่เกี่ยวข้องกับการทดสอบของทัวริง ซึ่งถูกใช้เพื่ออธิบายความหมายของปัญญาประดิษฐ์โดยทัวริง เครื่องจักรทัวริงที่สามารถจำลองการทำงานของเครื่องจักรทัวริงเครื่องใด ๆ ก็ได้เรียกว่า เครื่องจักรทัวริงสากล ( universal Turing machine) หรือเรียกสั้นๆ ว่า เครื่องจักรสากล ทัวริงอธิบายไว้ใน ค . ศ . 1947 ( พ . ศ . 2490) ว่า สามารถแสดงได้ว่ามีเครื่องจักรพิเศษในรูปแบบนี้ ที่สามารถทำงานของเครื่องจักรอื่น ๆ ในรูปแบบดังกล่าวได้ทั้งหมด นอกจากนี้เครื่องจักรนี้ยังสามารถใช้เป็นโมเดลสำหรับเครื่องจักรในแบบอื่น ๆ เครื่องจักรพิเศษนี้สามารถเรียกได้ว่าเป็นเครื่องจักรสากล 3. แอลัน แมททิสัน ทัวริง ( Alan Mathison Turing) เป็นชาวอังกฤษ เขาได้เข้า เรียนคณิตศาสตร์ ที่มหาวิทยาลัยแคมบริดจ์ ในปีพ . ศ . 2474 ซึ่งระหว่างนั้น เขาทำกิจกรรมหลายอย่าง โดยเฉพาะวิ่งแข่ง จนสามารถชนะเลิศ การแข่งขัน ของสมาคมนักกรีฑาสมัครเล่น และในปี พ . ศ . 2491 เขาได้เหรียญทอง วิ่งมาราธอนโอลิกปิก ด้วยความเร็ว 11 นาที หลังจากเรียนจบ เขาได้รับเชิญ ให้อยู่เป็น Fellow ด้านคณิตศาสตร์ต่อ ซึ่งส่วนใหญ่ Fellow ของเคมบริดจ์ จะเป็นพวกที่จบปริญญาเอก แต่เขาจบเพียงปริญญาตรี ต่อมาวันที่ 28 พฤษภาคม พ . ศ . 2479 ทัวริงได้ออก บทความวิชาการ เรื่อง " On Computable Numbers with an application to the Entscheidungsproblem” เพื่อตีพิมพ์ โดยก่อนหน้านั้น มีผลงานของ Church ออกมา ซึ่งมีหัวข้อเหมือนๆ กัน เลยจำเป็นต้องเขียนอิงงานของ Church ด้วย แต่เมื่อบทความเผยแพร่ออกมา กลับแสดงให้เห็นว่า เป็นคนละทฤษฏีกัน ทำให้หลายๆ คนยกย่อง ให้เขาเป็น " The Founder of Computer Science” หรือผู้ริเริ่ม ศาสตร์คอมพิวเตอร์ รวมทั้งยัง ได้รับรางวัล " Smith's prize” ด้วย 4. แอลัน แมททิสัน ทัวริง ( Alan Mathison Turing) เป็นชาวอังกฤษ เขาได้เข้า เรียนคณิตศาสตร์ ที่มหาวิทยาลัยแคมบริดจ์ ในปีพ . ศ . 2474 ซึ่งระหว่างนั้น เขาทำกิจกรรมหลายอย่าง โดยเฉพาะวิ่งแข่ง จนสามารถชนะเลิศ การแข่งขัน ของสมาคมนักกรีฑาสมัครเล่น และในปี พ . ศ . 2491 เขาได้เหรียญทอง วิ่งมาราธอนโอลิกปิก ด้วยความเร็ว 11 นาที หลังจากเรียนจบ เขาได้รับเชิญ ให้อยู่เป็น Fellow ด้านคณิตศาสตร์ต่อ ซึ่งส่วนใหญ่ Fellow ของเคมบริดจ์ จะเป็นพวกที่จบปริญญาเอก แต่เขาจบเพียงปริญญาตรี ต่อมาวันที่ 28 พฤษภาคม พ . ศ . 2479 ทัวริงได้ออก บทความวิชาการ เรื่อง " On Computable Numbers with an application to the Entscheidungsproblem” เพื่อตีพิมพ์ โดยก่อนหน้านั้น มีผลงานของ Church ออกมา ซึ่งมีหัวข้อเหมือนๆ กัน เลยจำเป็นต้องเขียนอิงงานของ Church ด้วย แต่เมื่อบทความเผยแพร่ออกมา กลับแสดงให้เห็นว่า เป็นคนละทฤษฏีกัน ทำให้หลายๆ คนยกย่อง ให้เขาเป็น " The Founder of Computer Science” หรือผู้ริเริ่ม ศาสตร์คอมพิวเตอร์ รวมทั้งยัง ได้รับรางวัล " Smith's prize” ด้วย ต่อมาทัวริง ทำปริญญาโท และปริญญาเอก ที่ศูนย์วิจัย มหาวิทยาลัย ปรินซ์ตัน แล้วเสนอความคิด ออกแบบเครื่องจักรทัวริง ( Universal Turing Machine) โดยในยุคนั้น ไม่ได้เรียกว่า คอมพิวเตอร์ แต่เรียกว่าเป็น เครื่องคำนวณ ที่สามารถป้อนข้อมูลได้ และเขาได้สร้าง เครื่องเข้ารหัส ( cipher machine) โดยใช้รีเลย์แม่เหล็กไฟฟ้า สำหรับคูณเลขฐานสอง ทัวริงทำงาน ให้กับ " British Cryptanalytic department” รวมทั้ง ทำงานด้าน "ordinal logic” เพราะเชื่อว่า คนสามารถตอบโต้ ต่อเหตุการณ์ได้ โดยไม่ต้องคำนวน ในระหว่าง สงครามโลกครั้งที่สอง เขามีส่วนสำคัญ ในการแกะรหัสลับ ของฝ่ายเยอรมัน โดยเป็นหัวหน้ากลุ่ม Hut 8 เพื่อทำหน้าที่ แกะรหัสเครื่องอีนิกมา ( Enigma Cipher Machine) ที่ใช้ในฝ่ายทหารเรือ 6. อัลกอริทึม เป็นส่วนประกอบที่สำคัญในการสร้างโปรแกรมหรือการประมวลผลใด ๆ เพื่อใช้เป็นแนวทางที่ชัดเจนในการสร้างโปรแกรมและแก้ปัญหาต่าง ๆ ที่เกิดขึ้น ความหมายและลักษณะของอัลกอริทึม อัลกอริทึม (Algorithm ) เป็นส่วนหนึ่งในขั้นตอนการพัฒนาโปรแกรมคอมพิวเตอร์ เกิดจากแนวคิดอย่างเป็นระบบเพื่อนำไปสู่ผลลัพธ์ที่ต้องการ และเพื่อให้คอมพิวเตอร์ทำงานตามความต้องการหรือแก้ปัญหาใด ๆ ประกอบด้วยชุดของการทำงานที่ชัดเจน ดังนั้นหากออกแบบอัลกอริทึมได้ดี เมื่อนำไปเขียนโปรแกรมภาษาคอมพิวเตอร์ใด ๆ ก็จะได้ผลลัพธ์ตามความต้องการ โดยทั่วไปแล้วในชีวิตประจำวันของมนุษย์ ทั้งในการทำงานและการแก้ปัญหาต่าง ๆ ที่เกี่ยวข้องกับคอมพิวเตอร์หรือไม่ก็ตามมักจะเกี่ยวข้องกับอัลกอริทึมอยู่แล้ว ยกตัวอย่างเช่น วิธีการปฐมพยาบาล ตำราประกอบอาหาร เป็นต้น ซึ่งอธิบายขั้นตอนต่าง ๆ ด้วยภาษาที่อ่านแล้วเข้าใจง่าย แต่ในด้านคอมพิวเตอร์นั้นจำเป็นที่จะต้องเรียนรู้คำสั่งต่างๆ เพิ่มเติมเพื่อให้คอมพิวเตอร์ สามารถเข้าใจได้ อัลกอริทึมการทำปูม้าสองเกลอ 1. เรียงรากผักชีลงในถาดสี่เหลี่ยม 2. นำปูม้า 2 ตัว วางลงบนรากผักชี 3. นำเกลือป่น 1 ช้อนชา และ เนย 1 ช้อนโต๊ะ โรยบนตัวปูม้า 4. นำถาดปูม้าใส่ลังถึง แล้วนึ่ง ประมาณ 15 – 20 นาที 7. ความรู้พื้นฐานสำหรับเขียนการอัลกอริทึม ในการออกแบบอัลกอริทึม ต้องคำนึงถึงระบบการทำงานของคอมพิวเตอร์ 3 ด้าน คือ 1. ด้านหน่วยความจำ ในการเขียนโปรแกรมคอมพิวเตอร์จะต้องมีการใช้งานพื้นที่ในหน่วยความจำของคอมพิวเตอร์ เช่น การกำหนดค่าข้อมูล การรับข้อมูลจากผู้ใช้ และการคำนวณที่มีผลลัพธ์เกิดขึ้น เป็นต้น ข้อมูลเหล่านี้จะถูกเก็บไว้ที่หน่วยความจำของคอมพิวเตอร์ ดังนั้นจะต้องมีการกำหนดตัวแปร (Variable) ขึ้นมา เพื่อเป็นตัวแทนสำหรับใช้อ้างอิงถึงข้อมูลที่ถูกเก็บไว้ในหน่วยความจำนั่นเอง ตารางที่ 2.1 ตัวอย่างการกำหนดค่าให้กับตัวแปร ตัวอย่าง ความหมาย Price = 100 ตัวแปร Price อ้างอิงถึงข้อมูล 100 ในหน่วยความจำ Vat = Price * 0.07 ตัวแปร Vat อ้างอิงถึงผลลัพธ์ที่ได้จากการคำนวณค่าที่เก็บไว้ในตัวแปร Price คูณด้วย 0.07 เพราะฉะนั้นตัวแปร Vat จึงอ้างอิงถึงข้อมูล 7.00 ( เกิดจาก 100 * 0.07 ) N = 10 ตัวแปร N อ้างอิงถึงข้อมูล 10 ที่เก็บไว้ในหน่วยความจำ N = N + 1 ตัวแปร N อ้างอิงถึงผลลัพธ์ที่ได้จากการคำนวณค่าที่เก็บไว้ใน ตัวแปร N บวกด้วย 1 เพราะฉะนั้นตัวแปร N จึงอ้างอิงถึงข้อมูล 11 ( เกิดจาก 10 + 1) หมายเหตุ การใช้เครื่องหมายเท่ากับ ( = ) แทนการกำหนดค่าให้กับตัวแปร โดยจะทำการประมวลผลค่าที่อยู่ด้านขวาของเครื่องหมายเท่ากับก่อน แล้วผลลัพธ์ที่ได้จึงเก็บไว้ ด้วยตัวแปรที่อยู่ด้านซ้ายของเครื่องหมายเท่ากับ 8. 2. ด้านการคำนวณ ในการประมวลผลที่เกี่ยวข้องกับการคำนวณด้วยคอมพิวเตอร์แตกต่างจากการคำนวณของมนุษย์ เพราะมีการพิจารณาจากลำดับความสำคัญของสัญลักษณ์หรือเครื่องหมายการคำนวณก่อน ไม่ได้คำนวณจากซ้ายไปขวาเสมอไป ตารางที่ 2.2 ลำดับความสำคัญของสัญลักษณ์หรือเครื่องหมายการคำนวณ ลำดับความสำคัญ สัญลักษณ์หรือเครื่องหมาย ความหมาย 1 วงเล็บ สำหรับจัดกลุ่มการคำนวณ 2 คูณ หาร 3 บวก ลบ หมายเหตุ การคำนวณจะทำจากลำดับความสำคัญสูงกว่าก่อน ส่วนกรณีที่มีลำดับ ความสำคัญเท่ากันจะทำการคำนวณจากซ้ายไปขวา 9. ตารางที่ 2.3 ตัวอย่างวิธีการคำนวณด้วยคอมพิวเตอร์ กำหนดให้ X = 10 และ Y = 5 คำสั่ง ลำดับการทำงาน ผลลัพธ์ Z = ( X + Y ) * 2 ( X + Y ) 15 ทำในวงเล็บก่อน ( X + Y ) * 2 30 Z = X + Y * 2 Y * 2 10 เครื่องหมาย * มีลำดับความสำคัญสูงกว่า เครื่องหมาย + X + Y * 2 20 Z = X /2 * Y X /2 5 เครื่องหมาย / มีลำดับความสำคัญเท่ากับ เครื่องหมาย * จึงทำจากซ้ายไปขวา X /2 * Y 25