Top Banner
January 28, 2015 CS21 Lecture 10 1 CS21 Decidability and Tractability Lecture 10 January 28, 2015
28

January 28, 2015CS21 Lecture 101 CS21 Decidability and Tractability Lecture 10 January 28, 2015.

Dec 21, 2015

Download

Documents

Katrina Bradley
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: January 28, 2015CS21 Lecture 101 CS21 Decidability and Tractability Lecture 10 January 28, 2015.

January 28, 2015 CS21 Lecture 10 1

CS21 Decidability and Tractability

Lecture 10

January 28, 2015

Page 2: January 28, 2015CS21 Lecture 101 CS21 Decidability and Tractability Lecture 10 January 28, 2015.

Problem Set + grading

• 3 points for each part of each problem

• PS1: 24 points total– mean: 19.9median: 20.5

2014: 17.2, 19.5

2013: 19.5, 20

2012: 19.6, 21

2011: 18.7, 19

2010: 19.3, 20

2009: 20.0, 21

January 28, 2015 CS21 Lecture 10 2

Page 3: January 28, 2015CS21 Lecture 101 CS21 Decidability and Tractability Lecture 10 January 28, 2015.

Problem set + grading

• An idea of eventual scale:2014: mean 79.8; median 80.3

2013: mean 82.0; median 84.3

2012: mean 79.9; median 79.6

2011: mean 75.9; median 76.4

2010: mean 74.7; median 76.0

98-100 A+93-97 A 87-92 A-82-86 B+77-81 B 74-76 B-70-73 C+66-69 C 63-65 C-57-62 D+52-56 D <52 E/F

97-100 A+91-96 A 87-90 A-81-86 B+75-80 B 72-74 B-68-71 C+64-67 C 61-63 C-57-60 D+53-56 D <52 E/F

2010

2014

2012

97-100 A+91-96 A 85-90 A-80-84 B+75-79 B 71-74 B-68-70 C+64-67 C 57-63 C-52-56 D+48-51 D < 48 E/F

2011

97-100 A+90-97 A 86-89 A-82-85 B+77-81 B 74-76 B-70-73 C+65-69 C 62-64 C-57-61 D+52-56 D <52 E/F

98-100 A+92-97 A 90-91 A-85-89 B+80-84 B 77-79 B-72-76 C+68-71 C 62-67 C-59-61 D+54-58 D <54 E/F

2013

Page 4: January 28, 2015CS21 Lecture 101 CS21 Decidability and Tractability Lecture 10 January 28, 2015.

January 28, 2015 CS21 Lecture 10 4

Outline

• Turing Machines and variants– multitape TMs (done last lecture)– nondeterministic TMs

• Church-Turing Thesis

• decidable, RE, co-RE languages

Page 5: January 28, 2015CS21 Lecture 101 CS21 Decidability and Tractability Lecture 10 January 28, 2015.

January 28, 2015 CS21 Lecture 10 5

Nondeterministic TMs

• A important variant: nondeterministic TM

• informally, several possible next configurations at each step

• formally, a NTM is a 7-tuple

(Q, Σ, , δ, q0, qaccept, qreject) where:

– everything is the same as a TM except the transition function:

δ:Q x → (Q x x {L, R})

Page 6: January 28, 2015CS21 Lecture 101 CS21 Decidability and Tractability Lecture 10 January 28, 2015.

January 28, 2015 CS21 Lecture 10 6

NTM acceptance

• start configuration: q0w (w is input)

• accepting config.: any config.with state qaccept

• rejecting config.: any config. with state qreject

NTM M accepts input w if there exist configurations C1, C2, …, Ck

– C1 is start configuration of M on input w

– Ci Ci+1 for i = 1, 2, 3, …, k-1

– Ck is an accepting configuration

Page 7: January 28, 2015CS21 Lecture 101 CS21 Decidability and Tractability Lecture 10 January 28, 2015.

January 28, 2015 CS21 Lecture 10 7

Nondeterministic TMs

Theorem: every NTM has an equivalent (deterministic) TM.

Proof: – Idea: simulate NTM with a deterministic TM

Page 8: January 28, 2015CS21 Lecture 101 CS21 Decidability and Tractability Lecture 10 January 28, 2015.

January 28, 2015 CS21 Lecture 10 8

Nondeterministic TMs

Simulating NTM M with a deterministic TM:Cstart • computations of M are a tree

• nodes are configs

• fanout is b = maximum number of choices in transition function

• leaves are accept/reject configs.

accrej

Page 9: January 28, 2015CS21 Lecture 101 CS21 Decidability and Tractability Lecture 10 January 28, 2015.

January 28, 2015 CS21 Lecture 10 9

Nondeterministic TMs

Simulating NTM M with a deterministic TM:

• idea: breadth-first search of tree

• if M accepts: we will encounter accepting leaf and accept

• if M rejects: we will encounter all rejecting leaves, finish traversal of tree, and reject

• if M does not halt on some branch: we will not halt…

Page 10: January 28, 2015CS21 Lecture 101 CS21 Decidability and Tractability Lecture 10 January 28, 2015.

January 28, 2015 CS21 Lecture 10 10

Nondeterministic TMs

Simulating NTM M with a deterministic TM:– use a 3 tape TM:

• tape 1: input tape (read-only)• tape 2: simulation tape (copy of M’s tape at point

corresponding to some node in the tree)• tape 3: which node of the tree we are exploring

(string in {1,2,…b}*)

– Initially, tape 1 has input, others blank– STEP 1: copy tape 1 to tape 2

Page 11: January 28, 2015CS21 Lecture 101 CS21 Decidability and Tractability Lecture 10 January 28, 2015.

January 28, 2015 CS21 Lecture 10 11

Nondeterministic TMs

Simulating NTM M with a deterministic TM:– STEP 2: simulate M using string on tape 3 to

determine which choice to take at each step• if encounter blank, or a # larger than the number of choices

available at this step, abort, go to STEP 3• if get to a rejecting configuration: DONE = 0, go to STEP 3• if get to an accepting configuration, ACCEPT

– STEP 3: replace tape 3 with lexicographically next string and go to STEP 2

• if string lengthened and DONE = 1 REJECT; else DONE = 1

Page 12: January 28, 2015CS21 Lecture 101 CS21 Decidability and Tractability Lecture 10 January 28, 2015.

January 28, 2015 CS21 Lecture 10 12

Examples of basic operations

• Convince yourself that the following types of operations are easy to implement as part of TM “program”

(but perhaps tedious to write out…)– copying– moving– incrementing/decrementing – arithmetic operations +, -, *, /

Page 13: January 28, 2015CS21 Lecture 101 CS21 Decidability and Tractability Lecture 10 January 28, 2015.

January 28, 2015 CS21 Lecture 10 13

Universal TMs and encoding

• the input to a TM is always a string in Σ*

• often we want to interpret the input as representing another object

• examples:– tuple of strings (x, y, z)– 0/1 matrix– graph in adjacency-list format– Context-Free Grammar

Page 14: January 28, 2015CS21 Lecture 101 CS21 Decidability and Tractability Lecture 10 January 28, 2015.

January 28, 2015 CS21 Lecture 10 14

Universal TMs and encoding

• the input to a TM is always a string in Σ*

• we must encode our input as such a string

• examples:– tuples separated by #: #x#y#z

– 0/1 matrix given by: #n#x# where x {0,1}n2

• any reasonable encoding is OK

• emphasize “encoding of X” by writing <X>

Page 15: January 28, 2015CS21 Lecture 101 CS21 Decidability and Tractability Lecture 10 January 28, 2015.

January 28, 2015 CS21 Lecture 10 15

Universal TMs and encoding

• some strings not valid encodings and these are not in the language

∑*

“yes”“no”L

invalid

make sure TM can recognize invalid encodings and reject them

Page 16: January 28, 2015CS21 Lecture 101 CS21 Decidability and Tractability Lecture 10 January 28, 2015.

January 28, 2015 CS21 Lecture 10 16

Universal TMs and encoding

• We can easily construct a Universal TM that recognizes the language:ATM = {<M, w> : M is a TM and M accepts w}

– how?

• this is a remarkable feature of TMs (not possessed by FA or NPDAs…)

• means there is a general purpose TM whose input can be a “program” to run

Page 17: January 28, 2015CS21 Lecture 101 CS21 Decidability and Tractability Lecture 10 January 28, 2015.

January 28, 2015 CS21 Lecture 10 17

Church-Turing Thesis

• many other models of computation– we saw multitape TM, nondeterministic TM– others don’t resemble TM at all– common features:

• unrestricted access to unlimited memory• finite amount of work in a single step

• every single one can be simulated by TM• many are equivalent to a TM • problems that can be solved by computer does

not depend on details of model!

Page 18: January 28, 2015CS21 Lecture 101 CS21 Decidability and Tractability Lecture 10 January 28, 2015.

January 28, 2015 CS21 Lecture 10 18

Church-Turing Thesis

• the belief that TMs formalize our intuitive notion of an algorithm is:

• Note: this is a belief, not a theorem.

The Church-Turing Thesis

everything we can compute on a physical computer

can be computed on a Turing Machine

Page 19: January 28, 2015CS21 Lecture 101 CS21 Decidability and Tractability Lecture 10 January 28, 2015.

January 28, 2015 CS21 Lecture 10 19

Recursive Enumerability

• Why is “Turing-recognizable” called RE?

• Definition: a language L Σ* is recursively enumerable if there is exists a TM (an “enumerator”) that writes on its output tape

#x1#x2#x3#...

and L = {x1, x2, x3, …}.

• The output may be infinite

Page 20: January 28, 2015CS21 Lecture 101 CS21 Decidability and Tractability Lecture 10 January 28, 2015.

January 28, 2015 CS21 Lecture 10 20

Recursive Enumerability

Theorem: A language is Turing-recog-nizable iff some enumerator enumerates it.

Proof: () Let E be the enumerator. On input w:– Simulate E. Compare each string it outputs

with w.– If w matches a string output by E, accept.

Page 21: January 28, 2015CS21 Lecture 101 CS21 Decidability and Tractability Lecture 10 January 28, 2015.

January 28, 2015 CS21 Lecture 10 21

Recursive Enumerability

Theorem: A language is Turing-recog-nizable iff some enumerator enumerates it.

Proof: () Let M recognize language L Σ*.– let s1, s2, s3, … be enumeration of Σ* in

lexicographic order.– for i = 1,2,3,4,…

• simulate M for i steps on s1, s2, s3, …, si

– if any simulation accepts, print out that s j

Page 22: January 28, 2015CS21 Lecture 101 CS21 Decidability and Tractability Lecture 10 January 28, 2015.

January 28, 2015 CS21 Lecture 10 22

Undecidability

decidable RE all languages

our goal: prove these containments proper

regular languages

context free languages

all languagesdecidable

RE

Page 23: January 28, 2015CS21 Lecture 101 CS21 Decidability and Tractability Lecture 10 January 28, 2015.

January 28, 2015 CS21 Lecture 10 23

Countable and Uncountable Sets

• the natural numbers N N = {1,2,3,…} are countable

• Definition: a set S is countable if it is finite, or it is infinite and there is a bijection

f: N N → S

Page 24: January 28, 2015CS21 Lecture 101 CS21 Decidability and Tractability Lecture 10 January 28, 2015.

January 28, 2015 CS21 Lecture 10 24

Countable and Uncountable Sets

• Theorem: the positive rational numbers

Q = {m/n : m, n NN } are countable.

• Proof: 1/1 1/2 1/3 1/4 1/5 1/6 …

2/1 2/2 2/3 2/4 2/5 2/6 …

3/1 3/2 3/3 3/4 3/5 3/6 …

4/1 4/2 4/3 4/4 4/5 4/6 …

5/1 …

Page 25: January 28, 2015CS21 Lecture 101 CS21 Decidability and Tractability Lecture 10 January 28, 2015.

January 28, 2015 CS21 Lecture 10 25

Countable and Uncountable Sets

Theorem: the real numbers R R are NOT countable (they are “uncountable”).

• How do you prove such a statement?– assume countable (so there exists bijection f)– derive contradiction (some element not

mapped to by f)– technique is called diagonalization (Cantor)

Page 26: January 28, 2015CS21 Lecture 101 CS21 Decidability and Tractability Lecture 10 January 28, 2015.

January 28, 2015 CS21 Lecture 10 26

Countable and Uncountable Sets

• Proof: – suppose R R is countable– list RR according to the bijection f:

n f(n) _

1 3.14159…

2 5.55555…

3 0.12345…

4 0.50000…

Page 27: January 28, 2015CS21 Lecture 101 CS21 Decidability and Tractability Lecture 10 January 28, 2015.

January 28, 2015 CS21 Lecture 10 27

Countable and Uncountable Sets

• Proof: – suppose R R is countable– list RR according to the bijection f:

n f(n) _

1 3.14159…

2 5.55555…

3 0.12345…

4 0.50000…

set x = 0.a1a2a3a4…

where digit ai ≠ ith digit after decimal point of f(i) (not 0, 9)

e.g. x = 0.2312…

x cannot be in the list!

Page 28: January 28, 2015CS21 Lecture 101 CS21 Decidability and Tractability Lecture 10 January 28, 2015.

January 28, 2015 CS21 Lecture 10 28

non-RE languages

Theorem: there exist languages that are not Recursively Enumerable.

Proof outline:– the set of all TMs is countable– the set of all languages is uncountable– the function L:{TMs} →{languages} cannot be

onto