ความสำคัญในทางปฏิบัติของเครื่องจักรทัวริง


27

ฉันเป็นวิศวกรไฟฟ้าและมีหลักสูตร CS เพียงหนึ่งหลักสูตรในวิทยาลัยเมื่อ 26 ปีที่แล้ว อย่างไรก็ตามฉันยังเป็นผู้ใช้ Mathematica ที่อุทิศตน

ฉันมีความรู้สึกว่าทัวริงแมชชีนมีความสำคัญมากในด้านวิทยาการคอมพิวเตอร์ มีความสำคัญเฉพาะในทฤษฎีวิทยาศาสตร์คอมพิวเตอร์หรือไม่ หากมีความหมายในทางปฏิบัติ / การใช้งานสิ่งที่มีอยู่บ้าง?

คำตอบ:


21

ความสำคัญของเครื่องจักรทัวริงคือสองเท่า ครั้งแรกเครื่องจักรทัวริงเป็นหนึ่งในโมเดลเชิงทฤษฎีตัวแรก (ถ้าไม่ใช่ตัวแรก) สำหรับคอมพิวเตอร์สืบมาจากปี 1936 ประการที่สองวิทยาการคอมพิวเตอร์เชิงทฤษฎีจำนวนมากได้รับการพัฒนาโดยคำนึงถึงเครื่องทัวริงในใจและผลลัพธ์พื้นฐานมากมาย ในภาษาของเครื่องจักรทัวริง เหตุผลหนึ่งสำหรับเรื่องนี้ก็คือเครื่องจักรทัวริงนั้นง่ายและคล้อยตามการวิเคราะห์

ที่กล่าวว่าทัวริงเครื่องไม่ใช่แบบจำลองสำหรับการคำนวณ ในฐานะที่เป็นวิศวกรและผู้ใช้ Mathematica พวกเขาไม่ควรเกี่ยวข้องกับคุณเลย แม้แต่ในชุมชนวิทยาศาสตร์คอมพิวเตอร์เชิงทฤษฎีเครื่อง RAM ที่สมจริงยิ่งกว่าก็ถูกใช้ในส่วนของอัลกอริทึมและโครงสร้างข้อมูล

ในความเป็นจริงจากมุมมองของทฤษฎีความซับซ้อนทัวริงเครื่องจักรเทียบเท่ากับแบบจำลองเครื่องจักรอื่น ๆ อีกมากมายและความซับซ้อนเช่น P และ NP สามารถกำหนดระดับความเท่าเทียมกันในแง่ของแบบจำลองเหล่านี้ (คลาสที่ซับซ้อนอื่น ๆ นั้นละเอียดอ่อนกว่า)


11

เครื่องจักรทัวริงเป็นหนึ่งในรุ่นแรก ๆ สำหรับการคำนวณนั่นคือมันถูกพัฒนาขึ้นเมื่อการคำนวณของตัวเองไม่เป็นที่เข้าใจมากนัก (ประมาณปี 1940) ฉันต้องการที่จะมุ่งเน้นไปที่สองด้านที่ (เนื้อหา) นำไปสู่พวกเขาเป็นรุ่นที่ต้องการในเวลานั้นซึ่งนำไปสู่การเป็นที่ยอมรับมากที่สุดและในที่สุดรูปแบบมาตรฐานในที่สุด

  1. ความเรียบง่ายของการพิสูจน์
    ในฐานะที่เป็นแบบจำลองเชิงทฤษฎีเครื่องทัวริงมีเสน่ห์ของการเป็น "ง่าย" ในแง่ที่ว่าสถานะเครื่องปัจจุบันมีขนาดคงที่เท่านั้น ข้อมูลทั้งหมดที่คุณต้องการเพื่อกำหนดสถานะเครื่องถัดไปคือหนึ่งสัญลักษณ์และหมายเลขสถานะหนึ่งตัว (ควบคุม) การเปลี่ยนเป็นสถานะเครื่องมีขนาดเล็กเท่ากันเพิ่มการเคลื่อนไหวของหัวเครื่องเท่านั้น ที่ลดความซับซ้อนของการพิสูจน์ (เป็นทางการ) โดยเฉพาะอย่างยิ่งจำนวนกรณีที่จะแยกแยะ

    เปรียบเทียบด้านนี้ด้วยรูปแบบแรม (เมื่อไม่ได้ใช้งานในรูปแบบที่เรียบง่ายของมัน): การดำเนินการต่อไปอาจจะใด ๆของการดำเนินงานหลายอย่างซึ่งอาจเข้าถึงใด ๆ (สอง) ลงทะเบียน นอกจากนี้ยังมีโครงสร้างการควบคุมหลายอย่าง


  2. λμ

    อย่างไรก็ตามสำหรับทัวริงเครื่องจักรความคิดทั้งสองถูกกำหนดได้อย่างง่ายดาย (และอยู่ในกระดาษฉบับแรกของทัวริงในแบบจำลองของเขาถ้าฉันจำได้ถูกต้อง) เนื่องจากการพิจารณาประสิทธิภาพมีความสำคัญมากสำหรับการทำสิ่งต่าง ๆ ในไม่ช้านี่เป็นข้อได้เปรียบที่ชัดเจนของเครื่องจักรทัวริง

ดังนั้นเครื่องทัวริงได้รับการจัดตั้งเป็นรูปแบบของการคำนวณซึ่งอาจจะเห็นการรวมกันของ "อุบัติเหตุ" ทางประวัติศาสตร์และบางส่วนของคุณสมบัติที่สำคัญของมัน อย่างไรก็ตามมีหลายรูปแบบที่ได้ถูกกำหนดตั้งแต่และมีการใช้โดยเฉพาะอย่างยิ่งเพื่อเอาชนะข้อบกพร่องของเครื่องจักรทัวริง เช่นพวกเขาน่าเบื่อที่จะ "โปรแกรม" (เช่นกำหนด)

ฉันไม่ได้ตระหนักถึงการใช้งานโดยตรงใด ๆ ในทางปฏิบัติ โดยเฉพาะอย่างยิ่งการฝึกฝนการคำนวณวิวัฒนาการไปพร้อม ๆ กับ (และในตอนแรกส่วนใหญ่เป็นอิสระจาก) ทฤษฎีการคำนวณ ภาษาการเขียนโปรแกรมได้รับการพัฒนาโดยไม่มีโมเดลเครื่องจักรที่เป็นทางการ อย่างไรก็ตามเป็นที่ชัดเจน (ในปัญหาหลังเหตุการณ์) ที่ความก้าวหน้าจำนวนมากในการปฏิบัติของการคำนวณถูกเปิดใช้งานโดยทฤษฎี

นอกจากนี้โปรดทราบว่าควรวัดคุณค่าของแนวคิดเชิงทฤษฎีสำหรับการปฏิบัติโดยพิจารณาจากผู้สืบทอดทั้งหมดนั่นคืองานติดตามผลและแนวคิดใหม่ที่เป็นไปได้โดยแนวคิดนั้น และในเรื่องนั้นฉันคิดว่ามันยุติธรรมที่จะพูดว่าแนวคิดของเครื่องจักรทัวริง (ในหมู่อื่น ๆ ) ได้ปฏิวัติโลก


4

แอปพลิเคชั่นที่ใช้งานได้จริงอย่างสมเหตุสมผลเท่านั้นที่ฉันสามารถนึกได้ (ในแง่ที่ว่าคุณอาจใช้เครื่องทัวริง) คือการพิสูจน์ว่าภาษาบางประเภทมีพลังเพียงพอ

หากคุณกำลังออกแบบภาษาการเขียนโปรแกรมบางอย่าง (หรือสิ่งอื่นที่หมายถึงการคำนวณสิ่งต่าง ๆ ) คุณอาจต้องการตรวจสอบให้แน่ใจว่าเป็นภาษาทัวริงที่สมบูรณ์ (เช่นสามารถคำนวณสิ่งที่คำนวณได้) โดยใช้เครื่องทัวริง ในนั้น.

แน่นอนว่าคุณสามารถใช้สิ่งอื่นที่เป็นทัวริงสมบูรณ์ (เช่น C หรือตรรกะเชิงการรวม) แต่บางครั้งเครื่องทัวริงก็เป็นตัวเลือกที่ง่ายที่สุด


-1

เครื่องจักรทัวริงเป็นแบบจำลองทางคณิตศาสตร์ของการคำนวณ ประโยชน์ของมันคือ: -

1. ตรวจสอบความสามารถในการตัดสินใจหาก TM ไม่สามารถแก้ปัญหาได้ในเวลาที่นับได้ดังนั้นจะไม่มีอัลกอริทึมใด ๆ ที่สามารถแก้ปัญหานั้นได้ (นั่นคือปัญหาไม่สามารถคาดเดาได้)

สำหรับปัญหาในการตัดสินใจหาก TM หยุดชะงักในเวลาที่นับได้สำหรับอินพุตความยาว จำกัด ทั้งหมดเราสามารถพูดได้ว่าปัญหาสามารถแก้ไขได้ด้วยอัลกอริทึมในเวลาที่นับได้

2. การจำแนกปัญหา TM ช่วยในการจำแนกปัญหาที่เกิดขึ้นในชั้นเรียนของลำดับชั้นของโพลิโนเมียล

สมมติว่าเราพบว่าปัญหาสามารถแก้ไขได้ จากนั้นเป้าหมายจะกลายเป็นวิธีที่มีประสิทธิภาพที่เราสามารถแก้ไขได้ ประสิทธิภาพถูกคำนวณในหลายขั้นตอนพื้นที่พิเศษที่ใช้ความยาวของรหัส / ขนาดของ FSM

3. การออกแบบและติดตั้งอัลกอริทึมสำหรับเครื่องปฏิบัติ TM ช่วยเผยแพร่แนวคิดของอัลกอริทึมในเครื่องปฏิบัติอื่น ๆ หลังจากการตรวจสอบความสำเร็จของเกณฑ์ 1,2 ข้อเราสามารถใช้อุปกรณ์ / คอมพิวเตอร์ที่ใช้งานจริงของเราเพื่อออกแบบและใช้อัลกอริทึม


3
เครื่องทัวริงไม่อนุญาตให้คุณ "ตรวจสอบความสามารถในการตัดสินใจ"; พวกเขาเพียงแค่ให้คำจำกัดความของความสามารถในการตัดสินใจได้ การจำแนกปัญหาเป็นไปได้อย่างสมบูรณ์แบบโดยใช้การคำนวณแบบอื่นเช่นเครื่องเข้าถึงแบบสุ่ม อัลกอริธึมที่ทำงานกับเครื่องจักรทัวริงไม่ค่อยเหมาะกับรุ่นเครื่องอื่นเนื่องจากอัลกอริทึมของทัวริงเครื่องจักรนั้นเกี่ยวข้องกับการสับแบบเทปจำนวนมากซึ่งไม่ได้เกิดขึ้นที่อื่น
David Richerby

TM ให้คำจำกัดความของความสามารถในการตัดสินใจ ขวา. ในการตรวจสอบความถูกต้องเราไม่ได้ใช้ TM "การจำแนกปัญหาเป็นไปได้อย่างสมบูรณ์แบบโดยใช้การคำนวณแบบอื่น" ถูกต้อง แต่เราสามารถทำได้โดยใช้ TM ในขณะที่ใช้อัลกอริทึมคุณต้องแน่ใจเกี่ยวกับความแข็งของปัญหานั้น
Subhankar Ghosal

-3

เครื่องทัวริงเป็นการออกกำลังกายที่ดีและใช้งานได้จริง ไม่มีอันตรายใด ๆ หากไม่มี แอปพลิเคชันทั้งหมดของทัวริงเครื่องจักรนั้นใช้งานง่ายหรือเป็นเรื่องของศาสนาเพราะไม่สามารถพิสูจน์หรือปฏิเสธได้


2
"การประยุกต์ใช้งานทัวริงของเครื่องจักรนั้นเป็นเรื่องง่ายหรือเป็นเรื่องของศาสนา [... ]" และด้วยเหตุนี้ทั้งทฤษฎีการคำนวณและทฤษฎีความซับซ้อนจึงถูกละทิ้งในสิบสี่คำ
David Richerby

สิ่งเหล่านี้ไม่ได้มีจุดมุ่งหมายเพื่อยกเลิกทฤษฎีเหล่านั้น ทั้งหมดที่ฉันพูดคือแอปพลิเคชันของทัวริงมีความชัดเจนสามารถเข้าใจได้โดยสัญชาตญาณหรือต้องการความเชื่อโดยไม่ต้องพิสูจน์
Valery Gavrilov

"เรื่องของศาสนาเพราะพวกเขาไม่สามารถพิสูจน์หรือปฏิเสธได้" เอ่ออะไรนะ? การตีความที่ใจกว้างที่สุดของสิ่งนี้ที่ฉันสามารถปรุงได้คือคุณกำลังอ้างถึงวิทยานิพนธ์ของโบสถ์ - ทัวริง แต่ทุกการใช้งานที่เฉพาะเจาะจงของสิ่งนี้สามารถพิสูจน์ได้จริง ๆ (เพียงผ่านงานที่น่าเบื่อของการออกแบบเครื่องทัวริงที่เหมาะสมหรือ เขียนอัลกอริทึมที่เหมาะสมในภาษาการเขียนโปรแกรมที่คุณชื่นชอบและใช้ความเท่ากันตามปกติ) และ CT ไม่ใช่แอปพลิเคชันเพียงวิธีการที่ง่ายในการแสดงการพิสูจน์ (และหากมีข้อสงสัยอย่างจริงจังเกี่ยวกับการใช้งาน หลักฐาน)
Noah Schweber

นอกจากนี้ฉันไม่เข้าใจว่า "สามารถเข้าใจได้โดยสัญชาตญาณ" เป็นข้อเสียเปรียบ คณิตศาสตร์ทั้งหมดสามารถเข้าใจได้โดยสังหรณ์ใจ นั่นหมายความว่าคณิตศาสตร์เป็นเพียงการออกกำลังกายใจที่มีการใช้งานจริงเพียงเล็กน้อย?
Noah Schweber
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.