Remember that in class we talked about the problem in the framework of differential privacy. In original form of the problem, we want to pick a set of vertices of minimal size so that every edge in the graph is incident to at least one vertex in . In the privacy-preserving version of the problem, the private information we wish to conceal is the presence of absence of each edge. We talked about a randomized algorithm which outputs a permutation of all vertices of the graph, and the vertex cover will be defined by picking, for each edge, whichever of its endpoints appears first in the permutation. We saw that this vertex cover is -approximate and -differentially private. The algorithm was based on a simple non-private 2-approximation to vertex cover  that repeatedly selects an uncovered edge uniformly at random, and includes a random end-point of the edge which can be viewed as selecting a vertex at random with probability proportional to its uncovered degree. We took this formulation and mix in a uniform distribution over the vertices, using a weight that will grow as the number of remaining vertices decreases:
Algorithm 1: Unweighted Vertex Cover 
pick a vertex with probability proportional to
output . let
As stated the algorithm outputs a sequence of vertices, one per iteration. As remarked above, this permutation defines a vertex cover by picking the earlier occurring end point of each edge.
There is a slightly different way to implement the intuition behind the above algorithm: imagine adding “hallucinated” edges to each vertex (the other endpoints of these hallucinated edges being fresh “hallucinated” vertices), and then sampling vertices without replacement proportional to these altered degrees. However, once (say) vetices have been sampled, output the remaining vertices in random order. More specifically, given a graph , we mimic the randomized proportional-to-degree algorithm for rounds where , and output the remaining vertices in random order. That is, in each of the first rounds, we select the next vertex with probability proportional to : this is equivalent to imagining that each vertex has “hallucinated” edges in addition to its real edges. When we select a vertex, we remove it from the graph, together with the real and hallucinated edges adjacent to it. This is equivalent to picking a random (real or hallucinated) edge from the graph, and outputting a random real endpoint. Outputting a vertex affects the real edges in the remaining graph, but does not change the hallucinated edges incident to other vertices.
The privacy analysis is similar to that of theorem 5.1 of : if we assume weights being for the first rounds and for the remaining rounds, we will have -differential privacy.
To analyze the utility, we couple the algorithm with a run of the 2-approximation non-private algorithm that at each step picks an arbitrary edge of the graph and then picks a random endpoint. We refer to vertices that have non-zero “real” degree at the time they are selected by our algorithm as interesting vertices: the cost of our algorithm is simply the number of interesting vertices it selects in the
course of its run. Let denote the number of interesting vertices it selects during the first steps, and denote the number of interesting vertices it selects during its remaining steps, when it is simply ordering vertices randomly. Clearly, the total cost is . We may view the first phase of our algorithm as selecting an edge at random (from among both real and hallucinated ones) and then outputting one of its endpoints at random. Now, for the rounds in which our
algorithm selects a real edge, we can couple this selection with one step of an imagined run of (selecting the same edge and endpoint). Note that this run of maintains a vertex cover that is a subset of our vertex cover, and that once our algorithm has completed a vertex cover, no interesting vertices remain. Therefore, while our algorithm continues to incur cost, has not yet found a vertex cover. In the first phase of our algorithm, every interesting vertex our algorithm selects has at least one real edge adjacent to it, as well as hallucinated edges. Conditioned on selecting an interesting vertex, our algorithm had selected a real edge with probability at least . Let denote the random variable that represents the number of steps is run for. since is a 2-approximation algorithm. By linearity of expectation:
Gupta et. al in  show that most of the algorithm’s cost comes from the first phase and hence that is not much larger than :
Combining these facts, we get that:
 A. Gupta, K. Ligett, F. McSherry, A. Roth, and K. Talwar. Differentially private combinatorial optimization. Nov 2009
 L. Pitt. A simple probabilistic approximation algorithm for vertex cover. Technical report, Yale University, 1985