พิสูจน์ได้ว่า


9

ฉันต้องการใช้ความช่วยเหลือของคุณกับปัญหาต่อไปนี้:

L={ML(M) is context-free}. แสดงว่าLRECoRE.

ฉันรู้ว่าต้องพิสูจน์ LREมันก็เพียงพอที่จะหาภาษา L ดังนั้น LRE และแสดงว่ามีการลดจาก L ถึง L (LML).

ฉันเริ่มนึกถึงภาษาที่ฉันรู้แล้วว่าพวกเขาไม่ได้อยู่ข้างใน REและฉันรู้ว่า Halt={MM halts for every input}RE. ฉันคิดถึงการลดลงนี้จากHalt ถึง L: f(M)=(M). สำหรับทุกคนM: ถ้า M หยุดพักสำหรับทุกอินพุต L(M)=0n1n มิฉะนั้นมันจะเป็น on1n0nแต่นี่ไม่ถูกต้องใช่มั้ย ฉันจะตรวจสอบสิ่งนั้นได้อย่างไรMหยุดการป้อนข้อมูลทุกครั้งหรือไม่ และนี่คือวิธีที่จะทำเช่นนั้น?

คำตอบ:


8

ฉันคิดว่าคำถามนี้เป็นวิธีแสดงให้เห็นว่า L is not re วิธีหนึ่งในการทำเช่นนั้นคือการลดปัญหาการหยุดชะงักลง Lเนื่องจากส่วนประกอบของปัญหาการหยุดชะงักไม่ได้เป็นเช่นนั้น

ต่อไปนี้เป็นคำใบ้เกี่ยวกับวิธีหนึ่งในการลด: M และ xเราต้องการสร้างภาษาที่ไม่มีบริบทถ้าหาก M(x)ไม่หยุด ดังนั้นเริ่มการจำลองM บนอินพุต x. ตราบเท่าทีM(x) ไม่หยุดเราสร้างภาษาที่ดูเหมือน {0n:nN}. แต่ถ้าM(x) เราจะเปลี่ยนภาษาที่เราสร้างหลังจากนั้นให้เป็นภาษาที่ไม่มีบริบท


ขอบคุณสำหรับคำตอบ พอจะสรุปได้ทันทีหรือไม่ว่าL¯REเช่นกัน? หรือฉันควรแสดงในลักษณะที่คล้ายกันลดลงจากการประกอบของปัญหาการหยุดชะงักไปL¯?
ตัวเศษ

2
วิธีที่ง่ายที่สุดที่จะแสดงให้เห็นว่า L ไม่ได้ร่วมกันคือการลด (แยก) ปัญหาการหยุดเพื่อ L. ซึ่งสามารถทำได้ในลักษณะที่คลุมเครือคล้ายกับที่ฉันแนะนำเพื่อลดปัญหาการหยุดชะงักยกเว้นว่าคุณต้องการสร้างภาษาที่ "ไม่ดี" จนกระทั่งบางเครื่องหยุดทำงานแล้วจึงเปลี่ยนเป็นภาษาที่ "ดี"
Carl Mummert

คุณช่วยอธิบายการลดลงของปัญหาการหยุดพักให้ L ช่วยเราได้อย่างไร จากนั้นเราจะรู้ว่าLRและเรารู้แล้ว LRE..
ตัวเศษ

1
@Numerator หากเราให้การลดลงแบบหลายภาษาจากภาษาที่ไม่ใช่ภาษาใหม่ A เป็นภาษาอื่น Bไม่เพียงเท่านั้น Bไม่สามารถตัดสินใจได้ก็ยังไม่ใช่อีกครั้ง
Kaveh

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