NPComplete Problems - PowerPoint PPT Presentation

About This Presentation
Title:

NPComplete Problems

Description:

... boolean formula f is said to be satisfiable if there is a truth assignment to ... Question: Is f satisfiable? Theorem: Satisfiability is NP-Complete ... – PowerPoint PPT presentation

Number of Views:28
Avg rating:3.0/5.0
Slides: 23
Provided by: wasfiga
Category:

less

Transcript and Presenter's Notes

Title: NPComplete Problems


1
NP-Complete Problems
  • Reading Material Chapter 10 Sections 1, 2, 3,
    and 4 only.

2
NP-Complete Problems
  • Problems in Computer Science are classified into
  • Tractable There exists a polynomial time
    algorithm that solves the problem
  • O(nk)
  • Intractable Unlikely for a polynomial time
    algorithm solution to exist
  • NP-Complete Problems

3
Decision Problems vs. Optimization Problems
  • Decision Problem Yes/no answer
  • Optimization Problem Maximization or
    minimization of a certain quantity
  • When studying NP-Completeness, it is easier to
    deal with decision problems than optimization
    problems

4
Element Uniqueness Problem
  • Decision Problem Element Uniqueness
  • Input A sequence of integers S
  • Question Are there two elements in S that are
    equal?
  • Optimization Problem Element Count
  • Input A sequence of integers S
  • Output An element in S of highest frequency
  • What is the algorithm to solve this problem? How
    much does it cost?

5
Coloring a Graph
  • Decision Problem Coloring
  • Input G(V,E) undirected graph and k??, k gt 0.
  • Question Is G k-colorable?
  • Optimization Problem Chromatic Number
  • Input G(V,E) undirected graph
  • Output The chromatic number of G,??(G)
  • i.e. the minimum number ??(G) of colors needed to
    color a graph in such a way that no two adjacent
    vertices have the same color.

6
Clique
  • Definition A clique of size k in G, for some ve
    integer k, is a complete subgraph of G with k
    vertices.
  • Decision Problem
  • Input
  • Question
  • Optimization Problem
  • Input
  • Output

7
Vertex Cover
  • Definition A vertex cover of an undirected graph
    G(V,E) is a subset C?? V such that each edge
    e(x,y) ? E is incident to at least one vertex in
    C, i.e. x ? C or y ? C.
  • Decision Problem
  • Input
  • Question
  • Optimization Problem
  • Input
  • Output

8
Independent Set
  • Definition Given an undirected graph G(V,E) a
    subset S?? V is called an independent set if for
    each pair of vertices x, y ? S, (x,y) ? E
  • Decision Problem
  • Input
  • Question
  • Optimization Problem
  • Input
  • Output

9
From Decision To Optimization
  • For a given problem, assume we were able to find
    a solution to the decision problem in polynomial
    time. Can we find a solution to the optimization
    problem in polynomial time also?

10
Deterministic Algorithms
  • Definition Let A be an algorithm to solve
    problem??. A is called deterministic if, when
    presented with an instance of the problem ?, it
    has only one choice in each step throughout its
    execution.
  • If we run A again and again, is there a
    possibility that the output may change?
  • What type of algorithms did we have so far?

11
The Class P
  • Definition The class of decision problems P
    consists of those whose yes/no solution can be
    obtained using a deterministic algorithm that
    runs in polynomial time of steps, i.e. O(nk),
    where k is a non-negative integer and n is the
    input size.

12
Examples
  • Sorting Given n integers, are they sorted in
    non-decreasing order?
  • Set Disjointness Given two sets of integers, are
    they disjoint?
  • Shortest path
  • 2-coloring
  • Theorem A graph G is 2-colorable if and only if
    G is bipartite

13
Closure Under Complementation
  • A class C of problems is closed under
    complementation if for any problem ? ? C the
    complement of ? is also in C.
  • Theorem The class P is closed under
    complementation

14
Non-Deterministic Algorithms
  • A non-deterministic algorithm A on input x
    consists of two phases
  • Guessing An arbitrary string of characters y
    is generated in polynomial time. It may
  • Correspond to a solution
  • Not correspond to a solution
  • Not be in proper format of a solution
  • Differ from one run to another
  • Verification A deterministic algorithm verifies
  • The generated string of characters y is in
    proper format
  • Whether y is a solution
  • in polynomial time

15
Non-Deterministic Algorithms (Cont.)
  • Definition Let A be a nondeterministic algorithm
    for a problem ?. We say that A accepts an
    instance I of ? if and only if on input I, there
    exists a guess that leads to a yes answer.
  • Does it mean that if an algorithm A on a given
    input I leads to an answer of no for a certain
    guess, that it does not accept it?
  • What is the running time of a non-deterministic
    algorithm?

16
The Class NP
  • Definition The class of decision problems NP
    consists of those decision problems for which
    there exists a nondeterministic algorithm that
    runs in polynomial time

17
Example
  • Show that the coloring problem belongs to the
    class of NP problems

18
P and NP Problems
  • What is the difference between P problems and NP
    Problems?
  • We can decide/solve problems in P using
    deterministic algorithms that run in polynomial
    time
  • We can check or verify the solution of NP
    problems in polynomial time using a deterministic
    algorithm
  • What is the set relationship between the classes
    P and NP?

19
NP-Complete Problems
  • Definition Let ?? and ? be two decision
    problems. We say that ?? reduces to ? in
    polynomial time, denoted by ????poly ?, if there
    exists a deterministic algorithm A that behaves
    as follows When A is presented with an instance
    I of problem ??, it transforms it into an
    instance I of problem ?? in polynomial time such
    that the answer to I is yes if and only if the
    answer to I is yes.

20
NP-Hard and NP-Complete
  • Definition A decision problem ?? is said to be
    NP-hard if ???? NP, ????poly ?.
  • Definition A decision problem ?? is said to be
    NP-complete if
  • ???? NP
  • ???? NP, ????poly ?.
  • What is the difference between an NP-complete
    problem and an NP-hard problem?

21
Conjunctive Normal Forms
  • Definition A clause is the disjunction of
    literals, where a literal is a boolean variable
    or its negation
  • E.g., x1 ? x2 ? x3 ? x4
  • Definition A boolean formula f is said to be in
    conjunctive normal form (CNF) if it is the
    conjunction of clauses.
  • E.g., (x1 ? x2) ? (x1 ? x5) ? (x2 ? x3 ? x4 ?
    x6)
  • Definition A boolean formula f is said to be
    satisfiable if there is a truth assignment to its
    variables that makes it true.

22
The Satisfiability Problem
  • Input A CNF boolean formula f.
  • Question Is f satisfiable?
  • Theorem Satisfiability is NP-Complete
  • Satisfiability is the first problem to be proven
    as NP-Complete
  • The proof includes reducing every problem in NP
    to Satisfiability in polynomial time.
Write a Comment
User Comments (0)
About PowerShow.com