Midterm Review
Network flow (~ 45%)
- Use algorithms: Examples
- Given a flow network, use the Edmonds-Karp algorithm to determine the maximum flow, and a cut corresponding to the maximum flow.
- Theoretical questions: Examples
- Prove properties of network flows, such as CLR: exercise 26.1-1 (if (u,v) and (v,u) are not in E, then f(u,v) = f(v,u) = 0).
- Prove relationships between flows, networks, and residual networks, such as lemma 26.2.
- Prove properties of cuts and relationships between cuts and flows, such as the max-flow min-cut theorem.
- Give counter-examples to disprove statements. Example: Let
F = maxu C({u}, V)
. Any flow is > F
.
- Derive the time complexity of the Edmonds-Karp algorithm.
Approximation algorithms (~ 55%)
- Use algorithms: Examples
- Factor 2 greedy algorithm for cardinality vertex cover.
- Factor
Hn
greedy algorithm for set cover.
- FPTAS for Knapsack.
- Given a linear program, write it in standard form.
- Given a linear program, write its dual.
- Given a set cover or vertex cover instance, formulate it as an integer linear program and give its relaxation. Given a solution to the relaxed version, show the set cover that results from applying the rounding algorithm.
- Primal-dual algorithm for set cover.
- Given an instance of MAX-SAT, show the result from the derandomized factor 1/2 algorithm.
- Theoretical questions: Examples
- Prove approximation factors or the correctness of algorithms that we have discussed.
- Prove approximation factors or correctness of new algorithms that are presented, such as problem 3 in HW 2 (HW2 does not ask you to prove these, but you should be able to).
- Give tight examples for new algorithms that you are given, such as problem 3 in HW 2.
- Give an algorithm having a specified approximation factor, such as the factor 1/2 approximation algorithm for the acyclic subgraph problem.
- Prove any properties that you are asked to prove!
- Disprove statements, using counter-examples.
- Formulate a specified problem as an integer linear program, such as the Knapsack problem.
- Prove properties of primal and dual, such as the weak duality theorem and complementary slackness conditions.
- Given a randomized algorithm, derandomize it to yield a deterministic algorithm that performs at least as well as the expected behavior of the randomized one.
Notes:
- You should show steps in questions that ask you to use an algorithm.
- You should justify answers to theoretical questions.
- You may use facts that we have proved in class, such as the max-flow min-cut theorem, unless the question forbids it.
- The exam is closed book and closed notes.
Weights
- Use algorithms: ~ 50 %
- Theoretical questions: ~ 50 %
Last modified: 24 Feb 2005