Approximation Algorithm
1. Approximation ratio

Cost: the size of the solution, for example, in vertex cover, it’s the size of the cover; in TSP, it’s the total distance.
Since the approximation algorithm, the cost we have is always greater than the optimal solution.
2. Vertex Cover

-
Running time: O(∣V∣+∣E∣)O(|V|+|E|)O(∣V∣+∣E∣), loop over all edges and all vertices.
-
∣A∣|A|∣A∣: the number of edges chosen by the algorithm, and since one edge covers two vertices, so ∣A∣=∣C∣/2|A|=|C|/2∣A∣=∣C∣/2. And since this is an approximation algorithm, and at least one of vertices chosen each time must be in CCC, thus ∣C∣|C|∣C∣ must be greater than the edges chosen by the algorithm.
3. Traveling Salesperson
3.1 Algorithm

-
Construct a minimum spanning tree, whose sum of edge weights is as small as possible.
-
Remember to skip duplicates;
-
Proof to the theorem:
-
Since the distance in MIS is less than the distance in TSP; c(T)≤c(H∗)c(T)\le c(H^*)c(T)≤c(H∗)
-
the sum of weights in Euler tour is twice the sum in MIS, since we go through each vertex twice; c(W)=2c(T)c(W)=2c(T)c(W)=2c(T)
-
the sum of weight returned by the algorithm is less than the sum of Euler tour, since we will skip duplicates: c(H)≤c(W)c(H)\le c(W)c(H)≤c(W)
-
Above all, we have: c(H)≤2c(H∗)c(H)\le 2c(H^*)c(H)≤2c(H∗).
-
4. Set Cover

Find a set of subsets, which can cover the big set.
4.1 Greedy Algorithm

Intuition: each time pick the remaining largest subset, until the set is covered.

∣X∣|X|∣X∣: the size of the big set.

-
cx:c_x:cx: if element xxx is covered for the first time by SiS_iSi;
cx=1∣Si−(S1∪S2∪...∪Si−1)∣c_x=\frac{1}{|S_i-(S_1\cup S_2\cup...\cup S_{i-1})|}cx