Presentation is loading. Please wait.

Presentation is loading. Please wait.

CSCI 2670 Introduction to Theory of Computing September 29, 2005.

Similar presentations


Presentation on theme: "CSCI 2670 Introduction to Theory of Computing September 29, 2005."— Presentation transcript:

1 CSCI 2670 Introduction to Theory of Computing September 29, 2005

2 Agenda Yesterday –Turing machines Today –Continue Turing Machines

3 September 29, 2005 Announcements Homework due Wednesday –3.2 c & e, 3.6, 3.8 b, 3.12, 3.13 I will accept homeworks until 11:00 Thursday Quiz Tuesday –Turing machine definition, calculation, and design Tests will be returned next Tuesday Ignore comment about tutorials being cancelled

4 September 29, 2005 Formal definition of a TM Definition: A Turing machine is a 7- tuple (Q, , , ,q 0,q accept,q reject ), where Q, , and  are finite sets and 1.Q is the set of states, 2.  is the input alphabet not containing the special blank symbol ~ 3.  is the tape alphabet, where ~  and , 4.  : Q  Q  {L,R} is the transition function,

5 September 29, 2005 Formal definition of a TM Definition: A Turing machine is a 7- tuple (Q, , , ,q 0,q accept,q reject ), where Q, , and  are finite sets and 5.q 0  Q is the start state, 6.q accept  Q is the accept state, and 7.q reject  Q is the reject state, where q reject  q accept

6 September 29, 2005 Computing with a TM M receives input w = w 1 w 2 …w n  * on leftmost n squares of tape –Rest of tape is blank (all ~ symbols) Head position begins at leftmost square of tape Computation follows rules of  Head never moves left of leftmost square of the tape –If  says to move L, head stays put!

7 September 29, 2005 Completing computation Continue following  transition rules until M reaches q accept or q reject –Halt at these states May never halt if the machine never transitions to one of these states!

8 September 29, 2005 TM configurations The configuration of a Turing machine is the current setting –Current state –Current tape contents –Current tape location Notation uqv –Current state = q –Current tape contents = uv Only ~ symbols after last symbol of v –Current tape location = first symbol of v

9 September 29, 2005 Configuration C 1 yields C 2 C 1 yields C 2 if the TM can legally go from C 1 to C 2 in one step –Assume a, b   and u, v   * –uaq i bv yields uq k acv if  (q i,b)=(q k,c,L) –uaq i bv yields uacq k v if  (q i,b)=(q k,c,R)

10 September 29, 2005 Configuration C 1 yields C 2 Special cases if head is at beginning or end of tape –uaq i bv yields uq j acv if  (q i,b)=(q k,c,L) –uaq i bv yields uacq k v if  (q i,b)=(q k,c,R) –Special cases q i bv~ yields q j ac~ if  (q i,b)=(q k,c,L) and tape head is at beginning of tape uaq i ~ yields uacq k ~ if  (q i,b)=(q k,c,R)

11 September 29, 2005 Special configurations Start configuration –q0w–q0w Halting configurations –Accepting configuration: uq accept v –Rejecting configuration: uq reject v u, v   *

12 September 29, 2005 Strings accepted by a TM A Turing machine M accepts input sequence w if a sequence of configurations C 1, C 2, …, C k exist, where 1.C 1 is the start configuration of M on input w 2.each C i yields C i+1 for i = 1, 2, …, k-1 3.C k is an accepting configuration

13 September 29, 2005 Language of a TM The language of M, denoted L(M), is –L(M) = {w | M accepts w} A language is called Turing- recognizable if some Turing machine recognizes it

14 September 29, 2005 Deciders A Turing machine is called a decider if every string in  * is either accepted or rejected A language is called Turing-decidable if some Turing machine decides it –These languages are often just called decidable

15 September 29, 2005 Turing machine notation  (q i,b)=(q k,c,D), where D = L or R, is represented by the following transition qiqi qkqk b  c, D In the special case where  (q i,b)=(q k,b,D), i.e., the tape is unchanged, the right-hand side will just display the direction

16 September 29, 2005 Example Write a TM that accepts all strings of the form 101001000100001 … –Start with a 1 –End with a 1 –Progressively more 0’s between consecutive 1’s

17 September 29, 2005 Design Check first symbol is a 1 –If not reject Move right and check if second symbol is a 0 –If not reject –If so, replace with X and begin recursion

18 September 29, 2005 Recursion (high level) Go back and forth on either side of each 1 –Replace 0’s on right side of 1 with an X –Replace X’s on left side of 1 with a Y After all X’s on left side of 1 are replaced with Y’s, there should be exactly one on the right side that has not been X’ed –If not, reject –If so, repeat process (recursion step)

19 September 29, 2005 Exit condition If you begin to look for the next group of 0’s and reach a ~ then accept

20

21 September 29, 2005 Group project 1 Design a Turing machine to accept any string in {a,b} * after making a copy of it on the tape –The tape will start with w –After TM processes the string, the tape should read ww

22 September 29, 2005 Group project 2 Write a Turing machine that accepts the language {w  {a,b} * | |w| is even}

23 September 29, 2005 Group project 3 Write a Turing machine that accepts the language {a n b m | n  m and n  m}

24 September 29, 2005 Group project 4 Write a Turing machine that accepts the language {a n b m a n+m | n  0 and m  1}

25 September 29, 2005 Group project 5 Write a Turing machine that accepts the language {ww R | w  {a,b} * }

26 September 29, 2005 Group project 6 Design a Turing machine that accepts the language {w  {a,b} * | w has more a’s than b’s}


Download ppt "CSCI 2670 Introduction to Theory of Computing September 29, 2005."

Similar presentations


Ads by Google