เครื่องจักรทัวริงเป็นแบบจำลองทางทฤษฎีของการคำนวณที่อลัน ทัวริงนำมาใช้ในปี 1936 ประกอบด้วยเทปยาวไม่จำกัดที่แบ่งเป็นเซลล์ หัวอ่าน/เขียนที่สามารถเคลื่อนไปตามเทป และหน่วยควบคุมที่กำหนดลักษณะการทำงานของเครื่องจักร . ในตอนแรกเทปจะว่างเปล่า และอินพุตไปยังเครื่องมีอยู่ในเทปอินพุตแยกต่างหาก เอาต์พุตของการคำนวณถูกเขียนบนเทปเอาต์พุต
ในการคำนวณฟังก์ชัน เครื่องทัวริงจะทำตามชุดคำสั่งที่เรียกว่าโปรแกรม โปรแกรมระบุว่าเครื่องควรทำงานอย่างไรตามสถานะปัจจุบันและสัญลักษณ์ที่อ่านจากเทป เครื่องเริ่มทำงานในสถานะเริ่มต้น และดำเนินการตามขั้นตอนต่อไปนี้ซ้ำๆ:
1. อ่าน: เครื่องอ่านสัญลักษณ์ที่อยู่ใต้หัวอ่าน/เขียน
2. กระบวนการ: ขึ้นอยู่กับสถานะปัจจุบันและสัญลักษณ์ที่อ่าน เครื่องจะกำหนดสถานะถัดไปและสัญลักษณ์ที่จะเขียนบนเทป
3. ย้าย: เครื่องจะย้ายหัวอ่าน/เขียนไปทางซ้ายหรือขวาหนึ่งเซลล์
4. ทำซ้ำ: เครื่องจะกลับไปที่ขั้นตอนที่ 1 และดำเนินต่อไปจนกว่าจะถึงสถานะหยุดทำงาน
บทบาทของเทปอินพุตคือการจัดเตรียมอินพุตให้กับการคำนวณ ในขั้นต้นเทปอินพุตจะบรรจุด้วยสัญลักษณ์อินพุตซึ่งเครื่องจะอ่านในระหว่างการคำนวณ เทปอินพุตเป็นแบบอ่านอย่างเดียว หมายความว่าเครื่องไม่สามารถแก้ไขเนื้อหาได้
บทบาทของเทปเอาต์พุตคือเก็บเอาต์พุตของการคำนวณ ขณะที่เครื่องประมวลผลสัญลักษณ์อินพุต มันสามารถเขียนสัญลักษณ์บนเทปเอาต์พุตเพื่อสร้างเอาต์พุตที่ต้องการ เทปเอาต์พุตเป็นแบบเขียนอย่างเดียว หมายความว่าเครื่องสามารถเขียนได้เท่านั้นและไม่สามารถอ่านเนื้อหาได้
ความสามารถของเครื่องทัวริงในการคำนวณฟังก์ชันนั้นขึ้นอยู่กับความสามารถในการจัดการสัญลักษณ์บนเทปตามชุดของกฎ กฎเหล่านี้อนุญาตให้เครื่องดำเนินการทางคณิตศาสตร์ การดำเนินการทางตรรกะ และการคำนวณอื่นๆ ตามกฎเหล่านี้ เครื่องทัวริงสามารถจำลองการคำนวณอัลกอริทึมใดๆ
ตัวอย่างเช่น พิจารณาเครื่องทัวริงที่คำนวณผลรวมของตัวเลขสองตัว เทปอินพุตจะมีตัวเลขสองตัวคั่นด้วยสัญลักษณ์พิเศษ เครื่องจะอ่านสัญลักษณ์อินพุต ดำเนินการเพิ่ม และเขียนผลลัพธ์ลงในเทปเอาต์พุต
เครื่องทัวริงคำนวณฟังก์ชันโดยทำตามชุดคำสั่งที่ระบุโดยโปรแกรม เทปอินพุตจัดเตรียมอินพุตสำหรับการคำนวณ และเทปเอาต์พุตจัดเก็บเอาต์พุตของการคำนวณ เครื่องจัดการสัญลักษณ์บนเทปเพื่อดำเนินการคำนวณ ทำให้สามารถจำลองการคำนวณแบบอัลกอริทึมใดๆ
คำถามและคำตอบล่าสุดอื่น ๆ เกี่ยวกับ ฟังก์ชันที่คำนวณได้:
- การที่ Turing Machines รุ่นต่างๆ มีความสามารถในการประมวลผลเทียบเท่ากันหมายความว่าอย่างไร
- อธิบายความสัมพันธ์ระหว่างฟังก์ชันที่คำนวณได้กับการมีอยู่ของเครื่องจักรทัวริงที่สามารถคำนวณได้
- อะไรคือความสำคัญของเครื่องทัวริงที่หยุดทำงานเสมอเมื่อคำนวณฟังก์ชันที่คำนวณได้?
- เครื่องจักรทัวริงสามารถปรับเปลี่ยนให้ยอมรับฟังก์ชันได้ตลอดเวลาหรือไม่? อธิบายว่าเหตุใดหรือเพราะเหตุใด
- ฟังก์ชันที่คำนวณได้ในบริบทของทฤษฎีความซับซ้อนทางคอมพิวเตอร์คืออะไร และนิยามของมันอย่างไร