Mathematik für Chemiker - Complexity and Real Computation

I. Recap on the discrete
Theory of Computation
CS700 M. Ziegler
 un-/computability, Halting Problem
 oracle computation
 Asymptotic runtime and memory
 Machine models: unit vs. bit cost
 L, P, NP1, NP, #P, PSPACE, EXP
 Reduction and completeness
 Parameterized complexity
Alan M. Turing 1941
1936
CS700 M. Ziegler
•first scientific calculations on digital computers
•What are its fundamental limitations?
decision

+
•
Uncountably
many
PN
A
B'
A
B'
problem
B

x
B'
A
• but countably many
B' 'algorithms'
•Undecidable Halting Problem H
H: No algorithm B
can always correctly answer
the following question
simulator/interpreter
B?
Given A,x, does algorithm A terminate on input x?
Consider
B' that,
Proof
by contradiction:
•Logicians
Tarski, Alonzo
Churchalgorithm
(PhD advisor)
upon a positive
on
input
A, executes
on A,A
•Kurt
Gödel
(1931):BThere
existand,
arithmetical
answer,
loops
infinitely.
How
B' behave
on B'
statements
which
are true
butdoes
cannot
be proven
so.?
Un-/Semi-/Decidability I
CS700 M. Ziegler
Definition: a) An 'algorithm' A computes a
partial function f:{0,1}*  {0,1}* if it
• on inputs xdom(f) prints f(x) and terminates,
• on inputs xdom(f) does not terminate.
Injective string pairing function ("Hilbert Hotel")
x1,…,xn ; y1,…,ym := 0 x1 0 x2 0 … 0 xn 1 y1 … ym
b) A decides set L{0,1}* if it computes its total
char. function: cfL(x):=1 for xL, cfL(x):=0 for xL.
c) A semi-decides L if terminates precisely on xL
d) A enumerates L if it computes
some total bijection f:{0,1}*=N  L.
Un-/Semi-/Decidability II
CS700 M. Ziegler
Example: The Halting problem H, considered as
subset of {0,1}*, is semi-decidable, not decidable.
Theorem: a) Every finite L is decidable.
b) L is decidable iff its complement L is.
c) L is decidable iff both L, L are semi-decidable.
d) L is enumerable iff infinite and semi-decidable.
b) A decides set L{0,1}* if it computes its total
char. function: cfL(x):=1 for xL, cfL(x):=0 for xL.
c) A semi-decides L if terminates precisely on xL
d) A enumerates L if it computes
some total bijection f:{0,1}*=N  L.
Comparing Decision Problems
CS700 M. Ziegler
Halting problem H = { A,x : A(x) terminates }
Nontriviality N = { A : y A(y) terminates }
Totality problem T = { A : z A(z) terminates}
{0,1}*
{0,1}*
•H≼T
f
L
L
•H ≼N
undecidable
undecidable
•N≼H≼H
L'
L'
•H≼TT≼H
For L,L'{0,1}* write L≼L' if there is a
computable
f:{0,1}*{0,1}* such that x:b) xL
 f(x)L'.
L≼L'≼L''
 L≼L'
Examples of Undecidability
CS700 M. Ziegler
Universes U other than {0,1}* (e.g. N): encode.
Halting problem: H = { A,x : A terminates on x }
Hilbert's 10th: The following set is undecidable:
{ p | pN[X1,…Xn], nN, x1…xnN p(x1,…xn)=0 }
Word Problem for finitely presented groups
Mortality Problem for two 2121 matrices
Homeomorphy of two finite simplicial complexes
For L,L'{0,1}* write L≼L' if there is a
computable
f:{0,1}*{0,1}* such that x:b) xL
 f(x)L'.
L≼L'≼L''
 L≼L'
Exercise Questions
CS700 M. Ziegler
Which of the following are un-/semi-/decidable?
a) Given an integer, is it a prime number?
b) Given a finite string over +,,(,),0,1,X1,…Xn
is it a syntactically correct expression?
c) Given a Boolean expression (X1,…Xn),
does it have a satisfying assignment?
d) Given MZnn and bZn,
does there exists a integer
real vector x s.t. M·xb?
e) Given an algorithm A, input x, and integer N,
does A terminate on input x within N steps ?
f) Does a given algorithm terminate on all inputs?
g) Does given algorithm terminate on some input?
Bit Model: Turing Machine
Alan M. Turing [1936/37]
Mathematical idealization and
abstraction of his assistents
(profess. „computers“)
CS700 M. Ziegler
O
{0,1}
*
 unbounded tape
 one bit (0/1) in each cell
 initially: input + delimit.
 finite program
 one read/write/move
operation per step
 until stop: output.
MO computes
f:{0,1}*{0,1}*
in #steps using #cells
Bit Model: Turing Machine
CS700 M. Ziegler
M = (Q,q0,q+,q-,), where Q is a finite set of states,
:{0,1}Q{L,R}{0,1}Q transition table,
q0Q initial, q+Q accepting, q-Q rejecting state.
A configuration of M is a triple (v,q,w), with qQ
and v,w{0,1}*. The initial configuration on input
w is ( ,q0,w). A successor configuration to (v, q, b w)
is • (v b', p, w) for (b,q)=(R,b',p), • (b,q)=(L,b',p)
Shoenfield's Limit Lemma: A partial f:N→N
is computable relative to H iff f(n)=limj g(n,j)
for some total (oracle-free) computable g:NN→N.