ฉันพยายามที่จะเข้าใจการมีอยู่ของภาษาที่ไม่รู้จัก เพื่อให้ได้สิ่งนี้ฉันต้องรู้ว่าทำไมเครื่องทัวริงจำได้เพียงภาษาเดียวไม่ใช่หลายภาษา ทำไมนี้
ฉันพยายามที่จะเข้าใจการมีอยู่ของภาษาที่ไม่รู้จัก เพื่อให้ได้สิ่งนี้ฉันต้องรู้ว่าทำไมเครื่องทัวริงจำได้เพียงภาษาเดียวไม่ใช่หลายภาษา ทำไมนี้
คำตอบ:
ภาษาที่รับรู้โดยเครื่องทัวริงคือชุดของสตริงที่ยอมรับ เมื่อป้อนข้อมูลเข้ากับเครื่องจะยอมรับหรือไม่ก็ได้ การป้อนข้อมูลเฉพาะใด ๆ ลงในเครื่องนั้นจะยอมรับได้เสมอ (เป็นภาษา) หรือไม่ยอมรับเสมอ (ไม่ใช่ภาษา) ดังนั้นจึงไม่มีกลไกที่เครื่องจักรทัวริงเดียวสามารถรับได้มากกว่าหนึ่งตัว
ลองใช้วิธีนี้: TM เป็นเหมือนคอมพิวเตอร์ที่มีซอฟต์แวร์ที่โหลด ซอฟต์แวร์แต่ละตัวทำสิ่งเดียวใช่ไหม เช่นนึกถึงคอมพิวเตอร์ของคุณและคิดว่ามันมีเพียง 1 โปรแกรมที่โหลดเข้ามา จากนั้น PC + "photoshop" จะทำ photoshop เท่านั้นในขณะที่ PC + "ตัวกวาดทุ่นระเบิด" จะกวาดทุ่นระเบิดเท่านั้น
ดังนั้นเครื่องทัวริงเป็นสิ่งมีชีวิตที่ง่ายมากที่เกี่ยวกับการทำงานในแต่ละที่ได้รับการป้อนข้อมูลเพียงครั้งเดียวและผลอย่างใดอย่างหนึ่งใช่หรือไม่ อินพุตใดที่จะบอกว่าใช่และที่มันบอกว่าไม่มี - นี่ถูกตั้งค่าโดย "โปรแกรม" ของ TM ตามที่กำหนดโดยสถานะและฟังก์ชันการเปลี่ยนผ่าน เมื่อสิ่งเหล่านี้ได้รับการแก้ไขแล้ว "โปรแกรม" จะได้รับการแก้ไขและสำหรับอินพุตที่ให้มามีคำตอบเดียวเท่านั้น: ใช่หรือไม่ใช่ (ยอมรับ / ปฏิเสธ) สิ่งนี้นิยามว่าเป็นภาษาเดียว = อินพุตทั้งหมดที่ให้ค่าใช่เมื่อมอบให้กับ TM
ในทางกลับกันชุดของTM ทั้งหมดนั้นเทียบเท่ากับชุดของคอมพิวเตอร์ + "ซอฟต์แวร์" กับโปรแกรมที่เป็นไปได้ทั้งหมด ขณะนี้สามารถเลือกภาษาได้มากขึ้น แต่ถึงกระนั้น TM แต่ละตัวจะตัดสินใจ (หรือจดจำ) เพียงหนึ่งภาษาเท่านั้น
ทัวริงเครื่องจักรทำงานเหมือนที่เราทำเพราะเราเลือกที่จะกำหนดมัน เราอาจมีคำจำกัดความที่ซับซ้อนมากขึ้น แต่คำถามก็คือว่ามันจะตอบสนองวัตถุประสงค์หรือไม่มันจะช่วยให้เราสามารถทำสิ่งต่าง ๆ ได้มากขึ้น และเท่าที่เรารู้คำตอบคือไม่
มันง่ายมากที่จะสร้างแบบจำลองของทัวริงเครื่องจักรที่รับรู้สองภาษา ภาษาที่กำหนดและเราสามารถกำหนด TM มี 2 ชนิดของรัฐยอมรับหนึ่งสำหรับและหนึ่งสำหรับL_2TM จะถูกกล่าวเพื่อยอมรับหากเข้าสู่บางสถานะที่สอดคล้องกัน แต่มันจะทำการคำนวณต่อเพื่อดูว่าสามารถเข้าสู่สถานะการยอมรับประเภทอื่นได้หรือไม่ และเราอาจต้องการให้มันหยุดในภายหลังหรืออาจจะไม่ จากนั้นคุณสามารถสร้างทฤษฎีทั้งหมดบนเครื่องดังกล่าว มันจะได้ผลและมีความซับซ้อนมากกว่าสิ่งที่เรามักจะทำ
เพื่อตอบเดวิดริเชอร์บีกล่าวว่า " ไม่มีกลไกใดที่ทัวริงกลไกเดียวสามารถรับได้มากกว่าหนึ่งภาษา " เป็นเพียงเพราะเราเลือกที่จะไม่พิจารณากลไกดังกล่าว แม้ว่าคุณจะ จำกัด TM ให้เป็นรุ่นมาตรฐานมากคุณสามารถพูดได้ว่าอินพุตนั้นเป็นภาษา เมื่อ TM หยุดการทำงานในสถานะที่ยอมรับด้วยขั้นตอนจำนวนคี่และเป็นเมื่อ TM ยอมรับด้วย จำนวนขั้นตอน ด้วยการไม่กำหนดขอบเขตสิ่งนี้จะไม่ป้องกัน TM จากการจดจำทั้งสองภาษาที่ตัดกัน
ประเด็นก็คือตัวแปรทุกชนิดสามารถใช้ในการทำทฤษฎีได้ นอกจากนี้ยังมีวิธีที่แตกต่างกันมากในการสร้างแบบจำลองการคำนวณเช่นแลมบ์ดา - แคลคูลัสตรรกะการคำนวณทฤษฎีฟังก์ชั่นวนซ้ำและอีกมากมาย
มันแสดงให้เห็นเสมอว่าไม่มีใครทำอะไรที่ไม่สามารถทำได้โดยแบบจำลองที่เรียบง่ายของเราที่ TM จำได้เพียงภาษาเดียว ในระดับที่คาดการณ์ไว้ว่าจะทำทุกอย่างที่ทำได้ ที่เรียกว่าวิทยานิพนธ์โบสถ์ทัวริง มันเป็นรากฐานที่สำคัญของทฤษฎีการคำนวณที่เท่าที่เรารู้กำหนดว่าภาษาใดที่สามารถจดจำได้หรือไม่
ดังนั้นเราอาจใช้แบบจำลองอย่างง่ายเช่นกันเนื่องจากโมเดลที่ซับซ้อนจะทำให้ชีวิตของเรายากขึ้นโดยไม่มีประโยชน์ใด ๆ
แน่นอนว่าบางครั้งเราใช้โมเดลอื่นเพราะมันทำให้เราเข้าใจปัญหาได้ดีขึ้น
ฉันต้องการขยายจุดหนึ่งในคำตอบของ Richerby:
เมื่อป้อนข้อมูลเข้ากับเครื่องจะยอมรับหรือไม่ก็ได้
เหตุผลนี้คือเครื่องทัวริงกำหนดขึ้น: รับอินพุตเดียวกันและสถานะเริ่มต้นมันจะทำสิ่งเดียวกันทุกครั้งที่คุณเรียกใช้ (ยุติในสถานะยอมรับเดียวกันหรืออยู่ในสถานะปฏิเสธเดียวกันหรือวนซ้ำตลอดไป )
นอกจากนี้เราสามารถพิสูจน์ได้อย่างง่ายดายว่าเครื่องทัวริงทุกเครื่องรับรู้ภาษาเดียว:
สมมติว่าเครื่องทัวริง M จำแนกสองภาษาที่ต่างกัน L1 และ L2 โดยความขัดแย้ง เนื่องจาก L1 และ L2 มีความแตกต่างกันจึงต้องมีสตริง S ที่อยู่ใน L1 แต่ไม่ใช่ L2 (โดยไม่สูญเสียความสามารถทั่วไป - มันอาจเป็นวิธีอื่น แต่การพิสูจน์จะดำเนินการในลักษณะเดียวกันจากที่นี่ด้วย L1 และ L2 แลกเปลี่ยน ) ตอนนี้รัน M บน S หากยอมรับแล้วจะถึงความขัดแย้งเพราะ S จะอยู่ใน L2 หากไม่ยอมรับ (ปฏิเสธหรือลูป) แสดงว่ามีความขัดแย้งกันเนื่องจาก S จะไม่อยู่ใน L1
เครื่องทัวริงรู้จักหนึ่งภาษาเพราะนั่นคือคำจำกัดความของคำที่รู้จัก : ภาษาที่ทัวริงรู้จักคือชุดของสตริง / อินพุตทั้งหมดที่เครื่องทัวริงยอมรับ
คำตอบนี้ขึ้นอยู่กับสิ่งที่คุณเข้าใจอย่างแท้จริงเมื่อคุณหมายถึง "ทัวริงเครื่อง" มีสามองค์ประกอบในรูปแบบการคำนวณใด ๆ (การ จำกัด ผู้ตัดสินใจ / ผู้รับที่นี่):
สำหรับทัวริงเครื่องไวยากรณ์จะเป็นชุดของรัฐชุดตัวอักษรฟังก์ชั่นการเปลี่ยนแปลงและอื่น ๆ ความหมายจะนิยามของการคำนวณที่มีการอธิบายวิธีการใช้ฟังก์ชั่นการเปลี่ยนแปลงในการสั่งซื้อเพื่อให้ได้เนื้อหาเทปหลังจากขั้นตอนบางอย่าง เกณฑ์การยอมรับคือการพูดว่า "เมื่อเกิดเหตุการณ์นี้เราหยุดและผลที่ได้ก็คือว่า"
ตอนนี้ทัวริงเป็นเพียงเครื่องไวยากรณ์และซีแมนทิกส์ให้กับคุณหรือคุณมีเกณฑ์การยอมรับเช่นกันหรือไม่? หากคุณทำแบบเดิม TM ใด ๆ สามารถยอมรับได้หลายภาษาโดยใช้เกณฑ์การยอมรับที่แตกต่างกัน คุณยังสามารถเข้าใจ Critera ที่ยอมรับได้ซึ่งอนุญาตให้ใช้กับหลายภาษาที่ยอมรับได้ (เช่นลองใช้พารามิเตอร์สองพารามิเตอร์ TM) อย่างไรก็ตามหากคุณทำสิ่งหลังไม่มีห้องเลื้อยและเกณฑ์การยอมรับตามปกติจะอนุญาตให้ใช้หนึ่งภาษาต่อ TM (ประเภทนี้) อย่างแน่นอน
ปกติหมายและการใช้คำใน TCS รวมทั้งสามส่วนประกอบ นั่นเป็นเหตุผลเพราะโดยเฉพาะการเปลี่ยนเกณฑ์การยอมรับสามารถเปลี่ยนคลาสของวัตถุที่หุ่นยนต์แสดงอย่างมากดังนั้นเราจำเป็นต้องแก้ไขเกณฑ์เพื่อที่จะรู้ว่าสิ่งที่เราพูดถึงนั้น
เป็นตัวอย่างเปรียบเทียบออโต จำกัดและBüchiออโต ไวยากรณ์และความหมายเหมือนกันทุกประการ แต่คำหนึ่งยอมรับคำ จำกัด ในขณะที่อีกคำยอมรับคำที่ไม่มีที่สิ้นสุด!
ลองคิดว่าจะเกิดอะไรขึ้นถ้าคุณเสียบเกณฑ์การยอมรับของBüchiออโตมาไว้ในคำจำกัดความของ TM
ทีนี้ทำไมเกณฑ์การยอมรับตามปกติจึงมีความหมาย? ตราบใดที่คุณ จำกัด ตัวเองเป็นภาษาของสตริง จำกัด มีไม่มากที่จะเปลี่ยนแปลงโดยมีหลายภาษาต่อ TM ในระดับแนวคิด: เรายังคงสามารถยอมรับชุดภาษาเดียวกันได้ ดังนั้นเราจึงยึดติดกับโมเดลที่ง่ายกว่า อย่างไรก็ตามนั่นไม่ได้หมายความว่ารูปแบบที่เกี่ยวข้องมากกว่านั้นไม่สามารถเป็นประโยชน์สำหรับการสร้างแบบจำลองในแอปพลิเคชัน
สมมติว่าเรามี TMที่ตระหนักถึงและที่{2} สมมติว่ามีสตริงที่และ{2} จากนั้นยอมรับแต่ดังนั้นจึงไม่สามารถยอมรับได้ดังนั้นเราจึงมีข้อขัดแย้งกัน กรณีอื่น ๆ เล่นที่แน่นอนเดียวกันเช่นและ{1} ดังนั้น TM จึงยอมรับภาษาเดียวเท่านั้น
ที่จะพูด TMตระหนักภาษาหมายถึงว่าทุกสตริง ,ยอมรับและสำหรับสตริงทุกที่ยอมรับL
ภาษาคือชุดของสตริง การรวมกันของสองภาษา L1 และ L2 เป็นชุดของสตริง (ลองเรียกว่า L3) และจะเป็นภาษาอื่นหรือไม่ จากนั้นหากเครื่องทัวริงจดจำทั้งสองภาษาเครื่องจะจดจำ L3 ซึ่งเป็นภาษาเดียว
ไม่มีคำตอบอื่นใดชี้ให้เห็นถึงการดำรงอยู่ของเครื่องจักรทัวริง (s)ตามที่อธิบาย / ค้นพบครั้งแรกโดยทัวริงในหลักฐานการหยุดพักของเขา ใช่ TM ยอมรับภาษาที่นับซ้ำได้ แต่ UTM สามารถจดจำภาษาที่นับซ้ำได้หากมีการเข้ารหัสบนอินพุตพร้อมกับสตริงอินพุต ดังนั้นคำถามจึงมีคุณภาพที่ไม่เหมือนใคร TM ทั้งสองยอมรับเพียงภาษาเดียวและทุกภาษาที่เข้ารหัสได้