17760 >>: So there are two good news. One... Windows 7, which is okay. And we have bigger...

advertisement
17760
>>: So there are two good news. One is as David mentioned we have launch of
Windows 7, which is okay. And we have bigger good news, that
Mohammad-Taghi Hajiaghayi is presenting a talk today. He has been a frequent
visitor to Microsoft before he joined another company, AT&T. And many of you
may not know, he's like one of the most prolific authors of our time. He already
has like I think more than 100 plus publications within a few years of his
graduation.
So here Mohammad.
>> Mohammad-Taghi Hajiaghayi: Thanks a lot for that introduction. So, okay, so
today we are talking about improved approximation algorithm for Steiner tree
problem. Now this is a problem one of the useful problems that is useful in
practice. And maybe saved like billions of dollars for AT&T.
So this is joint work with Aaron Archer, Mohammad Bateni and Howard Karloff,
our AT&T labs and Mohammad was an intern in our lab. He's from Princeton.
Okay. So we are defining the problem and, say, previously about the previous
work, then we are mentioning all contribution which involves an algorithm that's
theoretically simple and its analysis.
So what is the Steiner tree problem? So you are given a graph like this. And on
the edges, we are given a set of terminals, in this case the red vertices and a set
of nodes or terminals for the rest. We just want to buy a set of edges such that
the terminal nodes are connected.
For example, in this case you try and get price of 10, like the total cost of 10. But
the price collected of Steiner tree, in addition to the Steiner tree problem, we are
given some penalty function I on all vertices. And here that's essentially different.
Okay. For some nodes, maybe just a bit expensive to connect them to the rest of
the graph. Maybe what we are allowed to pay some penalty and just ignore
them. So, for example, in this case, if you want to connect this terminal, you
need to pay at least 10. But say it has a penalty of three. So then you just pay
the penalty and then you have a better cost. This is the price collecting Steiner
tree problem that we want the sum of the edges, here are some of the yellow
edges plus some of the penalties.
And it is trivially the case that all penalties are zero mean for Steiner nodes and
infinity for the rest of the graph, then this is the Steiner tree problem. So this is
like more general than a Steiner tree problem.
>>: [indiscernible] AT&T.
>> Mohammad-Taghi Hajiaghayi: What? Why? I will mention it. This is one
application at AT&T. We can get more applications. The phone that you are
using is using this technology. You should know what is behind the phone
technology.
Yeah. So let me mention -- so there are two things here. There are rooted
versions unrooted versions also. The rooted version is essentially the one that
we say one particular vertex is the root, always should be on a node tree. The
unrooted is you just consider one big connected component essentially
considered the most beneficial connected component and you just focus on that.
For the rest you pay the penalties.
We are mainly discussing about the rooted here. So just ignore unrooted form.
Okay. So the Steiner tree is like a very famous classic problem, a lot of
application like design, network routing, wireless communication, mission biology
for everything.
The process of collecting Steiner tree is also very classic nowadays. So it has
been used in like network design. As I mentioned, one of like the few theory
problems that had real impact. So maybe saved like billions of dollars. So you
can see in this paper essentially some results about them. But what is
essentially the main idea, why there is some practical things there.
So the main application that we had it in AT&T was something like this. That you
want to put like fiber underground. Now, say you want to connect a city. Then it
makes sense that you put -- that's like very costly to put fibers underground
because you need to dig into the ground and put it in. It's very costly.
For a city, it makes sense that you just dig in and put the fibers there. Especially
if you connect the people in your city. But there's one person, on top of the
mountain and asked AT&T for Internet. Now the question is: What do we want
to do? Of course, one option is to just say we don't have service there. But
maybe you want to be more gentle. AT&T is like a big networking, Internet
company. So you don't want to disappoint the guy.
You say I will provide the thing for you, but the issue is you don't provide the
thing for that for you. You ask the company Verizon, can you give him, for
example, the Internet service or some satellite company or something like this.
They can provide the things for him and so then he will pay maybe some
discounted amount to Verizon without going to the burden of putting essentially
this fiber underground. So that's essentially one of the main applications that we
had.
And there are some other applications. So from the practical side, from purist
side [phonetic], this is like the Lagrangean relaxation of k-MST. And there's tons
of work for k-MST that you have a budget for K vertices, you want to connect to K
vertices, that's what it is in theory. A lot of work there.
For a Steiner tree, we do the true approximation algorithm via MST as you see in
this example. So what does it mean? For each two vertices, for each terminal
you compute the shortest path and you are constructing graph on this terminal.
With the age weight equal to shortest path between any two vertices.
Of course, then you're finding the minimum spanning tree. Minimum spanning
tree on the setup terminal, and that's a true approximation and it cannot be much
better than two because it's not much better than this example. If you compute
for these three terminals the shortest path would be -- this 2 minus epsilon. If
you find MST here would be 4 minus 2 epsilon. Now if you want real defined
Steiner tree here, then you will get 3. So the ratio would be 4, essentially 4 over
3.
If the number of vertices on this will go to infinity, you can be arbitrarily close to 2.
So you cannot get anything better than 2.
So there's like LP forces the problem, still for the LP the gap is 2. You don't go
through that. Don't need that much. There might be -- there might be some
better LP. We don't know. There are some by directed LP which is suggested,
but we don't know if it is better than 2 or not. But for sure we can get better
approximation, better than 2 for a Steiner tree problem, at least L over 6
approximation by Zelikovsky from '93 and now it is actually 1.5 approximation by
Robins and Zelikovsky, because we need this algorithm. We call it RV algorithm.
1.5 approximation. And essentially the main idea of all of them is that if you have
this vertex, a Steiner tree, maybe if this vertex, this vertex was not in the original
set of terminals, but it really can help to reduce the cost of like the minimum
Steiner tree, add it and then compute the minimum Steiner tree. That's
essentially it.
But for collecting Steiner tree, it has been introduced by Balas in 1989 and by -essentially already mentioned by Bienstock in '93. There's a tree approximation
in this paper for prize collecting a Steiner tree and using a randomized version
we had in 2006 you can get it 2.54. We had it for more general case of the
generalized standard Steiner tree or also known as price collecting standard
forest, generalization of that.
But, anyway, so there was a true approximation since 1992. No improvement
before. So this is the Goemans Williamson extent [inaudible] algorithm and
essentially two approximations. This 1 over N goes to almost zero and goes to
infinity. And we are calling this algorithm Goemans Williamson and we are
discussing a bit more about it because we need it more inside of it. Anyway,
here we are giving the approximation the ratio of two minus epsilon for epsilon for
this problem for the first time.
The interesting thing, as I mentioned even for this Steiner tree the integrality gap
is just 2. So here we're going beyond the integrality gap. That's essentially the
main contribution that we are doing here. And here epsilon essentially we get
like 1.992 approximation. Better than 2, of course. But that's like the first one
you can get better than 2. No other better than 2 on this thing.
>>: [indiscernible].
>> Mohammad-Taghi Hajiaghayi: No, I think it went for prize collecting even for
Steiner tree we don't know anything better than maybe 1.1. 1.001 hardness. So
even for Steiner tree we may go get much better things.
And that's the thing that we are proving. Okay. So let's say the algorithm
essentially get some idea about the algorithm. So the algorithm, the algorithm is
relatively simple. We are running essentially two algorithms. The first one, that's
Goemans Williamson, as I mentioned, they give true approximation. We run it
with some penalties with essentially a set of disconnect penalty, by disconnect
penalty means alpha times the penalties, alpha is less than one and greater than
one half. So the penalty would be a bit smaller than 1. So the good thing here is
that when you're multiplying the penalties, you are essentially giving more
incentives to pay the penalty instead of connecting them.
Because the penalties are cheaper now. Okay. So as a result, this Goemans
Williamson, when you give this alpha times penalties connect a set S of terminals
and say for the rest we are just paying the penalty. Now, here actually we
assume that for each vertex there is a penalty, if it is not like in our terminal, set
of terminals we can't just put it as price, it's penalty 0, has the same thing. So
each vertex has a penalty. And when we are talking about S-like those that we
connected V minus F means those that we don't connect it and we pay the
penalty.
So S bar. Just to make it. Okay. So that's essentially good here. This algorithm
is good in two cases. If optimum or solution pay large penalty. By large penalty
it means that if the penalty is OPT based or solution paced. It's some constant
fraction of the actual optimal solution.
At least like some epsilon for fraction of the optimal solution. If it is the case,
then this is a very good algorithm. But, of course, it may not be the case. Means
that the penalties are 0, essentially we don't pay any penalty. We should connect
everything. So in this case we cannot -- this is not a good thing and we
mentioned an example that that is not the case.
In this case, we consider S the set of terminals. And we are removing some of
like bad guys from this set of terminals. Okay. This is the set S that we decide to
connect. We don't connect all of them. We remove some of these things that we
will decide and we select the penalty of this guys is, the penalty of this guy is not
too much. Remove them.
For the rest we are using a better algorithm than we have for Steiner tree. For a
Steiner tree as I mentioned we have better than two approximations. We have
1.55. Just the fact that it's better than two it helps us essentially. So for the rest
of the vertices we are using this.
And here we are using Goemans Williamson and Robins Zelikovsky black box in
this algorithm. But for the analysis we need actually internal of Goemans
Williamson and more general than Goemans Williamson. We need to essentially
do more than them.
And that we need it. And here we are mentioning some natural coloring scheme
that is actually useful and we could use it for another improvement as I will
mention at the end.
Okay. So let's start with like the get more details of the algorithm. So this is a
natural LP for the problem. So this is V belongs to V things and S is this, R is the
root. We consider the root of the case and S is always a subset of the V minus
R. And what does it say. This one says X of E is equal to 1 if we buy the edge
and 0 otherwise. Z of P means that we pay the penalty for one vertex. And 0
otherwise. Do we have a question?
Okay. So and so what this is saying, okay, the cost of the edges that you
bought, fill out the penalty that you want to pay that you want to minimize, and
what this one says is that each vertex, for each vertex, as I mentioned all vertices
are terminals here. Maybe they're pi is 0 it means that we don't care about them.
But they are terminal. And so here you say that for each vertex even we should
pay the penalty or we should -- or if it gets a cut from this vertex and the root at
least one edge should be 1. So that's like the natural LP forces problem.
We are writing the dual of this LP. That's the useful thing here. So we have the
variable YSV. This one says essentially the money is spent on cut S by vertex or
terminal V. That's YS of V. It's the total budget of essentially the penalty that we
have for V. These two are like two simple things like the dual we are writing it.
And these are two simple things.
This one says that the total money that vertex V is spanning over all cuts should
be at most budget, which is its penalty. Otherwise we can just pay the penalty
and there is no incentive to pay more than penalty.
The other things is that for each edge over all cuts that goes through this edge,
the sum of the money that is spent on that should be at most a cost of edge.
So we are essentially discussing, we are considering more this case the rest of
the algorithm but not only. Okay. So get some sense of it. We don't really need
that much of them.
Okay. So let's go on and describe a little bit Goemans Williamson algorithm. So
the Goemans Williamson algorithm they connect a set S of vertices using a 3 T
and pay the penalty for the rest. The bond that they have is this. They have a
true approximation. So the cost of the tree, the total penalty that we may is at
most 2 times up. Actually, they don't mention it, but they prove something
stronger. Even if you pay 2 times penalty, still this is less than 2 times optimum.
Still, it's not better than true approximation, because this part is 0.
So this doesn't give anything better than true approximation. But gives us
something that we needed actually, when we use it. This property that we can
for penalties we can put the same approximation factor of actual approximation
algorithm is called like Lagrangean preserving algorithm.
Okay. And what is the algorithm? There's actually a nice and simple and very
natural that we are essentially using the natural corresponding things here,
something.
So they're using the most glowing or ball glowing clustering [phonetic] so at each
time we have a laminar formula vertexes, laminar formula sets, and by laminar it
means that each two sets that intersect, one should be like subset of that.
Okay. So each set has a potential. It's potential -- that's essentially the thing
that's a bit -- we want to go more beyond Goemans Williamson. So each set has
the potential. This potential is the amount that this set can grow. And initially the
potential -- so initial things -- only initial things for say we only have three
terminals here. And each of them have the penalty.
Initially each of these sets that we have, we have a set A that has only -- this is a
vertex A essentially. The penalty of that is 1. So we have a set of single tones.
Each of them has just one vertices and its penalty -- potential is equal to the
penalty.
So at the beginning we have these tree sets. Each of them has this potential.
Now, active sets -- so all of them -- every set that has some potential non-0
potential is active set. Active sets are growing and lose potential at unit rate. So,
for example, in this case you see this thing at time run we spend one unit of each
of these things.
So if a set become of zero potential then it becomes deactivate. It's a total
potential have been gone, it's deactive. Now, we are continuing this process.
Here these two -- these two can still grow, do we grow them? They lose their
potential. And at this time six marriage, age constraints becomes type. For
example, here this age constraint becomes tight. So these two become
marriage. These two sets.
And then next time that we want to grow we are growing like around them. So
what does it mean? So at this time this becomes also deactivated. But this set
has a potential one, potential of a set is essentially the remaining potential of our
set that has been marriaged so far for this.
So that's essentially the part that we use it more. So here now we can grow
more these sets. So I use the same color here, that's important. So here you
see this vertex has some color. So here that's the coloring that I want to talk in
the next slide. We assume that each terminal have one color. One unique color.
And then we are growing. We are using potential from some vertex and we are
coloring the graph with that color. For example, here I mean we are starting with
each of these vertexes and they are using color these edges using their color.
Now, when we are marriaging these two, this vertex has, this terminal essentially
does not have any more potential. So we can only use the potential of this
vertex. And the potential of this vertex is, I mean so far we use it like two, we
have still one more. So when we go on top of that, then we are using the
potential of this vertex to go around this.
I haven't mentioned why we are using this property. So say a bit more about the
coloring scheme that I'm talking about. So it's like very intuitive things.
>>: Would much have larger potential?
>> Mohammad-Taghi Hajiaghayi: Then you can do it arbitrarily. So any -- any
small thing that you will go, you can charge it to anyone, or you can divide it.
And you just use that color. That's the important thing. We don't care that
they're complicative or not. You may use a little bit green and then a little bit red
and then a little bit green. There's no problem. But the issue we are using is that
essentially we are using this potential around these things. And if one vertex,
that's essentially the main property. If there's one -- if this terminal someone
connects it outside of this ball of its color, then we know that this three or
anything that connects this one to the outside have intersected with the color of
this guy at least the penalty of this guy.
And these are the disjoint things. So if there was another set there, then we
have the same thing for that. I will mention it in more detail in later slide.
So this is the coloring scheme essentially that I mentioned. So we're starting
from UV. We consider essentially by coloring of the graph I mean coloring of the
edges. We don't consider the vertexes. Vertices are just some points on the
edges.
So each edge you can continue to have the character it's like topological things
but gives very good intuition. So you are starting from this UV, for example, for
this one you are -- this is the color of, say, this terminal. This is S 1 and S 2.
Now, at this time so S 1 and S 6 say become deactivated. Go a little bit more,
maybe S 1 -- I mean like join with another set becomes S 2 and then S 2, 2 here
I mean by terminal 2. That has some potential. That potential will come and
color the rest of this edge.
Similarly, for S 7. So we are doing it more than S 3 again. We ran out of the S 2
and S 3 is coming. And do this coloring. So this coloring is essentially the one
that -- at this time we're consuming the whole edge.
So that's the coloring scheme that we are using. Okay. And the main properties
that we don't already use the edge length. So the total amount that has been
spent, this is at most the length of the edge. So that's trivial. And this is the
property that color SV is actually a cut between S and S bar. And all edges of
this color, all edges of this cut get this color.
So when you go a bit more, you will color all of them. And each of them has a bit
like YSV. So when you go a little bit there and span from some the budget of
some or potential of some terminal, you will -- this amount that you will color, this
bits, would be the amount that you will color that and that the bits of this color.
So you may have epsilon color yellow and then you have epsilon color green and
so on and so forth.
Okay. So let's come back to the algorithm and say some intuition. Okay. So we
have essentially this algorithm. This is a run Goemans Williamson with alpha
times penalties. And alpha is between one half and one. There are two cases
we consider. Case one or penalty is large, as I mentioned, like epsilon times
OPT. Or the case 2 is that OPT penalty is large.
If it is a case, then we show that the cancellation that we obtain is a good
solution. But if it is not the case, then we need the case 3 as I mentioned. So
here, for example, what is the case 3? The case 3 is this. So here what does it
mean that first case that all penalty is not large. It means that all of these part,
penalty of this is very large, this part. But what about the case that OPT penalty
is not large. So you said this is OPT. The SSR is OPT. The OPT connect and
so it means that this, the penalty of this place is also very small.
Essentially you can't say all places here. Everything except this part has very
small penalty. Okay. So then maybe we are in good shape. But why we might
be in a bad shape is the problem comes from existing. If we knew what is this
set, then we are in good shape. Why? We don't know it because we don't know
SS star. So we don't know what is the intersection of SS star and S. We know
everything here has very small penalty. So we are allowed to pay that penalty.
But in our solution that we are finding S, we are finding S and we are trying to
construct essentially a 3 fold F. Many are trying to construct a 3 fold F. Maybe
there are some nodes here that their penalty, as I mentioned we know that their
penalties are small. Of course, we don't know which vertexes. We know some
vertices that might be -- their penalty is very small, but we are wrongly
connecting them and we are paying a lot to connect them. Maybe there are
these vertexes here and we need to connect them and we need to pay a lot.
We need to essentially find these vertices and remove them. These are the
vertices that we call guilty nodes. So these are the set of vertices here, a set D
here of vertices. As I mentioned we don't know. The ideal cases that we can't
find this S intersection SS star. But we cannot -- we don't know SS star. So we
cannot find it. And instead we are finding some approximation of this set that we
want to remove.
We call it D. Maybe it has some intersection actually here. But what is the
property this. The property of this is first, is D. The total penalty D is small,
because as I mentioned we know if D is completely here than it is small. But it
intersects some things here but we still know that the penalty is small. That's the
first thing that we are using.
The second thing that we are using is that for the all other vertices like the bright
blue color that you will see, okay. We show that if you want to connect this
vertices to here, the total cost that you will pay is not much more than their
penalties.
Okay. So in some sense you are allowed to connect these guys to the rest of
vertices. And you have this option that you pay the penalty or connect them. But
they are in the same order.
And, of course, because we can't just remove D and then connect the rest.
That's the only thing that we know because we don't know anything about SSR.
But these things I mentioned it is good. And why do we need actually this guilty
node. Why can we not go without guilty node? Note that when we are doing,
when we are removing this set D, on the rest of the vertices then we know that
for sure we want to connect it. No, we don't use true approximation, we're using
the 1.55 approximation of Robins and Zelikovsky, we do 1.5. But on set
essentially S minus DVR we are running that.
And why do we need to remove this set D? Because of this example. Seeing
this example we have, these are the terminals. Infinity, since our terminals and
rest are standard points 0.
So if you run Goemans Williamson on these things, at time 1, essentially we
have like a ball around here, a ball here, a ball here and a ball here. And
everything becomes tight. It means that at time 1 everything gets connected.
How? So this terminal four terminals that we have, they have been connected.
[indiscernible] Steiner nodes. And what's the total cost we have? In this case it
is 7.
But the issue in fact the optimum solution here is only 4 plus 4 epsilon because
you can't consider these Steiner nodes and connect all these things.
And the main problem here is that you see we are -- what is a set S in this case?
The set S is essentially all of these nodes here that we have here. All of these
nodes -- so one idea is that if we don't find D, what is D in this case? D is this set
of terminals.
This one, this one and this one. These are the ones that you will delete. If you
don't delete it and just run Robins Zelikovsky on that then we are in bad shape.
Why? Because if you see these vertices actually the best Steiner tree for them is
7.
So if you don't delete these vertices, if you cannot find the guilty node, then don't
remove it, then you cannot gain anything, because if you run -- I mean, I don't
say even Robins Zelikovsky, I am saying this is the normal Steiner tree. That is
the main novelty of algorithm at this point that we're talking, you need to find
some vertices and remove them before going further.
And we need to distinguish these nodes. Okay. So let's just mention briefly
about two easy cases and then go through the second case like the third case.
So two easy case. The case -- so we are using this Lagrangean relaxation
property. This is the thing we get from Goemans Williamson. And we have
actually, because we are multiplying alpha times the penalty, we have this
relation.
Optimum alpha means when the penalty is timesed by alpha. And note know
that alpha is less than OPT because it's reducing the penalties.
Okay. So there are two cases that we consider. We just mentioned briefly about
them. So the case that we have a large penalty in Goemans Williamson solution,
it means that pi of S bar in our case is at least epsilon times OPT for some sense
epsilon which will be determined later.
If that is the case then what do we get? We just get the solution that we have.
That solution, the cost of C of E is less than 2 OPT of minus this part.
And now because of this relation that we have between OPT and as I mentioned
OPT of alpha is less than OPT. So we have essentially the construction, the
blank costs in terms of OPT and the penalty cost.
And because OPT is the relation of the penalty cost, we can essentially express
everything in terms of OPT because this penalty part you can just interpolate it
with this OPT. So this part will be essentially determined by the penalty cost.
And the penalty that we will pay also this one also is in terms of like penalty. And
then you will get this simple formula. That's like a simple calculation.
The case that we have a large penalty in OPT, where do we use that? So here it
means that what's the meaning of large penalty. SSR with a set of nodes that
OPT will connect. So pi of SS star bar means that the penalty will be paid for the
rest and it is at least epsilon OPT.
In this case, we are using this fact. So note that -- so just consider the same
solution. This solution that we are considering it. So we are paying the C of E
because the C of E is the same in both of these solutions. The only difference is
pi of E.
So in our solution we are paying pi of V for different vertices, but the issue that -I mean here we have like two times alpha times pi of V is less than 2 of alpha.
Now because 2 times alpha, alpha is greater than one half. It means that 2 times
alpha is greater than 1. That means if triangle or penalty will be 2 times less than
alpha. And essentially want to say that the solution that we are obtaining, if you
consider original penalties, it is at most 2 times alpha and here in this case we
just use the fact that because the penalty that we pay for the OPT is large, if we
discount the penalty. OPT of alpha and OPT should be related by this factor.
So essentially OPT of alpha should be essentially smaller than OPT. So the
actual OPT. And we know that the solution that we are obtaining is less than 2
times less of alpha. It means the solution should be essentially much less than
OPT. So that essentially it's like simple calculation.
You can't get it from this. Okay. Now let's go to actually the hard case. This
case. So as I mentioned this is S. This is the rest of it. This is S infection, SS
star. And we know that because of -- because we are not in the case one and
two, the rest of these nodes has very small penalty. We know this part has a
small penalty. But because we don't know SS star we don't know this part.
So we are finding a set D such that the total penalty of D is small. And
connecting this bright loop, bright blue part to the blue part is small.
What is the set D that we are considering it? The set D is a nodes whose ball to
D comes for deletion because we delete from S and also come from deactivated.
Here D is a set of balls, set of nodes that once during algorithm become
deactivated.
So each node will be in some ball. If this ball at some point becomes like
inactive, then this set contains this vertex will be B and D.
But here we are doing this when the penalties are B times the actual penalties. I
would mention this more. So we have two simple lemma and we are done. The
first one is that pi of D -- as I mentioned if D was completely here then we knew
that its penalties are small. But D has some intersection with this here. But still
we cannot say that pi of D is at most 2 times -- essentially pi of D is small.
And the other things that we are proving is that there's a forest F of very small
cuff such that it connects exactly this blue like bright blue part to the rest with
very small cost.
So if we have these two things then we are done, because we know that -- so
this part is OPT. This part essentially we pay the cost of OPT because this is the
intersection of S and SS star. The cost of this part to connect to this part is
small, then we know that if you use Robins Zelikovsky you get 1.55.
Okay. So let's prove these two lemmas and then we are done. So the first
lemma. Actually, here we are using this coloring scheme that I have mentioned.
So D was the set of balls that even once got deactivated in Goemans Williamson,
D times penalties. You can't just ignore B for now. B equals to 1 for penalties.
You're running essentially Goemans Williamson which makes times penalty or
just penalty.
And these are the vertices that have been like once in deactivated bar. Okay.
So I want to say that the penalties of this guy should be small comparing to OPT.
Okay. And so how do we prove that? We consider each node and its last
deactivation. So each node maybe becomes like penalty, we ran out of the
penalty, becomes deactive. Maybe someone comes and joins to this one.
Maybe next time again the whole thing becomes deactive and so on and so forth.
Consider the last time that each node becomes deactive. And all balls that are
corresponding to this deactivation. The first thing that you can prove here is that
these balls are disjoint. Because if they are not disjoint, essentially it means if
they have intersection, it means that Y this is the last time that is inactive.
So that's easy essentially like observation to see that these are disjoint. So we
have this disjointness here. And these are the things that are activated in the
last.
Okay. So that's the thing that I was going to say. So if you have any tree that
connects these guys, these vertices that are here, it should pay at least the sum
of the penalties of this guy. That's the key observation that we are making here.
Why? Because of exactly this coloring scheme that we have. Consider this
vertex, for example. If this is a tree that connects this vertex, actually, we know
that there is also one vertex at least which is outside of all of these balls. We are
using that.
So if you have a tree that connects this ball to some vertex which is outside of all
these balls, and why there is such a vertex because of exactly the definition of
the deactivation, if there is no such vertex, none of them should be deactive. So
anyway there is such a vertex. And now consider any tree that connects the
centers of these balls, these terminal to the outside.
It is easy to see that the sum of these things should be -- the length of this tree
should be at least sum of the penalties. Consider this vertex, for example. This
tree should go from inside of this ball to the outside. So the things that here you
pay is at least penalty and this is disjoint from any other part of the tree.
So consider for this vertex, for example, this vertex has its own ball here. But
this tree went essentially from inside of this ball to outside. So you should have
paid the penalty here. And this part of disjoint from every other part.
Consider this vertex. This vertex also is going from -- going outside. Maybe you
could actually do anything. Go any complicated thing. But you will see that
anyway that you will do that, when you go from inside to the outside, because of
this coloring, you should pay the penalty. You can obtain this constant
essentially from the duality. That's also easy to see. But from coloring scheme
you can get it maybe more intuitive.
Anyway, so we know that. Okay. So that's the thing. So forget about this better.
Better say is 1. I want to say that like pi of D is at most 2 times OPT. Here I
mention that any tree that connects all of them should be larger than pi of D.
Now, why 2 OPT? I will say consider the original tree that we constructed for set
S in our solution.
We know that because of the Goemans Williamson that tree S is at most 2 times
OPT. That was just the observation that we had. So instead of that tree we are
putting 2 OPT. Because that tree was at most 2 times OPT. So that particular
tree is a tree that we are considering, because you know that's the important
thing here is that this tree is part of F.
So the original tree that you found for S should connect all vertexes in D. But
that was by definition. So here that tree and the size of that tree by the Goemans
Williamson algorithm was two times OPT. So then we have these things. 2
times OPT here. And then we are in good shape. So that's the thing that we
showed that the pi of D is small.
At the same time, we want to see the second thing. That for the rest of
essentially for S minus D minus S intersection, SS star, it means that for this light
blue, connecting them to this part is small. That's another thing.
Now consider this same running of that, you remember this better times penalty
that we ran to get this deactivated D. At the same run, we are also doing a
Goemans Williamson algorithm essentially for this blue -- for this light blue part.
And we show in the same run because this guys do not become inactive in any
of the solution, exactly because of this reason it means that their connection to
these things should be small, to the rest.
This part is like a mathematical and not constructive because we don't know SS
star. So we want to connect these guys to these guys but we don't know these
guys. This is just some mathematical proof and some existential proof. It's like
the first use of Goemans Williamson as far as we know. That we are using it to
prove something but it is not algorithmic. It's just existential result because we
don't know this part.
Here essentially we are doing this. We are running this Goemans Williamson
and the pruning step is the different things here that we are using.
So we are only keep the ages which are relevant. By relevant it means if we are
connecting two vertices like one vertex here and one vertex here we don't use
this edge, we just ignore it.
So we can show essentially connecting this guy to this guy is proportional to the
penalty of this guy. And we know the penalty of this guy is very small because
we're not in case 1 or 2.
So we are done essentially. Why? So there are some technicalities that I don't
want to go through it now. So we are done here. Because from the first case we
get the approximation factor of this, that's just the computation that we get. We
knew that in the case 3, case 1, and 2 we have this thing we revert. In this case
we have Goemans Williamson lambda that and some delta this.
So here we get so from the first case we get this ratio. From the second case we
get this ratio. From the third case we get this ratio. Why? This is the part that
the penalty that we pay for D.
This is the part that we pay for S bar and this is the part that we pay to connect S
minus D. Why? Because this one is because of S intersection. SS star. And
these two better things was because of that light blue part that we want to
connect.
So we get 1.55 times this plus this, plus this. And now it is just a matter of
putting the conditions here. You get, if you put alpha beta and gamma in this
then you will see the max of them would be strictly less than 2.
We can't get a better thing and you can actually get 1.992 here. And 994 is not
correct. 992. You can get it 992 so you can get this approximation.
Okay. So that's essentially the things that I wanted to say here. Now, there is
also, there's some other problem we can use. Price collecting TSP. The same
problem that you have like a TSP for some vertices you are allowed to just pay
the penalty and don't connect it. So that was actually one of the open problems
that Goemans mentioned in 1998. He presented a talk in I think like ISMP and
he mentioned this two-problem, two main open problem relating to TSP.
One was price collecting TSP getting better than 2. And the other one was ATSP
getting better than log N. And both of them incidentally happened in this year.
Now for the ATSP we have log N over log log N and we have better than two
forces.
So the algorithm, this is essentially a byproduct of the previous algorithm.
Exactly same algorithm. We have this guarantee Lagrangean relaxation
property. We're just finding this set of D there. And we are just using, instead of
the Robins Zelikovsky, we're using Christophedy [phonetic] algorithm, which is
1.5. So you can get 1.98 approximation algorithm here for the TSP. And so the
algorithm is very similar, so you can just see it in the paper. But so there's a
difference here. So price collecting Steiner tree I consider it a bit more serious
because we can go below the integrality gap. Here we didn't go below the
integrality gap. It's 1.5. Upper bound. But here we get 1.98 so we see a large
gap that we might be able to go to at least 1.5.
So there's a conjecture we should be able to find for price collecting TSP 1.5
maybe. And toward this conjecture actually after Gorman worked on these
things and based on our algorithm he could improve it now for price collecting
TSP to 1.91. But that's the thing. And that's it, essentially.
So we mentioned for two minor Steiner tree price collecting, price collecting,
historically, that you have a set of sets and you want to just connect them on a
path instead of a tree.
But you can get -- that's also a non-problem. So we formalized some coloring
scheme. We used Goemans Williamson analysis, type of analysis. Not exactly
that more complicated than. For an existential proof. Future work is improving
these ratios and applying to more price collecting problem.
I would say like one of the main open problem other than this is getting better
than 2 for Steiner tree forest. So this is -- for Steiner tree there is much better
like 1.55 but we don't know anything better than 2 for Steiner forest. And that's
one of the big things. Towards these things, we use this coloring scheme and
these types of things to get the P task for planar graphs for price collecting, for
Steiner forest just standard [inaudible]. We can get P task on Steiner tree forest
on planar graph. We are using this technique to get P task. That's the nice
thing, you use the combination. But we don't know for general graphing
[phonetic].
Okay. Thanks.
[applause]
>>: Did you collect a prize for this? [laughter].
>>: It's not there yet.
>>: A best paper, no? Notion of best paper.
>> Mohammad-Taghi Hajiaghayi: That was in -- that's coming in the coming
facts. I don't know. I didn't collect it.
If you got some prize for themselves, but nothing for us, for the earlier version of
this prize collected.
>>: The 088 implemented ->> Mohammad-Taghi Hajiaghayi: The Steiner -- I don't know exactly. I mean,
they're using -- at this point I mean I don't think there's anything. But, you know.
They use the prize collecting they use it. Now I mention, digging like improving
the algorithm such that you don't dig into the ground a little bit, save you a lot.
That's like a huge cost. Any improvement you can get a huge cost saving.
>>: Okay. Let's thank the speaker.
Download