มันตัดสินใจได้ไหมว่า TM จะไปถึงตำแหน่งบนเทปหรือไม่?


14

ฉันมีคำถามเหล่านี้จากการสอบแบบเก่าที่ฉันพยายามจะแก้ สำหรับปัญหาแต่ละใส่เป็นการเข้ารหัสบางทัวริงเครื่องMM

สำหรับจำนวนเต็มและสามปัญหาต่อไปนี้:c>1

  1. เป็นจริงหรือไม่ว่าสำหรับทุกอินพุต , M จะไม่ผ่านเครื่องหมาย| x | ตำแหน่ง+ cเมื่อทำงานบนx ?x|x|+cx

  2. เป็นจริงหรือไม่ว่าสำหรับทุกอินพุต , M จะไม่ผ่านค่าสูงสุด{ | x | - c , 1 }ตำแหน่งเมื่อเรียกใช้บนx ?xmax{|x|c,1}x

  3. เป็นความจริงหรือเปล่าที่อินพุตทุกตัวM ไม่ผ่านตำแหน่ง( | x | + 1 ) / cเมื่อทำงานบนx ?x(|x|+1)/cx

มีปัญหากี่ข้อที่ตัดสินใจได้?

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

สำหรับ (3) ฉันเชื่อว่ามันถอดรหัสได้เนื่องจากเป็นเครื่องจักรทัวริงทั้งหมดที่อยู่บนเซลล์แรกของแถบเสมอเนื่องจากสตริงหนึ่งถ่านสามารถผ่านเซลล์แรกได้ดังนั้นฉันจึงต้องการ เพื่อจำลองสตริงทั้งหมดของความยาว 1 สำหรับ| Q | + 1ขั้นตอน (ถูกต้องหรือไม่) และดูว่าฉันใช้เฉพาะเซลล์แรกในทุกเซลล์หรือไม่c2|Q|+1

ฉันไม่รู้จะทำอย่างไรกับ (2)


1) คุณคิดว่าเทปอนันต์ด้านเดียวหรือไม่? 2) ตู้เอทีเอ็มคืออะไร?
กราฟิลส์

1) ใช่ 2) ปัญหาการยอมรับ
Jozef

คำตอบ:


9

สถานการณ์ใด ๆ ที่ถามว่าเครื่องจักรทัวริงถูก จำกัด อยู่ในขอบเขตอัน จำกัด ของเทป (ความยาว ) บนอินพุตที่กำหนดหรือไม่n

อาร์กิวเมนต์ทำงานได้ดังนี้ พิจารณาเครื่องทัวริงเทปและตำแหน่งของเครื่องทัวริงบนเทป ทั้งหมดนี้รวมกันมีจำนวน จำกัด ของการกำหนดค่า จะเฉพาะเจาะจงมีเพียงการกำหนดค่าที่เป็นไปได้ Γคือชุดของสัญลักษณ์เทปและt=n|Γ|n|Q|Γคือชุดของสถานะ ฉันจะใช้คำว่า "การกำหนดค่า" เพื่ออธิบายสถานะของเครื่องทัวริงรวมกับสถานะของเทปและตำแหน่งของมันบนเทปตลอดเวลาที่เหลือของคำตอบนี้ แต่นั่นไม่ใช่คำศัพท์มาตรฐานQ

เรียกใช้เครื่องโดยติดตามการกำหนดค่าที่ผ่านมาทั้งหมด ถ้ามันไปไกลกว่าจุดให้ส่งคืน "ใช่Mผ่านตำแหน่งn " มิฉะนั้นเครื่องอยู่ที่ไหนสักแห่งระหว่าง 0 และn หากเครื่องทำการกำหนดค่าซ้ำ - สถานะสัญลักษณ์บนเทปและตำแหน่งของเทปนั้นเหมือนกับสิ่งที่เคยทำมาก่อน - คืน "no, Mไม่เคยผ่านตำแหน่งn "nMnnMn

ตามหลักการของช่องว่างรูนสิ่งนี้ต้องเกิดขึ้นในไม่เกินขั้นตอน ดังนั้นสิ่งที่กล่าวมาทั้งหมดจึงสามารถตัดสินใจได้ หลังจากขั้นตอนจำลองมากที่สุดt + 1คุณจะได้รับคำตอบt+1t+1

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

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


"หากเครื่องทำการตั้งค่าซ้ำ [... ] ให้ส่งคืน 'no'" - ผิด เครื่อง nondeterministic อาจดำเนินการวนรอบสองสามครั้งแล้วย้ายไป
กราฟิลส์

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

คำอธิบายที่ดี ดูรุ่นแรกของคำตอบของฉัน (ซึ่งฉันแก้ไขเมื่อฉันรู้ว่า OP ไม่ได้ถามมันมาก)
Ran G.

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

2
@Raphael วิธีมาตรฐานในการทำเช่นนี้คือกราฟการกำหนดค่า: จุดยอดคือการกำหนดค่าเดียวกับที่ Sam กำหนดไว้และมีขอบกำกับจากการตั้งค่า A ถึง B หาก NTM สามารถย้ายจาก A ไป B ในขั้นตอนเดียว กราฟมี จำกัด และเครื่องหยุดตอบคำถามการเข้าถึงกราฟอย่างง่ายหรือไม่ นอกจากนี้ยังแสดงให้เห็นว่าเป็นส่วนหนึ่งของD T ฉันM E ( 2 O ( s )NSPACE(s)DTIME(2O(s))
Sasho Nikolov

4

(2) คล้ายกับ (3) และเหตุผลเดียวกับที่คุณมีสำหรับ (3) ใช้ที่นี่เช่นกัน: โปรดทราบว่าเครื่องในมีคุณสมบัติแปลก ๆ - พวกเขาไม่อ่านอินพุตทั้งหมดบิตสุดท้ายc ) และนี่เป็นจริงสำหรับทุกอินพุตL2c

ตกลงดังนั้นตอนนี้ลองพิจารณาเฉพาะอินพุตที่มีความยาวเท่านั้น สำหรับแต่ละตัวเลือกนั้นมีเพียงสองตัวเลือกเท่านั้น: เครื่องวนรอบ / หยุดโดยไม่มีการขยับศีรษะหรือขยับศีรษะ ถ้ามันเคลื่อนหัวในบางx (กับ| x | ) เครื่องที่ไม่ได้อยู่ในL 2เนื่องจากการป้อนข้อมูลที่x มิฉะนั้นผมเรียกร้องเครื่องอยู่ในL 2 เนื่องจากมันไม่เคยขยับหัว - มันไม่มีความคิดว่าขนาดของอินพุตคืออะไร! นี่หมายความว่ามันจะทำงานเหมือนกันสำหรับอินพุตทั้งหมดของความยาว| x | > c . ดังนั้นL 2จึงสามารถตัดสินใจได้cx|x|cL2xL2|x|>cL2


คุณบัญชีเครื่องจักร nondeterministic อย่างไร
กราฟิลส์

ฉันไม่ได้พิจารณา NTM แต่ก็ควรจะเหมือนกัน สำหรับทุกคำที่มีความยาวมากถึงจำนวนการกำหนดค่าที่ NTM สามารถทำได้โดยไม่ต้องขยับศีรษะมี จำกัด c
Ran G.

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

@ ราฟาเอลทำไมไม่ คุณไม่สามารถจำลองทั้งต้นของการกำหนดค่า (ความลึก ) ในระยะเวลา จำกัดE x P ( | x | ) ? |x|exp(|x|)
Ran G.

ทำไมจะลึกเพียงพอ? | Q | จะทำให้รู้สึกมากขึ้น จากนั้นการจำลองพบสาขาที่Mออกจากตำแหน่งแรกหากมี |x||Q|M
กราฟิลส์
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.