Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revision Previous revision
Next revision
Previous revision
aa:pcp [2019/10/17 08:07]
pdmatei
aa:pcp [2021/01/17 22:48] (current)
cata.chiru
Line 24: Line 24:
   * for this proof, we consider that Turing Machines have only two final states $math[F=\{s_{yes},​s_{no}\}],​ which model the output of $math[0/1]. It is straightforward how one can take an arbitrary Turing Machine an turn it into a //​yes/​no//​-Turing Machine.   * for this proof, we consider that Turing Machines have only two final states $math[F=\{s_{yes},​s_{no}\}],​ which model the output of $math[0/1]. It is straightforward how one can take an arbitrary Turing Machine an turn it into a //​yes/​no//​-Turing Machine.
   * We require that the execution of $math[M] on $math[w] never moves the head to the left of the first symbol of the word. Making sure this happens is a little more technically involved, however algorithmically possible. We shall skip these details.   * We require that the execution of $math[M] on $math[w] never moves the head to the left of the first symbol of the word. Making sure this happens is a little more technically involved, however algorithmically possible. We shall skip these details.
-  * We require that the word $w\neq \epsilon$, hence we do not allow simulations of the empty word. To accommodate for this, we can easily add a new symbol to the alphabet, which is used specifically for encoding the empty word.+  * We require that the word $ w \neq \epsilon $, hence we do not allow simulations of the empty word. To accommodate for this, we can easily add a new symbol to the alphabet, which is used specifically for encoding the empty word.
  
  
Line 151: Line 151:
  
 Direction "​$math[\Leftarrow]"​. Suppose we have a matching in our constructed PCP instance. Since $math[*] can only appear between other symbols from $math[\Sigma],​ it follows that any matching can only start with the pair $math[\left(\begin{array}{l} \lhd \alpha_1 \\ \lhd \beta_1 \rhd \end{array}\right)],​ and must continue with pairs $math[\left(\begin{array}{l} \lhd \alpha_i \\ \beta_i \rhd \end{array}\right)],​ from which we can immediately construct a matching in FTPCP. Direction "​$math[\Leftarrow]"​. Suppose we have a matching in our constructed PCP instance. Since $math[*] can only appear between other symbols from $math[\Sigma],​ it follows that any matching can only start with the pair $math[\left(\begin{array}{l} \lhd \alpha_1 \\ \lhd \beta_1 \rhd \end{array}\right)],​ and must continue with pairs $math[\left(\begin{array}{l} \lhd \alpha_i \\ \beta_i \rhd \end{array}\right)],​ from which we can immediately construct a matching in FTPCP.
- 
-===== PCP is undecidable (old) ===== 
- 
-We prove PCP is undecidable via a reduction: PCP $math[\leq_T] FTPCP. 
- 
-Let $math[ \left\{\left(\begin{array}{l} \alpha_i \\ \beta_i \end{array}\right)\right\}_{ 1 \leq i \leq n}] be an instance of PCP. We build an instance of FTPCP as follows. 
- 
-First, consider an arbitrary word $math[w=c_1\ldots c_k] over alphabet $math[\Sigma]. We define: 
-  * $math[\lhd w = *c_1*c_2* \ldots *c_k] 
-  * $math[w \rhd = c_1*c_2* \ldots *c_k*] 
-  * $math[\lhd w \rhd = *c_1*c_2* \ldots *c_k*] 
-where the symbol $math[*] does not occur in $math[\Sigma]. 
- 
-Using our word constructions,​ we can construct the following instance of FTPCP: 
-$math[ \left\{\left(\begin{array}{l} \lhd \alpha_i \\ \lhd \beta_i \rhd \end{array}\right)\right\} \cup \left\{\left(\begin{array}{l} \lhd \alpha_i \\ \beta_i \rhd \end{array}\right)\right\}_{ 1 \leq i \leq n} \cup \left\{\left(\begin{array}{l} \lhd @ \\ @ \end{array}\right)\right\}] 
- 
-where $math[*] and $math[@] are symbols outside of the alphabet of the PCP instance. The intuition of the construction is as follows: 
- 
-  * since $math[*] cannot appear in any word, any matching must start with the first pair (all others are incompatible) 
-  * any matching attempt will leave a trailing $math[*], which can be solved by adding the final tile. 
- 
-It is straightforward that our instance of FTPCP is //​matchable//​ iff PCP is //​matchable//​. 
- 
- 
- 
-