Lecture12

Lecture12 - CME 305: Discrete Mathematics and Algorithms...

Info iconThis preview shows pages 1–2. Sign up to view the full content.

View Full Document Right Arrow Icon
Instructor: Professor Amin Saberi (saberi@stanford.edu) February 11, 2010 Lecture 12: Approximation Algorithms I In the last lecture, we categorized the problems in terms of their complexity. We defined classes P , NP , and Co-NP and proved P NP ; similarly we have P Co - NP ; however it has been conjectured that P NP Co - NP . Problems such as computing Nash equilibrium of a game and graph isomorphism belong to NP Co - NP , however, there is no polynomial-time algorithms known for these problems. Question: What do we do if the problem we wish to solve is intractable? Answer: There are 3 basic approaches: Exploit special problem structure: perhaps we do not need to solve the general case of the problem but rather a tractable special version, Heuristics: procedures that hopefully give reasonable estimates but for which there are no proven results, Approximation algorithms: procedures which are proven to give solutions within a factor of the opti- mum. In this lecture, we will focus on the last approach. Definition: An algorithm is a factor α approximation for a problem iff for every instance of the problem it can find a solution within factor α of the optimum solution. If the problem at hand is a minimization then α > 1 and it implies that the solution found by the algorithm is at most α times of the optimum solution. But if the problem is a maximization, α < 1 and it guarantees that the sub-optimal solution is at least α times the optimum. For the rest of this lecture, when we talk about an optimization problem, we mean a minimization. One of the most difficult challenges in the analysis of approximation algorithms is to find a lower bound of value of the optimal solution. Example: (Minimum Vertex Cover) Given a graph G ( V,E ), find a subset S V with minimum cardinality such that every edge in E has at least one endpoint in S . Algorithm 1 2-Approximation for Vertex Cover Find a maximal matching M in G . Output the endpoints of edges in M . Claim 1 The solution of the previous algorithm is feasible. Proof: We prove this by contradiction: suppose there exists an edge e = ( v,u ) such that v / V M and u / V M , where V M = { v 1 ,v 2 ,...,v 2 | M | } are the vertices that are end points of edges of M ; Since e does ont share an endpoint with any of the vertices in M , M ∪ { e } is a larger matching, which is contradicting with M being a maximal matching. Lemma 1
Background image of page 1

Info iconThis preview has intentionally blurred sections. Sign up to view the full version.

View Full DocumentRight Arrow Icon
Image of page 2
This is the end of the preview. Sign up to access the rest of the document.

This document was uploaded on 06/17/2010.

Page1 / 5

Lecture12 - CME 305: Discrete Mathematics and Algorithms...

This preview shows document pages 1 - 2. Sign up to view the full document.

View Full Document Right Arrow Icon
Ask a homework question - tutors are online