Chapter 9: Q4E (page 306)
Given an undirected graph in which each node has , show how to efficiently find an independent set whose size is at leasttimes that of the largest independent set.
Short Answer
This algorithm is proved.
Chapter 9: Q4E (page 306)
Given an undirected graph in which each node has , show how to efficiently find an independent set whose size is at leasttimes that of the largest independent set.
This algorithm is proved.
All the tools & learning materials you need for study success - in one app.
Get started for free
In the MAX SAT problem, we are given a set of clauses, and we want to find an assignment that satisfies as many of them as possible.
(a) Show that if this problem can be solved in polynomial time, then so can SAT.
(b) Here’s a very naive algorithm.
for each variable:
set its value to either by flipping a coin
Suppose the input has m clauses, of which the has literals. Show that the expected number of clauses satisfied by this simple algorithm is
In other words, this is a 2-approximation in expectation! And if the clauses all contain literals, then this approximation factor improves to
(c) Can you make this algorithm deterministic? (Hint: Instead of flipping a coin for each variable, select the value that satisfies the most of the as of yet unsatisfied clauses. What fraction of the clauses is satisfied in the end?)
Devise a branch-and-bound algorithm for the SET COVER problem. This entails deciding:
(a) What is a subproblem?
(b) How do you choose a subproblem to expand?
(c) How do you expand a subproblem?
(d) What is an appropriate lowerbound
Do you think that your choices above will work well on typical instances of the problem? Why?
In the backtracking algorithm for SAT, suppose that we always choose a subproblem (CNF formula) that has a clause that is as small as possible; and we expand it along a variable that appears in this small clause. Show that this is a polynomial-time algorithm in the special case in which the input formula has only clauses with two literals (that is, it is an instance of 2SAT).
Local search for minimum spanning trees. Consider the set of all spanning trees (not just minimum ones) of a weighted, connected, undirected graph
Recall from Section 5.1 that adding an edge to a spanning tree creates an unique cycle, and subsequently removing any other edge from this cycle gives back a different spanning tree . We will say that differ by a single edge swap and that they are neighbors.
a) Show that it is possible to move from any spanning tree to any other spanning tree by performing a series of edge-swaps, that is, by moving from neighbor to neighbor. At most how many edge-swaps are needed?
(b) Show that if is an MST, then it is possible to choose these swaps so that the costs of the spanning trees encountered along the way are nonincreasing. In other words, if the sequence of spanning trees encountered is
then
(c) Consider the following local search algorithm which is given as input an undirected graph .
Let be any spanning tree of
while there is an edge-swap which reduces cost():
Show that this procedure always returns a minimum spanning tree. At most how many iterations does it take ?
In the MULTIWAY CUT problem, the input is an undirected graph and a set of terminal nodes The goal is to find the minimum set of edges in whose removal leaves all terminals in different components.
(a) Show that this problem can be solved exactly in polynomial time when
(b) Give an approximation algorithm with ratio at most for the case
(c) Design a local search algorithm for multiway cut.
What do you think about this solution?
We value your feedback to improve our textbook solutions.