410 likes | 566 Views
Complexity and Computability Theory I. Lecture #14 Instructor: Rina Zviel-Girshin Lea Epstein. Formally: (Q, , , , q 0, q accept, q reject ). Q is the set of states. is the input alphabet _ . is the tape alphabet, _ and .
E N D
Complexity and Computability Theory I Lecture #14 Instructor: Rina Zviel-Girshin Lea Epstein Computation & Complexity/Y. Moses
Formally: (Q, , , , q0, qaccept, qreject) • Q is the set of states. • is the input alphabet _. • is the tape alphabet, _ and . • :Qx Qxx{R,L} the transition function. • q0, qaccept, qrejectthe start, accept and reject states. qaccept qreject Computation & Complexity/Y. Moses
s s s 1 s 2 s 3 4 5 qaccept Example of TM Computing a Function f1(w)=0|w| For every , (q0, )=(q0,0,R) (q0,_)=(q1,_,R). (q1,_)=(qaccept,_,L). Computation & Complexity/Y. Moses
Computing the Function: f2(w)=w For every , (q0, )=(q0, ,R) (q0,_)=(q1,_,R). (q1,_)=(qaccept,_,L). Computation & Complexity/Y. Moses
States as Memory of Symbols • For each there exists a state q. • M that returns nof the input w= 12 ...n. • (q0, i)=(qi,#,R) mark left cell+ remember first cell. • (qi, j)=(qj,_,R) erase and remember the current cell. • (qi, _)=(q’i,_,L) end-of-tape + return the last cell. • (q’i, _)=(q’i,_,L) go backward with last cell. • (q’i, #)=(qaccept, i,R) detect left cell write right cell+ stop. Computation & Complexity/Y. Moses
M that Computes the RightCyclic Transformation: f(12 ...n)= n12 ...n-1 • Remember the left cell (using a state), mark it with # and move Right. • Until right-end, _, write the previous cell value, remember the current value, and move right. • When reach the right end, remember the value by the state and move left until reach the first cell, #. • Write the last cell value in the first cell and stop. Computation & Complexity/Y. Moses
B={w#w|w{0,1}*} Computation & Complexity/Y. Moses
Summary • TM: formal definition (Q, , , , q0, qaccept, qreject) • TM: input. • TM: output. • Some examples. Computation & Complexity/Y. Moses
A “Stay” Move Can use: (q0,_)=(q1,_,R) (q1,_)=(qaccept,_,L) • :Qx Qxx{R,L,S} Computation & Complexity/Y. Moses
Computing the Function: f2(w)=w For every , (q0, )=(q0, ,R) (q0,_)=(qaccept,_,S). Computation & Complexity/Y. Moses
Computers and Intuitive Computation • Every computer has a set of “simple” steps that change the environment. • Can every function be computed by some computer? • Formally: Can every function f:{0,1}* :{0,1}* be computed? Computation & Complexity/Y. Moses
Class 2 • TM Configurations • A Decider • A Language of a TM • More Examples of TM’s Computation & Complexity/Y. Moses
Formally: (Q, , , , q0, qaccept, qreject) • Q is the set of states q0, qaccept, qrejectQ. • is the input alphabet _ . • is the tape alphabet, _ and . • :{Q\ qaccept, qreject }x Qxx{R,L} the transition function. • q0, qaccept, qrejectthe start, accept and rejects states. qaccept qreject Computation & Complexity/Y. Moses
q b b a c b b d a c _ _ u v Configuration • The tape. • The state. • The control location on the tape. • uqrejectv • u,v *u=bbac v=bbdac Computation & Complexity/Y. Moses
q0 ... 0 0 1 0 1 _ _ _ Intial Configuration: q0w • The tape: w(the input)on the leftmost nsquares of the tape. Example: w=00101 • The rest of the tape is blank. • The head starts on the left most square. Computation & Complexity/Y. Moses
Final Configuration: uqw • q {qaccept , qreject} • The tape contains uw: Example: u = 00 w=101, • The rest of the tape is blank. • The output is u. q 0 0 1 0 1 _ _ _ ... Computation & Complexity/Y. Moses
qi C1: b b a c a b b b d a c _ _ u v C2: qj b b a c a c b b d a c _ _ u v C1yieldsC2 if C2can be “reached” from C1by the function. Computation & Complexity/Y. Moses
Special Case: left-hand end • Right transition (qi,b)= (qj,c,R): qibvyieldscqjv • Left transition (qi,b)= (qj,c,L): qibv yieldsqjcv Computation & Complexity/Y. Moses
A Configuration Sequence For a given TM M we denoteby C1* Cnthe existence of a set of configurations. Where Ci yields Ci+1 for i=1,…,n Computation & Complexity/Y. Moses
Macceptw: If a sequence of configurations C1, C2,…,Cn exists where: 1.C1 is a start configuration with w. 2. Each Ci yields Ci+1 3.Cn is an accepting configuration. 1-2:C1 *Cn Computation & Complexity/Y. Moses
Mrejectw: If a sequence of configurations C1, C2,…,Cn exists where: 1.C1 is a start configuration on input w. 2. Each Ciyields Ci+1 3.Cn is a rejecting configuration. 1-2:C1 *Cn Computation & Complexity/Y. Moses
Three possible outcomes of a TM • Accept. • Reject. • Loop. not necessarily repeating the same steps. Computation & Complexity/Y. Moses
MdecidesL: If Maccepts all wLandMrejectsallwL. That is: • For everywL M accept w. • For everywL M reject w. M is aDeciderTM: If M Halts on all inputs. (never loop) Computation & Complexity/Y. Moses
The Language of TM M L(M) = the collections of strings that Maccepts. Computation & Complexity/Y. Moses
Example The following TM M decides the language M=“on input string w 1. From left to right: cross off every other 0. 2. If in stage 1 a single 0 left: accept. an odd number of 0’s” reject. An even number: go to 1.” Computation & Complexity/Y. Moses
Example: B={w#w|w{0,1}*} M1=“On input string w: • Scan and check that the input contains a single #. If not reject. • Zig-zag to check whether corresponding positions on either sides of # contain the same symbol. If not, reject. Cross off the checked symbols. • When all symbols to the left of # are crossed, check for remaining symbols to the right of #. If any symbol, reject. Otherwise, accept. Computation & Complexity/Y. Moses
B={w#w|w{0,1}*} How are 0’s and 1’s decoded? Where are the reject states? Computation & Complexity/Y. Moses
TM for Deciding the Language C={aibjck|i xj=kandi,j,k>0} M3on input w: 1. Scan to the right to check whether w{a* b* c*} if not, reject. 2. Return head to the left hand side. 3. Cross: one aand the same num. ofb and c. 4. Restore the crossed b and return to 3. accept if all a’s and c’s are crossed. Computation & Complexity/Y. Moses
The Element Distinctness Problem E={#x1#x2#…#xn| xi{0,1}*andxixj ij} M4is a TM that accept E: it compares each pair of xiand xj. • At each “round” it marks a pair of the symbols # in an order that covers all possible pairs. • It compares the two strings that follow the marked symbols #. Computation & Complexity/Y. Moses
Alphabet Duplication • How can we mark cells on the tape without changing their values? • Duplicate the alphabet of such that for each there is another symbol ’ . . Computation & Complexity/Y. Moses
B1={w1#w2|wi{0,1}* & w1 w2} What do we have to change? B={w#w|w{0,1}*} Computation & Complexity/Y. Moses
Turing-decidable Languages: • B={w#w|w{0,1}*} • C={aibjck|i xj=k and i,j,k>0} • E={#x1#x2#…#xn| xi{0,1}*andxixi ij} Computation & Complexity/Y. Moses
Using a TM to Compute a Function. M is a TM that computes a (partial) function fM:* *if there exist , *and qacceptQ s.t. q0w * qaccept. In this case fM(w)=. Computation & Complexity/Y. Moses
A Function With a Number of Arguments • Use a special symbol on the tape to separate between the arguments. • w1&w2&…wnwhere &. • Examples of functions: • add(w1,w2) • mult(w1,w2) • max(w1,w2) Computation & Complexity/Y. Moses
Can we distinguish a machine that is looping from one that is merely taking a long time? Computation & Complexity/Y. Moses
MrecognizeL: If Maccepts all wL That is: • For everywL M acceptw. • For everywL M rejectw or M does not halt. Computation & Complexity/Y. Moses
Turing-Recognizable Language A language L is Turing recognizableif there exists a TM M that recognizes it. That is L(M) for some TM M. Alsonamed recursively-enumerable Computation & Complexity/Y. Moses
Turing-Recognizable Languages: • B={w#w|w{0,1}*} • C={aibjck|i xj=k and i,j,k>0} • E={#x1#x2#…#xn| xi{0,1}*andxixi ij} Computation & Complexity/Y. Moses
Turing-recognizable Turing-decidable Turing-decidable Turing-recognizable Computation & Complexity/Y. Moses
Up to Here • Definition of a TM. • Configurations: initial, final, general, transitions . • Coding S (stay) transition. • Remember symbols by states. • Mark symbols. • Computing a function: input & output values. • Recognizing/deciding a Language. Computation & Complexity/Y. Moses