Advanced Algorithms Lecture 08,0
Advanced Algorithms Lecture 08,0
http://ocw.mit.edu
For information about citing these materials or our Terms of Use, visit: http://ocw.mit.edu/terms.
18.415/6.854 Advanced Algorithms October 10, 2001
Lecture 8
Lecturer: Michel X. Goernans Scribe: Jelena Spasojevic
To find p-center one had to solve some quadratic constraints, thus the algorithm discussed in class
was using full Newton steps. In this way we get approximate p-center. In order to asses the run
time of algorithm let us take a look at how does our proximity measure, a(x,s, p) change with:
+ +
x e x Ax, s t s As. We proved the following theorem.
Theorem 3 I n the above algorithm, if before the Newton step the centrality measure a is at most
i,then after the Newton step and changing p, we still have o < i.
Proof: If a(x, s, p) 5 i then by Theorem 1:
-:
o(x + Ax, s + As, p) 5 2 1(1/2)2
-1 2 4'
-
Now let us change p t p(1-Q), where 8 = A.Using Theorem 2 we get a(x+Ax, s+As, p(1-8)) 5
What is the number of iterations that we have to make? Suppose we start at p(O) = 26L. After k
iterations we have p 5 (1- Therefore, in order to have p 5 c, we need k = O ( f i ( L +ln a)).
How do we choose c? We know that at any point because of duality gap: xTs = np. Given that
we stop when p < r then we have xTs < nr, i.e., the duality gap is smaller than nr at the end of
the algorithm. The following theorem allows us to stop as soon as duality gap is smaller than &
and take any vertex below as the solution. Suppose that when we stop there are two vertices of the
original linear program for which the above duality gap condition holds. These two vertices, x('),
x ( ~ )both
, satisfy Ax = b, x 2 0.
Proof: We have that A is a matrix with integer entries and b is a vector with integer entries.
Then we can express:
(-Pl P2 r1 r 2 rn
x(l)= - &)T ) (-,
and x ( ~= -, ..., -),
q ' q ' "" 4 S S S
Ellipsoid: has the advantage that it only requires us to provide a separation subroutine, rather
than listing all the constraints of the linear program.
Interior Point Method: has the advantage that it is much faster than the ellipsoid algorithm.
Variants of this algorithm are actually used in practice.
A major open question in linear programming is if there exists a strongly polynomial time linear
programming algorithm, i.e., one whose running time does not depend on the size of numbers but
only on dimensions n, rn.
Network Flows
A network flow problem that we will consider in more detail is: Given network (graph) and quantity
of flow allowed on each edge (capacity) and cost, our goal is to find a flow of minimum cost that
satisfies some circulation properties (to be defined later). This problem can be seen as a linear
programming problem. However, we will use the structure of this problem to build faster algorithms
and will be able to give a strongly polynomial time algorithm that solves this problem (i.e., its
running time will depend only on the number of edges and vertices in the graph, and not on the
numerical values in the input).
Definition 2 A circulation is a flow f , for which nothing is lost i n the network, i.e., net flow into
every vertex is 0. More formally,
Now the Minimum Cost Circulation problem is to find a circulation which minimizes:
Note that here because of anti-symmetric costs and flows we are counting cost of every edge (if we
see them in an undirected way) exactly twice.
First as exercise convince yourself that this is a linear program. Therefore we can apply linear
programming algorithms we have seen so far. Now let's discuss reductions from other network flow
problems to this problem.
and maximizes Cv: ( s , u ) E E f ( s ,v). One can prove that maximum flow is equal to the capacity of the
Theorem 5 If all capacities are integers (u : E t+ Z), then there is an optimum flow f whose
values are all integers (f: E e Z
).
To prove this theorem we can use algorithmic or linear programming approaches. We will see the
first proof later on and just to note that main idea for the second one is that one could argue that
vertices of linear program induced by this problem have only integer components.
By the integrality theorem, we know that the flow on any existing edge can be assumed to be either
0 or 1. Therefore, to any flow f , there corresponds a matching A4 = {(v, w ) E E : f(v, w) = 1)
whose cardinality is precisely equal to the net amount of flow out of vertex s.
It is also easy to construct from a matching M a flow of value I M I. As a result, any integral flow of
maximum value will correspond to a matching of maximum cardinality.
In fact, the minimum weighted bipartite matching problem is also a special case of the minimum
cost circulation problem. We can modify the above transformation in the following way. Define
the cost of any edge of the original graph to be its original cost and the cost of any new edge to
be 0. Now, we can model three versions of the minimum weighted bipartite matching problem by
appropriately defining the capacities on the edges (t, s) and (s, t) :
1. If ~ ( tS), = n and u(s, t) = -n where n = IAl = IBI, we get the minimum weighted perfect (a
perfect matching is a matching that covers all the vertices) matching.
2. If u(t9s) = n and u(s9t ) = 0, we obtain the minimum weighted matching.
3. If u(t,s) = k and u(s,t ) = - k , we obtain the minimum weighted matching of size k.