ทำไมทัวริงถึงรู้จักภาษาเดียว?


13

ฉันพยายามที่จะเข้าใจการมีอยู่ของภาษาที่ไม่รู้จัก เพื่อให้ได้สิ่งนี้ฉันต้องรู้ว่าทำไมเครื่องทัวริงจำได้เพียงภาษาเดียวไม่ใช่หลายภาษา ทำไมนี้


12
ฉันสงสัยว่าคุณอาจไม่มีความคิดที่ชัดเจนในสิ่งที่เราหมายถึง "ภาษา" คุณสามารถพูดในสิ่งที่คุณเชื่อว่า "ภาษา" คืออะไร?
Eric Lippert

ทำไมคุณต้องรู้เรื่องนี้? คุณคิดว่ามันจะสร้างความแตกต่างในด้านใด?
babou

คำตอบ:


29

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


6
"ตามคำนิยาม" เป็นสิ่งที่ฉันจะพูด
Dave Clarke

1
@DaveClarke แน่นอนมันเป็นตามคำจำกัดความ แต่ดูเหมือนว่าฉันจะค่อนข้างสั้นเพราะมันยังบอกว่าเราสามารถทำให้คำจำกัดความของเราแตกต่างกันดังนั้น TM จะยอมรับสองภาษาหรือหมายเลขใด ๆ จริง ๆ แล้วฉันไม่เห็นด้วยกับคำสั่งของ David Richerby ว่าไม่มีกลไกใดที่ TM สามารถรับได้สองภาษา: มันเป็นเพียงเพราะเราเลือกที่จะเพิกเฉยต่อพวกเขาและเราสามารถทำอย่างอื่นได้ ดังนั้นคำถามนี้ยังไม่ได้รับการตอบคำถามทั้งหมดหากเราไม่อธิบายสิ่งที่สมเหตุสมผล
babou

2
ฉันคิดว่าปัญหานี่คือภาษาที่ใช้อธิบาย "ภาษา" ของตัวเอง เครื่องทัวริงยอมรับทุกสิ่งในรูปแบบของสตริงโดยไม่คำนึงถึงคำจำกัดความของภาษา TM กำหนดภาษาจากสิ่งที่ยอมรับได้ซึ่งไม่เหมือนกับความเข้าใจในภาษาของเรา นี่คือเหตุผลที่คำตอบนี้ดีและเป็น "... ตอบเต็ม"
David Barker

2
ฉันเห็นด้วยกับ David ผู้ที่น่าจะเป็น OP อ่านมากที่สุดว่าทัวริงเครื่องยอมรับภาษาเดียวและพยายามที่จะเข้าใจความหมาย ระบุว่าสิ่งนี้อาจมาจากแหล่งข้อมูลทั่วไปเราสามารถสันนิษฐานได้ว่าพวกเขาใช้คำนิยามปกติของ "ภาษา" ตามที่นิยามไว้ในทฤษฎีการคำนวณและไม่ใช่คำจำกัดความอื่น ๆ คำจำกัดความอาจจะเป็นไปตามอำเภอใจ แต่เป็นที่เข้าใจกันดีและเห็นด้วยกับคำนิยามโดยพลการ
Cort Ammon

3
เครื่องทัวริงที่ยอมรับสองภาษาคือเครื่องทัวริงที่ยอมรับภาษาที่รวมกันเป็นสองภาษา
Simon Richter

9

ลองใช้วิธีนี้: TM เป็นเหมือนคอมพิวเตอร์ที่มีซอฟต์แวร์ที่โหลด ซอฟต์แวร์แต่ละตัวทำสิ่งเดียวใช่ไหม เช่นนึกถึงคอมพิวเตอร์ของคุณและคิดว่ามันมีเพียง 1 โปรแกรมที่โหลดเข้ามา จากนั้น PC + "photoshop" จะทำ photoshop เท่านั้นในขณะที่ PC + "ตัวกวาดทุ่นระเบิด" จะกวาดทุ่นระเบิดเท่านั้น

ดังนั้นเครื่องทัวริงเป็นสิ่งมีชีวิตที่ง่ายมากที่เกี่ยวกับการทำงานในแต่ละที่ได้รับการป้อนข้อมูลเพียงครั้งเดียวและผลอย่างใดอย่างหนึ่งใช่หรือไม่ อินพุตใดที่จะบอกว่าใช่และที่มันบอกว่าไม่มี - นี่ถูกตั้งค่าโดย "โปรแกรม" ของ TM ตามที่กำหนดโดยสถานะและฟังก์ชันการเปลี่ยนผ่าน เมื่อสิ่งเหล่านี้ได้รับการแก้ไขแล้ว "โปรแกรม" จะได้รับการแก้ไขและสำหรับอินพุตที่ให้มามีคำตอบเดียวเท่านั้น: ใช่หรือไม่ใช่ (ยอมรับ / ปฏิเสธ) สิ่งนี้นิยามว่าเป็นภาษาเดียว = อินพุตทั้งหมดที่ให้ค่าใช่เมื่อมอบให้กับ TM

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


จุดเล็ก ๆ น้อย ๆ : ฉันจะไม่บอกว่า TM เอาท์พุท "ไม่ว่าจะเป็นใช่หรือไม่" เนื่องจากการละเลยนี้ไม่ได้กำจัด การทำให้เข้าใจง่ายนี้อาจทำให้เกิดปัญหาเพิ่มเติมในภายหลัง
Chi

4

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

มันง่ายมากที่จะสร้างแบบจำลองของทัวริงเครื่องจักรที่รับรู้สองภาษา ภาษาที่กำหนดและเราสามารถกำหนด TM มี 2 ชนิดของรัฐยอมรับหนึ่งสำหรับและหนึ่งสำหรับL_2TM จะถูกกล่าวเพื่อยอมรับหากเข้าสู่บางสถานะที่สอดคล้องกัน แต่มันจะทำการคำนวณต่อเพื่อดูว่าสามารถเข้าสู่สถานะการยอมรับประเภทอื่นได้หรือไม่ และเราอาจต้องการให้มันหยุดในภายหลังหรืออาจจะไม่ จากนั้นคุณสามารถสร้างทฤษฎีทั้งหมดบนเครื่องดังกล่าว มันจะได้ผลและมีความซับซ้อนมากกว่าสิ่งที่เรามักจะทำL1L2L1L2Li

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

ประเด็นก็คือตัวแปรทุกชนิดสามารถใช้ในการทำทฤษฎีได้ นอกจากนี้ยังมีวิธีที่แตกต่างกันมากในการสร้างแบบจำลองการคำนวณเช่นแลมบ์ดา - แคลคูลัสตรรกะการคำนวณทฤษฎีฟังก์ชั่นวนซ้ำและอีกมากมาย

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

ดังนั้นเราอาจใช้แบบจำลองอย่างง่ายเช่นกันเนื่องจากโมเดลที่ซับซ้อนจะทำให้ชีวิตของเรายากขึ้นโดยไม่มีประโยชน์ใด ๆ

แน่นอนว่าบางครั้งเราใช้โมเดลอื่นเพราะมันทำให้เราเข้าใจปัญหาได้ดีขึ้น


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

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

โอเคนั่นสมเหตุสมผลแล้ว ฉันคิดว่าฉันส่วนใหญ่คัดค้านการใช้ "ความซับซ้อน" - มันก็หมายความว่าคำจำกัดความที่เรียบง่ายน้อยกว่าเป็นที่ต้องการ
น่าสนใจนอกจากนี้

3

ฉันต้องการขยายจุดหนึ่งในคำตอบของ Richerby:

เมื่อป้อนข้อมูลเข้ากับเครื่องจะยอมรับหรือไม่ก็ได้

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

นอกจากนี้เราสามารถพิสูจน์ได้อย่างง่ายดายว่าเครื่องทัวริงทุกเครื่องรับรู้ภาษาเดียว:

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


2

เครื่องทัวริงรู้จักหนึ่งภาษาเพราะนั่นคือคำจำกัดความของคำที่รู้จัก : ภาษาที่ทัวริงรู้จักคือชุดของสตริง / อินพุตทั้งหมดที่เครื่องทัวริงยอมรับ


2
ยินดีต้อนรับสู่วิทยาการคอมพิวเตอร์ ! คำตอบของคุณคือ (IMO) ถูกต้อง แต่ฉันไม่คิดว่าจะเพิ่มคำตอบที่มีอยู่ล่วงหน้า เรามีคำถามที่ยังไม่ได้ตอบจำนวนมากและน่าสนใจและมีประสิทธิผลมากกว่าที่จะตอบคำถามข้อใดข้อหนึ่งแทนที่จะตอบคำถามที่มีอยู่ซ้ำ
David Richerby

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

1

คำตอบนี้ขึ้นอยู่กับสิ่งที่คุณเข้าใจอย่างแท้จริงเมื่อคุณหมายถึง "ทัวริงเครื่อง" มีสามองค์ประกอบในรูปแบบการคำนวณใด ๆ (การ จำกัด ผู้ตัดสินใจ / ผู้รับที่นี่):

  • ไวยากรณ์
  • ความหมาย
  • เกณฑ์การยอมรับ.

สำหรับทัวริงเครื่องไวยากรณ์จะเป็นชุดของรัฐชุดตัวอักษรฟังก์ชั่นการเปลี่ยนแปลงและอื่น ๆ ความหมายจะนิยามของการคำนวณที่มีการอธิบายวิธีการใช้ฟังก์ชั่นการเปลี่ยนแปลงในการสั่งซื้อเพื่อให้ได้เนื้อหาเทปหลังจากขั้นตอนบางอย่าง เกณฑ์การยอมรับคือการพูดว่า "เมื่อเกิดเหตุการณ์นี้เราหยุดและผลที่ได้ก็คือว่า"

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

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

เป็นตัวอย่างเปรียบเทียบออโต จำกัดและBüchiออโต ไวยากรณ์และความหมายเหมือนกันทุกประการ แต่คำหนึ่งยอมรับคำ จำกัด ในขณะที่อีกคำยอมรับคำที่ไม่มีที่สิ้นสุด!
ลองคิดว่าจะเกิดอะไรขึ้นถ้าคุณเสียบเกณฑ์การยอมรับของBüchiออโตมาไว้ในคำจำกัดความของ TM

ทีนี้ทำไมเกณฑ์การยอมรับตามปกติจึงมีความหมาย? ตราบใดที่คุณ จำกัด ตัวเองเป็นภาษาของสตริง จำกัด มีไม่มากที่จะเปลี่ยนแปลงโดยมีหลายภาษาต่อ TM ในระดับแนวคิด: เรายังคงสามารถยอมรับชุดภาษาเดียวกันได้ ดังนั้นเราจึงยึดติดกับโมเดลที่ง่ายกว่า อย่างไรก็ตามนั่นไม่ได้หมายความว่ารูปแบบที่เกี่ยวข้องมากกว่านั้นไม่สามารถเป็นประโยชน์สำหรับการสร้างแบบจำลองในแอปพลิเคชัน


0

สมมติว่าเรามี TMที่ตระหนักถึงและที่{2} สมมติว่ามีสตริงที่และ{2} จากนั้นยอมรับแต่ดังนั้นจึงไม่สามารถยอมรับได้ดังนั้นเราจึงมีข้อขัดแย้งกัน กรณีอื่น ๆ เล่นที่แน่นอนเดียวกันเช่นและ{1} ดังนั้น TM จึงยอมรับภาษาเดียวเท่านั้นM1L1L2L1L2s1s1L1s1L2M1s1s1L2M1s1sL2sL1

ที่จะพูด TMตระหนักภาษาหมายถึงว่าทุกสตริง ,ยอมรับและสำหรับสตริงทุกที่ยอมรับLMLsLMssMsL

sLMs

ATM


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

-2

ภาษาคือชุดของสตริง การรวมกันของสองภาษา L1 และ L2 เป็นชุดของสตริง (ลองเรียกว่า L3) และจะเป็นภาษาอื่นหรือไม่ จากนั้นหากเครื่องทัวริงจดจำทั้งสองภาษาเครื่องจะจดจำ L3 ซึ่งเป็นภาษาเดียว


2
แต่เครื่องทัวริงไม่รู้จักทั้งสองภาษาเว้นแต่ว่าพวกเขาจะเหมือนกันจริง ๆ การรู้จัก L1 หมายความว่าจะไม่รับสายนอก L1 ใด ๆ การรู้จัก L2 หมายความว่ามันไม่ยอมรับสิ่งใดนอก L2 หาก L1 และ L2 ต่างกันจะไม่สามารถจดจำได้ทั้งคู่
David Richerby

-3

ไม่มีคำตอบอื่นใดชี้ให้เห็นถึงการดำรงอยู่ของเครื่องจักรทัวริง (s)ตามที่อธิบาย / ค้นพบครั้งแรกโดยทัวริงในหลักฐานการหยุดพักของเขา ใช่ TM ยอมรับภาษาที่นับซ้ำได้ แต่ UTM สามารถจดจำภาษาที่นับซ้ำได้หากมีการเข้ารหัสบนอินพุตพร้อมกับสตริงอินพุต ดังนั้นคำถามจึงมีคุณภาพที่ไม่เหมือนใคร TM ทั้งสองยอมรับเพียงภาษาเดียวและทุกภาษาที่เข้ารหัสได้


4
{M,xM accepts x}

และมันแตกต่างจากสิ่งที่เขียนอย่างไร
vzn

2
การรู้จัก codings ของภาษานั้นไม่เหมือนกับการจดจำภาษา
David Richerby

ใช่ตามที่ระบุไว้
vzn

1
{(m,x)m=M,}xm
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.