In task scheduling, it is common to use a graph representation with a node for each task and a directed edge from task i to j task if i is a precondition for j. This directed graph depicts the precedence constraints in the scheduling problem. Clearly, a schedule is possibe if and only if the graph is acyclic; if it isn’t, we’d like to identify the smallest number of constraints that must be dropped so as to make it acyclic.
Given a directed graph , a subset is called a feedback arc set if the removal of edges E' renders G acyclic.
FEEDBACK ARC SET (FAS): Given a directed graph and a budget , find a feedback arc set of role="math" localid="1658907144825" edges, if one exists.
Show that FAS is in NP.
FAS can be shown to be NP-complete by a reduction from VERTEX COVER. Given an instance of VERTEX COVER, where G is an undirected graph and we want a vertex cover of size , we construct a instance of FAS as follows. If has vertices then make a directed graph with 2n vertices(directed) edges:
- Show that if G contains a vertex cover of size b, then G' contains a feedback arc set of size b .
- Show that if G' contains a feedback arc set of size b, then G contains a vertex cover of size (at most) b. (Hint: Given a feedback arc set of size b in G', you may need to first modify it slightly to obtain another one which is of a more convenient form, but is of the same size or smaller. Then, argue that G must contain a vertex cover of the same size as the modified feedback arc set.)