SlideShare ist ein Scribd-Unternehmen logo
1 von 21
Downloaden Sie, um offline zu lesen
Turing
Machine

จัดทำโดย
นำงสำวจอมขวัญ กลำอินทร์
ชั้นมัธยมศึกษำปีที 4/1 เลขที 27
แอลัน แมธิสัน ทัวริง (Alan Mathison Turing)
• แอลัน แมธิสัน ทัวริง (Alan Mathison Turing)
 เป็นนักคณิตศาสตร์, นักตรรกศาสตร์, นักรหัสวิทยา และวีรบุรษสงคราม
                                                             ุ
 ชาวอังกฤษ และเป็นทียอมรับว่าเป็นบิดาของวิทยาการคอมพิวเตอร์
                           ่
       เขาได้สร้างรูปแบบที่เป็นทางการทางคณิตศาสตร์ของการระบุ
  อัลกอริทึมและการคานวณ โดยใช้เครืองจักรทัวริง
                                       ่
  ซึงตามข้อปัญหาเชิรช-ทัวริงได้กล่าวว่าเป็นรูปแบบของเครืองจักร
    ่                    ์                              ่
  คานวณเชิงกลที่ครอบคลุมทุกๆ รูปแบบที่เป็นไปได้ในทางปฏิบติ ในระหว่างสงครามโลก
                                                               ั
  ครังทีสอง ทัวริงมีสวนสาคัญในการแกะรหัสลับของฝ่ายเยอรมัน โดยเขาเป็นหัวหน้าของ
      ้ ่              ่
  กลุ่ม Hut 8 ที่ทาหน้าที่ในการแกะรหัสของเครืองอีนิกมาที่ใช้ในฝ่ายทหารเรือ
                                                ่
         หลังจากสงครามเขาได้ออกแบบเครืองคอมพิวเตอร์อเิ ล็กทรอนิกส์ที่สามารถ
                                          ่
  โปรแกรมได้เครืองแรกๆ ของโลกที่หองปฏิบัตการฟิสกส์แห่งชาติ และได้สร้างเครือง
                     ่               ้        ิ    ิ                           ่
  คอมพิวเตอร์ขึ้นจริงๆ ทีมหาวิทยาลัยแมนเชสเตอร์ รางวัลทัวริงถูกก่อตั้งขึ้นเพือยกย่อง
                             ่                                               ่
  เขาในเรืองนี้
            ่
เครื่องจักรทัวริง (the Turing machine)
• เครืองจักรทัวริง (the 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
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
โปรแกรม Visual Turing

•     โปรแกรม 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://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

Weitere ähnliche Inhalte

Was ist angesagt?

งานคอมพิวเตอร์
งานคอมพิวเตอร์งานคอมพิวเตอร์
งานคอมพิวเตอร์JOMKHWANJAI
 
Turing machine
Turing machineTuring machine
Turing machineair
 
การบ้านคอม
การบ้านคอมการบ้านคอม
การบ้านคอมNucharee
 
ใบงานที่ 4
ใบงานที่ 4ใบงานที่ 4
ใบงานที่ 4Soldic Kalayanee
 
9789740332824
97897403328249789740332824
9789740332824CUPress
 
งานคอมที่คุณรู้จัก
งานคอมที่คุณรู้จักงานคอมที่คุณรู้จัก
งานคอมที่คุณรู้จักkamalonss082
 
3 software deverlop
3 software deverlop3 software deverlop
3 software deverlopPor Kung
 
บทที่ 4 หลักการทำงานของระบบคอมพิวเตอร์
บทที่ 4 หลักการทำงานของระบบคอมพิวเตอร์บทที่ 4 หลักการทำงานของระบบคอมพิวเตอร์
บทที่ 4 หลักการทำงานของระบบคอมพิวเตอร์russana
 
Lab c1 1
Lab c1 1Lab c1 1
Lab c1 1binLy
 

Was ist angesagt? (10)

งานคอมพิวเตอร์
งานคอมพิวเตอร์งานคอมพิวเตอร์
งานคอมพิวเตอร์
 
Turing machine
Turing   machineTuring   machine
Turing machine
 
Turing machine
Turing machineTuring machine
Turing machine
 
การบ้านคอม
การบ้านคอมการบ้านคอม
การบ้านคอม
 
ใบงานที่ 4
ใบงานที่ 4ใบงานที่ 4
ใบงานที่ 4
 
9789740332824
97897403328249789740332824
9789740332824
 
งานคอมที่คุณรู้จัก
งานคอมที่คุณรู้จักงานคอมที่คุณรู้จัก
งานคอมที่คุณรู้จัก
 
3 software deverlop
3 software deverlop3 software deverlop
3 software deverlop
 
บทที่ 4 หลักการทำงานของระบบคอมพิวเตอร์
บทที่ 4 หลักการทำงานของระบบคอมพิวเตอร์บทที่ 4 หลักการทำงานของระบบคอมพิวเตอร์
บทที่ 4 หลักการทำงานของระบบคอมพิวเตอร์
 
Lab c1 1
Lab c1 1Lab c1 1
Lab c1 1
 

Ähnlich wie งานคอมพิวเตอร์.Ppt (1)

Turing Machine2
Turing Machine2Turing Machine2
Turing Machine2ninewyuya
 
งานคอมพิวเตอร์
งานคอมพิวเตอร์งานคอมพิวเตอร์
งานคอมพิวเตอร์JOMKHWANJAI
 
งานคอมพิวเตอร์
งานคอมพิวเตอร์งานคอมพิวเตอร์
งานคอมพิวเตอร์khwanjai
 
E:\works\turing machine2
E:\works\turing machine2E:\works\turing machine2
E:\works\turing machine2bewhands
 
การใช้เครื่องใช้สำนักงาน
การใช้เครื่องใช้สำนักงานการใช้เครื่องใช้สำนักงาน
การใช้เครื่องใช้สำนักงานPrapisee Nilawongse
 
ใบงานที่ 4
ใบงานที่ 4ใบงานที่ 4
ใบงานที่ 4Mintra Pudprom
 
ใบงานที่ 4 (1)
ใบงานที่ 4 (1)ใบงานที่ 4 (1)
ใบงานที่ 4 (1)KaRn Tik Tok
 
ใบงานที่ 4
ใบงานที่ 4ใบงานที่ 4
ใบงานที่ 4Soldic Kalayanee
 
โครงงาน ระบบปฏิบัติการ
โครงงาน ระบบปฏิบัติการโครงงาน ระบบปฏิบัติการ
โครงงาน ระบบปฏิบัติการBuslike Year
 
ประเภทของโครงงานคอมพิวเตอร์
ประเภทของโครงงานคอมพิวเตอร์ประเภทของโครงงานคอมพิวเตอร์
ประเภทของโครงงานคอมพิวเตอร์pattanan_hansuek
 
ขอบข่ายและประเภทโครงงานคอมพิวเตอร์
ขอบข่ายและประเภทโครงงานคอมพิวเตอร์ขอบข่ายและประเภทโครงงานคอมพิวเตอร์
ขอบข่ายและประเภทโครงงานคอมพิวเตอร์miiztake
 
โครงงาน ระบบปฏิบัติการ
โครงงาน ระบบปฏิบัติการโครงงาน ระบบปฏิบัติการ
โครงงาน ระบบปฏิบัติการBuslike Year
 
โครงงาน ระบบปฏิบัติการ
โครงงาน ระบบปฏิบัติการโครงงาน ระบบปฏิบัติการ
โครงงาน ระบบปฏิบัติการBuslike Year
 
ตอนที่ 3 การนำเสนอข้อมูล
ตอนที่ 3 การนำเสนอข้อมูลตอนที่ 3 การนำเสนอข้อมูล
ตอนที่ 3 การนำเสนอข้อมูลKriangx Ch
 
คอมพิวเตอร์เบื้องต้น
คอมพิวเตอร์เบื้องต้นคอมพิวเตอร์เบื้องต้น
คอมพิวเตอร์เบื้องต้นWithawat Na Wanma
 

Ähnlich wie งานคอมพิวเตอร์.Ppt (1) (20)

Turing Machine2
Turing Machine2Turing Machine2
Turing Machine2
 
งานคอมพิวเตอร์
งานคอมพิวเตอร์งานคอมพิวเตอร์
งานคอมพิวเตอร์
 
งานคอมพิวเตอร์
งานคอมพิวเตอร์งานคอมพิวเตอร์
งานคอมพิวเตอร์
 
E:\works\turing machine2
E:\works\turing machine2E:\works\turing machine2
E:\works\turing machine2
 
6.6
6.66.6
6.6
 
K3
K3K3
K3
 
การใช้เครื่องใช้สำนักงาน
การใช้เครื่องใช้สำนักงานการใช้เครื่องใช้สำนักงาน
การใช้เครื่องใช้สำนักงาน
 
Ppp.
Ppp.Ppp.
Ppp.
 
ใบงานที่ 4
ใบงานที่ 4ใบงานที่ 4
ใบงานที่ 4
 
ใบงานที่ 4 (1)
ใบงานที่ 4 (1)ใบงานที่ 4 (1)
ใบงานที่ 4 (1)
 
ใบงานที่ 4
ใบงานที่ 4ใบงานที่ 4
ใบงานที่ 4
 
โครงงาน ระบบปฏิบัติการ
โครงงาน ระบบปฏิบัติการโครงงาน ระบบปฏิบัติการ
โครงงาน ระบบปฏิบัติการ
 
ประเภทของโครงงานคอมพิวเตอร์
ประเภทของโครงงานคอมพิวเตอร์ประเภทของโครงงานคอมพิวเตอร์
ประเภทของโครงงานคอมพิวเตอร์
 
18
1818
18
 
ขอบข่ายและประเภทโครงงานคอมพิวเตอร์
ขอบข่ายและประเภทโครงงานคอมพิวเตอร์ขอบข่ายและประเภทโครงงานคอมพิวเตอร์
ขอบข่ายและประเภทโครงงานคอมพิวเตอร์
 
ส่งคอม
ส่งคอมส่งคอม
ส่งคอม
 
โครงงาน ระบบปฏิบัติการ
โครงงาน ระบบปฏิบัติการโครงงาน ระบบปฏิบัติการ
โครงงาน ระบบปฏิบัติการ
 
โครงงาน ระบบปฏิบัติการ
โครงงาน ระบบปฏิบัติการโครงงาน ระบบปฏิบัติการ
โครงงาน ระบบปฏิบัติการ
 
ตอนที่ 3 การนำเสนอข้อมูล
ตอนที่ 3 การนำเสนอข้อมูลตอนที่ 3 การนำเสนอข้อมูล
ตอนที่ 3 การนำเสนอข้อมูล
 
คอมพิวเตอร์เบื้องต้น
คอมพิวเตอร์เบื้องต้นคอมพิวเตอร์เบื้องต้น
คอมพิวเตอร์เบื้องต้น
 

งานคอมพิวเตอร์.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 ในแต่ ละขันตอนได้อย่างชัดเจน ้
  • 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://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