Inilah pendekatan saya: Saya akan menunjukkan bahwa jika Anda dapat memutuskan masalah Anda, maka Anda dapat memutuskan masalah korespondensi Post (PCP), yang diketahui tidak dapat ditentukan.
Ingat, PCP adalah masalah keputusan yang menanyakan apakah dalam satu set 2-tuples P={(x1,y1),…,(xn,yn)} Anda dapat membangun urutan (termasuk. pengulangan) sedemikian rupa sehingga digabungkan xidan digabungkan yis dari urutan ini membentuk kata yang sama. Perhatikan bahwa alfabet harus memiliki setidaknya 2 karakter.
Jadi, biarkan Pmenjadi contoh dari PCP. Pertimbangkan tata bahasa bebas konteks berikut, di mana kami telah memperkenalkan simbol terminal baruti Untuk ielemen ke-dalam P. Tata bahasanya memiliki aturan berikut:
SXX′Y→X!Y→x1X′t1∣x2X′t2∣⋯xnX′tn→x1X′t1∣x2X′t2∣⋯xnX′tn∣ε→y1Yt1∣y2Yt2∣⋯ynYtn∣ε
(Variabel
X′ hanya ada di sana untuk mengesampingkan
S⇒!).
Tentu saja, mengingat tata bahasa apa pun, kita dapat menemukan PDA yang sesuai yang menerima bahasa yang sama dengan tata bahasa. Jadi, buat PDA yang sesuai, dan kemudian gunakan algoritma hipotetis untuk masalah Anda untuk menentukan apakah PDA ini menerima kata apa pun dari formuliru!v (Yaitu, apakah seseorang dapat memperoleh kata dari formulir tersebut u!vdari tata bahasa ini). Saya akan menunjukkan cara menggunakan informasi ini untuk menyelesaikan contoh PCPP.
Asumsikan sekarang u!vadalah kata dalam tata bahasa ini. Katau memiliki dua bagian, akhiran, yang terdiri dari titerminal, dan sisanya disebut awalan. Hal yang sama berlaku untukv. Kita punyau=vjika dan hanya jika awalan dan sufiksnya bertepatan. Sufiks bertepatan hanya jika kita menggunakan urutan tupel yang samaP untuk membangun kata-kata u dan v. Awalan dariu dan v bertepatan jika gabungan dari xidan yis (berdasarkan urutan tupel terbalik yang diberikan oleh tis) sama. Karenanyau=v jika dan hanya jika ada solusi untuk instance PCP P.
Demikian pula, jika ada solusi untuk contoh PCP P, maka dari solusinya mudah untuk membangun kata bentuk u!v yang diturunkan dari tata bahasa ini.
Oleh karena itu contoh PCP P punya solusi jika dan hanya jika tata bahasa ini mengandung kata dalam bentuk u!v. Jika ada algoritma untuk memutuskan masalah Anda, kami dapat menggunakannya untuk menyelesaikan PCP. Namun tentu saja PCP diketahui tidak dapat diputus, sehingga masalah Anda juga tidak dapat diputuskan.
Pendekatannya mungkin sebagai berikut. Cobalah untuk membuat bahasa bebas konteks (= PDA) yang mengkode langkah-langkah perhitungan TM, sehingga perhitungan lengkap berhasil jika ada kata dari bentuk yang Anda gambarkan.
Pertama, Anda perlu mengkode konfigurasi terpisah: isi kaset + status + posisi kepala (Anda akan melihat bahwa untuk kesetaraan tata bahasa). Bahasa bebas konteks dapat menyandikan satu langkahC⊢C′ perhitungan yang disediakan Anda menggunakan gambar cermin C#m(C′) dimana m(C) menunjukkan gambar cermin (pembalikan) dari (Saya ceroboh di sini: Anda mungkin harus membedakan konfigurasi dan deskripsinya.)
Sekarang perhatikan bahasa langkah-langkah terpisah, disatukan dengan bahasa konfigurasi duplikat:C0#C1#m(C2)#C3#m(C4)#…C2n−1#m(C2n)#Cf! C′1#m(C′1)#C′2#m(C′2)#…C′n+1#m(C′n+1) with for every k , C2k−1⊢(C2k) . This is context-free, additionally code C0 as initial and Cf as final configurations.
Now the first part ensures we have consecutive steps, the second part that successive configurations are equal. If both parts match we have a computation. Which we cannot decide.
That is the idea. I may have some indexes wrong, and the whole sequence has to be encoded in binary, but that can be solved.
sumber