# Lecture 012

### Approximation Algorithms

VERTEXT-COVER: find minimum vertex that covers all the edges (NP-complete)

• Theorem: There is a poly-time algorithm such that for all $G = \langle{V, E}\rangle$, output a vertex cover $U \subseteq V$ such that $|U| \leq 2 \times |U^{\text{optimum}}|$.

• Optimization problem reduce to decision version

• Approximation algorithms "solves" optimization problems

$\alpha$-approximation:

• $\forall$ valid input $x$: $A(x)$ output a valid solution

• $\forall$ valid input $x$: $\text{val}(A(x))$ is within factor $\alpha$ of $\text{OPT}(x)$

APPROX-VERTEX-COVER: at most how many vertices used to cover all edges

• Greedy: not a $c$-approximation

1. add vertex $v | \text{deg}(v) \text{ is maximum}$ to $U$
2. remove edges of $v$
• Efficiently Computable Proxy: use some known algorithm "Gavril's algorithmm" (2-approximation)

1. compute maximal matching by greedily add edges between unmatched vertices, and mark one of them.
2. $|A(\langle{G}\rangle)| = 2|M_{\text{matching}}| \leq 2|U| = 2 \text{OPT}(\langle{G}\rangle)$ Local Search:

TSP: traveling salesman problem

• Input: $G = \langle{V, E}\rangle$ with edge cost $: E \rightarrow \mathbb{N}$

• Output: minimum cost cycle visiting every vertex exactly once METRIC-TSP:

• Input: $G = \langle{V, E}\rangle$ with edge cost $: E \rightarrow \mathbb{N}$

• Output: minimum cost tour visiting every vertex at least once

• Efficiently Computable Proxy:

• DFS on minimum spaning tree (cost = 2*cost(MST), 2-approximation)
• Nicos Christofides: 1.5-approximation (MST, Perfect Matching, Eulerian Tour)

MAX-CUT: 2 coloring of vertices maximizing the number of cut edges

• Local Search: improve solution with local update
• mark all vertices as blue, try improve by changing vertices coloring
• 1/2-approximation for MAX-CUT

## Sutner's Lecture

Minimization problem

• a set instances: $I$

• solution function: $\text{sol} : I \rightarrow \mathfrak{P}_{fin}(\Sigma^*)$

• cost function: $\text{cost} : \text{solution} \rightarrow \mathbb{N}^+$

optimal value: $\text{optval}(x) = \text{min}(\text{cost}(z) | z \in \text{sol}(x))$

performance ratio: $\frac{\text{cost}(A(x))}{\text{optval}(x)} \geq 1$

k-approximation: $\text{cost}(A(x)) \leq k \times \text{optval}(x)$

Lemma ($P \lneq NP$): let $f$ be a polynomial time computable function. Then there is no $(1 + f(x))$-approximation algorithm for general TSP.

• nearest neighbor: does not produce $k$-approximation algorithm

• optimizing the walk of a minimum spanning tree is the go ($\frac{3}{2}$-approximation algorithm for Metric TSP)

• Arora, Mitchel has $(1 + \epsilon)$-approximation algorithms for Euclidean TSP, but it is impractical

Table of Content