Optimisation vs. Approximation
A decision problem decides whether a solution exists or not. A optimisation problem tries to identify the best and most optimal solution.
For problems such as SAT, Halting, Hamiltonian Cycles, and Isomorphism it makes little sense to find the “most optimal solution”. However, problems such as Clique, Vertex Cover and the TSP (this week) are optimisation problems.
Optimisation Problems
Formal definition of optimisation problems
When looking at these problems, we can formalise them as such:
Link to original
- The solution space,
- A cost function, where
- We define a global maximum,
- Likewise a local maximum,
Travelling Salesman Problem
General Travelling Salesman Problem
Given an input which is a complete weighted graph, where is a distance function. The output is the shortest Hamiltonian cycle visiting all vertices. Formalising this problem, we find:
Link to original
We can also define this as a decision problem by adding an additional input , and output true if and only if contains a Hamiltonian cycle such that the .
TODO: add algorithms
Approximation Ratio
Approximation ratio
The approximation ratio for a given approximation algorithm on input is the real value such that:
Link to original
- Where is the cost of the approximate solution.
- Where is the cost of the optimal solution.
-approximable problems
R-approximable problem
A language or problem is said to be -approximable if there is some polynomial-time approximation algorithm such that for all .
Link to original
Unapproximable Problem
A language or problem is said to be unapproximable if is not R-approximable for any fixed value . Or otherwise, any poly-time approximation algorithm must give arbitrarily bad solutions for some inputs.
Link to original