Document 17865148

advertisement
>> Nikhil Devanur Rangarajan: So welcome everyone. It's my pleasure
to introduce Laszlo Lovasz from the London School of Economics. Laszlo
is a Ph.D. from Budapest and spent a couple years in Georgia Tech doing
a post-doc. He's going to talk about a beautiful algorithm for
finding, for generalization of the flow problem.
>> Laszlo Lovasz: Thank you very much and thanks for coming. I enjoy
being here. So to leave some time for those arriving later, let me
just go through slowly through the definition of strongly polynomial
algorithms.
So it's a computational model and our input is given by a number of
numbers. So let's say we have a bound C on the maximum integer in this
input and there are N of them. And like weakly polynomial is just the
standard notion of a polynomial algorithm. It's polynomial in the size
of the input, which is NN log C. But in the strongly polynomial, we
require that the running time only depends on the number of the
numbers.
Of course, things could go weird if we don't have any connection with
the size of the numbers. So we have this bound on the number of
elementary arithmetic operations and comparisons, that's the only thing
which is allowed in this algorithm.
And they require that the numbers during the computation won't blow up
very much. So they stay polynomial in the size of the input.
But maybe that's one view of strongly polynomial. The other is that
it's a computational model with real numbers. You can have arbitrary
even irrational numbers in the input. You don't care how they are
represented whatever. You just assume that you can carry out every
arithmetic operation. So these are two different ways of looking at
strongly polynomial algorithms.
So what I have here is the very basic network flow model. Kind of a
variant of it. So I have a directed graph. I have lower and upper
capacities on the arcs. And that is not completely standard thing. I
have a node demand. BI, which is the requirement of the incoming flow
minus the outgoing flow in every node I and they should sum up to zero
to get a feasible solution. So the minimum cost flow problem is I have
a cost function on the edges, on the arcs and I want to find a minimum
cost flow with respect to the [inaudible] well-known problem for all of
us.
So the first weakly polynomial algorithm for this is given by Edmonds
Karp '72. So it's not like the maximum flow problem which is the
focus, but it came only like two decades later.
So but it has been actually open for a very long time to get a strongly
polynomial algorithm, given by Tardos in '85. So there's a call back
[inaudible] algorithm, if you know one algorithm for minimum cost
flows, that's most likely the one you know. This is this minimum in
cycle cancellation algorithm, if you heard about that.
And there is one by Orlin which will play an important role in this
talk.
Okay. So the problem I'm considering here I have the same polyhedron.
So over the same set of feasible solutions, I want to minimize the sum
of some function value. So I have a convex function on each of the
arcs. This Cij. And I take the feasible flows of these functions with
values on the arcs and I want to minimize this sum. So this is a
convex program, which we can, of course, solve.
It has like all kinds of applications. Let me just show you one. This
is again a picture which everyone has probably seen many, many times.
So this routing problem in traffic networks then you have this city
where on every road transition time is a function of the amount of
traffic, and then we are interested in finding a Nash equilibrium in a
sense that the payers are infinitessimal smaller parts of the traffic
behaves selfishly and they want to pick a path which is shortest for
possible for them if no one else changes. And this is this famous
paradox that in this network we will get this inefficient path. So the
relation here is that computing -- actually a Nash algorithm and
optimal solution in such networks is like falls into this class you
want to minimize separable convex cost function on such network.
Okay. So there are really these kinds of problems we have to think of.
And here is the general formulation of the question I'm investigating
today is there a strongly polynomial algorithm for this convex program.
So it's just this flow feasibility with this minimum convex cost.
>>: How is convex ->> Laszlo Lovasz: That's a very very good question. So the strongly
polynomial it is not precisely defined because exactly of this
question. So okay so the easiest way to look at it is it's given by
Oracle. So you can evaluate this function with a query or what we need
is derivatives and then it's strongly polynomial in the number of
queries and arithmetic operations.
However, it's not terribly interesting. The question from this
complexity point of view, because the answer is a big no for an
arbitrary formulation of strongly polynomial, because even if you
have -- okay. So the first issue is that the optimal solution can be
irrational or even nonalgebraic. So again how would strongly
polynomial algorithm return such a solution. Okay. So then one might
want to relax that maybe that's not the right question.
Maybe they want to find an epsilon approximate solution such that the
running time can be dependent on the logarithm of 1 over epsilon which
is kind of the natural quantity which we might hope for. But even if
these cost functions are polynomials of degree at least three, even
then there is an impossibility result for this, and it's a result
without any complexity assumptions.
So it goes back to original [inaudible] by Renegar which says that it's
impossible to epsilon approximate roots of polynomials and strongly
polynomial time. So if you have a polynomial and interval, you want to
find an epsilon approximate root and unconditionally it cannot be done
with time independent of the length of the interval.
So this is kind of hopeless. So that's the end of my talk.
no strongly polynomial algorithm for this problem.
There is
However, well, so then just some footnotes to this. So this general
impossibility result doesn't apply for quadratic objectives. So then
on every edge we just have some Cij square plus DijX. Okay. So, first
of all, of course for linear costs we do have the strongly polynomial
algorithms. Even for quadratic cost there were certain special cases
studied and proved in the '90s, if you have serious parallel graphs it
was done and also if you have like a transportation problem with a
fixed number of sources then it's also doable.
But the general quadratic cost was still open. And there is another
instance which might look strange at this point. It's this Fisher's
market with utilities. I'll come back to that later because you either
probably don't know what a Fisher market is or you don't understand
what it has to do with it or you've heard some version of the talk and
you know that.
Okay. So what we prove here is a strongly polynomial algorithm under
certain assumptions. And the most important assumption is that if
someone tells us the support of the optimal solution we can exactly
compute this optimal solution, and we come back to that in a bit more
details. And there's some assumptions as well. But special cases will
include arbitrary separable convex objectives -- quadratic objectives.
So without any restructure under the graph we'll include the Fisher
market with a linear utilities already have the algorithm for but also
for this more general class of spending constraint utilities, which was
not known before. So this is -- but more approach will be an algorithm
for the general problem.
We will have some assumptions and certain oracles and such that if we
assume that these oracles can be implemented in strongly polynomial
time then our algorithm can work in strongly polynomial time.
>>: So if we go back -- let's go back to the standard flow problem. So
what does this assumption say -- is the assumption can be implemented
easier than let's say ->> Laszlo Lovasz: Yeah, then it's just like a system of solving linear
equations. So like if I tell you -- like let's say you have low
capacity 0, upper capacity unconstraint on every edge and I tell you
which edge carry positive flow, then you can compute and this must be
tied in the dual. So you can compute the dual optimal solution.
>>: So what is the optimization problem then?
>> Laszlo Lovasz:
Huh?
>>: Is it equivalent to something else?
With the support?
>> Laszlo Lovasz: So for linear cost it's really just solving -- well,
okay, what is it for ->>: Arbitrary [inaudible] solving?
>> Laszlo Lovasz: It's not. Okay. So it's really a very simple one.
You have to solve a system of linear equations in a tree, actually. So
that's what you have for linear cost. So that then you have the
components of the positive edges and you have the demands at the nodes
and you can just uniquely set all -- so it's like ->>: It's easy.
>> Laszlo Lovasz: It's real easy, yes. Even for quadratic, it will be
a slightly more complicated, but I'll -- but that will also be a
special system of linear equation. Okay. So let's just quickly talk
about this Fisher market. We are in a market suggestion where there is
a set of buyers and a set of goods. And every buyer withstood this
market with a budget I which is willing to spend on these goods and
there is one divisible unit from each of the goods. We can always risk
it because it's divisible.
And if buyer I would buy the entire unit of utility J he would get a
utility UIJ and the linearity of the model means if he just buys a
fraction of the goods, then his utility proposition of UIJ. Then
market clearing, market equilibrium, it's a setting of prices and
allocations of the goods which makes everyone really happy and content.
So first of all, the sellers will be certainly happy because they can
sell all the goods even better for them all the money of all the buyers
will be entirely spent. So they really just go home with empty
pockets. But they still think that they made clever decisions because
they only buy best bank per buck products, which mean that those which
maximize the utility per price ratio.
So let's just go through the simple example. There is the beer which
comes with five units of utility for three bucks. But Homer is clever
to go for the donuts which give a better ratio for him.
So this is one of the first equilibrium market, equilibrium problems
ever investigated by Fisher in the 19th century, and it's a special
case of this much more general Arrow-Debreu market equilibrium
theorem -- theory. But it's kind of a very special and very
interesting case. So, first of all, it turns out that this problem
always has a rational optimal solution.
Moreover, we're actually able to compute this rational optimal
solution. It can be formulated as a convex program, which I will
mention later. But there was even an combinatorial polynomial time
algorithm by Nicki Papadimitriou Saberi and Vazirani in 2002, which
like initiated a long study of this kind of market equilibrium problems
in the computer science community.
And then there was this strongly polynomial algorithm given by Orlin in
2010. And it was later extended to several other settings. I just had
to mention one rather than talk today. It's the spending constraint
utilities. The utility of every buyer is a piecewise concave function
of the money he's spending on these goods which is not the most natural
setting. The reason for investigating this is really that we are
actually able to solve it.
But this combinatorial algorithms did extend here but there was no
strongly polynomial algorithm known. Okay. So here is a convex
programming formulation. It looks a bit odd, and I cannot really give
you an intuition in two words why it captures the optimal solutions
capture market equilibrium. So we have a variable YIJ for every pair
of buyers and goods, such that the sum of the variables for YIJ for
every fixed I gives its budget. The sum of the variables summed over
the buyers give the price of the good. So it really shows how the
money flows spending all budgets of the buyers paying the full price
for the goods.
And the objective is something odd. It's there is this linear term for
Dij players. It's multiplied by the logarithm of Cij and PJ minus 1
for the prices, whatever it is.
So actually there is a classical formulation of the problem I didn't
put here by Eisenberg and [indiscernible] from '59 and that's kind of a
more intuitive one, and that's what people have always been using until
very recently and Shymrev and independently and co-authors found this
kind of unexpected formulation.
And okay. So my main, well, contribution to this market equilibrium
area in this talk is this one line obvious observation that this model
is actually a flow with a separable convex objective. So it's
something really straightforward. I just show you the picture. There
are these goods and the buyers and I add one additional node, which is
the, it's connected to all the goods. These numbers are the node
demands. So it has a total demand of minus some of the budgets. So
which means we are sending money out here. We don't keep anything
here. And for the buyers, the incoming must be the budget. And then
we have this PJ times log PJ minus one functions on the edges
connecting the source and the goods, which even if ugly it's a convex
function. And we have these linear functions between these edges.
So we can treat this problem in the general framework of this convex
cost flows, and even the spending constraint utility formulation can be
easily seen in this formulation.
Okay. So so much about markets. Let's get back to the general
problem. So actually I will -- don't worry, I won't talk about all
four parts. But just the right-hand side. But for linear cost, what
the real starting point -- actually, I have this pointer -- is the
Edmonds Karp algorithm from '72. And then this Orlin result is a
strongly polynomial version of this Edmonds Karp algorithm.
On the other hand, if we move from linear cost to non-linear cost, and
this Edmonds Karp's algorithm was extended by Minoux in '86 what we're
doing is kind of the analog of what Orlin did with the Edmonds Karp
algorithm, we do the same kind of algorithm to this Minoux algorithm;
however, there are many difficulties we encounter on this space.
So let me start with this Minoux algorithm. So first of all let's talk
about optimality. To start with, it's a very standard transformation
always in flow problems that we can just assume that in every art the
lower capacity zero and the upper is infinity. So there is this simple
transformation you can convince yourself that if you have an edge with
lower upper capacities, you can replace it by two oppositely directed
edges going into a new node and then you can simulate these capacities
with the node demand constraint there.
So what we are looking at is not the original graph but the residual
graph given a feasible solution or an unfeasible solution. We have all
the edges as forward edges because they have infinite capacity and we
have the reverse edges of every positive edge in this residual graph.
And then if you look at the KK conditions, then you can figure out that
solution, feasible solution is optimal if and only if the residual
graph doesn't contain any negative cycles with respect to this cost
function, which is the derivative, which is the final oppositely on the
reverse edges.
Well, if there is a negative cycle, then you can kind of send a small
amount of flow around it decreasing the cost and the KK conditions also
show the converse. And, okay, so the way we can look at it
equivalently is this potentials on the nodes which actually correspond
to the log range multipliers and optimal solution so that the potential
difference on every arc of the residual graph is at most derivative.
Which means that on every positive arc we must have equality here.
Okay. So there is this scaling technique which was introduced by this
Edmonds Karp paper. So it's a very, very simple but super efficient
idea.
So what it is about is only that first we just want to go for the huge
parts in the problem and then refine it later gradually. So let me
illustrate how this algorithm goes. So we have to clear up a
construction site. So first comes this big excavator machine, which
takes care of the huge parts. And then comes this smaller electric
shovel or whatever it is. Then we go down to this smaller manual
shovel. And then the broom and finally for the very fine parts we go
for the brush. So this is what we're really doing in a scaling
algorithm.
So to put this picture into a mathematical form, we have a scaling
factor that in every phase of the algorithm, which keeps decreasing by
a factor of two, between two phases. It plays a double role in the
algorithm. So in the Edmonds Karp algorithm, its only role is flow is
transported in these units of delta.
So in a delta phase we will send flows with huge excess to very
negative nodes in units of delta. But the other, and this is the new
contribution of Minoux, is that the optimality is also relaxed to that
accuracy. And as that goes to zero, then the extra solution will
become more and more feasible. I will come to that. And at the same
time it will become more and more optimal.
So what do these things mean? So, first of all, let me remind you that
the optimality condition would be that the residual graph contains no
negative cost cycles with respect to the derivative. Relaxed by adding
here delta. So the derivative in Fij plus delta. Because the
functions are convex, the derivatives are increasing. So this really
is a relaxation. And as delta goes to zero, it goes to the optimality
condition.
On the other hand, so what I want to emphasize that the flows during
the algorithm are not feasible. There are positive and negative nodes.
The delta positive node is where the flow balance like incoming flow
minus outgoing flow exceeds this demand BI by at least delta and the
delta negative node is where we need at least delta more flow to
balance it.
Okay. So now this algorithm is very simple. Start with all flow
values set to 0 and a very huge delta value which is like the maximum
of these node demands. While there's a delta positive and a delta
negative node, then we send delta units of flows between them on a
shortest residual path with respect to this cost function relaxed cost
function. Okay. So we do it as long as there are both delta positive
and delta negative nodes and they are connected by path in the residual
graph. If it's not possible anymore, then this phase is finished. But
now we want to move to the delta over two phase. So we want to
decrease our scaling factor by that and here we do need to have some
additional work. So I have this special subroutine which makes my
actual solution which was feasible for the delta phase one that is
feasible for the delta over two phase. I thought I have it here.
Okay. It will hopefully come on the next slide. Okay. So there was
the same variant in the first place that this relaxed cost function
doesn't contain any negative cycle. So the first main observation,
which is a very obvious one that if we augment on shortest path then we
cannot create any new negative cycles, that's one property we are using
here. So this invariant is maintained during all these flow mentation
steps.
So now we want to move from delta feasibility to delta over 2
feasibility. So in these dual terms, I claim that on every arc I can
change the flow value by adding or subtracting delta over 2 such that I
get the new, the invariant again for delta over 2.
So let me just argue a bit about this. So let's say I have an arc Fij
which is greater than delta. Then this delta feasibility essentially
means that I have this pi J minus pi I and it has to be sandwiched
between the delta Fij minus delta. And I claim I actually can
guarantee this delta feasibility over the very same dual or Lagrange
multipliers pi IM and pi J, but this is what I can need. But this can
be violated.
Then, for example, this pi J minus pi I is greater than this left-hand
side, then it's easy to see that if I decrease the flow further by
delta over 2, then I can get this condition back and also in the other
direction.
So it's really a simple exercise in convexity to check whichever
direction my inequality is weighed I can move delta over 2 there such
that I get feasibility back.
Of course doing this I make my nodes more imbalanced. But that's
somehow bounded amount right on every edgy create at most delta over 2
new imbalance which I will have to take care in the next round.
So I have this animation here. This is just the exact same algorithm.
So apologies if it's a bit too dense because there are like four types
of numbers with different colors. So this is really the simplest
example I could come up with. So have this network, these two nodes
connected to two others. These numbers inside. They are the demands
or the excesses.
Now, this is the flow value. We start with zero. And these yellow
numbers are these relaxed cost functions. So we start with delta
equals 1 and then actually the derivative. So the function is X square
on every arc and the derivative here is 2 times the flow value times
twice delta. So it's 2 everywhere. Okay. These other numbers are
just the node potentials which are like correspond to shortest path
distances here just ignore them they are not that important.
Okay. So first in the delta equals 1 phase I take a node with excess 1
connected to a node with efficiency 1 and send one unit there,
brilliant. I got rid of one unit of excess and I created this arc
which is a residual arc backwards and this has cost zero so on the
forward arc I have four and the backward arc has zero. I do the same
on the other side.
And now it seems like I have a perfectly feasible solution. I got rid
of all the excess demands. So that's very good. However, we are not
done yet, because we don't have the optimality conditions. So let's
move on to the delta over 2 phase. Now, these numbers -- let's look,
focus on this line. All these numbers changed because I changed delta
from 1 to half. And now I actually created a negative cycle. So -well, okay. It's actually not that negative. It's just zero. But
okay still if I look at the potential differences, then on these edges
I will need 2 minus 0 is greater than 1, and that's smaller than 1 and
that's not really the case. So I have to push half unit of flow back
on these edges. And that's what I do.
So now I created this new deficiencies and accesses. And then what
happens in the next phase, I transport these half units and, well, that
actually happens to be a feasible flow. And that's the optimal
solution that I have half on every edge. Okay. So you might ask how
does it terminate? One way to look at it is based on the input data we
can define small granularity when it's easy to transform it to optimal
solution. But the more convenient way to think about it is that it's
simply never terminates, we run it forever and when it's close enough
for our purposes, then we just finish it.
Okay. So this much about the Minoux algorithm. This will be the base
of my algorithm today. So the first philosophical question is that if
I have a scaling algorithm, how on earth would I make it strongly
polynomial? So I start with a large value of delta, which is like this
maximum demand, and always decrease it by a factor of 2. And I have to
bring it less than 1 or even smaller if necessary. So to get a
strongly polynomial bound, we cannot afford just halving, halving,
which sometimes make, have to do something radical. We have to jump
with our delta, which somehow implies that we need some invariant,
which is independent of delta.
And so
linear
Minoux
really
such a very nice idea was given by Orlin for the algorithm with
cost. That's more or less the same as what I told you for the
algorithm, except the costs are linear and therefore you don't
need these edges. That's really a simpler version of this.
So what he observed in the scaling algorithm is that, okay, let's leave
it run forever. And actually in the norm, so we are converging to an
optimal solution. And in the delta phase we are at most 2 and times
delta far on every edge from this optimal solution. So why is that?
That I didn't make it precise, but in the delta phase, you can do at
most like 2 N flow mentation steps. Every step changes flow by delta.
So even if on an edge every such path traverses it and everything is
adversarial, even then you can at most get -- well in the delta over 2
phase you can get 2 N times delta over 2 delta over 4 N sums up to at
most 2 N delta. So what we may conclude is this very simple
observation. If we find an arc, which already has flow strictly larger
than this 2 N delta then this arc must be positive certainly and this
optimal solution. So how do we want to use this information?
So then we actually realize that it's not the prime problem we really
want to solve but the dual problem. If we have a dual optimal
solution, then we can simply compute the primal optimal by flow
computation.
So and by the slackness, this arc must be tight in every dual optimal
solution. So what we can do -- we have to change our objective, and
then one thing which follows from the analysis of the algorithm is that
if it starts running the standard scarp algorithm in order log N phases
we will find such an edge which is huge.
And then what we do, we just simply contract it. Forget everything and
restart the algorithm. Now, we have a smaller problem. Let's say we
have an optimal dual solution on the smaller problem, then we can just
obtain a dual optimal solution in the original graph, using that this
edge must have been tight. So it's really sufficient to solve the
problem on the smaller graph and then again in order log N phases we
get new edge which we might conclude that it must be tied in an optimal
solution here we can contract it and so on.
So we just keep reducing the size of our graph. And that's it.
Actually, this is a very simple idea. But it's not the most efficient
thing always to throw out everything we have done and restart from
scratch. Actually, Edmond Orlin has a super efficient version of this
working directly on the original graph that's for the last 20 years
that's like the most efficient algorithm for minimum cost flow. So
this truly is an efficient technique.
Okay. So let us now move to our setting finally where we have the
non-linear cost on the edges. So just for this talk, let's assume that
all of them are strictly monotone. This is not needed for the result.
But it's easier to explain it this way.
So then, because of the strong -- okay. So actually had it in quite a
few previous talks. So this is strictly convex. Sorry. So if I have
strictly convex objectives, then I have unique optimal solution. And
then let's take the support of this optimal solution, the positive
edges. And then here comes my first key sub routine assumption. If
someone tells me this optimal set of edges, then they have the sub
routine trial F star which can compute exactly the optimal solution
strongly polynomial time. So let's check this one for the quadratic
cost. So I have this cost function on every edge. Then if I look at
the optimal KK conditions, then I have this system of linear equation.
So this is just that outside F star I have to be zero. I have to get a
feasible flow F star. And I also have these pies on the nodes that the
potential difference on every arc in this F star equals the derivative,
which is this linear function in F star.
It's not entirely trivial to solve it, but fairly simple. And it
always has a solution if and only if on every component undirected
component of F star these BI values sum up to 0. Then it has a unique
F star solution.
Okay. So we will want to use this oracle. However, not only for the
final step, but even sometimes before. So that's the main idea would
be is that we are very keen on finding out which is the optimal
support. And what we will keep doing is that we always maintain a
candidate set for this.
So we start in the first step we don't know anything. Our candidate
set is zero is the empty set. And we always only add new arcs to it if
we are really sure that it must be in this optimal support. And we
will be able to extend it in every order of log N times.
So, first of all, let's look at how we can use Orlin's trick. If we
have an arc, which has very large amount of flow, then same argument
works. We have slightly verse constants because the algorithm has some
extra steps but we can do that.
So if we start the same argument shows that we have -- we soon have to
find such an edge. However, we cannot contract it. So why can't we
contract it? Well, in Orlin's agreement we had separate primal and
separate dual solution, and we could just change our focus to the dual
solution.
But now here we have constraints which contain both this pi values and
the solution values. So we cannot just reduce our problem to a smaller
one. Also, an indication for that is that we have seen on the tiny
example the optimal support might be sometimes it must contain cycles.
So for sure we cannot contract because then we would kill the
possibility of cycles.
Okay. So if we don't contract, what do we do? We keep doing a
variation of the algorithm and somehow guarantee that we extend this
set of arcs in every log N phases and since it cannot -- in the worst
case it solves edges it gives total bound N times log N on the number
of phases.
Okay. So the question is how do we jump in the algorithm? So we keep
running the same Edmonds Karp algorithm, and whenever our set F -- so
in the first place we extend our set F if it has an arc with a large
flow value. And then whenever we do make progress, we have extended
it. And we make an optimistic guess. Maybe we've already done that.
Who knows. But let's check it.
So then we use the sub routine trial, apply it for actual set. And
this will find us a solution to some system which is the same as we
have seen on the previous slide with FE instead of F star. So it gives
us a flow which satisfies optimality conditions here.
But that doesn't mean that it's an optimal solution. For example, we
cannot out true that it has some negative edges. Still, what we do, we
have another sub routine. This error sub routine. I will talk about
it later, which tells us what is the minimal delta prime such that if
we look at this solution X, then it would satisfy all the necessary
conditions which we would jig fire in the delta prime phase. We don't
want to write the conditions, they're a bit technical, but they're
natural, but I don't want to go into this detail.
So again the idea of we make the optimistic guess. It returns a sum
solution, and then for that solution we find out that which phase would
it be suitable for.
Well, there's three options. This is 0, which clearly shows that we
are already done. We get an optimal solution. If it's smaller than
delta prime, this is when really the jumping happens. And we forgot
whatever we had so far in terms of F. We move on to this new solution
X returned by oracle, and replace that over 2 by this new delta prime,
which can be like way much smaller.
And then there is a cert scenario. It's not only that we don't know
that it's smaller than delta over two. It can be even larger than
delta. So we can possibly arrive at the solution, which is worse than
our current solution.
In this case, we just don't do anything and move to the delta over 2
phase as if nothing happened. So it was an unsuccessful trial. And
kind of the surprising thing is that even -- even if this scenario
happens, although we didn't make an actual progress, we have some
information which guarantees that within a small number of steps, we
will be able to extend this. We'll be able to extend or support F.
So this is based on this following key lemma is that this delta prime
cannot -- it can be worse than our actual delta but it cannot be much
worse. So we cannot terribly destroy or we are not very far from the
actual situation, even if we make this guess.
So if we have this lemma, then it's easy to see that we must extend our
solution soon. So first case let's say that we actually couldn't make
any progress. So we move down to the delta over 2 phase.
Since in every phase we decrease our scaling factor by at least a
factor of 2, then in log N phases, we get a scaling factor, which is,
well, much smaller such that the 4 times M squared times delta double M
prime is smaller than our QM delta prime.
And the important observation is that the subroutine we are using, it
only depends on the set of edges in F. So if we run it again, if we
still have the same F, then the subroutine will return us the same X
and then we get the same delta prime, and then the conclusion is that
the delta prime is at most this 4M square times the new delta, which is
the delta double prime, which is smaller than delta prime as we heard.
So it really testifies that F must have been extended in the meantime.
And the other case is it's just the same if we moved, instead of delta
over 2 to the delta prime phase, then again in log M phases we will or
new value will be 4M squared times smaller than the actual value. So
the very same algorithm works in both cases.
And that's pretty much it. So the basic idea once more is very simple
apart from some technicalities, we maintain this candidate set of
optimal support. We pretend that it really is the optimal support and
this either gives us much better quality solution or it gives us a
guarantee that we must extend our set soon.
So let's just talk a bit about these sub routines. So this trial F
satisfies this solution satisfying the optimality conditions in both
our applications for quadratic objectives, Fisher markets is just
solving a system of linear equation, and it's a special system which we
are actually able to solve. And then this error sub routine. It needs
to find a smallest delta such that X is feasible in the delta phase,
which I didn't precisely tell you what it is. But the way you have
to -- okay. So for quadratic objectives, it goes back to a very nice
problem. This is this minimum cost to time ratio cycle problem, which
means that on every edge you have a cost and you have a time, which is
a positive number. You want to find a cycle which minimizes the cost
per time ratio. So like if the time is one unit for every edge, then
this is like a minimum mean cycle, but we can do it arbitrarily by
assigning different weights to the edges and there is this really nice
result by [indiscernible] nontrivial one that you can solve this one in
strongly polynomial time.
For Fisher markets, it's actually simpler. It's an all pass shortest
path computation. So in terms of running times for quadratic
objectives, it's like an M squared -- M to the fourth times log N. So
that could be better. But I mean, it's not terribly bad. And for this
Fisher markets with spending constraint utilities we also get this M
cubed log M type algorithm where M is the number of like this price
segments altogether, which I guess is compared to most of these market
algorithms that is a quite reasonable one.
Okay. So let me just finish with some questions. So the first natural
way to proceed would be to, instead of the flow polyhedron, let's take
a arbitrary polyhedron with the bound on the maximum subterminal
constraint matrix. Like flow polyhedron it's minus 1-0 or plus 1,
geometrics. But more general, you can look at this bounded case and
actually for linear cost functions there is this result by Tardos, the
flow result which gives us strongly polynomial algorithm for all these
kinds of problems.
And even more encouraging for this very same problem that separable
convex cost on such matrices with maximum subdeterminants we have
combinatorial but weakly polynomial algorithm. So if we could extend
this, that would somehow have the message that like separable convex
costs are just equally hard as, not harder than linear cost. Actually,
like the title of this Hockbaum Shantikumar paper is pretty much this
that quadratic programming is not much harder than linear programming,
but it would finally really verify this.
If it could extend this result for quadratic costs there. And one more
quick remark. So for this strongly polynomiality, of course the really
big question around is for a general linear program you can find a
strongly polynomial algorithm, which it's a very persistent question.
But probably a good and not completely hopeless sub problem is that
generalized flow problem. So that's just a flow feasibility problem,
and you have a multiplier on every edge such that the outgoing flow is
a multiple of the incoming flow by this factor. So actually that
doesn't fall into this class, but it still has a very simple matrix.
You just have two non-zero entries in every column, but they can be
like arbitrary numbers without any integrality restriction. So that's
actually a problem I'm working on a lot nowadays.
So thank you for your attention.
[applause]
>> Nikhil Devanur Rangarajan: Any questions?
>>: I have a question. With the constraint performance [inaudible] so
this Orlin's algorithm, it's different from --
>> Laszlo Lovasz:
Yes, it's --
>>: So those techniques work for this generalization for ->> Laszlo Lovasz: Yes. Yes and no. So yes so there are actually two
very different paradigms for minimum cost flow problems. So one is the
scaling type of algorithm and that's what Orlin makes strongly
polynomial. But the other is -- so here what you have, you maintain
the optimality conditions all the time. But the feasibility is
violated. You can have access and demand in the nodes. And then the
other approach is that you maintain feasibility, but you can have
negative cycles. So optimality is violated but obviously [inaudible]
is maintained and you progress by canceling cycles. And then so the
Tardos is like the cycle canceling paradigm. Like for these two
algorithms, it's also the Hockbaum Shantikumar in some sense it's this
feasibility scaling and this other one is the Tardos canceling type
algorithm. And I was actually -- yeah, that was like the first thing I
wanted to do to make cycle canceling strongly polynomial in the
setting. But I just simply couldn't. So that's -- they're very much
more serious issues which I don't even remember all that.
>>: And for the probability -- you can't use the Tardos and don't make
it ->> Laszlo Lovasz: Yeah, that's what I'm saying, that's what I first
tried and I couldn't do it.
>>: So what I asked is can you do the Orlin's type for this ->> Laszlo Lovasz:
should be doable.
Yeah, that's the question.
But it's like --
I mean, I think it
>>: [inaudible].
>> Laszlo Lovasz:
Hmm?
>>: Even for linear cost functions?
>> Laszlo Lovasz:
For linear cost functions, yeah -- that's actually.
>>: [inaudible].
>> Laszlo Lovasz: Okay. That one I didn't look at.
been done actually. I'm not sure.
But it might have
>>: That could be useful.
>> Laszlo Lovasz: Yes. So that might access such a result.
went into this direction. Yeah.
I never
>> Nikhil Devanur Rangarajan: Let's thank him again. [applause].
Download