Complexity - PowerPoint PPT Presentation

About This Presentation
Title:

Complexity

Description:

Lemma 1. We can simulate t steps of a k-tape TM with an equivalent one-tape. TM in steps. ... Lemma 3. For any number n, the length of the encoding of n in base and ... – PowerPoint PPT presentation

Number of Views:44
Avg rating:3.0/5.0
Slides: 22
Provided by: computingl
Category:
Tags: complexity | lemma

less

Transcript and Presenter's Notes

Title: Complexity


1
Complexity
6-1
The Class P
Complexity Andrei Bulatov
2
Complexity
6-2
The Class of Easy Problems
Requirements to such a class
  • Practical
  • Must capture the idea of tractable
    problems
  • Theoretical
  • Must be robust, that is independent of
    the model of computation
  • Must be closed under substitutions

3
Complexity
6-3
4
Complexity
6-4
Different Models of Computation
It seems that improving our machines we can
obtain any polynomial speed-up!
5
Complexity
6-5
Different Encodings
Lemma 4. For any graph G, the length of
the encoding of G as an adjacency matrix,
and the length of the encoding of G as a list
of edges, are both related by a polynomial
factor to the number of vertices
It seems that improving encodings we can shorten
the input by a polynomial factor!
6
Complexity
6-6
The Class P
7
Complexity
6-7
Robustness of P
The class P is the same for all existing
models of computation (except for quantum
computation)
The class P is the same for all existing
methods of encoding
The class P is said to be robust it is a
mathematical object that does not depend on the
exact details of the computational model or
encoding
In fact, P can be define in ways that do not
refer to machines at all (but we will not pursue
that idea here)
8
Complexity
6-8
P ? doable?
The class P is a reasonable mathematical model
of the class of Problems which are tractable or
solvable in practice
However, the correspondence is not exact
  • When the degree of the polynomial is high then
    the time grows
  • so fast that in practice the problem is not
    solvable
  • The constants may also be very large

(These problems usually seem to arise only in
artificially created problems for naturally
defined problems the polynomials and
constants are not too large)
  • Some algorithms, exponential in principal,
    works satisfactory
  • in practice (e.g. Simplex method for
    Linear Programming)

9
Complexity
6-9
Proving a Problem is in P
  • The most direct way to show that a problem is
    in P is to give a
  • a polynomial time algorithm that solves it
  • Even a naive polynomial time algorithm often
    provides a good
  • insight into how the problem can be solved
    efficiently
  • To find such an algorithm we generally need
    to identify an approach
  • to the problem that is considerably better
    than brute-force search
  • Because of robustness, we do not generally
    need to specify all the
  • details of the machine model or even the
    encoding (e.g. pseudo-code
  • is sufficient)

10
Complexity
6-10
A Problem in P
(When g1 this is equivalent to the problem
Relatively Prime)
11
Complexity
6-11
Proof GCD(a,b) can be computed by
Euclids algorithm
Function GCD(a,b) integer begin if b0
then GCD(a,b) a else GCD
GCD(b,a mod b) end
This algorithm polynomial in the length of the
input numbers (logarithmic in their value)
12
Complexity
6-12
The Satisfiability Problem
13
Complexity
6-13
Resolution
Axioms a set of clauses
Proof rules
14
Complexity
6-14
Example
Proof
15
Complexity
6-15
A Better Algorithm for 2-Satisfiability
  • Declare all clauses unsatisfied and literals
    unassigned
  • Select an arbitrary unassigned variable X and
    assign X true, ?X false
  • Select an unsatisfied clause
  • Repeat step 3, until either
  • if neither literal is assigned, ignore
  • if either literal is assigned true, declare
    clause satisfied
  • if both are false, restart the algorithm setting
    X false, and ?X true. If a conflict occurs
    again, declare unsatisfiable
  • if one literal false, other unsatisfied, set the
    other to true, its negation to false, and
    declare the clause satisfied
  • all clauses are satisfied, return satisfiable
  • All clauses remaining unsatisfied have no
    variables assigned. In this case return to step 1

16
Complexity
6-16
Polynomial-time reducibility
Another way to prove that a problem is in P is
to use a reduction
This fundamental tool of complexity theory was
introduced by Karp in 1972
17
Complexity
6-17
Key Property of Polynomial-time Reducibility
Lemma A ? B and B ? P implies A ? P
Proof The composition of polynomials is a
polynomial
18
Complexity
6-18
Reductions in P
Almost all members of P can be reduced to each
other
Theorem If B is any language in
P, B ? ?, B ? ?, then for any A ?
P, A ? B
Proof Choose w ? B and some w? ? B.
Since A ? P, f is computable in
polynomial-time, and is a reduction from A to B
19
Complexity
6-19
Colourability
  • Let G ? (V,E) be a graph, with nodes V
    and edges E
  • A function f V ? 1,,n is a (proper)
    colouring if connected
  • nodes are assigned different values (?
    colours)

(When k 2 this is equivalent to Bipartite)
20
Complexity
6-20
2-Colourability ? 2-Satisfiability
We can reduce 2-COLOURABILITY to
2-SATISFIABILITY
This translation of a 2-COLOURABILITY problem
to a 2-SATISFIABILITY problem is computable in
polynomial time. Now we check it satisfies the
reducibility condition
  • If graph is 2-colourable, use 2-colouring to
    assign truth values to
  • variables (one colour is true, the other
    false)
  • If formula satisfiable, define 2-colouring by
    setting true variables
  • to colour 1 and false to colour 2, if
    adjacent vertices get same
  • colour one of the associated clauses is not
    satisfied, hence must
  • have 2-colouring

21
Complexity
6-21
An Aside
Some problems have been shown to be in P by
non-constructive arguments (i.e. by proving a
polynomial time algorithm must exist).
E.g. the problem Knotlessness can a given
graph be embedded in 3-dimensional space without
knots
In these cases we may not even know how to find
an exponential algorithm!
(See Bovet and Cresceni for more discussion of
this)
Write a Comment
User Comments (0)
About PowerShow.com