เครื่องทัวริงสามารถเลือกภาษาของเครื่องด้วยภาษาที่ว่างเปล่าได้หรือไม่?


11

ให้ มีเครื่องทัวริง R ที่ตัดสินใจ (ฉันไม่ได้หมายถึงรู้จัก) ภาษา ?L

L={MM is a Turing Machine and L(M)=}.

L

ดูเหมือนว่าเทคนิคเดียวกับที่ใช้ในการแสดงว่าควรทำงานที่นี่เช่นกัน{AA is a DFA and L(A)=}


1
คุณลองทำอะไร ตัวอย่างเช่นคุณสามารถคิดถึง DFA สำหรับภาษาที่ว่างเปล่าได้หรือไม่ โปรดจำไว้ว่า DFA สามารถคิดได้ว่า TM มี จำกัด มาก
Shaull

1
แน่ใจ จากสถานะเริ่มต้นย้ายไปที่สถานะ "หยุดการปฏิเสธ" โดยไม่คำนึงถึงสิ่งที่อยู่ในเทปป้อนข้อมูล สิ่งนี้ยอมรับทุกสตริงอย่างชัดเจนในภาษาและปฏิเสธทุกสตริงที่ไม่ใช่ภาษา
Patrick87

8
@mahdisaeedi: คำถามหลังนี้เป็นคำถามที่แตกต่างอย่างสิ้นเชิง! คุณกำลังถามว่าจะตัดสินใจได้หรือไม่ว่า TM ที่ได้รับนั้นรองรับภาษาที่ว่างเปล่าหรือไม่และคำตอบคือไม่ให้ดูทฤษฎีบทข้าว
Shaull

คำตอบ:


9

โดยการทำเครื่องหมายคุณอาจหมายถึงการวิเคราะห์ความสามารถในการเข้าถึง - มองหาเส้นทางจากสถานะเริ่มต้นไปยังสถานะที่ยอมรับได้ แน่นอนภาษาของ DFA นั้นว่างเปล่าถ้าไม่มีเส้นทางดังกล่าว

เริ่มจากตัวอย่างก่อนว่าทำไมมันถึงล้มเหลวใน TM พิจารณา TM ว่าในละเว้นมันอินพุต แต่เขียนที่เป็นของเทปย้ายหัวขวาและไปที่รัฐแล้วในอีกครั้งละเว้นการป้อนข้อมูลที่เขียนย้ายหัวไปทางซ้ายและไปq_2ในถ้ามันอ่านแล้วมันเขียนย้ายหัวไปทางขวาและกลับไปq_1 a q 1 q 1 a q 2 q 2 a a q 1q0aq1q1aq2q2aaq1

นั่นคือเครื่องเพียงแค่เขียนและสลับระหว่างสองรัฐ (และ ) และมักจะมีสองที่อยู่ติดกัน's บนเทปq 1 q 2 aaq1q2a

ตอนนี้เราเพิ่มการเปลี่ยนแปลงจากว่าเมื่อการอ่านไปสู่สถานะการยอมรับและหยุดพัก bq2b

ภาษาของเครื่องนี้ว่างเปล่า อันที่จริงการวิ่งจะติดอยู่ในวงเสมอและจะไม่ไปสู่สถานะที่ยอมรับได้ ยังมีเส้นทางรัฐไปสู่รัฐที่ยอมรับได้ แล้วมีอะไรผิดพลาด?q1q2

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

ปัญหาเกี่ยวกับการใช้การวิเคราะห์ความสามารถในการเข้าถึงบนกราฟการกำหนดค่าคือมันอาจไม่มีที่สิ้นสุด นี่คือเหตุผลที่การตัดสินใจเลือกความว่างเปล่าทางภาษานั้นไม่สามารถอธิบายได้

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


ฟังก์ชั่นการเปลี่ยนแปลงของ TM เป็นเช่นนี้: F (Q T) -> (Q T * {L, R}) คุณสามารถเขียนฟังก์ชั่นเพื่อละเว้นอินพุตได้หรือไม่?
msn

ใช่. ในกรณีนี้ , ,และ (แต่ไม่ถึงหลัง) F ( q 1 , a ) = F ( q 1 , b ) = ( q 2 , a , L ) F ( q 2 , a ) = ( q 1 , aF(q0,a)=F(q0,b)=(q1,a,R)F(q1,a)=F(q1,b)=(q2,a,L)F ( q 2 , b ) = ( q a c c , a , L )F(q2,a)=(q1,a,R)F(q2,b)=(qacc,a,L)
Shaull

9

Aไม่สามารถตัดสินใจได้เนื่องจากทฤษฎีบทของไรซ์ซึ่งระบุว่าคุณสมบัติที่ไม่สำคัญของฟังก์ชั่นบางส่วนนั้นไม่สามารถตัดสินใจได้

  1. มี TM ซึ่งไม่ยอมรับสตริงใด ๆ (ซึ่งไปที่สถานะปฏิเสธโดยตรง)
  2. มี TM ซึ่งยอมรับทุกสตริง (ซึ่งตรงไปที่สถานะการยอมรับ)

ซึ่งหมายความว่าฟังก์ชันที่คำนวณโดยองค์ประกอบของมีคุณสมบัติที่ไม่สำคัญ ดังนั้นจึงไม่สามารถตัดสินใจได้AAA

EEสามารถตัดสินใจได้ภายใต้สมมติฐานที่ว่า DFA นั้นถูกเข้ารหัสในลักษณะพิเศษเช่นตารางการเปลี่ยนสถานะหรืออื่น ๆ (เราไม่สามารถตัดสินใจได้ว่า TM จะรับเฉพาะภาษาปกติหรือไม่เพราะทฤษฎีของ Rice! ในกรณีนี้ข้าวทฤษฎีบทนี้ไม่สามารถใช้ได้เพราะการเข้ารหัสโดยเฉพาะอย่างยิ่งขององค์ประกอบที่จำเป็นในการตัดสินใจเกี่ยวกับEดังนั้นเราไม่เพียงแค่ตัดสินใจเกี่ยวกับฟังก์ชั่นบางส่วนE

(กล่าวคือหากมีปัญหาตัดสินใจว่า TM เฉพาะนั้นเป็น DFA - หรือ DFA ที่คำนวณได้และภาษาที่ยอมรับนั้นว่างเปล่าจะไม่สามารถตัดสินใจได้ผ่านทฤษฎีของ Rice ขอให้สังเกตว่าในกรณีนี้ .)A = EEA=E


6

คำแนะนำอื่น ๆ : ลองลดปัญหาลังเลที่จะL_L

(คำใบ้ดั้งเดิมคือการใช้ทฤษฎีบทของไรซ์ แต่ในกรณีนี้การพิสูจน์โดยตรงก็ค่อนข้างง่าย)


@Yuval_Filmus ถูกต้องหรือไม่ที่จะบอกว่าภาษานี้ไม่สามารถรู้ได้ว่าทัวริงใช่มั้ย
sashas

1
คุณคิดอย่างไร? คุณสามารถพิสูจน์ข้อเรียกร้องของคุณ? ถ้าเป็นเช่นนั้นไม่จำเป็นต้องถามคำถาม
Yuval Filmus

1

เล็มม่า 1 : ถ้า L ไม่สามารถบอกได้ดังนั้นจึงเป็นส่วนประกอบของแอล

เรารู้ว่าปัญหาการหยุดทำงานนั้นไม่สามารถตัดสินใจได้ ดังนั้นตามการเติมเต็มของปัญหาการหยุดชะงักของLemma 1ก็ไม่สามารถตัดสินใจได้เช่นกันHTM H c T MHTMc

HTM ={M,x M is a TM and M halts on input x }

HTMc ={M,x M is a TM and M loops on input x }

ETM ={M M is a TM and L(M) = }

สมมติว่านั้นสามารถตัดสินใจได้ เราจะลดเป็น - กล่าวอีกนัยหนึ่งเราจะแสดงวิธีการสร้างเครื่องจักรทัวริงที่ตัดสินใจโดยใช้ TM,ที่ตัดสินใจ{TM} สิ่งนี้ทำให้เรามีความขัดแย้งเนื่องจากเรารู้ว่านั้นไม่สามารถตัดสินใจได้และดังนั้นจึงไม่มีอยู่ คำว่า "ลด" เพียงแค่หมายถึงการแก้ปัญหาที่กำหนดโดยการแปลงเป็นปัญหาอื่นที่เรารู้แล้วว่าจะแก้ปัญหา ดังนั้นเครื่องทัวริงสำหรับสามารถสร้างได้ดังนี้:ETMHTMcETMMHTMcHTMcMETMETMHTMcMHTMcHTMc

MHTMc =“ ที่อินพุตM,x

1. สร้างรหัสสำหรับ TM,ที่ทำสิ่งต่อไปนี้:M1

M1 = "บนอินพุตw

1. จำลองบนxMx

2. ยอมรับว่าหยุดแล้ว "M

2. เรียกใช้บนMETMM1

3. ยอมรับถ้ายอมรับปฏิเสธเป็นอย่างอื่น "METM

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

M1มีการก่อสร้างดังกล่าวว่าในวันที่ป้อนข้อมูลใด ๆมอบให้กับมันจะจำลองมีการป้อนข้อมูลxสามารถหยุดหรือวนซ้ำบนและด้วยเหตุนี้อาจมีสองกรณี:wMxMx

1.รับปัจจัยการผลิตทั้งหมดถ้าหยุดบนxจะปฏิเสธเป็น\M1wMxMETMM1L(M1)

2. หากลูปบน ,ยังจะห่วงสำหรับการป้อนข้อมูลทุกมอบให้กับมัน อย่างไรก็ตามเป็นเป็น decider มันจะปฏิเสธและหยุดการป้อนข้อมูลเป็น\MxM1wMETMM1L(M1)=

Correctness : เนื่องจากหยุดการแสดงเสมอ (จากการสันนิษฐานของเรา)ก็หยุดเช่นกัน ยอมรับถ้ายอมรับว่าถ้าที่เกิดขึ้นถ้าลูปบนxปฏิเสธถ้าปฏิเสธที่เป็นที่เกิดขึ้นถ้าหยุดบนxดังนั้นตัดสินใจซึ่งเป็นข้อขัดแย้งเนื่องจากไม่สามารถตัดสินใจได้METMMHTMcMHTMcMETML(M1)=Mx
MHTMcMETML(M1)MxMHTMcHTMcHTMc


Nb:

Let Rจะลดลงจากเพื่อ{TM}HTMcETM

การลดให้:

i)M,xHTMcR(M,x)ETM

Mวนในอินพุตx iff ภาษาที่รับรู้โดยไม่ยอมรับสิ่งใดR(M,x)

ii)M,xHTMcR(M,x)ETM

Mหยุดการป้อนข้อมูลx iff ภาษาที่รับรู้โดยยอมรับบางสิ่งR(M,x)


0

พิสูจน์โดยการขัดแย้ง , (ซึ่งเรารู้ว่ามันไม่สามารถตัดสินใจได้)ATM={M,wM is a Turing Machine which accepts w}

สมมติว่ามีซึ่งเป็น TM ที่ตัดสินใจRTML

จากนั้นใช้สามารถใช้ในการสร้าง TMซึ่งเป็น decider สำหรับRTMSTMATM

M , W M WSTM=definition "บนอินพุตโดยที่คือการเข้ารหัสของ TM และคือสตริง:M,wMw

  1. แก้ไขโดยคำนึงถึงอินพุตเช่นใหม่(เรียกว่า ) ปฏิเสธอินพุตทั้งหมดที่ไม่เท่ากับโดยที่ถูกสร้างไว้ในคำอธิบาย หากอินพุตเท่ากับดังนั้นจะรันบนและเอาต์พุตอะไรก็ตามที่เอาต์พุตw M M 1 W w W M 1 M w MMwMM1wwwM1MwM

  2. รันด้วยอินพุตM 1 , w RTMM1,w

  3. เอาต์พุตตรงกันข้ามกับเอาต์พุต s "RTM

ข้อสันนิษฐานว่ามี Turing Machine deicer สำหรับทำให้เราสามารถสร้าง decider สำหรับซึ่งเป็นข้อขัดแย้งA T MLATM


ไม่ได้ป้อนข้อมูลของ TM (โดยไม่ต้องเสริม )? คุณจะรันบนอย่างไร W R T MM 1 , w RTMwRTMM1,w
xskxzr

-2

E = {| M คือ TM และ L (M) = Φ} ทัวริงเป็นที่รู้จัก?

E คือภาษาเพื่อยอมรับภาษา E เราสร้างเครื่องทัวริง สมมติว่าเราสร้าง Turing EM สำหรับภาษา E

EM จะได้รับการป้อนข้อมูลเป็นการเข้ารหัสของเครื่องทัวริงเครื่องอื่นหากเครื่องที่ป้อน M นั้นยอมรับภาษาที่ว่างเปล่ามันจะเป็นสมาชิกของภาษา E มิฉะนั้นจะไม่ใช่สมาชิกของภาษา

สมมติว่าเรามีทัวริงเครื่อง M เราต้องตรวจสอบว่ามันยอมรับภาษาที่ว่างเปล่าหรือไม่ เครื่องทัวริง EM มี M และสตริง eps, a, b, aa, bb, ..... EM จะตรวจสอบว่า M สามารถเข้าถึงสถานะสุดท้ายอย่างน้อยหนึ่งอินพุตหรือไม่และถ้ายอมรับอย่างน้อยหนึ่งอินพุต จะถูกยกเลิกและไม่รวมอยู่ในภาษา E ทีนี้ดูว่ามีความเป็นไปได้ที่ TM M จะวนซ้ำดังนั้น M จะยังคงทำงานต่อไปและเราไม่สามารถตัดสินใจได้ว่าจะยอมรับหรือไม่ยอมรับอะไรเลย ดังนั้นภาษาที่ให้มา E นี้ไม่ใช่ RE

PS: ฉันคิดว่าการเติมเต็มของภาษา E ที่กำหนดนี้จะเป็นจริง


น่าเสียดายที่อาร์กิวเมนต์ที่ใช้งานง่ายนี้ไม่ได้เป็นการพิสูจน์ อาจมีวิธีที่แตกต่างกันในการตัดสินใจ E และนี่ไม่ใช่ข้อโต้แย้งของคุณ
Yuval Filmus

ใช่ถูกต้อง แต่วิธีที่ฉันอธิบายคนสามารถทำให้เข้าใจในภาษาคนธรรมดา
มนู Thakur

เว็บไซต์นี้ไม่ได้สำหรับคนธรรมดา สำหรับวิทยาศาสตร์คอมพิวเตอร์เชิงทฤษฎีในระดับวิชาการ
Yuval Filmus

2
สิ่งที่คุณทำคือการโต้แย้งอย่างง่าย ๆ ว่าทำไมเทคนิคการคำนวณบางอย่างดูเหมือนจะล้มเหลวในการแก้ปัญหานี้ แต่คำถามก็คือขอหลักฐานว่าไม่มีเทคนิคที่เป็นไปได้
David Richerby
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.