NP-COMPLETENESS - PowerPoint PPT Presentation

About This Presentation
Title:

NP-COMPLETENESS

Description:

Examples of exponential-time algorithms. NPC Class of algorithms. Approaches to tackle NPC problems. Polynomial ... Strings are defined as sequence of alphabets ... – PowerPoint PPT presentation

Number of Views:40
Avg rating:3.0/5.0
Slides: 22
Provided by: range
Learn more at: https://ranger.uta.edu
Category:

less

Transcript and Presenter's Notes

Title: NP-COMPLETENESS


1
NP-COMPLETENESS
  • PRESENTED BY
  • TUSHAR KUMAR J.
  • RITESH BAGGA

2
OVERVIEW
  • Introduction.
  • Examples of exponential-time algorithms.
  • NPC Class of algorithms.
  • Approaches to tackle NPC problems.
  • Polynomial Reductions.
  • Examples of NPC Problems.

3
Introduction
  • Most of the algorithms, we came across so far
    takes either logarithmic time (O(logn)), linear
    time (O(n)) or polynomial time (O(nk), k2,3,4).
  • But there are some problems, for which we do not
    have polynomial algorithm. Such problems falls
    under the Super polynomial category (taking
    exponential time).
  • The following graph shows a clear distinction
    between the various categories under which the
    algorithm falls according to the running time
    they require -

4
Introduction (1)
Exponential-time
2n
Polynomial-time
n10
F(n)
n3
n2
n
n
5
Examples of problem falling under the Exponential
time category
  • Some of the simple problems, which are very
    similar to problems that requires polynomial time
    falling under the exponential time category are
  • Longest simple path problem (similar to Shortest
    path problem, which requires polynomial time)
    suspected to require exponential time, since
    there is no known polynomial algorithm.
  • Hamiltonian tour visiting all the vertices in a
    graph exactly once, by passing through edges more
    than once, requires exponential time (similar to
    Euler tour problem visiting all the vertices in
    a graph, by passing through each edge exactly
    once, requires polynomial time).

6
Examples of problem falling under the Exponential
time category (1)
  • A good example of a problem which cannot be
    solved in polynomial time is Satisfiability
    problem.
  • Satisfiability problem (SAT problem)
  • Basically a problem from Logic.
  • Generally described using Boolean formula.
  • A Boolean formula involves AND, OR, NOT operators
    and some variables.
  • Ex (x or y) and (x or z), where x, y,
    z are boolean variables.
  • Problem Definition Given a boolean formula
    containing n boolean variables, can you assign
    some values to these variables so that it can be
    true?????

7
Examples of problem falling under the Exponential
time category (2)
  • We generally deal with SAT problems having 2 or 3
    boolean variables in a clause. They are called as
    2SAT and 3SAT problems respectively.
  • Ex 2SAT problem (x or y) and (y
    or z)
  • 3SAT problem (x or y or
    z) and (x or y or z)
  • where x, y, z, x (complement of x) and
    z (complement of z)
  • (.) denotes a clause. In
    the above example for 2SAT problem, the clauses
    are (x or y) and (y or z).
  • 2SAT problems can be solved in polynomial time.
  • But 3SAT problems doesnt have any known
    polynomial time algorithm and it is historically
    found as the first problem which requires
    exponential time.

8
Various classes of problems
  • The problems generally falls into one of the
    three classes Polynomial (P), Non-deterministic
    Polynomial (NP) and NP Completeness (NPC).
  • The figure following represents these classes

9
Various classes of problems (1)
  • P the class of problems that can be solved in
    polynomial time.
  • NP the class of problems whose solutions can
    be verified in polynomial time.
  • NPC the class of problems which belongs to NP
    and atleast as hard as all other problems in NP.

10
Approaches to tackle NPC problems
  • There are three approaches to tackle NPC
    problems. They are
  • Decision problems
  • Easy to solve when compare to other problems.
  • Decision problems output the results as boolean
    value (Yes or No)
  • Hence we convert all the problems into decision
    problems.

11
Approaches to tackle NPC problems (1)
  • Reduction Problems
  • A means of comparing two problems.
  • Suppose A and B are two problems, given that B
    is difficult.
  • We suspect A is difficult.
  • To confirm, we try to solve B using A as
    subroutine.
  • For example
  • We know that the Longest Path Problem (LPP)
    is hard and we can solve Hamiltonian path problem
    using LPP as subroutine. So we can conclude HPP
    is harder than LPP.

12
Approaches to tackle NPC problems (2)
  • Encodings
  • Encoding is a process of converting a problem
    into a language is called as encoding.
  • Strings are defined as sequence of alphabets (?).
  • Languages are set of strings (i.e. we are
    interested in languages with unlimited set of
    strings.
  • Some examples 3SAT equivalent to set of all
    formulas such that each formula is in correct
    syntax and it is satisfiable.
  • Suppose we have 20 variables, so we can use 0,1
    to represent these 20 variables, to represent
    OR and to represent AND. Thus we can encode
    these formulas using set of the above characters
    all strings over 0,1,,
  • Now the problem of solving 3SAT (any decision
    problem can be reduced to language recognition
    problem).

?
13
Polynomial Reductions
  • Given two problems P1 and P2, if all strings in
    P1 can be mapped to strings in P2 using a mapping
    algorithm in polynomial time. we can say that P2
    is polynomially harder than P1.
  • P1 ltp P2
  • Formal definition of NP- complete
  • A problem P belongs to NP- complete if
    it belongs to the class NP and P1 belongs
    to NP, P1 ltp P2


14
Polynomial Reductions (1)
S
S
P2
P1
Polynomial-time Matching-algorithm
lt
P1
P2
15
Cooks Theorem
  • Stephen Cook founded the first NP- complete
    problem (3SAT) .
  • 3SAT problem was proved to be the most difficult
    problem in the class of NP- complete problems.
  • To prove a new problem p is NP- complete, we
    need to
  • prove p is in NP
  • Any known NP- complete problem p

p
16
Examples of NPC problems
  • 3SAT We will prove that it is a NPC problem.
    Suppose we have m clauses with n variables (3
    in each clause), so we need to try all possible
    sets of solutions. Thus we have 2n sets of
    possible solutions. So it is a NPC problem.
  • Clique It is a subgraph of a graph which
    contains all possible edges between each pair of
    vertices in the subgraph. To prove clique is a
    NPC problem, we compare with 3SAT problem. It can
    be reduced to decision problem, where input G,K
  • output Yes, if clique with atleast
    K nodes exists,
  • No, otherwise

17
Examples of NPC problems (1)
  • For example (x1 OR x2 OR x3) AND (x1 OR x2
    OR X3) AND (x1 OR x2 OR x3). This is a 3SAT
    problem and we will create a graph from it. We
    will put all possible edges, except edges in the
    same clause and between a variable and its
    negation.
  • Graph showing
    Clique

18
Examples of NPC problems (2)
  • Note Red nodes denotes negation.

19
Examples of NPC problems (3)
  • For 3SAT problem to be satisfiable, one variable
    from each clause should be true. Suppose there
    are m clauses, then it is satisfiable if the
    equivalent graph has a clique of size atleast
    m.
  • If it is given that 3SAT problem is satisfiable,
    then we can select one variable from each clause
    to form a clique of size atleast m, as there
    will be atleast m inter-connected nodes (one
    true node from each clause).

20
Examples of NPC problems (4)
  • Maximum Independent Set Problem It is defined
    as a set of vertices with no edges in between.
    Its equivalent decision problem is, given a graph
    G and some number t. Thus there exists an
    independent set of size gt K?
  • A clique problem can be reduced to maximum
    independent set problem. Given a problem to find
    a clique of size K in a graph G is equivalent
    to finding a maximum independent set
  • in G (complement of G).

21
Examples of NPC problems (5)
1
2
2
3
3
4
6
5
6
4
5
Graph G has a clique of size 4 (2,3,4,5)
Graph G has a maximum independent set of size 4
(2,3,4,5)
Write a Comment
User Comments (0)
About PowerShow.com