time complexity p vs np. consider a deterministic turing machine which decides a language

Post on 01-Apr-2015

216 Views

Category:

Documents

3 Downloads

Preview:

Click to see full reader

TRANSCRIPT

Time ComplexityP vs NP

ML

Consider a deterministic Turing Machinewhich decides a language

For any string the computation ofterminates in a finite amount of transitions

w M

Acceptor Reject w

Initialstate

Acceptor Reject w

Decision Time = #transitions

Initialstate

Consider now all strings of lengthn

)(nTM = maximum time required to decide any string of length n

)(nTM

Max time to accept a string of length n

1 2 3 4 n STRING LENGTH

TIM

E

Time Complexity Class: ))(( nTTIME

All Languages decidable by a deterministic Turing Machinein time

1L 2L

3L

))(( nTO

Example: }0:{1 nbaL n

This can be decided in time)(nO

)(nTIME

}0:{1 nbaL n

)(nTIME

}0:{1 nbaL n

}0,:{ knabaabn

}even is :{ nbn

Other example problems in the same class

}3:{ knbn

)( 2nTIME

}0:{ nba nn

Examples in class:

}},{:{ bawwwR

}},{:{ bawww

)( 3nTIMEExamples in class:

} grammar free-context

by generated is :,{2

G

wwGL

} and

matrices :,,{

321

3213

MMM

nnMMML

CYK algorithm

Matrix multiplication

Polynomial time algorithms: )( knTIME

Represents tractable algorithms:

for small we can decidethe result fast

k

constant 0k

)( knTIME

)( 1knTIME

)()( 1 kk nTIMEnTIME It can be shown:

0

)(

k

knTIMEP

The Time Complexity Class P

•“tractable” problems

•polynomial time algorithms

Represents:

P

CYK-algorithm

}{ nnba }{ww

Class

Matrix multiplication

}{ ban

Exponential time algorithms: )2(knTIME

Represent intractable algorithms:

Some problem instancesmay take centuries to solve

Example: the Hamiltonian Path Problem

Question: is there a Hamiltonian path from s to t?

s t

s t

YES!

)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}

The clique problem

Does there exist a clique of size 5?

The clique problem

Does there exist a clique of size 5?

Example: The Satisfiability Problem

Boolean expressions inConjunctive Normal Form:

ktttt 321

pi xxxxt 321

Variables

Question: is the expression satisfiable?

clauses

)()( 3121 xxxx

Satisfiable: 1,1,0 321 xxx

1)()( 3121 xxxx

Example:

2121 )( xxxx

Not satisfiable

Example:

e}satisfiabl is expression :{ wwL

)2(knTIMEL

Algorithm: search exhaustively all the possible binary values of the variables

exponential

Non-Determinism

Language class: ))(( nTNTIME

A Non-Deterministic Turing Machine decides each string of length in time

1L

2L3L

))(( nTO

n

Non-Deterministic Polynomial time algorithms:

)( knNTIMEL

0

)(

k

knNTIMENP

The class NP

Non-Deterministic Polynomial time

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

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

e}satisfiabl is expression :{ wwL

NPL

The satisfiability problem is an - ProblemNP

Observation:

NPP

DeterministicPolynomial

Non-DeterministicPolynomial

Open Problem: ?NPP

WE DO NOT KNOW THE ANSWER

Example: Does the Satisfiability problem have a polynomial time deterministic algorithm?

WE DO NOT KNOW THE ANSWER

Open Problem: ?NPP

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).

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.

top related