APPROXIMATION ALGORITHMS VERTEX COVER – MAX CUT PROBLEMS

Slides:



Advertisements
Similar presentations
C&O 355 Lecture 23 N. Harvey TexPoint fonts used in EMF. Read the TexPoint manual before you delete this box.: A A A A A A A A A A.
Advertisements

Theory of Computing Lecture 18 MAS 714 Hartmut Klauck.
Lecture 24 Coping with NPC and Unsolvable problems. When a problem is unsolvable, that's generally very bad news: it means there is no general algorithm.
Approximation Algorithms for TSP
Department of Computer Science & Engineering
NP-complete and NP-hard problems Transitivity of polynomial-time many-one reductions Concept of Completeness and hardness for a complexity class Definition.
1 NP-Complete Problems. 2 We discuss some hard problems:  how hard? (computational complexity)  what makes them hard?  any solutions? Definitions 
Complexity ©D Moshkovitz 1 Approximation Algorithms Is Close Enough Good Enough?
Approximation Algorithms Chapter 5: k-center. Overview n Main issue: Parametric pruning –Technique for approximation algorithms n 2-approx. algorithm.
CS774. Markov Random Field : Theory and Application Lecture 17 Kyomin Jung KAIST Nov
Umans Complexity Theory Lectures Lecture 15: Approximation Algorithms and Probabilistically Checkable Proofs (PCPs)
PCPs and Inapproximability Introduction. My T. Thai 2 Why Approximation Algorithms  Problems that we cannot find an optimal solution.
Complexity 16-1 Complexity Andrei Bulatov Non-Approximability.
CSC5160 Topics in Algorithms Tutorial 2 Introduction to NP-Complete Problems Feb Jerry Le
Computability and Complexity 23-1 Computability and Complexity Andrei Bulatov Search and Optimization.
Approximation Algorithms
February 23, 2015CS21 Lecture 201 CS21 Decidability and Tractability Lecture 20 February 23, 2015.
NP-Complete Problems Reading Material: Chapter 10 Sections 1, 2, 3, and 4 only.
1 CSE 417: Algorithms and Computational Complexity Winter 2001 Lecture 23 Instructor: Paul Beame.
Computability and Complexity 24-1 Computability and Complexity Andrei Bulatov Approximation.
A 2-Approximation algorithm for finding an optimum 3-Vertex-Connected Spanning Subgraph.
1 Combinatorial Dominance Analysis Keywords: Combinatorial Optimization (CO) Approximation Algorithms (AA) Approximation Ratio (a.r) Combinatorial Dominance.
Vertex cover problem S  V such that for every {u,v}  E u  S or v  S (or both)
Toward NP-Completeness: Introduction Almost all the algorithms we studies so far were bounded by some polynomial in the size of the input, so we call them.
An introduction to Approximation Algorithms Presented By Iman Sadeghi.
1 Introduction to Approximation Algorithms Lecture 15: Mar 5.
Approximation Algorithms Motivation and Definitions TSP Vertex Cover Scheduling.
Packing Element-Disjoint Steiner Trees Mohammad R. Salavatipour Department of Computing Science University of Alberta Joint with Joseph Cheriyan Department.
The Theory of NP-Completeness 1. Nondeterministic algorithms A nondeterminstic algorithm consists of phase 1: guessing phase 2: checking If the checking.
1 Introduction to Approximation Algorithms. 2 NP-completeness Do your best then.
Approximation Algorithms Department of Mathematics and Computer Science Drexel University.
NP-Completeness: 3D Matching
1 The TSP : NP-Completeness Approximation and Hardness of Approximation All exact science is dominated by the idea of approximation. -- Bertrand Russell.
Approximation Algorithms for NP-hard Combinatorial Problems Magnús M. Halldórsson Reykjavik University
1 Approximation Algorithm Instructor: yedeshi
Approximating Minimum Bounded Degree Spanning Tree (MBDST) Mohit Singh and Lap Chi Lau “Approximating Minimum Bounded DegreeApproximating Minimum Bounded.
1 Introduction to Approximation Algorithms. 2 NP-completeness Do your best then.
Lecture 22 More NPC problems
NP-complete Problems SAT 3SAT Independent Set Hamiltonian Cycle
Approximation Algorithms
EMIS 8373: Integer Programming NP-Complete Problems updated 21 April 2009.
1 Approximate Algorithms (chap. 35) Motivation: –Many problems are NP-complete, so unlikely find efficient algorithms –Three ways to get around: If input.
CSCI 3160 Design and Analysis of Algorithms Chengyu Lin.
Unit 9: Coping with NP-Completeness
NP-Complete Problems. Running Time v.s. Input Size Concern with problems whose complexity may be described by exponential functions. Tractable problems.
NP-completeness NP-complete problems. Homework Vertex Cover Instance. A graph G and an integer k. Question. Is there a vertex cover of cardinality k?
1 Approximation algorithms Algorithms and Networks 2015/2016 Hans L. Bodlaender Johan M. M. van Rooij TexPoint fonts used in EMF. Read the TexPoint manual.
Algorithms for hard problems Introduction Juris Viksna, 2015.
NP Completeness Piyush Kumar. Today Reductions Proving Lower Bounds revisited Decision and Optimization Problems SAT and 3-SAT P Vs NP Dealing with NP-Complete.
Approximation Algorithms by bounding the OPT Instructor Neelima Gupta
MCS 312: NP Completeness and Approximation Algorithms Instructor Neelima Gupta
Approximation Algorithms Department of Mathematics and Computer Science Drexel University.
COSC 3101A - Design and Analysis of Algorithms 14 NP-Completeness.
Approximation Algorithms based on linear programming.
COMPLEXITY. Satisfiability(SAT) problem Conjunctive normal form(CNF): Let S be a Boolean expression in CNF. That is, S is the product(and) of several.
TU/e Algorithms (2IL15) – Lecture 11 1 Approximation Algorithms.
Fixed Parameter Tractability for Graph Drawing Sue Whitesides Computer Science Department.
ICS 353: Design and Analysis of Algorithms NP-Complete Problems King Fahd University of Petroleum & Minerals Information & Computer Science Department.
More NP-Complete and NP-hard Problems
P & NP.
An introduction to Approximation Algorithms Presented By Iman Sadeghi
Approximate Algorithms (chap. 35)
The Taxi Scheduling Problem
CS21 Decidability and Tractability
Computability and Complexity
Approximation algorithms
Coverage Approximation Algorithms
Approximation Algorithms
Ch09 _2 Approximation algorithm
Instructor: Aaron Roth
Presentation transcript:

APPROXIMATION ALGORITHMS VERTEX COVER – MAX CUT PROBLEMS SELIM KALAYCI FIU-SCS 04/13/2005

Motivation Some optimization problems are “NP-hard” (by hardness of related decision problem), there is no poly-time algorithm unless P = NP. • largest clique • smallest vertex cover • largest maximum cut • . . . But: sometimes sub-optimal solutions are kind of OK • pretty large clique • pretty small vertex cover • pretty large maximum cut if algorithms run in poly time (preferably small exponents).

APPROXIMATION ALGORITHMS Definition:Approximation algorithm An approximation algorithm for a problem is a polynomial-time algorithm that, when given input I, outputs an element of FS(I). Feasible solution set A feasible solution is an object of the right type but not necessarily an optimal one. FS(I) is the set of feasible solutions for I.

APPROXIMATION RATIO 1 ≤ Max (O/O*, O*/O) ≤ ρ(n) Approximation algorithm has approximation ratio of ρ(n), if for any input of size n, the outcome O of its solution is within factor ρ(n) of outcome of optimal solution O*, i.e. 1 ≤ Max (O/O*, O*/O) ≤ ρ(n) Minimization problem Maximization problem

APPROXIMATION RATIO An algorithm with guaranteed approximation ratio of ρ(n) is called a ρ(n)-approximation algorithm. A 1-approximation algorithm is optimal, and the larger the ratio, the worse the solution. • For many NP-complete problems, constant-factor approximations(i.e. computed clique is always at least half the size of maximum-size clique), • Sometimes best known approx ratio grows with n,

VERTEX COVER PROBLEM Problem: Given graph G = (V,E), find smallest s.t. if (u, v) E, then u V′ or v V′ or both. Decision problem is NP-complete (3SAT ≤p VC, Sipser 7.5) Optimization problem is at least as hard.

VERTEX COVER ALGORITHM Here is a trivial 2-approximation algorithm Input is some graph G = (V,E). APPROX-VERTEX-COVER 1: C ← Ø ; 2: E′ ← E 3: while E′ ≠ Ø; do 4: let (u, v) be an arbitrary edge of E′ 5: C ← C {(u, v)} 6: remove from E′ all edges incident on either u or v 7: end while

VERTEX COVER EXAMPLE Input Graph Optimal result, Size 3 a b c e d f g

VECTOR COVER ALGORITHM EXAMPLE b c e d f g a b c e d f g Step 1: choose edge (c,e) Step 2: choose edge (d,g) a b c e d f g a b c e d f g Step 3: choose edge (a,b) Result: Size 6

PROOF Theorem. APPROX-VERTEX-COVER is a poly-time 2-approximation algorithm. Proof. The running time is trivially bounded by O(V * E) (at most |E| iterations, each of complexity at most O(V )). Correctness: C clearly is a vertex cover.

PROOF cont. Size of the cover: let A denote set of edges that are picked ({(c, e), (d, g), (a, b)} in example). 1. In order to cover edges in A, any vertex cover, in particular an optimal cover C*, must include at least one endpoint of each edge in A. By construction of the algorithm, no two edges in A share an endpoint (once edge is picked, all edges incident on either endpoint are removed). Therefore, no two edges in A are covered by the same vertex in C*, and |C*| ≥ |A|. 2. When an edge is picked, neither endpoint is already in C, thus |C| = 2|A|. Combining (1) and (2) yields |C| = 2|A| ≤ 2|C*| q.e.d

MAX CUT PROBLEM Given an undirected graph G (V,E): Separate vertices of G into two disjoint sets S and T, such that number of cut edges is maximum. (Maximization Problem) Cut edge: An edge between a node in S and a node in T.

MAX-CUT ALGORITHM Another 2-approximation algorithm : Given G (V,E) 1- S ← Ø and T ← V 2- If moving a single node from S to T, or from T to S increases the number of cut edges, make the move. Repeat 2. 3- Output the number of cut edges.

QUESTIONS