1
Reduction via computational history
Denition 1
If M is a TM which accepts (resp. rejects) a string w, then the
accepting computation history (resp. rejecting computation history) is a sequence C1, C2, . . . , Cm of congurations of
M , where C1 is a star
1
Undecidable Languages.
For a given M , submit its encoding M to M as an input.
Class 1
M accepts M
Class 2
M doesnt accept M
Denition 1 L = cfw_ M : M does not accept its encoding.
Theorem 1 L is not Turing-recognizable.
Proof. If there were D accepting
1
Post correspondence problem, PCP.
The problem was formulated by a mathematician Emil Post; see
http:/www-groups.dcs.st-and.ac.uk/~history/Mathematicians/Post.html.
Denition 1
A dominos is a collection of two-strings, like the ones below
a
cbbba
ba
[][
]
1
Hierarchy of Languages
a language L
Turingacceptable
Turingdecidable
L
Contextfree languages
Regular
Languages
Unrecognizable Langauges
Are there Turing-acceptable (recursively enumerable) languages that are not
Turing-decidable (recursive)? Are there T
1
Non-deterministic Turing Machine
A nondeterministic Turing machine is a generalization of the standard TM for which every conguration may yield none, or one or more than one next
congurations.
In contrast to the deterministic Turing machines, for
which
1
Computational Classes
Denition 1 P is the class of languages that are
decidable in polynomial time on a deterministic singletape Turing machine:
P = T IM E (nk ).
k
1
Examples of languages in P
1. P AT H = cfw_ G, s, t : G is a directed graph that
has a
1
Example of unsatisable formula
F = (1 x2 x4) (2 x3 x4) (x1 x3 x4)
x
x
(x1 x2 x4) (x2 x3 x4) (1 x3 x4)
x
(x1 x2 x3) (1 x2 x3)
x
Proof. By developing a tree of cases.
x1 = 0
F = (2 x3 x4) (3 x4)
x
x
(2 x4) (x2 x3 x4) (x2 x3)
x
x2 = 0
F = (3 x4) (3 x4)
1
Complexity of Computation
Denition 1 The running time of a computation
by a Turing Machine is dened to be the number of
steps (applications of the transition function) done
by the Turing Machine while executing the computation.
Denition 2 Let M be a det
Reducibility in Problems
1
A reduction is converting one problem, A, into another problem, B ,
so that a solution to the second problem can be used to solve the
rst problem.
notation: A B or A B
A
problem known to
be unsolvable
B
problem of
unknown status
1
Rice Theorem
Theorem 1 Let P be a language whose members are descriptions of Turing machines and let P satisfy the following two
conditions:
Condition 1: If M1 and M2 are two TMs, where L(M1 ) =
L(M2 ), then M1 P i M2 P .
/*P is a property of a language
1
Mapping reducibility
Denition 1 A function f : is a computable function if there is a TM which on every input w halts with just
f (w) on the tape.
Example 1
Usual arithmetic functions, i.e. addition, multiplication, etc are
computable.
Functions that
Computing is recognizing/describing/generating/accepting a language.
1
Context-free grammars: introduction
Two functions associated with languages:
reading: for language recognizers; writing: for language generators
One way to generate a language is to us
Notes on Finite Automata
Department of Computer Science
Professor Goldberg
Textbooks: Introduction to the Theory of Computation
by Michael Sipser
Elements of the Theory of Computation
by H. Lewis and C. Papadimitriou
These notes contain the material from
1
Basic Denitions of Graph Theory.
Denition 1
An undirected graph G = (V, E ) consists of a set V of elements called vertices, and a
multiset E (repetition of elements is allowed) of pairs of vertices called edges.
The order of a graph G(V, E ) is |V |; t
Satisability Problem:
x1, x2, . . . xn are boolean variables
xi =
T RU E 1
F ALSE 0
The negation x of x is TRUE (FALSE) i x is FALSE
(TRUE).
A literal is either a variable x or its negation x.
A clause is a set of literals: (x3 x4 x6)
Given an assignment
1
Vertex Coloring
A k vertex coloring of a graph G(V, E ) is a function
f : V [1, k ],
such that for any edge xy E , f (x) = f (y ).
Vertex Color (decision version): Given a graph G(V, E )
and an integer k > 0, is there a vertex coloring of G
which uses k
1
Summary
The running time of a computation by a Turing
Machine is dened to be the number of applications
of the transition function done by the Turing Machine
while executing the computation.
A deterministic Turing machine which halts on all inputs is ca
1
Examples of polynomial reducibility
Denition 1 A graph G(V, E ) is called connected,
if for any two distinct vertices u and v , there is a path
connecting u with v . A connected component of a
graph G is a maximal connected subgraph of G.
For a given gr
1
Decision problems vs Optimization Problems
Example:
Clique (decision version): Given a graph G(V, E ) and
an integer k > 0, is there a clique of size k in G ?
L = cfw_ G(V, E ), k : G contains a clique of size k .
Clique (optimization version): Given a
1
Polynomial Time Reducibility
The question of whether P = N P is one of the greatest
unsolved problems in the theoretical computer science.
Two possibilities of relationship between P and N P
P = N P;
P N P.
Intuition of the reduction idea:
If a proble