TIC 2151 - Theory of Computation: Decidability
TIC 2151 - Theory of Computation: Decidability
TIC 2151 - Theory of Computation: Decidability
Computation
Lecture 9
Decidability
2
Introduction
3
Recognizing vs. Deciding
4
Recognizing vs. Deciding
5
Decidability
Inside LTM:
Lde Lr.e. L
6
Decidability
Lde Lr.e. L
Busy Beaver
~HALTING
Le
**
Lne = language not empty,
PCP
Le = language empty. HALTING
PCP = Post Correspondence Problem Lne
8
Decidability
Complete Summary:
9
Decidable Problem (example)
For example, the acceptance problem for DFAs of testing whether a particular DFA
accepts a given string can be expressed as a language, A DFA. This language contains the
encodings of all DFAs together with strings that the DFAs accept. Let
The problem of testing whether a DFA B accepts an input w is the same as the
problem of testing whether B,w. is a member of the language ADFA.
ADFA is a decidable language.
PROOF IDEA : We simply need to present a TM M that decides ADFA.
M = “On input B,w, where B is a DFA and w is a string:
1. Simulate B on input w.
2. If the simulation ends in an accept state, accept . If it ends in a
nonaccepting state, reject .”
B,w is a representation of a DFA B together with a string w. One reasonable
representation of B is simply a list of its five components: Q, , , q0, and F. M carries out
the simulation directly. It keeps track of B’s current state and B’s current position in the
input w by writing this information down on its tape. If the simulation ends in an accept
state, accept . If it ends in a nonaccepting state, reject 10
Undecidability
you are given a computer program and a precise specification of what that
program is supposed to do (e.g., sort a list of numbers). You need to verify that the
program performs as specified (i.e., that it is correct).
The general problem of software verification is not solvable by computer.
The problem of determining whether a Turing machine accepts a given input string
we call it ATM by analogy with ADFA and ACFG. But, whereas ADFA and ACFG were
decidable, ATM is not.
12
Undecidability
Halting problem. HALTTM, the problem of determining whether aTuring machine
halts (by accepting or rejecting) on a given input.
13
Learning Outcomes
14