This preview shows page 139 - 146 out of 152 pages.
Modified Post Correspondence Problem113
FORMAL LANGUAGES AND AUTOMATA THEORY10CS56•We have seen an undecidable problem, that is, given a Turing machine M and an input w, determine whether M will accept w (universal language problem). •We will study another undecidable problem that is not related to Turing machine directly.Given two lists A and B:A = w1, w2, …, wk B = x1, x2, …, xkThe problem is to determine if there is a sequence of one or more integers i1, i2, …, im such that:w1wi1wi2…wim = x1xi1xi2…xim(wi, xi) is called a corresponding pair.ExampleABiwixi11112111130111104100This MPCP instance has a solution: 3, 2, 2, 4: w1w3w2w2w4= x1x3x2x2x4= 1101111110114
FORMAL LANGUAGES AND AUTOMATA THEORY10CS568.2: a un decidable problem that is REUndecidability of PCPTo show that MPCP is undecidable, we will reduce the universal language problem (ULP) to MPCP:UniversalA mappingMPCPLanguageProblem (ULP)If MPCP can be solved, ULP can also be solved. Since we have already shown that ULP is un-decidable, MPCP must also be undecidable.Mapping ULP to MPCP•Mapping a universal language problem instance to an MPCP instance is not as easy. •In a ULP instance, we are given a Turing machine M and an input w, we want to determine if M will accept w. To map a ULP instance to an MPCP instance success-fully, the mapped MPCP instance should have a solution if and only if M accepts w. 115
FORMAL LANGUAGES AND AUTOMATA THEORY10CS56Mapping ULP to MPCPULP instanceMPCP instanceGiven:(T,w)Construct an MPCP instanceTwo lists: A and BIf T accepts w, the two lists can be matched.Otherwise, the two lists cannot be matched.Mapping ULP to MPCP•We assume that the input Turing machine T: –Never prints a blank –Never moves left from its initial head position. •These assumptions can be made because: –Theorem(p.346 in Textbook): Every language accepted by a TM M2 will also be accepted by a TM M1 with the following restrictions: (1) M1‟s head never moves left from its initial position. (2) M1 never writes a blank. Mapping ULP to MPCPGiven T and w, the idea is to map the transition function of T to strings in the two lists in such a way that a matching of the two lists will correspond to aconcatenation of the tape contents at each time step.We will illustrate this with an example first.116
FORMAL LANGUAGES AND AUTOMATA THEORY10CS56Example of ULP to MPCP• Consider the following Turing machine:T = ({q0, q1},{0,1},{0,1,#}, , q0, #, {q1})q00/0, L q11/0, R(q0,1)=(q0,0,R) (q0,0)=(q1,0,L)• Consider input w=110.Example of ULP to MPCP•Now we will construct an MPCP instance from T and w. There are fivetypes of strings in list A and B: •Starting string (first pair): List AList B##q0110#
117
FORMAL LANGUAGES AND AUTOMATA THEORY10CS56Example of ULP to MPCP• Strings from the transition function :List AList Bq010q0(from(q0,1)=(q0,0,R))0q00q100(from(q0,0)=(q1,0,L))1q00q110(from(q0,0)=(q1,0,L))Example of ULP to MPCP•Strings for copying:List A List B##0011Example of ULP to MPCP•Strings for consuming the tape symbols at the end: List A List BList A List B0q1q10q11q11q1q11q10q1q10q10q10q1q11q11q10q1