Sa larangan ng computational complexity theory, ang problema sa pagtanggap para sa isang Turing machine ay tumutukoy sa pagtukoy kung ang isang partikular na Turing machine ay tumatanggap ng isang partikular na input. Sa kabilang banda, ang Post Correspondence Problem (PCP) ay isang kilalang undecidable problem na tumatalakay sa paghahanap ng solusyon sa isang partikular na string concatenation puzzle. Sa kontekstong ito, ang tanong ay kung paano natin mai-encode ang isang instance ng problema sa pagtanggap para sa isang Turing machine sa isang instance ng PCP.
Upang maunawaan ang proseso ng pag-encode, isaalang-alang muna natin ang katangian ng problema sa pagtanggap para sa isang Turing machine. Ang Turing machine ay isang teoretikal na modelo ng computation na binubuo ng isang tape na nahahati sa mga cell, isang read/write head, at isang set ng mga estado. Gumagana ito sa pamamagitan ng pagbabasa ng simbolo sa tape sa kasalukuyang posisyon, paglipat sa isang bagong estado batay sa kasalukuyang estado at simbolo, at pagbabago sa tape sa pamamagitan ng pagsulat ng bagong simbolo sa kasalukuyang posisyon. Humihinto ang makina kung umabot ito sa itinalagang estado ng paghinto.
Ang problema sa pagtanggap para sa isang Turing machine ay kinabibilangan ng pagtukoy kung ang isang partikular na Turing machine ay huminto at tumatanggap ng isang partikular na input string. Ang problemang ito ay maaaring i-encode sa isang instance ng PCP sa pamamagitan ng pagbuo ng isang set ng mga string pairs, kung saan ang bawat pares ay tumutugma sa isang configuration ng Turing machine.
Upang i-encode ang problema sa pagtanggap, kailangan muna nating tukuyin ang alpabeto na ginagamit ng Turing machine. Hayaan ang Σ ang alpabeto, na binubuo ng mga simbolo na maaaring lumabas sa tape. Maaari naming ipagpalagay na ang alpabeto ay may kasamang blangkong simbolo, na tinutukoy bilang #, na kumakatawan sa mga walang laman na cell sa tape.
Susunod, kailangan nating tukuyin ang hanay ng mga estado ng Turing machine. Hayaang ang Q ay ang hanay ng mga estado, kung saan ang q0 ay ang paunang estado at ang qf ay ang paghinto ng estado. Bukod pa rito, hayaan ang qreject na maging isang espesyal na hindi humihinto na estado na kumakatawan sa pagtanggi.
Ngayon, maaari na tayong bumuo ng set ng mga string pairs para sa PCP. Ang bawat pares ng string ay tumutugma sa isang configuration ng Turing machine, na kinabibilangan ng kasalukuyang estado, ang mga nilalaman ng tape, at ang posisyon ng read/write head. Ang pagbuo ng mga string pairs ay sumusunod sa mga alituntuning ito:
1. Magsimula sa isang blangkong pares: (ε, ε), kung saan ang ε ay kumakatawan sa walang laman na string.
2. Para sa bawat estado q sa Q, lumikha ng isang pares: (q, ε).
3. Para sa bawat simbolo a sa Σ, lumikha ng isang pares: (a, ε).
4. Para sa bawat posisyon i sa tape, lumikha ng isang pares: (i, ε).
5. Para sa bawat simbolo a sa Σ, lumikha ng isang pares: (a, a).
6. Para sa bawat simbolo a sa Σ, lumikha ng isang pares: (a, #).
7. Para sa bawat simbolo a sa Σ, lumikha ng isang pares: (#, a).
8. Para sa bawat estado q sa Q, lumikha ng isang pares: (q, #).
9. Para sa bawat estado q sa Q, lumikha ng isang pares: (#, q).
10. Para sa bawat estado q sa Q, lumikha ng isang pares: (q, q).
11. Para sa bawat pares (q, a) sa Q × Σ, lumikha ng isang pares: (q, a).
12. Para sa bawat pares (a, q) sa Σ × Q, lumikha ng isang pares: (a, q).
13. Para sa bawat pares (q, i) sa Q × {1, 2, …, n}, lumikha ng isang pares: (q, i).
14. Para sa bawat pares (i, q) sa {1, 2, …, n} × Q, lumikha ng isang pares: (i, q).
15. Para sa bawat pares (q, q') sa Q × Q, lumikha ng isang pares: (q, q').
16. Para sa bawat pares (a, a') sa Σ × Σ, lumikha ng isang pares: (a, a').
17. Para sa bawat triple (q, a, q') sa Q × Σ × Q, lumikha ng isang pares: (q, aq').
18. Para sa bawat triple (a, q, a') sa Σ × Q × Σ, lumikha ng isang pares: (aq, a').
19. Para sa bawat triple (q, i, q') sa Q × {1, 2, …, n} × Q, lumikha ng isang pares: (q, iq').
20. Para sa bawat triple (i, q, i') sa {1, 2, …, n} × Q × {1, 2, …, n}, lumikha ng isang pares: (iq, i').
21. Para sa bawat triple (q, q', q'') sa Q × Q × Q, lumikha ng isang pares: (q, q'q'').
22. Para sa bawat triple (a, a', a'') sa Σ × Σ × Σ, lumikha ng isang pares: (a, a'a'').
23. Para sa bawat quadruple (q, a, q', a') sa Q × Σ × Q × Σ, lumikha ng isang pares: (q, aa'q').
24. Para sa bawat quadruple (a, q, a', q') sa Σ × Q × Σ × Q, lumikha ng isang pares: (aq, a'aq').
25. Para sa bawat quadruple (q, i, q', i') sa Q × {1, 2, …, n} × Q × {1, 2, …, n}, lumikha ng isang pares: (q, ii' q').
26. Para sa bawat quadruple (i, q, i', q') sa {1, 2, …, n} × Q × {1, 2, …, n} × Q, lumikha ng isang pares: (ii'q, i'q').
27. Para sa bawat quadruple (q, q', q'', q) in Q × Q × Q × Q, create a pair: (q, q'q''q
).
28. Para sa bawat apat na beses (a, a', a'', a) in Σ × Σ × Σ × Σ, create a pair: (a, a'a''a
).
Tinitiyak ng mga alituntuning ito na ang bawat posibleng configuration ng Turing machine ay kinakatawan ng isang pares sa instance ng PCP. Sa pamamagitan ng pagbuo ng PCP instance sa ganitong paraan, maaari naming i-encode ang problema sa pagtanggap para sa isang Turing machine.
Upang buod, ang pag-encode ng isang partikular na instance ng problema sa pagtanggap para sa isang Turing machine sa isang instance ng PCP ay kinabibilangan ng pagbuo ng isang set ng mga string pairs na kumakatawan sa mga configuration ng Turing machine. Ang bawat pares ay tumutugma sa isang partikular na estado, simbolo ng tape, o posisyon sa tape, at sumusunod sa isang hanay ng mga alituntunin upang matiyak na komprehensibo ang pag-encode.
Iba pang kamakailang mga tanong at sagot tungkol sa Kakayahan:
- Maaari bang limitado ang isang tape sa laki ng input (na katumbas ng ulo ng turing machine na limitado upang lumipat nang lampas sa input ng TM tape)?
- Ano ang ibig sabihin para sa iba't ibang variation ng Turing Machines na maging katumbas sa kakayahan sa pag-compute?
- Maaari bang bumuo ang isang turing na nakikilalang wika ng isang subset ng mapagpasyang wika?
- Mapapasya ba ang problema sa paghinto ng Turing machine?
- Kung mayroon tayong dalawang TM na naglalarawan ng isang decidable na wika, hindi pa rin ba mapagpasyahan ang tanong sa equivalence?
- Paano naiiba ang problema sa pagtanggap para sa linear bounded automata sa mga Turing machine?
- Magbigay ng isang halimbawa ng isang problema na maaaring mapagpasyahan ng isang linear bounded automat.
- Ipaliwanag ang konsepto ng decidability sa konteksto ng linear bounded automata.
- Paano nakakaapekto ang laki ng tape sa linear bounded automata sa bilang ng mga natatanging configuration?
- Ano ang pangunahing pagkakaiba sa pagitan ng linear bounded automata at Turing machine?
Tingnan ang higit pang mga tanong at sagot sa Decidability