I have a Bipartite Graph (U,V). I want to use vertices set U to cover V. That means, I choose a subset S of U, for each vertex *y* of V, there is at least one vertex *x* of U such that (x,y) is an edge of the original graph.
How to find a minimum such set S? It there any effecient algorithm? or it is NPC?