HW10 Complexity_ver2..

advertisement
Math/CS 262
Spring 2011
Homework #10
(Due Monday, May 2nd by 4p)
1. Satisfiability and 3-Sat
NOTE: 3-Sat is NP
If we assume 𝑛 variables and 𝑚 clauses in a 3-Sat instance. If it takes
𝑘 steps to verify that a clause is satisfied then it just takes 𝑘𝑚 steps to
verify whether a given guess satisfies all the clauses.
a. A “brute force” approach to 3-Sat would work through all possible truth
assignments to the Boolean variables to try to find one that satisfies all
the clauses.
If each truth assignment takes 𝑘𝑚 steps to verify whether it satisfies,
how many steps would this approach take to find there is no satisfying
truth assignment?
b. Now let 𝑣 represent the number of variables, and 𝑐 represent the
number of clauses in a Satisfiability instance. Further, assume that the
largest size clause has size 𝑠. What is a bound on the size of the 3-Sat
instance our transformation produces? (Can you bound the number of
variables and clauses produced?) For the transformation to be valid,
each of these must be bounded by a polynomial in 𝑣 and 𝑐.
2. Graph 3-Color: Assume the instance is a graph with 𝑣 vertices and 𝑒 edges.
NOTE: Graph 3-Color is NP
If it takes 𝑘 steps to verify that the two endpoints of an edge are
different colors. (𝑘 would be a fixed number.) Then it just takes 𝑘𝑒 steps to
verify whether a given guess is a valid coloring.
a. A “brute force” approach would work through all possible color
assignments (using three colors) to try to find one that represented a
valid coloring.
If each color assignment takes 𝑘𝑒 steps to verify whether it’s valid, how
many steps would this approach take to find that there is no 3-coloring?
b. Given an instance of 3-Sat with 𝑛 variables and 𝑚 clauses, what is the
size of the graph our transformation produces? (How many vertices and
edges would the graph have?) Our transformation is only valid if these
sizes are bounded by a polynomial in 𝑛 and 𝑚.
3. Consider the following three problems:
a. Set Packing
Instance:
A collection 𝐶 = {𝑐𝑖 : 1 ≤ 𝑖 ≤ 𝑛} of finite sets and a positive integer 𝐾 < 𝑛.
Question:
Does C contain 𝐾 disjoint sets?
b. Exact Cover by 3 Sets
Instance:
A set 𝑆 with |𝑆| = 3𝑛 and a collection 𝐶 = {𝑐𝑖 : 1 ≤ 𝑖 ≤ 𝑘} where 𝑐𝑖 ⊂ 𝑆
and |𝑐𝑖 | = 3 for each 𝑖.
Question:
Does 𝐶 contain an exact cover? (I.e., is there a subcollection 𝐵 of 𝐶 such
that each element of 𝑆 appears in exactly one of the sets in 𝐵?)
c. 3-Dim Matching
Instance:
A complete set of triples S = W x X x Y (with |𝑊| = |𝑋| = |𝑌| = 𝑛)
and a subset A ⊆ S of “allowable” triples
Question:
Does A contain a matching? (I.e., is there a subset B of A with the property
that each element of W, X and Y appears in exactly one of the triples in B?)
Your task: Use the fact that “3-Dim Matching” is NP Hard to show that “3-Set
Exact Cover” is NP Hard. Then show “Set Packing” is NP Hard.
Hint: Use the restriction method – i.e. show that an instance of the known NP
Hard problem already is an instance of the new problem as a special case.
4. Vertex Cover
Show that “Vertex Cover” is NP hard by transforming an arbitrary instance
of “3-Sat” into an equivalent instance of “Vertex Cover”.
I suggest you use the method of “component design”. The vertex
cover examples from the last HW are intended to be a hint.
5. Partition into Triangles
Instance: a graph G = (V, E) with |𝑉| = 3𝑛.
Question:
Is there a partition of V into disjoint subsets 𝑉 = ⋃𝑛𝑖=1 𝑇𝑖 such that each
𝑇𝑖 is consists of three vertices that form a triangle in G. (In other words, all three
potential edges between the three vertices are in G.)
Show that “Partition into Triangles” is NP hard by transforming an arbitrary
instance of “Exact cover by 3 Sets” into an equivalent instance of “Partition
into Triangles”.
What follows are hints for this last problem.
Consider the following gadget:
x
y
z
In your constructed graph, the blue vertices will have no edges other than the ones
shown. The black vertices may be connected to multiple gadgets.
If all three black vertices are available then there are two ways to partition the blue
vertices of the gadget into triangles.
Triangles Choice 1: This may only be chosen if the three black vertices are available.
x
y
z
Triangles Choice 2: If the gadget is a piece of a bigger graph then we would also have the
following option, which excludes {x,y,z}.
x
y
z
Practice Exercise: Does the following graph have a partition into triangles?
a
b
d
e
c
f
Download