Download presentation
Presentation is loading. Please wait.
Published byAdrian Gordon Modified over 9 years ago
1
1 Time Complexity We use a multitape Turing machine We count the number of steps until a string is accepted We use the O(k) notation
2
2 Example: Algorithm to accept a string : Use a two-tape Turing machine Copy the on the second tape Compare the and
3
3 Copy the on the second tape Compare the and Time needed: Total time:
4
4 For string of length time needed for acceptance:
5
5 Language class: A Deterministic Turing Machine accepts each string of length in time
6
6
7
7 In a similar way we define the class for any time function: Examples:
8
8 Example: The membership problem for context free languages (CYK - algorithm) Polynomial time
9
9 Theorem:
10
10 Polynomial time algorithms: Represent tractable algorithms: For small we can compute the result fast
11
11 for all The class All tractable problems Polynomial time
12
12 CYK-algorithm
13
13 Exponential time algorithms: Represent intractable algorithms: Some problem instances may take centuries to solve
14
14 Example: the Hamiltonian Problem Question: is there a Hamiltonian path from s to t? s t
15
15 s t YES!
16
16 Exponential time Intractable problem A solution: search exhaustively all paths L = { : there is a Hamiltonian path in G from s to t}
17
17 Example: The Satisfiability Problem Boolean expressions in Conjunctive Normal Form: Variables Question: is expression satisfiable?
18
18 Satisfiable: Example:
19
19 Not satisfiable Example:
20
20 For variables: Algorithm: search exhaustively all the possible binary values of the variables exponential
21
21 Non-Determinism Language class: A Non-Deterministic Turing Machine accepts each string of length in time
22
22 Example: Non-Deterministic Algorithm to accept a string : Use a two-tape Turing machine Guess the middle of the string and copy on the second tape Compare the two tapes
23
23 Time needed: Total time: Use a two-tape Turing machine Guess the middle of the string and copy on the second tape Compare the two tapes
24
24
25
25 In a similar way we define the class for any time function: Examples:
26
26 Non-Deterministic Polynomial time algorithms:
27
27 for all The class Non-Deterministic Polynomial time
28
28 Example: The satisfiability problem Non-Deterministic algorithm: Guess an assignment of the variables Check if this is a satisfying assignment
29
29 Time for variables: Total time: Guess an assignment of the variables Check if this is a satisfying assignment
30
30 The satisfiability problem is an - Problem
31
31 Observation: Deterministic Polynomial Non-Deterministic Polynomial
32
32 Open Problem: WE DO NOT KNOW THE ANSWER
33
33 Example: Does the Satisfiability problem have a polynomial time deterministic algorithm? WE DO NOT KNOW THE ANSWER Open Problem:
Similar presentations
© 2025 SlidePlayer.com. Inc.
All rights reserved.