Homework 3
This homework covers the material from lectures 13 to 18.
Due date: June 26th, 10pm Waterloo time.
LaTeX template, in case you want to write it in LaTeX.
Required Exercises
Problem 1 - Corner Points of Minimum Vertex Cover Relaxation (15 points)
Given the LP relaxation for minimum vertex-cover:
-
Let
be any feasible solution for the LP. Define another solution by: Similarly define the solution , by replacing with .Prove that one can find
such that both are feasible for the LP above. -
Show that every extreme point
of the LP above is half-integral, that is for all . -
Based on the previous parts, design a 2-approximation algorithm for minimum vertex cover.
Problem 2 - Integer Linear Programming Rounding (15 points)
Consider the following maximum covering problem. Given a graph
Let
Design an integer programming formulation for the
problem, and then find a randomized rounding procedure for the corresponding
linear programming relaxation, such that for given
Your algorithm should always output a set of at most
Problem 3 - Strong Duality in SDPs (20 points)
-
Let
and consider the following SDP:Where
is a symmetric matrix. Prove that the dual of the SDP above is: -
What is the value of the first SDP of part (1)?
-
What is the value of the dual (second SDP) of part (1)?
-
Now consider the following SDP:
Compute its dual program. -
Is the primal from part (4) strictly feasible? Is the dual strictly feasible?
-
What can you say about strong duality of the SDPs of parts 1 and 4? Are the results consistent with Slater conditions presented in class?
Problem 4 - Challenge to a Dual (20 points)
Let
Let
-
Show that the following SDP has optimal value
: Where is a symmetric matrix, and are the elementary unit vectors. -
Write down the dual of the SDP from part (a).
-
Conclude that the dual you just derived is equivalent to the following SDP:
Where
is an symmetric matrix. -
Rearrange the above SDP to show that the following SDP have value
:Where
is an symmetric matrix.
Problem 5 - SDP relaxation (10 points)
Given a 3-uniform hypergraph
The Max-2C3U problem is the following:
- Input: a 3-uniform hypergraph
- Output: a 2-coloring of the vertices of
of maximum value, that is, a function (the coloring) which maximizes the number of valid hyperedges.
In this question, you are asked to:
2.1. Write the optimization problem above as a quadratic program
2.2. Formulate an SDP relaxation for the problem, and prove that it is in fact a relaxation
Problem 6 - Competitive Analysis (20 points)
You have reached a river (modelled as a straight line) and must find a bridge to cross it. The bridge is at some integer coordinate upstream or downstream.
- Give a 9-competitive deterministic algorithm for optimizing the total distance travelled up and downstream before you find the bridge.
- Give a randomized 7-competitive algorithm for the problem
Problem 7 - Multiplicative Weights Update (20 points)
Here is a variation on the deterministic Weighted-Majority algorithm, designed to make it more adaptive.
- Each expert begins, on the 1st day, with weight
. - We predict the result of a weighted-majority vote of the experts.
- If an expert makes a mistake, we penalize it by dividing its weight by
, but only if its weight was at least of the average weight of experts.
Prove that in any contiguous block of trials (e.g., the block from 51st day through the 77th day),
the number of mistakes made by the algorithm is at most
Practice Problems
You are not required to submit the solution to these problems, but highly encouraged to attempt them for your own knowledge sake. :)
Problem - Integer Linear Programming Rounding (Advanced Problem)
Given a hypergraph
and
Hint: You may find it useful to consider the following LP, where initially we set
Guidance on how to use the hint:
- The main approach will be to iteratively update the LP above to try and find our desired solution. At each iteration, we will use a solution of the LP to guide us.
- What does the LP given in the hint give us? What is captured by solutions to the LP?
- What are the basic solutions to the LP above? How do we find a basic solution?
- Now that we have a basic solution, and know how they look, we can prove the following consequence of basic solutions
- What happens if a coordinate is not in
? - What happens when we cannot update the LP?
- How do we get unstuck? Hint: Throw away a constraint. Which one?
- At most how many vertices will THE deleted hyperedge have?
- What is the worst that can happen to an edge in this process?
Problem - SDP standard form
Transform these semidefinite programs into standard form.
Part 1
where
Part 2
where
Part 3
where
Part 4
where
Problem - SDP duality
Compute the duals of the following SDPs:
Part 1
Part 2
where
Part 3
Consider the following semidefinite program:
where
Part 4
where
Part 5
where
Problem - Projections of Spectrahedra (semidefinite representations)
The
Let
Find a semidefinite representation (i.e. projection of a spectrahedron) of the set
Problem - Spectrahedra and Projections (Advanced Problem)
This problem requires basic knowledge of real analysis and topology.
-
Both spectrahedra and projected spectrahedra are convex sets. Show that spectrahedra are always closed sets.
-
Spectrahedra are always closed sets. That is, if a sequence of points
in the spectrahedron converges to a point , then is also in the spectrahedron.
Find an example of projected spectrahedron which is not a closed set.
Problem - Paging Algorithms
A conservative algorithm is one that makes at most
- Prove that LRU and FIFO are conservative
- Prove that any conservative algorithm is k-competitive.
Problem - Online Algorithms
You are managing a system with
The load of a server is the sum of all the processing times of the requests assigned to it.
For instance, if we assigned requests
Let
Devise an algorithm such that
You can assume that your input will be given by a sequence
Problem - Multiplicative Weights
Summer is here, and you would like to go to the beach whenever you can.
To achieve that, you need to predict the weather (whether it will be a sunny or a rainy day) in your city.
You have access to forecasts from
Your goal is to devise a strategy to combine the forecasts of the weather services and make your own prediction (sunny/rainy) each day. You want to minimize your total error, after all, you would like to maximize the number of days that you go to the beach.
Assuming that you have
Problem - Multiplicative Weights
Consider a collection of faculty available to give you advice about your future path in life. Since they are busy, each only answers yes or no questions. Some are wiser than others and are more often correct in their advice. You would like, looking back, to have taken the advice of the wisest faculty member, but ahead of time, you don’t know who that is. Consider the following online algorithm: each time you have a question, you ask all the faculty and go with a “weighted majority” opinion as follows:
- Initially, each faculty member has a weight of 1.
- After asking a question, take the (yes/no) answer of larger total weight.
- Upon discovering which answer is correct, halve the weight of each faculty member who answered incorrectly.
You will show that, using this algorithm, you make at most
Part 1
Prove that, when the online algorithm makes a mistake, the total weight of the faculty decreases by a factor of
Part 2
Lower-bound the weight assigned to faculty by considering the weight of the wisest faculty member in terms of
Part 3
Combine the above two parts to prove the claim.
With randomization, you can do better. We modify the online algorithm as follows:
- Instead of going with the majority, choose one faculty member with probability proportional to their weight, and follow their opinion.
- Instead of multiplying incorrect faculty weights by
, multiply them by some to be determined later.
Part 4
For a given question, let
Part 5
Arguing much as in the deterministic case, prove that the (expected) number of wrong answers will be at most
Part 6
Show that if one uses the “right”
Problem - Multiplicative Weights and Max-Flow (More advanced)
Consider the maximum flow problem from
Use the multiplicative weights update method to solve this Linear Program by reducing the flow problem to the problem
of finding shortest paths between