Approximation Algorithms
Approximation Algorithms
Algorithms
Presented by:
Ruchi(2018cs17)
There are many important problems
For which no fast solution !( i.e. only non
polynomial algorithms exist )
But we want the answer …
If the input is small no problem .One
can use non polynomial algorithm .
otherwise
Find the Near-Optimal solution in
polynomial time.
Ways to Find Near-Optimal
Solution
Heuristic algorithms or heuristic
Approximation algorithms
Heuristic
By a heuristic we mean a procedure that may produce a good or
even optimal sol to your problem if you are lucky,
but on the other hand may produce one that is not even feasible or far
from optimal.
A heuristic is a common sense rule
drawn from experience rather than from a mathematically proved
assertion.
There is no mathematical result about the correctness of solution so
obtained
Approximation algorithm
An algorithm that returns near optimal solutions is called approximation
algorithm.
It must be possible to calculate a bound either.
Which is measured in terms of
Difference or ratio between the optimal solution and the one produced
by approximate algorithm.
Goal
Vertex Cover
Traveling salesman
Bin Packing
Vertex Cover
we get c = 2|A|
but OPTIMAL-VERTEX-COVER would have added one of two.
|c*| ≥ |A | -----1
(no two edges of A are having any common vertex so to
cover only these edges of A we need |A| no of vertices.
In line 4, we picked both end points, we have
|c| = 2|A| ---------------------------------- 2
Take |c|/2 = |A| and put it in equation 1
|c*| ≥ |c|/2
|c*|/|c| ≥ 1/2
|c |/|c*| ≤ 2 = p(n)
proving the theorem. □
APPROX-VERTEX-COVER algorithm returns a vertex-
cover that is at most twice the size of an optimal cover
in polynomial time.
Queries??
Thank You!