Time Complexity P vs NP. Consider a deterministic Turing Machine which decides a language.
-
Upload
patricia-curd -
Category
Documents
-
view
216 -
download
3
Transcript of Time Complexity P vs NP. Consider a deterministic Turing Machine which decides a language.
![Page 1: Time Complexity P vs NP. Consider a deterministic Turing Machine which decides a language.](https://reader034.fdocuments.us/reader034/viewer/2022051614/551bbb30550346be588b46b4/html5/thumbnails/1.jpg)
Time ComplexityP vs NP
![Page 2: Time Complexity P vs NP. Consider a deterministic Turing Machine which decides a language.](https://reader034.fdocuments.us/reader034/viewer/2022051614/551bbb30550346be588b46b4/html5/thumbnails/2.jpg)
ML
Consider a deterministic Turing Machinewhich decides a language
![Page 3: Time Complexity P vs NP. Consider a deterministic Turing Machine which decides a language.](https://reader034.fdocuments.us/reader034/viewer/2022051614/551bbb30550346be588b46b4/html5/thumbnails/3.jpg)
For any string the computation ofterminates in a finite amount of transitions
w M
Acceptor Reject w
Initialstate
![Page 4: Time Complexity P vs NP. Consider a deterministic Turing Machine which decides a language.](https://reader034.fdocuments.us/reader034/viewer/2022051614/551bbb30550346be588b46b4/html5/thumbnails/4.jpg)
Acceptor Reject w
Decision Time = #transitions
Initialstate
![Page 5: Time Complexity P vs NP. Consider a deterministic Turing Machine which decides a language.](https://reader034.fdocuments.us/reader034/viewer/2022051614/551bbb30550346be588b46b4/html5/thumbnails/5.jpg)
Consider now all strings of lengthn
)(nTM = maximum time required to decide any string of length n
![Page 6: Time Complexity P vs NP. Consider a deterministic Turing Machine which decides a language.](https://reader034.fdocuments.us/reader034/viewer/2022051614/551bbb30550346be588b46b4/html5/thumbnails/6.jpg)
)(nTM
Max time to accept a string of length n
1 2 3 4 n STRING LENGTH
TIM
E
![Page 7: Time Complexity P vs NP. Consider a deterministic Turing Machine which decides a language.](https://reader034.fdocuments.us/reader034/viewer/2022051614/551bbb30550346be588b46b4/html5/thumbnails/7.jpg)
Time Complexity Class: ))(( nTTIME
All Languages decidable by a deterministic Turing Machinein time
1L 2L
3L
))(( nTO
![Page 8: Time Complexity P vs NP. Consider a deterministic Turing Machine which decides a language.](https://reader034.fdocuments.us/reader034/viewer/2022051614/551bbb30550346be588b46b4/html5/thumbnails/8.jpg)
Example: }0:{1 nbaL n
This can be decided in time)(nO
)(nTIME
}0:{1 nbaL n
![Page 9: Time Complexity P vs NP. Consider a deterministic Turing Machine which decides a language.](https://reader034.fdocuments.us/reader034/viewer/2022051614/551bbb30550346be588b46b4/html5/thumbnails/9.jpg)
)(nTIME
}0:{1 nbaL n
}0,:{ knabaabn
}even is :{ nbn
Other example problems in the same class
}3:{ knbn
![Page 10: Time Complexity P vs NP. Consider a deterministic Turing Machine which decides a language.](https://reader034.fdocuments.us/reader034/viewer/2022051614/551bbb30550346be588b46b4/html5/thumbnails/10.jpg)
)( 2nTIME
}0:{ nba nn
Examples in class:
}},{:{ bawwwR
}},{:{ bawww
![Page 11: Time Complexity P vs NP. Consider a deterministic Turing Machine which decides a language.](https://reader034.fdocuments.us/reader034/viewer/2022051614/551bbb30550346be588b46b4/html5/thumbnails/11.jpg)
)( 3nTIMEExamples in class:
} grammar free-context
by generated is :,{2
G
wwGL
} and
matrices :,,{
321
3213
MMM
nnMMML
CYK algorithm
Matrix multiplication
![Page 12: Time Complexity P vs NP. Consider a deterministic Turing Machine which decides a language.](https://reader034.fdocuments.us/reader034/viewer/2022051614/551bbb30550346be588b46b4/html5/thumbnails/12.jpg)
Polynomial time algorithms: )( knTIME
Represents tractable algorithms:
for small we can decidethe result fast
k
constant 0k
![Page 13: Time Complexity P vs NP. Consider a deterministic Turing Machine which decides a language.](https://reader034.fdocuments.us/reader034/viewer/2022051614/551bbb30550346be588b46b4/html5/thumbnails/13.jpg)
)( knTIME
)( 1knTIME
)()( 1 kk nTIMEnTIME It can be shown:
![Page 14: Time Complexity P vs NP. Consider a deterministic Turing Machine which decides a language.](https://reader034.fdocuments.us/reader034/viewer/2022051614/551bbb30550346be588b46b4/html5/thumbnails/14.jpg)
0
)(
k
knTIMEP
The Time Complexity Class P
•“tractable” problems
•polynomial time algorithms
Represents:
![Page 15: Time Complexity P vs NP. Consider a deterministic Turing Machine which decides a language.](https://reader034.fdocuments.us/reader034/viewer/2022051614/551bbb30550346be588b46b4/html5/thumbnails/15.jpg)
P
CYK-algorithm
}{ nnba }{ww
Class
Matrix multiplication
}{ ban
![Page 16: Time Complexity P vs NP. Consider a deterministic Turing Machine which decides a language.](https://reader034.fdocuments.us/reader034/viewer/2022051614/551bbb30550346be588b46b4/html5/thumbnails/16.jpg)
Exponential time algorithms: )2(knTIME
Represent intractable algorithms:
Some problem instancesmay take centuries to solve
![Page 17: Time Complexity P vs NP. Consider a deterministic Turing Machine which decides a language.](https://reader034.fdocuments.us/reader034/viewer/2022051614/551bbb30550346be588b46b4/html5/thumbnails/17.jpg)
Example: the Hamiltonian Path Problem
Question: is there a Hamiltonian path from s to t?
s t
![Page 18: Time Complexity P vs NP. Consider a deterministic Turing Machine which decides a language.](https://reader034.fdocuments.us/reader034/viewer/2022051614/551bbb30550346be588b46b4/html5/thumbnails/18.jpg)
s t
YES!
![Page 19: Time Complexity P vs NP. Consider a deterministic Turing Machine which decides a language.](https://reader034.fdocuments.us/reader034/viewer/2022051614/551bbb30550346be588b46b4/html5/thumbnails/19.jpg)
)2()!(knTIMEnTIMEL
Exponential time
Intractable problem
A solution: search exhaustively all paths
L = {<G,s,t>: there is a Hamiltonian path in G from s to t}
![Page 20: Time Complexity P vs NP. Consider a deterministic Turing Machine which decides a language.](https://reader034.fdocuments.us/reader034/viewer/2022051614/551bbb30550346be588b46b4/html5/thumbnails/20.jpg)
The clique problem
Does there exist a clique of size 5?
![Page 21: Time Complexity P vs NP. Consider a deterministic Turing Machine which decides a language.](https://reader034.fdocuments.us/reader034/viewer/2022051614/551bbb30550346be588b46b4/html5/thumbnails/21.jpg)
The clique problem
Does there exist a clique of size 5?
![Page 22: Time Complexity P vs NP. Consider a deterministic Turing Machine which decides a language.](https://reader034.fdocuments.us/reader034/viewer/2022051614/551bbb30550346be588b46b4/html5/thumbnails/22.jpg)
Example: The Satisfiability Problem
Boolean expressions inConjunctive Normal Form:
ktttt 321
pi xxxxt 321
Variables
Question: is the expression satisfiable?
clauses
![Page 23: Time Complexity P vs NP. Consider a deterministic Turing Machine which decides a language.](https://reader034.fdocuments.us/reader034/viewer/2022051614/551bbb30550346be588b46b4/html5/thumbnails/23.jpg)
)()( 3121 xxxx
Satisfiable: 1,1,0 321 xxx
1)()( 3121 xxxx
Example:
![Page 24: Time Complexity P vs NP. Consider a deterministic Turing Machine which decides a language.](https://reader034.fdocuments.us/reader034/viewer/2022051614/551bbb30550346be588b46b4/html5/thumbnails/24.jpg)
2121 )( xxxx
Not satisfiable
Example:
![Page 25: Time Complexity P vs NP. Consider a deterministic Turing Machine which decides a language.](https://reader034.fdocuments.us/reader034/viewer/2022051614/551bbb30550346be588b46b4/html5/thumbnails/25.jpg)
e}satisfiabl is expression :{ wwL
)2(knTIMEL
Algorithm: search exhaustively all the possible binary values of the variables
exponential
![Page 26: Time Complexity P vs NP. Consider a deterministic Turing Machine which decides a language.](https://reader034.fdocuments.us/reader034/viewer/2022051614/551bbb30550346be588b46b4/html5/thumbnails/26.jpg)
Non-Determinism
Language class: ))(( nTNTIME
A Non-Deterministic Turing Machine decides each string of length in time
1L
2L3L
))(( nTO
n
![Page 27: Time Complexity P vs NP. Consider a deterministic Turing Machine which decides a language.](https://reader034.fdocuments.us/reader034/viewer/2022051614/551bbb30550346be588b46b4/html5/thumbnails/27.jpg)
Non-Deterministic Polynomial time algorithms:
)( knNTIMEL
![Page 28: Time Complexity P vs NP. Consider a deterministic Turing Machine which decides a language.](https://reader034.fdocuments.us/reader034/viewer/2022051614/551bbb30550346be588b46b4/html5/thumbnails/28.jpg)
0
)(
k
knNTIMENP
The class NP
Non-Deterministic Polynomial time
![Page 29: Time Complexity P vs NP. Consider a deterministic Turing Machine which decides a language.](https://reader034.fdocuments.us/reader034/viewer/2022051614/551bbb30550346be588b46b4/html5/thumbnails/29.jpg)
Example: The satisfiability problem
Non-Deterministic algorithm:
•Guess an assignment of the variables
e}satisfiabl is expression :{ wwL
•Check if this is a satisfying assignment
![Page 30: Time Complexity P vs NP. Consider a deterministic Turing Machine which decides a language.](https://reader034.fdocuments.us/reader034/viewer/2022051614/551bbb30550346be588b46b4/html5/thumbnails/30.jpg)
Time for variables: n
)(nO
e}satisfiabl is expression :{ wwL
Total time:
•Guess an assignment of the variables
•Check if this is a satisfying assignment )(nO
)(nO
![Page 31: Time Complexity P vs NP. Consider a deterministic Turing Machine which decides a language.](https://reader034.fdocuments.us/reader034/viewer/2022051614/551bbb30550346be588b46b4/html5/thumbnails/31.jpg)
e}satisfiabl is expression :{ wwL
NPL
The satisfiability problem is an - ProblemNP
![Page 32: Time Complexity P vs NP. Consider a deterministic Turing Machine which decides a language.](https://reader034.fdocuments.us/reader034/viewer/2022051614/551bbb30550346be588b46b4/html5/thumbnails/32.jpg)
Observation:
NPP
DeterministicPolynomial
Non-DeterministicPolynomial
![Page 33: Time Complexity P vs NP. Consider a deterministic Turing Machine which decides a language.](https://reader034.fdocuments.us/reader034/viewer/2022051614/551bbb30550346be588b46b4/html5/thumbnails/33.jpg)
Open Problem: ?NPP
WE DO NOT KNOW THE ANSWER
![Page 34: Time Complexity P vs NP. Consider a deterministic Turing Machine which decides a language.](https://reader034.fdocuments.us/reader034/viewer/2022051614/551bbb30550346be588b46b4/html5/thumbnails/34.jpg)
Example: Does the Satisfiability problem have a polynomial time deterministic algorithm?
WE DO NOT KNOW THE ANSWER
Open Problem: ?NPP
![Page 35: Time Complexity P vs NP. Consider a deterministic Turing Machine which decides a language.](https://reader034.fdocuments.us/reader034/viewer/2022051614/551bbb30550346be588b46b4/html5/thumbnails/35.jpg)
P versus NPP versus NP (polynomial versus
nondeterministic polynomial) refers to a theoretical question presented in 1971 by Leonid Levin and Stephen Cook, concerning mathematical problems that are easy to solve (P type) as opposed to problems that are difficult to solve (NP type).
![Page 36: Time Complexity P vs NP. Consider a deterministic Turing Machine which decides a language.](https://reader034.fdocuments.us/reader034/viewer/2022051614/551bbb30550346be588b46b4/html5/thumbnails/36.jpg)
Any P type problem can be solved in "polynomial time.“ A P type problem is a polynomial in the number of bits
that it takes to describe the instance of the problem at hand. An example of a P type problem is finding the way from point A to point B on a map. An NP type problem requires vastly more time to solve than it takes to describe the problem.
An example of an NP type problem is breaking a 128-bit digital cipher.
The P versus NP question is important in communications, because it may ultimately determine the effectiveness (or ineffectiveness) of digital encryption methods.