Download presentation
Presentation is loading. Please wait.
1
Complexity and Computability Theory I
Lecture #14 Instructor: Rina Zviel-Girshin Lea Epstein Computation & Complexity/Y. Moses
2
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, qreject the start, accept and reject states. qaccept qreject Computation & Complexity/Y. Moses
3
Example of TM Computing a Function
f1(w)=0|w| For every , (q0, )=(q0,0,R) (q0,_)=(q1,_,R). (q1,_)=(qaccept,_,L). s 1 2 3 4 5 qaccept Computation & Complexity/Y. Moses
4
Computing the Function:
f2(w)=w For every , (q0, )=(q0, ,R) (q0,_)=(q1,_,R). (q1,_)=(qaccept,_,L). Computation & Complexity/Y. Moses
5
States as Memory of Symbols
For each there exists a state q. M that returns n of 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
6
M that Computes the Right Cyclic 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
7
Computation & Complexity/Y. Moses
B={w#w|w{0,1}*} Computation & Complexity/Y. Moses
8
Computation & Complexity/Y. Moses
Summary TM: formal definition (Q, , , , q0, qaccept, qreject) TM: input. TM: output. Some examples. Computation & Complexity/Y. Moses
9
Computation & Complexity/Y. Moses
A “Stay” Move Can use: (q0,_)=(q1,_,R) (q1,_)=(qaccept,_,L) :Qx Qxx{R,L,S} Computation & Complexity/Y. Moses
10
Computing the Function:
f2(w)=w For every , (q0, )=(q0, ,R) (q0,_)=(qaccept,_,S). Computation & Complexity/Y. Moses
11
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
12
Computation & Complexity/Y. Moses
Class 2 TM Configurations A Decider A Language of a TM More Examples of TM’s Computation & Complexity/Y. Moses
13
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, qreject the start, accept and rejects states. qaccept qreject Computation & Complexity/Y. Moses
14
Computation & Complexity/Y. Moses
Configuration The tape. The state. The control location on the tape. uqrejectv u,v * u=bbac v=bbdac b a c q d _ u v Computation & Complexity/Y. Moses
15
Intial Configuration: q0w
The tape: w (the input) on the leftmost n squares of the tape. Example: w=00101 The rest of the tape is blank. The head starts on the left most square. 1 _ ... q0 Computation & Complexity/Y. Moses
16
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 1 1 _ _ _ ... Computation & Complexity/Y. Moses
17
Computation & Complexity/Y. Moses
C1 yields C2 if C2 can be “reached” from C1 by the function. u v a b c qi d _ C1: u v b a c qj d _ C2: Computation & Complexity/Y. Moses
18
Special Case: left-hand end
Right transition (qi,b)= (qj,c,R): qibv yields cqjv Left transition (qi,b)= (qj,c,L): qibv yields qjcv Computation & Complexity/Y. Moses
19
A Configuration Sequence
For a given TM M we denote by C1* Cn the existence of a set of configurations. Where Ci yields Ci+1 for i=1,…,n Computation & Complexity/Y. Moses
20
Computation & Complexity/Y. Moses
M accept w: 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
21
Computation & Complexity/Y. Moses
M reject w: If a sequence of configurations C1, C2,…,Cn exists where: 1. C1 is a start configuration on input w. 2. Each Ci yields Ci+1 3. Cn is a rejecting configuration. 1-2: C1 * Cn Computation & Complexity/Y. Moses
22
Three possible outcomes of a TM
Accept. Reject. Loop. not necessarily repeating the same steps. Computation & Complexity/Y. Moses
23
Computation & Complexity/Y. Moses
M decides L: If M accepts all wL and M rejects all wL. That is: For every wL M accept w. For every wL M reject w. M is a Decider TM: If M Halts on all inputs. (never loop) Computation & Complexity/Y. Moses
24
Computation & Complexity/Y. Moses
The Language of TM M L(M) = the collections of strings that M accepts. Computation & Complexity/Y. Moses
25
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
26
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
27
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
28
TM for Deciding the Language C={aibjck|i x j=k and i,j,k>0}
M3 on 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 a and the same num. of b 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
29
The Element Distinctness Problem
E={#x1#x2#…#xn| xi{0,1}* and xixj ij} M4 is a TM that accept E: it compares each pair of xi and 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
30
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
31
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
32
Turing-decidable Languages:
B={w#w|w{0,1}*} C={aibjck|i x j=k and i,j,k>0} E={#x1#x2#…#xn| xi{0,1}* and xixi ij} Computation & Complexity/Y. Moses
33
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
34
A Function With a Number of Arguments
Use a special symbol on the tape to separate between the arguments. w1&w2&…wn where &. Examples of functions: add(w1,w2) mult(w1,w2) max(w1,w2) Computation & Complexity/Y. Moses
35
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
36
Computation & Complexity/Y. Moses
M recognize L: If M accepts all wL That is: For every wL M accept w. For every wL M reject w or M does not halt. Computation & Complexity/Y. Moses
37
Turing-Recognizable Language
A language L is Turing recognizable if there exists a TM M that recognizes it. That is L(M) for some TM M. Also named recursively-enumerable Computation & Complexity/Y. Moses
38
Turing-Recognizable Languages:
B={w#w|w{0,1}*} C={aibjck|i x j=k and i,j,k>0} E={#x1#x2#…#xn| xi{0,1}* and xixi ij} Computation & Complexity/Y. Moses
39
Computation & Complexity/Y. Moses
Turing-recognizable Turing-decidable Turing-decidable Turing-recognizable Computation & Complexity/Y. Moses
40
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
Similar presentations
© 2025 SlidePlayer.com. Inc.
All rights reserved.