Problem Set 2 ∗ Due: April 20, 11.59pm. Email the pdf to

advertisement
Seminar in Theoretical Computer Science
MIT 18.434 Spring 2016
Problem Set 2∗
Due: April 20, 11.59pm. Email the pdf to yuanzhou@mit.edu
There are 6 problems in this problem set. Each problem is worth 20 points.
Problem 1
a) Let C ⊆ Fn2be a binary (while not necessarily linear) code. Suppose the minimum distance of
C is 21 + n. Show that C contains at most O (1/) codewords. Comparing this argument
with the parameters of the Hadamard code, one will see that the Hadamard code has the
best possible minimum distance among codes with super-constantly many codewords.
b) In Lawrence’s notes, we see the definition of asymptotic rate (Definition 3.3) and asymptotic
relative distance (Definition 3.4). Theorem 3.6 in the notes states that there exists a good
code family where both asymptotic rate and relative distance are Ω(1). In this exercise, we
will show that there exists a good linear (binary) code family, as follows.
(n−k)×n
For each codeword length n, we set k = [n]. Let H ∈ F2
be a random matrix where
each entry in H is uniformly chosen from F2 independently. Let Cn be the linear code using
H as the parity-check matrix, i.e. let
Cn = {x ∈ Fn2 : Hx = ~0}.
Prove that for sufficiently small = Ω(1), with probability 1 − O( n1 ), the relative distance of
Cn is δ = Ω(1).
Problem 2
a) Let G = (V, E) be a 3-colorable graph. Observe that there is always a partition V = V1 ∪ V2
(V1 ∩ V2 = ∅) such that neither of the subgraphs G[V1 ] and G[V2 ] (the subgraphs induced by
V1 and V2 ) contains a triangle (i.e. 3 vertices where each two of them are connected by an
edge). This is because, given a 3-coloring scheme for G, one possible partition is to put all
green vertices in V1 , and put all red and yellow vertices in V2 . Since finding a 3-coloring
scheme for G is NP-Complete, the algorithm above is not likely to be in polynomial time.
In this exercise, we will analyze a randomized polynomial-time algorithm that finds a desired
partition.
The algorithm starts with an arbitrary partition, say V1 = V and V2 = ∅. At each iteration
of the algorithm, we check whether there is a triangle in G[V1 ] or G[V2 ]. Suppose there is a
∗
Problems 3, 4 and 5 are borrowed from Ryan O’Donnell’s course http://www.cs.cmu.edu/~odonnell/
toolkit13/. Thanks Ryan for the permission!
Seminar in Theoretical Computer Science
MIT 18.434 Spring 2016
triangle {u, v, w} in G[Vi ] (i ∈ {1, 2}), we choose a uniform random vertex from the triangle
{u, v, w}, and move it from Vi to V3−i . We repeat this iteration, until there is no triangle in
G[V1 ] and G[V2 ].
Let n = |V |. Prove that the algorithm terminates after O(n2 ) iterations in expectation, and
outputs a desired partition.
b) In Logan’s lecture, we saw a randomized algorithm for 2-SAT. In this exercise, we will analyze
a similar algorithm for 3-SAT. Given an instance on n variables, the algorithm runs in time
(4/3)n poly(n) and guarantees that i) if the input instance is not satisfiable, the algorithm
always outputs Not Satisfiable; ii) if the instance is satisfiable, the algorithm finds a
satisfying assignment τ with probability at least .99. (Note that the trivial enumeration
algorithm runs in time 2n poly(n)).
Let us start with a procedure called RandomFlip. The procedure starts with a uniform random
assignment τ0 on the n variables, and iteratively performs the following task 3n times. At the
i-th iteration, if τi−1 is a satisfying assignment, the procedure returns τi−1 and terminates;
otherwise there must be a clause on 3 variables not satisfied by τi−1 , the procedure chooses a
random variable in the clause, flips its assignment in τi−1 , and names the new assignment τi .
Let us assume that the input instance is satisfiable and satisfied by a fixed assignment τ ∗ .
Let dist(τ, τ ∗ ) be the number of variables with different assignments in τ and τ ∗ .
i) Show that
Pr[RandomFlip returns a satisfying assignment|dist(τ0 , τ ∗ ) = j] ≥ 2−j n−O(1) .
ii) Use your result in i) to show that
−n
4
Pr[RandomFlip returns a satisfying assignment] ≥
n−O(1) .
3
Now our algorithm for 3-SAT runs RandomFlip m times. So long as one of the m runs finds
a satisfying assignment, the algorithm outputs the assignment and terminates; otherwise the
algorithm outputs Not Satisfiable.
iii) Show that for some m = (4/3)n poly(n), our algorithm works with the desired guarantee.
Problem 3
Given a maximization problem, a (c, s)-approximation algorithm is an algorithm that guarantees
to find a solution of value at least s when the optimal solution of the input instance is at least c.
In this problem, we consider the Max-Cut problem where the object function to be maximized is
the fraction of the edges on the cut, i.e. the object value is normalized to [0, 1].
a) Show that the Goemans-Williamson algorithm is a ( 21 − 12 cos( 45 π), 45 )-approximation algorithm
for Max-Cut 1 . Careful: it’s not correct that it’s a ( 12 − 12 cos( 23 π), 32 )-approximation algorithm.
1
For simplicity you may assume the algorithm operates theoretically as described in class; i.e., it can solve the
SDP exactly, draw random variables precisely from the Gaussian distribution, etc. You might like to think about
how to handle these details properly in the coin-flipping Turing machine model. Also, you dont need to derandomize
anything; were just concerned about the expected value of the cut produced by the algorithm.
Seminar in Theoretical Computer Science
MIT 18.434 Spring 2016
b) Find an input graph G for the Max-Cut problem (an extremely simple one, in fact) with
the property that Opt(G) = 54 , yet for the SDP studied in class we have SDPOpt(G) =
1
1
4
2 − 2 cos( 5 π) (you must prove exact equality here).
c) How good is the cut found by the Goemans-Williamson algorithm when run on your graph
G from part b)?
Problem 4
Consider the CSP with Ω = {0, 1} and Ψ = {=0 , =1 , ≤}; i.e., each constraint is either of the form
“v = 0”, “v = 1”, or “v ≤ w”. (These constraints have arity 1, 1, and 2, respectively.) Our goal is
to find an assignment that maximizes the fraction of satisfied constraints.
Give an explicit constant C and a polynomial-time algorithm which is a (1 − , 1 − C)approximation algorithm for every ≥ 0. Your algorithm may be randomized. (Hint: linear
programming relaxation.) Remark: algorithms guaranteeing (1 − , 1 − f ())-approximation for
some function f () = o(1) as → 0 are called robust satisfiability algorithms.
Problem 5
There are n voters who want to produce a global ranking of 3 candidates, A, B, and C. A
“Condorcet election” (a.k.a. “election with independence of irrelevant alternatives”) using voting
rule f : {−1, 1}n → {−1, 1} works as follows. Each voter expresses their personal ranking of
candidates (one of the 3! = 6 possibilities). The ith person’s vote is transformed into a triple of
bits (xi , yi , zi ) ∈ {−1, 1}3 as follows: xi = 1 if and only if the voter ranks A ahead of B, yi = 1
if and only if the voter ranks B ahead of C, zi = 1 if and only if the voter ranks C ahead of A.
Then f (x1 , . . . , xn ) is declared to represent the global decision on whether A ranks ahead of B, and
similarly f (y1 , . . . , yn ), f (z1 , . . . , zn ) represent the global decisions on B ahead of C and C ahead
of A. 2 “Condorcet’s paradox” refers to the fact that it is possible to get a “paradoxical” outcome:
globally, the voters prefer A over B, B over C and C over A (or the other way around). It certainly
would be nice if the voting rule f were such that this could never happen.
a) [Your own exercise, do not turn in] Show that if f is a “dictatorship”, meaning f (x) = xi
for some i ∈ [n], then there is never a paradoxical outcome. Show this is also true if f is an
“anti-dictatorship”, f (x) = −xi . Show also that if n = 3 and f is the “majority rule”, then
it is possible to have a paradoxical outcome.
b) Suppose the n voters vote independently and uniformly at random (each of the six rankings
equally likely). Show that the probability of a paradoxical outcome is precisely
|S|
1 3 X
1
+
−
fˆ(S)2 .
4 4
3
S⊆[n]
c) Show that if f is such that paradoxical outcomes never happen, then f is either a dictatorship
or an anti-dictatorship.
2
Technically, an “election with independence of irrelevant alternatives” allows the use of f (x), g(y), h(z) here; if
you want to generalize the final conclusion of this problem to allow for this, go ahead – it’s quite easy.
Seminar in Theoretical Computer Science
MIT 18.434 Spring 2016
(Congratulations, you have proven Arrow’s Theorem, which is mostly what Kenneth Arrow got his
Nobel Prize in Economics for.)
Problem 6
There are n students playing the following game (n even, n ≥ 2). Each student is assigned with a
distinct number from {1, 2, . . . , n}. There are n boxes arranged in a row in a room. The room has
no window so that students outside the room cannot see the inside. Each box in the room contains
a distinct number from {1, 2, . . . , n}. The numbers in the boxes are chosen uniformly from the n!
possible ways.
When the game starts, each student enters the room in turn. In the room, the student may
open at most n/2 boxes. The student’s opening strategy can be adaptive, i.e. he/she can decide
which box to open next based on the numbers he saw from the boxes he already opened. The
student then leaves the room (and may not alter the numbers in the boxes or move the boxes). All
opened boxes are closed for the next student’s turn. No information exchange between the students
is allowed after the start of the game.
A student is successful when he saw his own number in one of the boxes he opened. The n
students collaboratively win the game when every student is successful.
Please design and prove a strategy for the students so that their winning probability is Ω(1).
Download