Presentation is loading. Please wait.

Presentation is loading. Please wait.

Time Complexity We use a multitape Turing machine

Similar presentations


Presentation on theme: "Time Complexity We use a multitape Turing machine"— Presentation transcript:

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 Example: Algorithm to accept a string : Use a two-tape Turing machine Copy the on the second tape Compare the and

3 Time needed: Copy the on the second tape Compare the and Total time:

4 For string of length time needed for acceptance:

5 Language class: A Deterministic Turing Machine accepts each string of length in time

6

7 In a similar way we define the class
for any time function: Examples:

8 Example: The membership problem for context free languages
(CYK - algorithm) Polynomial time

9 Theorem:

10 Polynomial time algorithms:
Represent tractable algorithms: For small we can compute the result fast

11 The class for all Polynomial time All tractable problems

12 CYK-algorithm

13 Exponential time algorithms:
Represent intractable algorithms: Some problem instances may take centuries to solve

14 Example: the Hamiltonian Problem
s t Question: is there a Hamiltonian path from s to t?

15 s t YES!

16 A solution: search exhaustively all paths
L = {<G,s,t>: there is a Hamiltonian path in G from s to t} Exponential time Intractable problem

17 Example: The Satisfiability Problem
Boolean expressions in Conjunctive Normal Form: Variables Question: is expression satisfiable?

18 Example: Satisfiable:

19 Example: Not satisfiable

20 For variables: exponential Algorithm: search exhaustively all the possible binary values of the variables

21 Non-Determinism Language class: A Non-Deterministic Turing Machine
accepts each string of length in time

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 Time needed: Use a two-tape Turing machine Guess the middle of the string and copy on the second tape Compare the two tapes Total time:

24

25 In a similar way we define the class
for any time function: Examples:

26 Non-Deterministic Polynomial time algorithms:

27 The class for all Non-Deterministic Polynomial time

28 Example: The satisfiability problem Non-Deterministic algorithm: Guess an assignment of the variables Check if this is a satisfying assignment

29 Time for variables: Guess an assignment of the variables Check if this is a satisfying assignment Total time:

30 The satisfiability problem is an - Problem

31 Observation: Deterministic Polynomial Non-Deterministic Polynomial

32 Open Problem: WE DO NOT KNOW THE ANSWER

33 Open Problem: Example: Does the Satisfiability problem have a polynomial time deterministic algorithm? WE DO NOT KNOW THE ANSWER


Download ppt "Time Complexity We use a multitape Turing machine"

Similar presentations


Ads by Google