Time Complexity

1 / 33

# Time Complexity - PowerPoint PPT Presentation

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

I am the owner, or an agent authorized to act on behalf of the owner, of the copyrighted work described.

## PowerPoint Slideshow about 'Time Complexity' - hamish-medina

Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author.While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server.

- - - - - - - - - - - - - - - - - - - - - - - - - - E N D - - - - - - - - - - - - - - - - - - - - - - - - - -
Presentation Transcript
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

COMP 335

Example:

Algorithm to accept a string :

• Use a two-tape Turing machine
• Copy the on the second tape
• Compare the and

COMP 335

Time needed:

• Copy the on the second tape
• Compare the and

Total time:

COMP 335

For string of length

time needed for acceptance:

COMP 335

Language class:

A Deterministic Turing Machine

accepts each string of length

in time

COMP 335

In a similar way we define the class

for any time function:

Examples:

COMP 335

Example: The membership problem

for context free languages

(CYK - algorithm)

Polynomial time

COMP 335

Theorem:

COMP 335

Polynomial time algorithms:

Represent tractable algorithms:

For small we can compute the

result fast

COMP 335

The class

for all

• Polynomial time
• All tractable problems

COMP 335

Exponential time algorithms:

Represent intractable algorithms:

Some problem instances

may take centuries to solve

COMP 335

Example: the Hamiltonian Problem

s

t

Question: is there a Hamiltonian path

from s to t?

COMP 335

s

t

YES!

COMP 335

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

COMP 335

Example: The Satisfiability Problem

Boolean expressions in

Conjunctive Normal Form:

Variables

Question: is expression satisfiable?

COMP 335

Example:

Satisfiable:

COMP 335

Example:

Not satisfiable

COMP 335

For variables:

exponential

Algorithm:

search exhaustively all the possible

binary values of the variables

COMP 335

Non-Determinism

Language class:

A Non-Deterministic Turing Machine

accepts each string of length

in time

COMP 335

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

COMP 335

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:

COMP 335

In a similar way we define the class

for any time function:

Examples:

COMP 335

The class

for all

Non-Deterministic Polynomial time

COMP 335

The satisfiability problem

Example:

Non-Deterministic algorithm:

• Guess an assignment of the variables
• Check if this is a satisfying assignment

COMP 335

Time for variables:

• Guess an assignment of the variables
• Check if this is a satisfying assignment

Total time:

COMP 335

Observation:

Deterministic

Polynomial

Non-Deterministic

Polynomial

COMP 335

Open Problem:

WE DO NOT KNOW THE ANSWER

COMP 335

Open Problem:

Example: Does the Satisfiability problem

have a polynomial time

deterministic algorithm?

WE DO NOT KNOW THE ANSWER

COMP 335