# 1 Introduction to Computability Theory PowerPoint Presentation, PPT - DocSlides 2016-03-15 35K 35 0 0

##### Description

Lecture15: . Reductions. Prof. Amos Israeli. The rest of the course deals with an important tool in Computability and Complexity theories, namely: . Reductions. .. . The reduction technique enables us to use the undecidability of to prove many other languages undecidable.. ID: 257219

Embed code:

DownloadNote - The PPT/PDF document "1 Introduction to Computability Theory" is the property of its rightful owner. Permission is granted to download and print the materials on this web site for personal, non-commercial use only, and to display it on your personal computer provided you do not modify the materials and that you retain all copyright notices contained in the materials. By downloading content from our website, you accept the terms of this agreement.

### Presentations text content in 1 Introduction to Computability Theory

Slide1

1

Introduction to Computability Theory

Lecture15:

Reductions

Prof. Amos Israeli

Slide2

The rest of the course deals with an important tool in Computability and Complexity theories, namely: Reductions. The reduction technique enables us to use the undecidability of to prove many other languages undecidable.

Introduction

2

Slide3

A reduction always involves two computational problems. Generally speaking, the idea is to show that a solution for some problem A induces a solution for problem B. If we know that B does not have a solution, we may deduce that A is also insolvable. In this case we say that B is reducible to A.

Introduction

3

Slide4

In the context of undecidability: If we want to prove that a certain language L is undecidable. We assume by way of contradiction that L is decidable, and show that a decider for L, can be used to devise a decider for . Since is undecidable, so is the language L.

Introduction

4

Slide5

Using a decider for L to construct a decider for , is called reducing L to . Note: Once we prove that a certain language L is undecidable, we can prove that some other language, say L’ , is undecidable, by reducing L’ to L.

Introduction

5

Slide6

We know that A is undecidable. We want to prove B is undecidable. We assume that B is decidable and use this assumption to prove that A is decidable.We conclude that B is undecidable.Note: The reduction is from A to B.

Schematic of a Reduction

6

Slide7

We know that A is undecidable. The only undecidable language we know, so far, is whose undecidability was proven directly. So we pick to play the role of A.We want to prove B is undecidable.

Demonstration

7

Slide8

We want to prove B is undecidable. We pick to play the role of B that is: We want to prove that is undecidable. We assume that B is decidable and use this assumption to prove that A is decidable.

Demonstration

8

Slide9

We assume that B is decidable and use this assumption to prove that A is decidable.In the following slides we assume (towards a contradiction) that is decidable and use this assumption to prove that is decidable.We conclude that B is undecidable.

Demonstration

9

Slide10

ConsiderTheorem is undecidable.ProofBy reducing to .

The “Real” Halting Problem

10

Slide11

Assume by way of contradiction that is decidable.Recall that a decidable set has a decider R: A TM that halts on every input and either accepts or rejects, but never loops!.We will use the assumed decider of to devise a decider for .

Discussion

11

Slide12

Recall the definition of :Why is it impossible to decide ?Because as long as M runs, we cannot determine whether it will eventually halt.Well, now we can, using the decider R for .

Discussion

12

Slide13

Assume by way of contradiction that is decidable and let R be a TM deciding it. In the next slide we present TM S that uses R as a subroutine and decides . Since is undecidable this constitutes a contradiction, so R does not exist.

Proof

13

Slide14

S=“On input where M is a TM: 1. Run R on input until it halts. 2. If R rejects, (i.e. M loops on w ) - reject.(At this stage we know that R accepts, and we conclude that M halts on input w.) 3. Simulate M on w until it halts. 4. If M accepts - accept, otherwise - reject. “

Proof (cont.)

14

Slide15

In the discussion, you saw how Diagonalization can be used to prove that is not decidable. We can use this result to prove by reduction that is not decidable.

Another Example

15

Slide16

Note: Since we already know that both and are undecidable, this new proof does not add any new information. We bring it here only for the the sake of demonstration.

Another Example

16

Slide17

We know that A is undecidable. Now we pick to play the role of A.We want to prove B is undecidable. We pick to play the role of B, that is: We want to prove that is undecidable. We assume that B is decidable and use this assumption to prove that A is decidable.

Demonstration

17

Slide18

We assume that B is decidable and use this assumption to prove that A is decidable.In the following slides we assume that is decidable and use this assumption to prove that is decidable.We conclude that B is undecidable.

Demonstration

18

Slide19

Let R be a decider for . Given an input for , R can be run with this input :If R accepts, it means that .This means that M accepts on input w. In particular, M stops on input w. Therefore, a decider for must accept too.

Discussion

19

Slide20

If however R rejects on input , a decider for cannot safely reject: M may be halting on w to reject it. So if M rejects w, a decider for must accept .

Discussion

20

Slide21

How can we use our decider for ?The answer here is more difficult. The new decider should first modify the input TM, M, so the modified TM, , accepts, whenever TM M halts. Since M is a part of the input, the modification must be a part of the computation.

Discussion

21

Slide22

Faithful to our principal “ If it ain’t broken don’t fix it”, the modified TM keeps M as a subroutine, and the idea is quite simple:Let and be the accepting and rejecting states of TM M, respectively. In the modified TM, , and are kept as ordinary states.

Discussion

22

Slide23

We continue the modification of M by adding a new accepting sate . Then we add two new transitions: A transition from to , and another transition from to . This completes the description of . It is not hard to verify that accepts iff M halts.

Discussion

23

Slide24

Discussion

24

Slide25

The final description of a decider S for is:S=“On input where M is a TM: 1. Modify M as described to get . 2. Run R, the decider of with input . 3. If R accepts - accept, otherwise - reject. ”

Discussion

25

Slide26

It should be noted that modifying TM M to get , is part of TM S, the new decider for , and can be carried out by it.It is not hard to see that S decides . Since is undecidable, we conclude that is undecidable too.

Discussion

26

Slide27

We continue to demonstrate reductions by showing that the language , defined by is undecidable.Theorem is undecidable.

The TM Emptiness Problem

27

Slide28

The proof is by reduction from :We know that is undecidable. We want to prove is undecidable. We assume toward a contradiction that is decidable and devise a decider for .We conclude that is undecidable.

Proof Outline

28

Slide29

Assume by way of contradiction that is decidable and let R be a TM deciding it. In the next slides we devise TM S that uses R as a subroutine and decides .

Proof

29

Slide30

Given an instance for , , we may try to run R on this instance. If R accepts, we know that . In particular, M does not accept w so a decider for must reject .

Proof

30

Slide31

What happens if R rejects? The only conclusion we can draw is that . What we need to know though is whether .In order to use our decider R for , we once again modify the input machine M to obtain TM :

Proof

31

Slide32

Description of___

32

Slide33

filter to divert all inputs but w.

Description of___

33

filter

no

yes

Slide34

TM has a filter that rejects all inputs excepts w, so the only input reaching M, is w.Therefore, satisfies:

Proof

34

Slide35

Here is a formal description of : “On input x : 1. If - reject . 2. If - run M on w and accept if M accepts. ” Note: M accepts w if and only if .

Proof

35

Slide36

This way, if R accepts, S “can be sure” that and accept. Note that S gets the pair as input, thus before S runs R, it should compute an encoding of .This encoding is not too hard to compute using S’s input .

Proof

36

Slide37

S=“On input where M is a TM: 1. Compute an encoding of TM . 2. Run R on input . 3. If R rejects - accept, otherwise - reject.

Proof

37

Slide38

Recall that R is a decider for . If R rejects the modified machine , , hence by the specification of , , and a decider for must accept .If however R accepts, it means that , hence , and S must reject . QED

Proof

38

Slide39

Slide40

Slide41

Slide42

Slide43