Approximation and randomized algorithms are techniques used to tackle computationally hard problems where finding exact solutions is impractical. Approximation algorithms provide near-optimal solutions within a guaranteed bound of the best possible answer, often in polynomial time. Randomized algorithms incorporate randomness in their logic, offering efficient solutions on average or with high probability, especially when deterministic approaches are slow or complex. Both are essential in fields like optimization, computer science, and operations research.
Approximation and randomized algorithms are techniques used to tackle computationally hard problems where finding exact solutions is impractical. Approximation algorithms provide near-optimal solutions within a guaranteed bound of the best possible answer, often in polynomial time. Randomized algorithms incorporate randomness in their logic, offering efficient solutions on average or with high probability, especially when deterministic approaches are slow or complex. Both are essential in fields like optimization, computer science, and operations research.
What is an approximation algorithm?
An algorithm that returns a near-optimal solution with a provable bound to the optimum, typically in polynomial time for hard problems.
What does the approximation ratio mean?
A guaranteed bound comparing the algorithm's result to the optimal solution; for minimization, alg ≤ alpha × OPT; for maximization, alg ≥ OPT / alpha.
What is the difference between PTAS and FPTAS?
A PTAS gives a (1 + epsilon)-approximation for any epsilon > 0 with running time polynomial in n for each fixed epsilon; an FPTAS runs in time polynomial in both n and 1/epsilon.
What is a randomized algorithm and why use randomness here?
An algorithm that uses random choices; it can be Las Vegas (always correct, variable runtime) or Monte Carlo (fixed runtime, small probability of error). Randomness helps obtain good guarantees in hard problems and enables randomized rounding in approximation.
Give a classic example of an approximation method.
Vertex Cover has a 2-approximation via greedy/maximal matching; Set Cover has a H_n approximation; TSP in metric spaces has a 1.5-approximation via Christofides.