4

Intuitively I feel like this is a bit of a dumb question, and is probably related to my vague understanding of approximation algorithms and whatnot.

Suppose I have some minimisation problem $X$ where, for some $n$, the optimal solution is $x$. If I make an algorithm such that it finds a solution of at worst, $\lceil1.5x\rceil$, how do I express this in the phrase that one seems to write, "This is a 1.5-approximation algorithm for the problem $X$" ?

I see usage of $\epsilon$ to denote some constants, but it always seems to go "in the same direction" as the minimisation / maximisation of the problem: that is, for a minimisation problem, someone would give $(5-\epsilon)$-approximation algorithm. Can I use it to go in the other direction? Should I be writing $(1.5 + \epsilon)$-approximation algorithm?

2 Answers2

2

The usual definition of an $\alpha$-approximation algorithm for a maximization problem is: an algorithm which returns a solution of value at most $\alpha \cdot \mathit{OPT}$, where OPT is the optimal value.

In practice, sometimes a more relaxed definition is used: the bound is only required to be $\alpha \cdot \mathit{OPT} + \beta$. This fits your case: if your algorithm is guaranteed to output a solution of value at most $\lceil \alpha \cdot \mathit{OPT} \rceil$, then it outputs a solution whose value is at most $\alpha \cdot \mathit{OPT} + \beta$.

Authors are often sloppy, and will just describe such an algorithm as an $\alpha$-approximation algorithm, though this term is somewhat ambiguous; sometimes the only way to know which definition is used is to read the paper.

Yuval Filmus
  • 280,205
  • 27
  • 317
  • 514
2

Since ceil(1.5x) = 2 when x = 1, it is a 2-approximation. With the particular value 1.5, we know that ceil (1.5x) is either 1.5x or 1.5x + 0.5, so you could say it is an (1.5x + 0.5) approximation algorithm.

There are many problems where the answer x is always small. For example "what is the minimum number of colours to colour this planar graph". So I would very much hesitate to call it an 1.5+eps approximation algorithm, which would require that x >= 0.5 / eps.

gnasher729
  • 32,238
  • 36
  • 56