The Halting Problem in CS Theory

CS21
Decidability and Tractability
Lecture 12
January 31, 2024
January 31, 2024
CS21 Lecture 12
So far…
 
This language might be an esoteric,
artificially constructed one. Do we care?
We will show a natural undecidable L next.
regular
languages
context free
languages
all languages
decidable
RE
 
{a
n
b
n 
: n 
≥ 0
 }
 
{a
n
b
n
c
n 
: n 
≥ 0
 }
 
some language
2
January 31, 2024
CS21 Lecture 12
The Halting Problem
 
Definition of the “Halting Problem”:
HALT = { <M, x> : TM M halts on input x }
 
HALT is recursively enumerable.
 proof?
 
Is HALT decidable?
3
January 31, 2024
CS21 Lecture 12
The Halting Problem
 
T
h
e
o
r
e
m
:
 
H
A
L
T
 
i
s
 
n
o
t
 
d
e
c
i
d
a
b
l
e
(
u
n
d
e
c
i
d
a
b
l
e
)
.
 
Proof:
Suppose TM H decides HALT
Define new TM H’: on input <M>
if H accepts <M, <M>> then loop
if H rejects <M, <M>> then halt
4
January 31, 2024
CS21 Lecture 12
The Halting Problem
 
Proof:
define new TM H’: on input <M>
if H accepts <M, <M>> then loop
if H rejects <M, <M>> then halt
consider H’ on input <H’>:
if it halts, then H rejects <H’, <H’>>, which implies
it cannot halt
if it loops, then H accepts <H’, <H’>> which implies
it must halt
contradiction.
5
January 31, 2024
CS21 Lecture 12
The Halting Problem
Turing
Machines
inputs
Y
n
Y
n
n
Y
n
Y
n
Y
Y
n
n
Y
H’ :
 
box
(M, x):
does M
halt on
x?
The existence of
H which tells us
yes/no for each
box allows us to
construct a TM H’
that cannot be in
the table.
6
January 31, 2024
CS21 Lecture 12
So far…
 
Can we exhibit a natural language that is
non-RE?
regular
languages
context free
languages
all languages
decidable
RE
{a
n
b
n 
: n 
≥ 0
 }
{a
n
b
n
c
n 
: n 
≥ 0
 }
some language
 
HALT
7
January 31, 2024
CS21 Lecture 12
RE and co-RE
The complement of a RE language is
called a co-RE language
regular
languages
context free
languages
all languages
decidable
 
RE
{a
n
b
n 
: n 
≥ 0
 }
{a
n
b
n
c
n 
: n 
≥ 0
 }
some language
 
HALT
 
co-RE
8
January 31, 2024
CS21 Lecture 12
RE and co-RE
9
January 31, 2024
CS21 Lecture 12
RE and co-RE
10
January 31, 2024
CS21 Lecture 12
A natural non-RE language
 
T
h
e
o
r
e
m
:
 
t
h
e
 
c
o
m
p
l
e
m
e
n
t
 
o
f
 
H
A
L
T
 
i
s
 
n
o
t
r
e
c
u
r
s
i
v
e
l
y
 
e
n
u
m
e
r
a
b
l
e
.
 
Proof:
we know that HALT is RE
suppose complement of HALT is RE
then HALT is co-RE
implies HALT is decidable. Contradiction.
11
January 31, 2024
CS21 Lecture 12
Summary
 
Main point: some problems have no
algorithms, HALT in particular.
regular
languages
context free
languages
all languages
decidable
RE
{a
n
b
n 
: n 
≥ 0
 }
{a
n
b
n
c
n 
: n 
≥ 0
 }
some language
HALT
co-RE
 
co-HALT
12
January 31, 2024
CS21 Lecture 12
13
Reductions
 
Given a new problem NEW, want to
determine if it is easy or hard
right now, easy typically means decidable
right now, hard typically means undecidable
One option:
prove from scratch that the problem is
decidable, or
prove from scratch that the problem is
undecidable (dream up a diag. argument)
January 31, 2024
CS21 Lecture 12
14
Reductions
 
A better option:
to prove 
NEW
 is decidable, show how to
transform it into a known decidable problem
OLD 
so that solution to 
OLD
 can be used to
solve 
NEW
.
to prove 
NEW
 is undecidable, show how to
transform a known undecidable problem 
OLD
into 
NEW
 so that solution to 
NEW
 can be
used to solve 
OLD
.
c
a
l
l
e
d
 
a
 
r
e
d
u
c
t
i
o
n
January 31, 2024
CS21 Lecture 12
15
Reductions
 
Reductions are one of the most important
and widely used techniques in theoretical
Computer Science.
 
especially for proving problems “hard”
often difficult to do “from scratch”
sometimes not known how to do from scratch
reductions allow proof by 
giving an algorithm
to perform the transformation
January 31, 2024
CS21 Lecture 12
16
Example reduction
 
Try to prove undecidable:
A
TM
 = {<M, w> : M accepts input w
}
We know this language is undecidable:
HALT = {<M, w> : M halts on input w
}
Idea:
suppose A
TM
 is decidable
show that we can use A
TM
 to decide HALT
conclude HALT is decidable. Contradiction.
reduction
January 31, 2024
CS21 Lecture 12
17
Example reduction
January 31, 2024
CS21 Lecture 12
18
Example reduction
January 31, 2024
CS21 Lecture 12
19
Example reduction
 
Preceding reduction proved:
 
T
h
e
o
r
e
m
:
 
A
T
M
 
i
s
 
u
n
d
e
c
i
d
a
b
l
e
.
 
Proof (recap):
suppose A
TM
 is decidable
we showed how to use A
TM
 to decide HALT
conclude HALT is decidable. Contradiction.
January 31, 2024
CS21 Lecture 12
20
Another example
January 31, 2024
CS21 Lecture 12
21
Another example
January 31, 2024
CS21 Lecture 12
22
Another example
Is this OK?
finite # of
states?
January 31, 2024
CS21 Lecture 12
23
Another example
Preceding reduction proved:
T
h
e
o
r
e
m
:
 
E
T
M
 
i
s
 
u
n
d
e
c
i
d
a
b
l
e
.
Proof (recap):
suppose E
TM
 is decidable
we showed how to use E
TM
 to decide A
TM
conclude A
TM
 is decidable. Contradiction.
January 31, 2024
CS21 Lecture 12
24
Example reduction
We proved
A
TM
 = {<M, w> : M accepts input w
}
undecidable, by reduction from
HALT = {<M, w> : M halts on input w
}
We proved
E
TM
 = {<M> : L(M) = 
Ø}
undecidable by reduction from 
A
TM
Slide Note
Embed
Share

Delve into the intricacies of the Halting Problem and its undecidability in computer science theory. Learn about the concepts of decidable and undecidable languages, the implications of the Halting Problem on computing, and explore the proof that demonstrates the undecidability of HALT.

  • CS Theory
  • Halting Problem
  • Undecidability
  • Decidable Languages

Uploaded on Sep 21, 2024 | 0 Views


Download Presentation

Please find below an Image/Link to download the presentation.

The content on the website is provided AS IS for your information and personal use only. It may not be sold, licensed, or shared on other websites without obtaining consent from the author. Download presentation by click this link. If you encounter any issues during the download, it is possible that the publisher has removed the file from their server.

E N D

Presentation Transcript


  1. CS21 Decidability and Tractability Lecture 12 January 31, 2024

  2. So far {anbn : n 0 } some language decidable all languages regular languages context free languages RE {anbncn : n 0 } This language might be an esoteric, artificially constructed one. Do we care? We will show a natural undecidable L next. January 31, 2024 CS21 Lecture 12 2

  3. The Halting Problem Definition of the Halting Problem : HALT = { <M, x> : TM M halts on input x } HALT is recursively enumerable. proof? Is HALT decidable? January 31, 2024 CS21 Lecture 12 3

  4. The Halting Problem Theorem: HALT is not decidable (undecidable). Proof: Suppose TM H decides HALT Define new TM H : on input <M> if H accepts <M, <M>> then loop if H rejects <M, <M>> then halt January 31, 2024 CS21 Lecture 12 4

  5. The Halting Problem Proof: define new TM H : on input <M> if H accepts <M, <M>> then loop if H rejects <M, <M>> then halt consider H on input <H >: if it halts, then H rejects <H , <H >>, which implies it cannot halt if it loops, then H accepts <H , <H >> which implies it must halt contradiction. January 31, 2024 CS21 Lecture 12 5

  6. The Halting Problem box (M, x): does M halt on x? inputs Y Turing Machines n Y The existence of H which tells us yes/no for each box allows us to construct a TM H that cannot be in the table. n n Y n n Y n Y Y n Y H : January 31, 2024 CS21 Lecture 12 6

  7. So far {anbn : n 0 } some language decidable all languages regular languages context free languages RE HALT {anbncn : n 0 } Can we exhibit a natural language that is non-RE? January 31, 2024 CS21 Lecture 12 7

  8. RE and co-RE The complement of a RE language is called a co-RE language some language {anbn : n 0 } co-RE decidable all languages regular languages context free languages RE {anbncn : n 0 } HALT January 31, 2024 CS21 Lecture 12 8

  9. RE and co-RE Theorem: a language L is decidable if and only if L is RE and L is co-RE. Proof: ( ) we already know decidable implies RE if L is decidable, then complement of L is decidable by flipping accept/reject. so L is in co-RE. January 31, 2024 CS21 Lecture 12 9

  10. RE and co-RE Theorem: a language L is decidable if and only if L is RE and L is co-RE. Proof: ( ) we have TM M that recognizes L, and TM M recognizes complement of L. on input x, simulate M, M in parallel if M accepts, accept; if M accepts, reject. January 31, 2024 CS21 Lecture 12 10

  11. A natural non-RE language Theorem: the complement of HALT is not recursively enumerable. Proof: we know that HALT is RE suppose complement of HALT is RE then HALT is co-RE implies HALT is decidable. Contradiction. January 31, 2024 CS21 Lecture 12 11

  12. Summary co-HALT some language {anbn : n 0 } co-RE decidable all languages regular languages context free languages RE {anbncn : n 0 } HALT Main point: some problems have no algorithms, HALT in particular. January 31, 2024 CS21 Lecture 12 12

  13. Reductions Given a new problem NEW, want to determine if it is easy or hard right now, easy typically means decidable right now, hard typically means undecidable One option: prove from scratch that the problem is decidable, or prove from scratch that the problem is undecidable (dream up a diag. argument) January 31, 2024 CS21 Lecture 12 13

  14. Reductions A better option: to prove NEW is decidable, show how to transform it into a known decidable problem OLD so that solution to OLD can be used to solve NEW. to prove NEW is undecidable, show how to transform a known undecidable problem OLD into NEW so that solution to NEW can be used to solve OLD. called a reduction January 31, 2024 CS21 Lecture 12 14

  15. Reductions Reductions are one of the most important and widely used techniques in theoretical Computer Science. especially for proving problems hard often difficult to do from scratch sometimes not known how to do from scratch reductions allow proof by giving an algorithm to perform the transformation January 31, 2024 CS21 Lecture 12 15

  16. Example reduction Try to prove undecidable: ATM = {<M, w> : M accepts input w} We know this language is undecidable: HALT = {<M, w> : M halts on input w} Idea: suppose ATM is decidable show that we can use ATM to decide HALT conclude HALT is decidable. Contradiction. reduction January 31, 2024 CS21 Lecture 12 16

  17. Example reduction How could we use procedure that decides ATM to decide HALT? given input to HALT: <M, w> Some things we can do: check if <M, w> ATM construct another TM M and check if <M , w> ATM January 31, 2024 CS21 Lecture 12 17

  18. Example reduction Deciding HALT using a procedure that decides ATM( reducing HALT to ATM ). on input <M, w> check if <M, w> ATM if yes, the M halts on w; ACCEPT if no, then M either rejects w or it loops on w construct M by swapping qaccept/qreject in M check if <M , w> ATM if yes, then M accepts w, so M rejects w; ACCEPT if no, then M neither accepts nor rejects w; REJECT January 31, 2024 CS21 Lecture 12 18

  19. Example reduction Preceding reduction proved: Theorem: ATM is undecidable. Proof (recap): suppose ATM is decidable we showed how to use ATM to decide HALT conclude HALT is decidable. Contradiction. January 31, 2024 CS21 Lecture 12 19

  20. Another example Try to prove undecidable: ETM = {<M> : L(M) = } which problem should we reduce from? HALT = {<M, w> : M halts on input w} ATM = {<M, w> : M accepts input w} Some things we can do: check if <M> ETM construct another TM M and check if <M > ETM January 31, 2024 CS21 Lecture 12 20

  21. Another example We are given input <M, w> We want to use a procedure that decides ETM to decide if <M, w> ATM Idea: check if <M> ETM if not? helpful if could make M reject everything except possibly w. January 31, 2024 CS21 Lecture 12 21

  22. Another example Is this OK? finite # of states? Construct TM M : on input x, if x w, then reject else simulate M on x, and accept if M does. on input <M, w> construct M from description of M check if M ETM if no, M must accept w; ACCEPT if yes, M cannot accept w; REJECT January 31, 2024 CS21 Lecture 12 22

  23. Another example Preceding reduction proved: Theorem: ETM is undecidable. Proof (recap): suppose ETM is decidable we showed how to use ETM to decide ATM conclude ATM is decidable. Contradiction. January 31, 2024 CS21 Lecture 12 23

  24. Example reduction We proved ATM = {<M, w> : M accepts input w} undecidable, by reduction from HALT = {<M, w> : M halts on input w} We proved ETM = {<M> : L(M) = } undecidable by reduction from ATM January 31, 2024 CS21 Lecture 12 24

More Related Content

giItT1WQy@!-/#giItT1WQy@!-/#