NP theory Pasi Fränti 22.10.2013. Turing machine vs. RAM © GEOFF DRAPER.
-
Upload
kaylynn-brinkworth -
Category
Documents
-
view
214 -
download
0
Transcript of NP theory Pasi Fränti 22.10.2013. Turing machine vs. RAM © GEOFF DRAPER.
NP theory
Pasi Fränti22.10.2013
Turing machine vs. RAM
© GEOFF DRAPER
Palindrome example
……
SOS
ABBA
SAIPPUAKAUPPIAS
INNOSTUNUT SONNI
SAIPPUAKIVIKAUPPIAS
Turing machine solving palindrome
Accept!
q1
q2
q4
q0
q3
Final
Initial
0,b1,b
b,b
1,b0,b
Copy
Rewind
Compare
b,b
b,b
b,0b,1
1,10,0
b,b
q0 b b q4 (b,S) (b,S) Empty
0 b q1 (0,S) (b,S)
1 b q1 (1,S) (b,S)
q1 0 b q1 (0,R)(0,R
)Copy
1 b q1 (1,R)(1,R
)
b b q2 (b,S) (b,L)
q2 b 0 q2 (b,S) (0,L) Move
b 1 q2 (b,S) (1,L)
b b q3 (b,L)(b,R
)
q3 0 0 q3 (0,L)(0,R
)Compar
e
1 1 q3 (1,L)(1,R
)
B b q4 (b,S) (b,S)
product := n;FOR i:=1 TO (n-1) DO
product := product * n;
Assembler
READ r1;IF r1≤0 THEN WRITE 0ELSE
r2 r1;r3 r1-1;WHILE r3>0 DOr2 r2*r1;r3 r3-1;OD;
WRITE r2;
PASCAL
ALGOL
READ 1LOAD 1JGTZ posWRITE =0JUMP endif
pos: LOAD 1STORE 2LOAD 1SUB =1STORE 3
while: LOAD 3JGTZ contJUMP endw
cont: LOAD 2MULT 1STORE 2LOAD 3SUB =1STORE 3JUMP while
endw: WRITE 2endif: HALT
Three programs to calculate NN
Loopvariable
Output
READ r1
IF r1≤0
r2 r1
r3 r3-1
r2 r2*r1
r3 r3-1
WHILE r3>0
WRITE r2
Input
RAM and Turing compared
RAM Turing
Sequence:
Loop:
Condition:
WHILE r3>0 DO
IF r1≤0 THEN
…r2 r2*r1;r3 r3-1;…
q1
q2
q3
q4a b
q5
a
b
RAM TuringOne step: O(1) S(N)T(N) steps T(N) T(N)∙S(N) ≤ T(N)2
Simulating RAM by Turing
x x x x x Ь ЬxЬЬ ……
R/W head Next needed
S(N)
Rewind
Empty space for notes
P and NP classes
P Problems that can be solvedin polynomial timeby deterministic Turing machine
P
P and NP classes
P Problems that can be solvedin polynomial timeby deterministic Turing machine
NP Problems that can be solvedin polynomial timeby non-deterministic Turing machine
NP
P
Known problems in P
NP
P
SORT
MM
SEARCH
SP
SELECTION
MST
Known problems in NP
NP
P
COLORING
TSP
EXACTCOVER
KP
SATSORT
MM
SEARCH
SP
SELECTION
MST
Anything outside of NP ?
NP
P CHESS
GO
COLORING
TSP
EXACTCOVER
KP
SAT
HANOISORT
MM
SEARCH
SP
SELECTION
MST
Coloring(E,V,k)
FOR i1 TO n DOColor[i] Choose(1,k);
FOR All e(i,j)V DOIF Color[i]=Color[j] FAIL;
SUCCESS;
Select combination
Check validity
Non-deterministic algorithmColoring problem
TSP(E,V,k)
Sum 0;
FOR i1 TO n-1 DONode[i] Choose(1,n);Sum Sum + w(Node[i-1],Node[i]);
IF Sum<k THEN SUCCESS;ELSE FAIL;
Select combination
Check validity
Non-deterministic algorithmTraveling salesman problem
Reduction of problems
L1 ≤p L2
Search ≤p Sort
Transitivity:
L1 ≤p L2 and L2 ≤p L3
L1 ≤p L3
A2
I1 I2p
pO1 O2
SortIsearch
Osearch Osortmin
A3
I1 I2p
pO1 O2
I3p
p O3
Empty space for notes
NP-hard
NP
P
NP-hard
L1
LL2
L4
L3 ≤p
≤p
≤p≤p
Problem L is NP-hard iff all problems in NP reduces to L in polynomial time:
Lx ≤p L LxNP
NP complete
NP
P
Problem L is NP-complete iff L is NP-hard LNP
NP-hard
NP-complete
NP-completeAnother view
P
NPcomplete
Difficultyincreases
Problem L is NP-complete iff L is NP-hard LNP
NP
P
Intersection of P and NP-hard
Case 1: PNP-hard =
NP-hard
NP
P
Case 2: L: LP L NP-hard
NP-hard
P=NP
Open question: P=NP ?
NP
PNP-hard
Empty space for notes
Turing is still going on strong…
http://www.youtube.com/watch?v=cYw2ewoO6c4