Differences
This shows you the differences between two versions of the page.
Both sides previous revision Previous revision Next revision | Previous revision | ||
aa:pcp [2019/10/17 08:04] 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 150: | Line 150: | ||
We prove the construction is correct. Direction "$math[\Rightarrow]". Suppose there is a matching of FTPCP starting with the first tile and continuing with $math[a_2,\ldots,a_k]. Then choose the pair $math[\left(\begin{array}{l} \lhd \alpha_1 \\ \lhd \beta_1 \rhd \end{array}\right)], and continue with the pairs $math[a_2=\left(\begin{array}{l} \lhd \alpha_{a_2} \\ \beta_{a_2} \rhd \end{array}\right)] up to $math[a_k], which will constitute a matching. | We prove the construction is correct. Direction "$math[\Rightarrow]". Suppose there is a matching of FTPCP starting with the first tile and continuing with $math[a_2,\ldots,a_k]. Then choose the pair $math[\left(\begin{array}{l} \lhd \alpha_1 \\ \lhd \beta_1 \rhd \end{array}\right)], and continue with the pairs $math[a_2=\left(\begin{array}{l} \lhd \alpha_{a_2} \\ \beta_{a_2} \rhd \end{array}\right)] up to $math[a_k], which will constitute a matching. | ||
- | ===== PCP is undecidable (old) ===== | + | 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. |
- | + | ||
- | 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//. | + | |
- | + | ||
- | + | ||
- | + | ||