Computability and Complexity - PowerPoint PPT Presentation

1 / 21
About This Presentation
Title:

Computability and Complexity

Description:

Must be robust, that is independent of the model of computation ... A B and B P implies A P. Proof: The composition of polynomials is a polynomial ... – PowerPoint PPT presentation

Number of Views:59
Avg rating:3.0/5.0
Slides: 22
Provided by: computingl
Category:

less

Transcript and Presenter's Notes

Title: Computability and Complexity


1
Computability and Complexity
12-1
The Class P
Computability and Complexity Andrei Bulatov
2
Computability and Complexity
12-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

3
Computability and Complexity
12-3
4
Computability and Complexity
12-4
Different Models of Computation
Lemma 1. We can simulate t steps of a
k-tape TM with an equivalent one-tape TM
in steps.
Lemma 2. We can simulate t steps of a RAM
computation with a 3-tape TM in
steps.
It seems that improving our machines we can
obtain any polynomial speed-up!
5
Computability and Complexity
12-5
Different Encodings
Lemma 3. For any number n, the length of
the encoding of n in base and the
length of the encoding of n in base are
related by a constant factor (provided
)
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
Computability and Complexity
12-6
The Class P
Definition
Note
  • The class P contains all classes
    TIMEt(n), where t(n) is a
  • polynomial of finite degree

7
Computability and Complexity
12-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
Computability and Complexity
12-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
Computability and Complexity
12-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
Computability and Complexity
12-10
A Problem in P
(When g1 this is equivalent to the problem
Relatively Prime)
11
Computability and Complexity
12-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
Computability and Complexity
12-12
The Satisfiability Problem
13
Computability and Complexity
12-13
Resolution
Axioms a set of clauses
Proof rules
  • resolution
  • C (X ? C?), D ? ??X ? D??
  • C, D ?? ?C? ? D??
  • (?C? ? D?? is called the resolvent of C
    and D)

R
14
Computability and Complexity
12-14
Example
Proof
This algorithm works in , because
the number of all possible 2-clauses is related
by a quadratic factor to the number of variables
15
Computability and Complexity
12-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 2

16
Computability and Complexity
12-16
Polynomial-time reducibility
Another way to prove that a problem is in P is
to use a reduction
Definition A language A is polynomially
reducible to a language B , denoted A ? B, if
a polynomial-time computable function f exists
such that for all
This fundamental tool of complexity theory was
introduced by Karp in 1972
17
Computability and Complexity
12-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
Computability and Complexity
12-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.
Define the function f by setting
Since A ? P, f is computable in
polynomial-time, and is a reduction from A to B
19
Computability and Complexity
12-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
Computability and Complexity
12-20
2-Colourability ? 2-Satisfiability
We can reduce 2-COLOURABILITY to
2-SATISFIABILITY
  • For each vertex the graph we create a
    variable
  • For each edge we add two clauses

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
Computability and Complexity
12-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