Loading...

PPT – ICS 353: Design and Analysis of Algorithms PowerPoint presentation | free to view - id: 71c821-Mzc2N

The Adobe Flash plugin is needed to view this content

ICS 353 Design and Analysis of Algorithms

King Fahd University of Petroleum

Minerals Information Computer Science Department

- NP-Complete Problems

Reading Assignment

- M. Alsuwaiyel, Introduction to Algorithms Design

Techniques and Analysis, World Scientific

Publishing Co., Inc. 1999. - Chapter 10 Sections 1 4

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

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

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?

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.

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

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

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

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?

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?

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.

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

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

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

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?

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

Example

- Show that the coloring problem belongs to the

class of NP problems

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?

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.

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?

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.

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.

Transitivity of ??poly

- Theorem Let ?, ?, and ? be three decision

problems such that ? ?poly ? and ???poly ?.

Then ???poly ?. - Proof
- Corollary If ?, ?? NP such that ? ?poly ? and

? ? NP-complete, then ? ? NP-complete - Proof
- How can we prove that ? ? NP-hard?
- How can we prove that ? ? NP-complete?

Proving NP-Completeness

SAT

3-CNF-SAT

Subset-Sum

Example NP-Complete Problems

- 3-CNF-SAT
- Input Boolean formula f in CNF, such that each

clause consists of exactly three literals. - Question Is f satisfiable.
- Hamiltonian Cycle
- Input G (V,E), undirected graph.
- Does G have a cycle that visits each vertex

exactly once (Hamiltonian Cycle)? - Traveling Salesman
- Input A set of n cities with their intercity

distances and an integer k. - Question Does there exist a tour of length less

than or equal to k? A tour is a cycle that visits

each vertex exactly once.

Example 1

- Show that the traveling salesman problem is

NP-complete, assuming that the Hamiltonian cycle

problem is NP-complete.

Example 2

- Prove that the Problem Clique is NP-Complete.
- Proof
- Clique ? NP
- Clique ? NP-Hard
- SAT ?poly Clique

Example 3

- Prove that the problem Vertex Cover is

NP-Complete - Proof

Example 4

- Prove that the problem Independent Set is

NP-Complete - Proof

Example NP-Complete Problems (Cont.)

- Subset Sum
- 3-Coloring
- 3D-Matching
- Hamiltonian Path
- Partition
- Knapsack
- Bin Packing
- Set Cover
- Multiprocessor Scheduling
- Longest Path