{[ promptMessage ]}

Bookmark it

{[ promptMessage ]}

Lecture12

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

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

Instructor: Professor Amin Saberi ([email protected]) February 11, 2010 Lecture 12: Approximation Algorithms I In the last lecture, we categorized the problems in terms of their complexity. We deﬁned 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. Deﬁnition: An algorithm is a factor α approximation for a problem iﬀ for every instance of the problem it can ﬁnd 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 diﬃcult challenges in the analysis of approximation algorithms is to ﬁnd a lower bound of value of the optimal solution. Example: (Minimum Vertex Cover) Given a graph G ( V,E ), ﬁnd 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

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

View Full Document
This is the end of the preview. Sign up to access the rest of the document.

{[ snackBarMessage ]}

### 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
Ask a homework question - tutors are online