27
cbna CS310 : Automata Theory 2019 Instructor: S. Akshay IITB, India 1 CS310 : Automata Theory 2019 Lecture 28: Reductions Instructor: S. Akshay IITB, India 14-03-2019

CS310 : Automata Theory 2019 Lecture 28: Reductions

  • Upload
    others

  • View
    5

  • Download
    0

Embed Size (px)

Citation preview

Page 1: CS310 : Automata Theory 2019 Lecture 28: Reductions

cbna CS310 : Automata Theory 2019 Instructor: S. Akshay IITB, India 1

CS310 : Automata Theory 2019

Lecture 28: Reductions

Instructor: S. Akshay

IITB, India

14-03-2019

Page 2: CS310 : Automata Theory 2019 Lecture 28: Reductions

cbna CS310 : Automata Theory 2019 Instructor: S. Akshay IITB, India 2

Recap of previous lecture

Regular ( Decidable ( Recursively Enumerable ( All languages

DFA/NFA < Algorithms/Halting TM < Semi-algorithms/TM

Properties

1. There exist languages that are not R.E.

2. There exist languages that are R.E but are undecidable.Eg. universal TM lang LATM = {〈M,w〉 | M is a TM and M accepts w}

3. Decidable languages are closed under complementation.

4. L is decidable iff L is R.E and L is also R.E.

Page 3: CS310 : Automata Theory 2019 Lecture 28: Reductions

cbna CS310 : Automata Theory 2019 Instructor: S. Akshay IITB, India 3

The halting problem

The halting problem for Turing Machines is undecidable

Does a given Turing machine halt on a given input?

I LHALTTM = {〈M,w〉 | M is a TM and M halts on input w}.

Proof: Suppose there exists TM H deciding LHALTTM , then construct a TM D

s.t., on input 〈M,w〉:I runs TM H on input 〈M,w〉I if H rejects then reject.

I if H accepts, then simulate M on w until it halts.

I if at halting M has accepted w , accept, else reject.

But D decides LATM which is undecidable. A contradiction.

This proof strategy is called a reduction.

Page 4: CS310 : Automata Theory 2019 Lecture 28: Reductions

cbna CS310 : Automata Theory 2019 Instructor: S. Akshay IITB, India 3

The halting problem

The halting problem for Turing Machines is undecidable

Does a given Turing machine halt on a given input?

I LHALTTM = {〈M,w〉 | M is a TM and M halts on input w}.

Proof: Suppose there exists TM H deciding LHALTTM , then construct a TM Ds.t., on input 〈M,w〉:I runs TM H on input 〈M,w〉I if H rejects then reject.

I if H accepts, then simulate M on w until it halts.

I if at halting M has accepted w , accept, else reject.

But D decides LATM which is undecidable. A contradiction.

This proof strategy is called a reduction.

Page 5: CS310 : Automata Theory 2019 Lecture 28: Reductions

cbna CS310 : Automata Theory 2019 Instructor: S. Akshay IITB, India 3

The halting problem

The halting problem for Turing Machines is undecidable

Does a given Turing machine halt on a given input?

I LHALTTM = {〈M,w〉 | M is a TM and M halts on input w}.

Proof: Suppose there exists TM H deciding LHALTTM , then construct a TM Ds.t., on input 〈M,w〉:I runs TM H on input 〈M,w〉I if H rejects then reject.

I if H accepts, then simulate M on w until it halts.

I if at halting M has accepted w , accept, else reject.

But D decides LATM which is undecidable. A contradiction.

This proof strategy is called a reduction.

Page 6: CS310 : Automata Theory 2019 Lecture 28: Reductions

cbna CS310 : Automata Theory 2019 Instructor: S. Akshay IITB, India 4

Reduction from the acceptance problem

The halting problem for Turing Machines is undecidable

Does a given Turing machine halt on a given input?

I LHALTTM = {〈M,w〉 | M is a TM and M halts on input w}.

〈M,w〉 H

M

Acc w

RejRej

RejRej

AccAcc

Page 7: CS310 : Automata Theory 2019 Lecture 28: Reductions

cbna CS310 : Automata Theory 2019 Instructor: S. Akshay IITB, India 5

Some more undecidable problems

The emptiness problem for TMs

Does a given Turing machine accept any word?

I L∅TM = {〈M〉 | M is a TM and L(M) = ∅}.

Proof:

I For contradiction, assume its decidable, say by TM R.I Define M1 which on input x ,

I if x 6= w , it rejectsI if x = w , run M on w and accept if M accepts.

I Construct S which decides ATM : Given input 〈M,w〉,I Construct M1 on tape from M and w ,I Run R on input 〈M1〉.I If R accepts, reject; if R rejects then accept.

Page 8: CS310 : Automata Theory 2019 Lecture 28: Reductions

cbna CS310 : Automata Theory 2019 Instructor: S. Akshay IITB, India 5

Some more undecidable problems

The emptiness problem for TMs is undecidable

Does a given Turing machine accept any word?

I L∅TM = {〈M〉 | M is a TM and L(M) = ∅}.

Proof:

I For contradiction, assume its decidable, say by TM R.

I Define M1 which on input x ,I if x 6= w , it rejectsI if x = w , run M on w and accept if M accepts.

I Construct S which decides ATM : Given input 〈M,w〉,I Construct M1 on tape from M and w ,I Run R on input 〈M1〉.I If R accepts, reject; if R rejects then accept.

Page 9: CS310 : Automata Theory 2019 Lecture 28: Reductions

cbna CS310 : Automata Theory 2019 Instructor: S. Akshay IITB, India 5

Some more undecidable problems

The emptiness problem for TMs is undecidable

Does a given Turing machine accept any word?

I L∅TM = {〈M〉 | M is a TM and L(M) = ∅}.

Proof:

I For contradiction, assume its decidable, say by TM R.I Define M1 which on input x ,

I if x 6= w , it rejectsI if x = w , run M on w and accept if M accepts.

I Construct S which decides ATM : Given input 〈M,w〉,I Construct M1 on tape from M and w ,I Run R on input 〈M1〉.I If R accepts, reject; if R rejects then accept.

Page 10: CS310 : Automata Theory 2019 Lecture 28: Reductions

cbna CS310 : Automata Theory 2019 Instructor: S. Akshay IITB, India 5

Some more undecidable problems

The emptiness problem for TMs is undecidable

Does a given Turing machine accept any word?

I L∅TM = {〈M〉 | M is a TM and L(M) = ∅}.

Proof:

I For contradiction, assume its decidable, say by TM R.I Define M1 which on input x ,

I if x 6= w , it rejectsI if x = w , run M on w and accept if M accepts.

I Construct S which decides ATM : Given input 〈M,w〉,

I Construct M1 on tape from M and w ,I Run R on input 〈M1〉.I If R accepts, reject; if R rejects then accept.

Page 11: CS310 : Automata Theory 2019 Lecture 28: Reductions

cbna CS310 : Automata Theory 2019 Instructor: S. Akshay IITB, India 5

Some more undecidable problems

The emptiness problem for TMs is undecidable

Does a given Turing machine accept any word?

I L∅TM = {〈M〉 | M is a TM and L(M) = ∅}.

Proof:

I For contradiction, assume its decidable, say by TM R.I Define M1 which on input x ,

I if x 6= w , it rejectsI if x = w , run M on w and accept if M accepts.

I Construct S which decides ATM : Given input 〈M,w〉,I Construct M1 on tape from M and w ,

I Run R on input 〈M1〉.I If R accepts, reject; if R rejects then accept.

Page 12: CS310 : Automata Theory 2019 Lecture 28: Reductions

cbna CS310 : Automata Theory 2019 Instructor: S. Akshay IITB, India 5

Some more undecidable problems

The emptiness problem for TMs is undecidable

Does a given Turing machine accept any word?

I L∅TM = {〈M〉 | M is a TM and L(M) = ∅}.

Proof:

I For contradiction, assume its decidable, say by TM R.I Define M1 which on input x ,

I if x 6= w , it rejectsI if x = w , run M on w and accept if M accepts.

I Construct S which decides ATM : Given input 〈M,w〉,I Construct M1 on tape from M and w ,I Run R on input 〈M1〉.

I If R accepts, reject; if R rejects then accept.

Page 13: CS310 : Automata Theory 2019 Lecture 28: Reductions

cbna CS310 : Automata Theory 2019 Instructor: S. Akshay IITB, India 5

Some more undecidable problems

The emptiness problem for TMs is undecidable

Does a given Turing machine accept any word?

I L∅TM = {〈M〉 | M is a TM and L(M) = ∅}.

Proof:

I For contradiction, assume its decidable, say by TM R.I Define M1 which on input x ,

I if x 6= w , it rejectsI if x = w , run M on w and accept if M accepts.

I Construct S which decides ATM : Given input 〈M,w〉,I Construct M1 on tape from M and w ,I Run R on input 〈M1〉.I If R accepts,

reject; if R rejects then accept.

Page 14: CS310 : Automata Theory 2019 Lecture 28: Reductions

cbna CS310 : Automata Theory 2019 Instructor: S. Akshay IITB, India 5

Some more undecidable problems

The emptiness problem for TMs is undecidable

Does a given Turing machine accept any word?

I L∅TM = {〈M〉 | M is a TM and L(M) = ∅}.

Proof:

I For contradiction, assume its decidable, say by TM R.I Define M1 which on input x ,

I if x 6= w , it rejectsI if x = w , run M on w and accept if M accepts.

I Construct S which decides ATM : Given input 〈M,w〉,I Construct M1 on tape from M and w ,I Run R on input 〈M1〉.I If R accepts, reject; if R rejects then accept.

Page 15: CS310 : Automata Theory 2019 Lecture 28: Reductions

cbna CS310 : Automata Theory 2019 Instructor: S. Akshay IITB, India 6

Some more undecidable problems

The regularity problem for TMs

Does a given Turing machine accept a regular language?

I LREGTM = {〈M〉 | M is a TM and L(M) is a regular language }.

Proof: By contradiction, assume R decides Reg. We define SI S = On input 〈M,w〉;

I construct TM M2 as follows:M2 on input x does the foll:

I if x has the form 0n1n, accept.I If not, run M on w and accept if M accepts w .

I Run R on 〈M2〉.I If R accepts, accept; if R rejects, reject.

Page 16: CS310 : Automata Theory 2019 Lecture 28: Reductions

cbna CS310 : Automata Theory 2019 Instructor: S. Akshay IITB, India 6

Some more undecidable problems

The regularity problem for TMs

Does a given Turing machine accept a regular language?

I LREGTM = {〈M〉 | M is a TM and L(M) is a regular language }.

Proof: By contradiction, assume R decides Reg. We define S

I S = On input 〈M,w〉;I construct TM M2 as follows:

M2 on input x does the foll:I if x has the form 0n1n, accept.I If not, run M on w and accept if M accepts w .

I Run R on 〈M2〉.I If R accepts, accept; if R rejects, reject.

Page 17: CS310 : Automata Theory 2019 Lecture 28: Reductions

cbna CS310 : Automata Theory 2019 Instructor: S. Akshay IITB, India 6

Some more undecidable problems

The regularity problem for TMs

Does a given Turing machine accept a regular language?

I LREGTM = {〈M〉 | M is a TM and L(M) is a regular language }.

Proof: By contradiction, assume R decides Reg. We define SI S = On input 〈M,w〉;

I construct TM M2 as follows:

M2 on input x does the foll:I if x has the form 0n1n, accept.I If not, run M on w and accept if M accepts w .

I Run R on 〈M2〉.I If R accepts, accept; if R rejects, reject.

Page 18: CS310 : Automata Theory 2019 Lecture 28: Reductions

cbna CS310 : Automata Theory 2019 Instructor: S. Akshay IITB, India 6

Some more undecidable problems

The regularity problem for TMs

Does a given Turing machine accept a regular language?

I LREGTM = {〈M〉 | M is a TM and L(M) is a regular language }.

Proof: By contradiction, assume R decides Reg. We define SI S = On input 〈M,w〉;

I construct TM M2 as follows:M2 on input x does the foll:

I if x has the form 0n1n, accept.I If not, run M on w and accept if M accepts w .

I Run R on 〈M2〉.I If R accepts, accept; if R rejects, reject.

Page 19: CS310 : Automata Theory 2019 Lecture 28: Reductions

cbna CS310 : Automata Theory 2019 Instructor: S. Akshay IITB, India 6

Some more undecidable problems

The regularity problem for TMs

Does a given Turing machine accept a regular language?

I LREGTM = {〈M〉 | M is a TM and L(M) is a regular language }.

Proof: By contradiction, assume R decides Reg. We define SI S = On input 〈M,w〉;

I construct TM M2 as follows:M2 on input x does the foll:

I if x has the form 0n1n, accept.I If not, run M on w and accept if M accepts w .

I Run R on 〈M2〉.

I If R accepts, accept; if R rejects, reject.

Page 20: CS310 : Automata Theory 2019 Lecture 28: Reductions

cbna CS310 : Automata Theory 2019 Instructor: S. Akshay IITB, India 6

Some more undecidable problems

The regularity problem for TMs

Does a given Turing machine accept a regular language?

I LREGTM = {〈M〉 | M is a TM and L(M) is a regular language }.

Proof: By contradiction, assume R decides Reg. We define SI S = On input 〈M,w〉;

I construct TM M2 as follows:M2 on input x does the foll:

I if x has the form 0n1n, accept.I If not, run M on w and accept if M accepts w .

I Run R on 〈M2〉.I If R accepts, accept; if R rejects, reject.

Page 21: CS310 : Automata Theory 2019 Lecture 28: Reductions

cbna CS310 : Automata Theory 2019 Instructor: S. Akshay IITB, India 7

The principle of reduction

Reduction: An algorithm (TM!) to convert instances of one problem toanother

I Convert instance of P1 to instance of P2

I answer is yes for P1 iff answer is yes for P2

I then P2 is at least as hard as P1, i.e.,I if P1 is not decidable, neither is P2

I if P1 is not r.e., neither is P2.

I note that every instance of P2 need not be covered!

Page 22: CS310 : Automata Theory 2019 Lecture 28: Reductions

cbna CS310 : Automata Theory 2019 Instructor: S. Akshay IITB, India 7

The principle of reduction

Reduction: An algorithm (TM!) to convert instances of one problem toanother

I Convert instance of P1 to instance of P2

I answer is yes for P1 iff answer is yes for P2

I then P2 is at least as hard as P1, i.e.,

I if P1 is not decidable, neither is P2

I if P1 is not r.e., neither is P2.

I note that every instance of P2 need not be covered!

Page 23: CS310 : Automata Theory 2019 Lecture 28: Reductions

cbna CS310 : Automata Theory 2019 Instructor: S. Akshay IITB, India 7

The principle of reduction

Reduction: An algorithm (TM!) to convert instances of one problem toanother

I Convert instance of P1 to instance of P2

I answer is yes for P1 iff answer is yes for P2

I then P2 is at least as hard as P1, i.e.,I if P1 is not decidable, neither is P2

I if P1 is not r.e., neither is P2.

I note that every instance of P2 need not be covered!

Page 24: CS310 : Automata Theory 2019 Lecture 28: Reductions

cbna CS310 : Automata Theory 2019 Instructor: S. Akshay IITB, India 7

The principle of reduction

Reduction: An algorithm (TM!) to convert instances of one problem toanother

I Convert instance of P1 to instance of P2

I answer is yes for P1 iff answer is yes for P2

I then P2 is at least as hard as P1, i.e.,I if P1 is not decidable, neither is P2

I if P1 is not r.e., neither is P2.

I note that every instance of P2 need not be covered!

Page 25: CS310 : Automata Theory 2019 Lecture 28: Reductions

cbna CS310 : Automata Theory 2019 Instructor: S. Akshay IITB, India 7

The principle of reduction

Reduction: An algorithm (TM!) to convert instances of one problem toanother

I Convert instance of P1 to instance of P2

I answer is yes for P1 iff answer is yes for P2

I then P2 is at least as hard as P1, i.e.,I if P1 is not decidable, neither is P2

I if P1 is not r.e., neither is P2.

I note that every instance of P2 need not be covered!

Page 26: CS310 : Automata Theory 2019 Lecture 28: Reductions

cbna CS310 : Automata Theory 2019 Instructor: S. Akshay IITB, India 8

Some more undecidable problems

The regularity problem for TMs

Does a given Turing machine accept a regular language?

I LEQTM = {〈M1,M2〉 | M are TMs and L(M1) = L(M2)}.

Proof: Exercise.

Page 27: CS310 : Automata Theory 2019 Lecture 28: Reductions

cbna CS310 : Automata Theory 2019 Instructor: S. Akshay IITB, India 8

Some more undecidable problems

The regularity problem for TMs

Does a given Turing machine accept a regular language?

I LEQTM = {〈M1,M2〉 | M are TMs and L(M1) = L(M2)}.

Proof: Exercise.