CSE 105 THEORY OF COMPUTATION Fall 2016 - - PowerPoint PPT Presentation

cse 105
SMART_READER_LITE
LIVE PREVIEW

CSE 105 THEORY OF COMPUTATION Fall 2016 - - PowerPoint PPT Presentation

CSE 105 THEORY OF COMPUTATION Fall 2016 http://cseweb.ucsd.edu/classes/fa16/cse105-abc/ Today's learning goals Sipser Ch 3 Trace the computation of a Turing machine using its transition function and configurations. Recognize when a


slide-1
SLIDE 1

CSE 105

THEORY OF COMPUTATION

Fall 2016 http://cseweb.ucsd.edu/classes/fa16/cse105-abc/

slide-2
SLIDE 2

Today's learning goals Sipser Ch 3

  • Trace the computation of a Turing machine using its transition

function and configurations.

  • Recognize when a Turing machine is a decider.
  • Describe several variants of Turing machines and informally

explain why they are equally expressive.

  • Give high-level description for TMs (recognizers and

enumerators) used in constructions

  • Prove properties of the classes of recognizable and decidable

sets.

  • State and use the Church-Turing thesis.
slide-3
SLIDE 3

Context-free languages Regular languages

slide-4
SLIDE 4

Formal definition of TM

qreject ≠ qaccept

slide-5
SLIDE 5

Configurations of a TM

  • Current state
  • Current tape contents
  • Current location of read/write head

u q v current state is q current tape contents are uv (and then all blanks) current head location is first symbol of v

Start configuration on w: q0 w Accepting configuration: u qacc v Rejecting configuration: u qrej v Halting configuration: any configuration that is either rejecting or halting.

slide-6
SLIDE 6

Transitioning between configurations

q0 w w is input, read/write head over the leftmost symbol of w u q v u' q' v' q' = δ(q, v1) How does uv compare to u'v'?

slide-7
SLIDE 7

Language of a TM Sipser p. 144

L(M) = { w | M accepts w} = { w | there is a sequence of configurations of M where C1 is start configuration of M on input w, each Ci yields Ci+1 and Ck is accepting configuration} "The language of M" "The language recognized by M"

slide-8
SLIDE 8

Deciders and recognizers Sipser p. 144 Defs 3.5 and 3.6

  • L is Turing-recognizable if some Turing machine

recognizes it.

  • M is a decider TM if it halts on all inputs.
  • L is Turing-decidable if some Turing machine that is a

decider recognizes it.

slide-9
SLIDE 9

An example

L = { w#w | w is in {0,1}* } We already know that L is

  • not regular
  • not context-free

We will prove that L is Turing-decidable and therefore also Turing-recognizable

slide-10
SLIDE 10

An example

L = { w#w | w is in {0,1}* } Idea for Turing machine

  • Zig-zag across tape to corresponding positions on either side of

'#' to check whether these positions agree. If they do not, or if there is no '#', reject. If they do, cross them off.

  • Once all symbols to the left of the '#' are crossed off, check for

any symbols to the right of '#': if there are any, reject; if there aren't, accept.

slide-11
SLIDE 11

An example

L = { w#w | w is in {0,1}* } Idea for Turing machine

  • Zig-zag across tape to corresponding positions on either side of

'#' to check whether these positions agree. If they do not, or if there is no '#', reject. If they do, cross them off.

  • Once all symbols to the left of the '#' are crossed off, check for

any symbols to the right of '#': if there are any, reject; if there aren't, accept.

Is this machine a decider?

  • A. Yes, because it reads the input string exactly once.
  • B. Yes, because it will halt (and either accept or reject) no

matter what the input is.

  • C. No, because it sometimes rejects the input string.
  • D. No, because it will go in an infinite loop if there's no '#'.
  • E. I don't know.
slide-12
SLIDE 12

Idea for Turing machine Zig-zag across tape to corresponding positions on either side of '#' to check whether these positions agree. If they do not, or if there is no '#', reject. If they do, cross them off. Once all symbols to the left of the '#' are crossed off, check for any symbols to the right of '#': if there are any, reject; if there aren't, accept.

q1 0 à ?, ? 1 à ?, ? # à ?, ? __ à ?, ?

slide-13
SLIDE 13

Q = Σ = Γ = Fig 3.10 in Sipser *Some transitions omitted for readability*

slide-14
SLIDE 14

Describing TMs Sipser p. 159

  • Formal definition: set of states, input alphabet, tape

alphabet, transition function, state state, accept state, reject state.

  • Implementation-level definition: English prose to

describe Turing machine head movements relative to contents of tape.

  • High-level desciption: Description of algorithm, without

implementation details of machine. As part of this description, can "call" and run another TM as a subroutine.

slide-15
SLIDE 15

Deciding vs. recognizing

"If the input string is finite, then at some point, the TM has to be able to finish reading it. Therefore, infinite looping can

  • nly happen when the input takes up the whole TM tape

(which is infinitely long)."

  • A. True
  • B. False
  • C. I don't know.
slide-16
SLIDE 16

An example

Which of the following is an implementation-level description of a TM which decides the empty set? M = "On input w:

  • A. reject."
  • B. sweep left across the tape until find a non-blank symbol.

Then, reject."

  • C. sweep right across the tape until find a non-blank symbol.

Then, reject."

  • D. If the first tape symbol is blank, accept. Otherwise, reject."
  • E. I don't know.
slide-17
SLIDE 17

Closure

Theorem: The class of decidable languages over fixed alphabet Σ is closed under union. Proof: Let … WTS …

slide-18
SLIDE 18

Closure

Theorem: The class of decidable languages over fixed alphabet Σ is closed under union. Proof: Let L1 and L2 be languages and suppose M1 and M2 are TMs deciding these languages. We will define a new TM, M, via a high-level description. We will then show that L(M) = L1 U L2

slide-19
SLIDE 19

Closure

Theorem: The class of decidable languages over fixed alphabet Σ is closed under union. Proof: Let L1 and L2 be languages and suppose M1 and M2 are TMs deciding these languages. Construct the TM M as "On input w,

1.

Run M1 on input w. If M1 accepts w, accept. Otherwise, go to 2.

2.

Run M2 on input w. If M2 accepts w, accept. Otherwise, reject." Proof of correctness soon, but first …

slide-20
SLIDE 20

Closure

Theorem: The class of decidable languages over fixed alphabet Σ is closed under union. Proof: Let L1 and L2 be languages and suppose M1 and M2 are TMs deciding these languages. Construct the TM M as "On input w,

1.

Run M1 on input w. If M1 accepts w, accept. Otherwise, go to 2.

2.

Run M2 on input w. If M2 accepts w, accept. Otherwise, reject."

Could the same construction give us a proof that the class of recognizable languages is closed under union?

  • A. Yes, just replace M1 and M2 by TMs (instead of deciders)
  • B. Yes, but need to consider the case of M1, M2 rejecting w.
  • C. No, but a different construction will work.
  • D. No, the class of recognizable languages is not closed under U.
  • E. I don't know.
slide-21
SLIDE 21

Closure

Theorem: The class of decidable languages over fixed alphabet Σ is closed under union. Proof: Let L1 and L2 be languages and suppose M1 and M2 are TMs deciding these languages. Construct the TM M as "On input w,

1.

Run M1 on input w. If M1 accepts w, accept. Otherwise, go to 2.

2.

Run M2 on input w. If M2 accepts w, accept. Otherwise, reject." Correctness of construction: WTS L(M) = L1 U L2 and M is a decider.

slide-22
SLIDE 22

Variants of TMs

  • Scratch work, copy input, …

Multiple tapes

  • Parallel computation

Nondeterminism

  • Printing vs. accepting

Enumerators

  • More flexible transition function
  • Can "stay put"
  • Can "get stuck"
  • lots of examples in exercises to Chapter 3
slide-23
SLIDE 23

"Equally expressive"

Model 1 is equally expressive as Model 2 iff

  • A. every language recognized by some machine in Model

1 is recognizable by some machine in Model 2, and

  • B. every language recognized by some machine in Model

2 is recognizable by some machine in Model 1.

Model 1 Model 2

slide-24
SLIDE 24

Multitape TMs Sipser p. 150

  • As part of construction of machine, declare some finite number
  • f tapes that are available.
  • Input given on tape 1, rest of the tapes start blank.
  • Each tape has its own read/write head.
  • Transition function

Q x Γk à Q x Γk x {L,R}k Sketch of proof of equivalence: A. Given TM, build multitape TM recognizing same language. B. Given k-tape TM, build (1- tape) TM recognizing same language.

slide-25
SLIDE 25

Nondeterministic TMs Sipser p. 152

  • Transition function

Q x Γ à P(Q x Γ x {L,R}) Sketch of proof of equivalence: A. Given TM, build nondeterminstic TM recognizing same language. B. Given nondeterministic TM, build (deterministic) TM recognizing same language. Idea: Try all possible branches of nondeterministic

  • computation. 3 tapes: "read-only" input tape, simulation

tape, tape tracking nondeterministic braching.

slide-26
SLIDE 26

Enumerators

  • What about machines that produce output rather than

accept input?

Finite State Control a b a b …. Unlimited tape Computation proceeds according to transition function. At any point, machine may "send" a string to printer. L(E) = { w | E eventually, in finite time, prints w}

slide-27
SLIDE 27

Enumerators

  • What about machines that produce output rather than

accept input?

Finite State Control a b a b …. Unlimited tape Computation proceeds according to transition function. At any point, machine may "send" a string to printer. L(E) = { w | E eventually, in finite time, prints w} Can L(E) be infinite?

  • A. No, strings must be printed in finite time.
  • B. No, strings must be all be finite length.
  • C. Yes, it may happen if E does not halt.
  • D. Yes, all L(E) are infinite.
  • E. I don't know.
slide-28
SLIDE 28

Set of all strings

"For each Σ, there is an enumerator whose language is the set of all strings over Σ."

  • A. True
  • B. False
  • C. Depends on Σ.
  • D. I don't know.
slide-29
SLIDE 29

Set of all strings

"For each Σ, there is an enumerator whose language is the set of all strings over Σ."

  • A. True
  • B. False
  • C. Depends on Σ.
  • D. I don't know.

Lexicographic

  • rdering: order

strings first by length, then dictionary order. (p. 14)

slide-30
SLIDE 30

Recognition and enumeration Sipser Theorem 3.21

Theorem: A language L is Turing-recognizable iff some enumerator enumerates L. Proof:

  • A. Assume L is Turing-recognizable. WTS some

enumerator enumerates it.

  • B. Assume L is enumerated by some enumerator. WTS L

is Turing-recognizable.

slide-31
SLIDE 31

Recognition and enumeration Sipser Theorem 3.21

A.

Assume L is Turing-recognizable. WTS some enumerator enumerates it. Let M be a TM that recognizes L. We'll use M in a subroutine for high- level description of enumerator E. Let s1, s2, … be a list of all possible strings of Σ*. Define E as follows: E = "On input w, ignore input and repeat the following for each value of i=1,2,3…

1.

Run M for i steps on each input s1, …, si

2.

If any of the i computations of M accepts, print out the accepted string. Correctness?

slide-32
SLIDE 32

Recognition and enumeration Sipser Theorem 3.21

  • B. Assume the enumerator E enumerates L. WTS L is Turing-

recognizable. We'll use E in a subroutine for high-level description of Turing machine M that will recognize L. Define M as follows: M = "On input w,

1.

Run E. Every time E prints a string, compare it to w.

2.

If w ever appears as the output of E, accept. Correctness?

slide-33
SLIDE 33

Variants of TMs

  • Scratch work, copy input, …

Multiple tapes

  • Parallel computation

Nondeterminism

  • Printing vs. accepting

Enumerators

  • More flexible transition function
  • Can "stay put"
  • Can "get stuck"
  • lots of examples in exercises to Chapter 3

Also: wildly different models

  • λ-calculus, Post canonical systems, URMs, etc.
slide-34
SLIDE 34

Variants of TMs

  • Scratch work, copy input, …

Multiple tapes

  • Parallel computation

Nondeterminism

  • Printing vs. accepting

Enumerators

  • More flexible transition function
  • Can "stay put"
  • Can "get stuck"
  • lots of examples in exercises to Chapter 3

Also: wildly different models

  • λ-calculus, Post canonical systems, URMs, etc.

All these models are equally expressive!

slide-35
SLIDE 35

Regular Context- Free Decidable Turing- Recognizable

slide-36
SLIDE 36

Algorithm

  • Wikipedia "self-contained step-by-step set of operations to

be performed"

  • CSE 20 textbook "An algorithm is a finite sequence of

precise instructions for performing a computation or for solving a problem."

Church-Turing thesis Each algorithm can be implemented by some Turing machine.

slide-37
SLIDE 37

Some algorithms

Examples of algorithms / algorithmic problems:

  • 1. Recognize whether a string is a palindrome.
  • 2. Reverse a string.
  • 3. Recognize Pythagorean triples.
  • 4. Compute the gcd of two positive integers.
  • 5. Check whether a string is accepted by a DFA.
  • 6. Convert a regular expression to an equivalent NFA.
  • 7. Check whether the language of a PDA is infinite.
slide-38
SLIDE 38

Some algorithms

Examples of algorithms / algorithmic problems:

  • 1. Recognize whether a string is a palindrome.
  • 2. Reverse a string.
  • 3. Recognize Pythagorean triples.
  • 4. Compute the gcd of two positive integers.
  • 5. Check whether a string is accepted by a DFA.
  • 6. Convert a regular expression to an equivalent NFA.
  • 7. Check whether the language of a PDA is infinite.

Which of the following is true?

  • A. All these algorithms have inputs of the same type.
  • B. The inputs of each of these algorithms can be encoded as finite strings.
  • C. Some of these problems don't have algorithmic solutions.
  • D. I don't know.
slide-39
SLIDE 39

Encoding input for TMs Sipser p. 159

  • By definition, TM inputs are strings
  • To define TM M:

"On input w …

1.

..

2.

..

3.

… For inputs that aren't strings, we have to encode the object (represent it as a string) first Notation: <O> is the string that represents (encodes) the

  • bject O

<O1, …, On> is the single string that represents the tuple of objects O1, …, On

slide-40
SLIDE 40

Encoding inputs

  • Payoff: problems we care about can be reframed as languages
  • f strings

e.g. "Recognize whether a string is a palindrome." { w | w in {0,1}* and w = wR } e.g. "Recognize Pythagorean triples." { <a,b,c> | a,b,c integers and a2 + b2 = c2 } e.g. "Check whether a string is accepted by a DFA." { <B,w> | B is a DFA over Σ, w in Σ*, and w is in L(B) } e.g. "Check whether the language of a PDA is infinite." { <A> | A is a PDA and L(A) is infinite}