1

advertisement
1
>>: Welcome to the final session of the Graph Drawing conference. I'm happy
to see that you're still here. We saved the best for last and it's these four
presentations. First speaker, Benjamin Bach.
>> Benjamin Bach: Thank you. Hello and welcome to my talk on interactive
random graph generation with evolutionary algorithms using our tool, Graph
Cuisine.
This work has been done with Andre Spritzer from University of [indiscernible]
in Brazil, Evelyne Lutton and Jean-Daniel Fekete from INRIA, France.
So this is Bob. He works for a big, huge company. And he created the
automated layout algorithm for the router networks. Bob's problem is or what
he wants is to get this paper in the next GraphDrawing for next year. And this
is just an image of a routing network.
So Bob's problem is that such routing networks contain a lot of sensitive
information in their topology. And you can imagine you cannot just hand over
such routing networks to everyone or just do usability studies with such
networks.
So but Bob wants to test his algorithm. So what he needs to do is to create
similar networks that have, let's say, the same topological properties as this
network and since you want to test different conditions, he has to change the
network slightly in order to test his algorithm and write his paper.
So what can Bob do? He can generate graphs if he cannot use this dataset he
has. And for generating graphs, he needs to generate graphs with particular
measures such as certain size and less size and more -- less clusters and so
on.
And then he needs likely to change these measures for each of the graphs.
Now, what he also wants is direct feedback on these graphs. So just generating
them and then waiting and have a look again and changing everything, he does
not want that. So usually when generating these networks, we need first a
generator. Once we have a generator, we need to know its parameters. In order
to get our properties that we want.
2
And in a second part of this generation, we need to know the parameters to
change in order to change our network. So if we want the networks bigger or
more clusters, less clusters such things.
Now let me explain how we do this with Graph Cuisine, which is an interactive
explore tive approach to graph generation. So we can generate graphs, we can
mimic data sets and once we mimic them, we can also adapt them. So you imagine
this, the image from the routing network in the first scenario. Now, this is
the interface of Graph Cuisine, and we already have imported the network into
Graph Cuisine so now it appears there in this one view.
And on the left side, Graph Cuisine had created some graphs that look like this
one and has several measures, has the same measures as these imported networks.
So how do we create the similarity? In this parallel coordinate plot, we have
one vertical line for each common graph measure. So in this case, we have the
node amount, we have the edge amount, we have density, diameter of these
graphs, and the white knobs here highlighted by red circles, those are the
measures of our imported network.
And the other lines in this coordinate plot, they represent the graphs Graph
Cuisine has created. And as you can see, they already converge towards the
import measure, the measures of the imported graph. And as I said in addition,
the user can already see the network, how they look like and if they are
actually the same for him.
At this point, we can say this is what we want and we export our graph so we
have a lot of graphs and we can test our algorithm. Second point, how to adapt
these measures. We can use this directly, we can use it in the parallel
coordinates plot by simply either moving the target measures and then we can
also lower the importance of each of these measures. So how important this for
calculating this similarity. In this case, we just [indiscernible] the width
of the colored bars.
After doing so in this case, we lower the amount of clusters we want to have in
the networks. We get networks with less clusters. And at this point again, we
can export our networks or we can further continue exploring our solutions.
So I was talking a lot about optimization and creating networks. So how do we
do it actually, because this is only the interface. There's some magic in the
background and this is why we need our evolutionary algorithm.
3
So evolutionary algorithms are optimization problem that model the problem as
an inverse problem. That is, first, we have a population of solutions which
are encoded in the chromosome. This is where pretty much the process as in
nature. So we have chromosomes that represent solutions, and then we select
chromosomes, we create new solutions, we have to calculate how well or how fit
these solutions are if they survive or if they do not survive.
And for graphs, you can imagine we have two generated graphs already, two
parents. We take them, we create a new child of them, which has
characteristics of both of the parents, and then there's a mutation as it
always happened. So to make a proper child. And as I said, the final question
is how to assess similarity or how to assess the fitness of this individual.
And in many cases, this target graph is either an imaginary graph the user
wants to create for his experiments, or it is one of the [indiscernible]
datasets.
And then by iterating over this optimization process, we approach our optimal
solution. Now, one problem is how to define similarity. Of course, we can run
the algorithm a lot of times. And then he might come up with a good solution
that is already pretty close, but similarities in the eye of the user in this
case. So the whole optimization problem turns into an exploration problem.
The user needs to explore his solutions. And this is where we need interaction
in this whole process. So it's an interactive evolutionary algorithm,
actually, that we use in this case. And interaction can be at several points
of this evolution process in the upper right corner.
So let me explain how this more abstract process is implemented in Graph
Cuisine. So, of course, we have a population of solutions which are a set of
graphs, and these graphs, of course, they are encoded in chromosomes. And
chromosome and evolutionary algorithms is simply a list of parameters and their
values.
So first, from these parameter lists, we need to create graphs. And this is
then a Graph Cuisine by using a pipeline of graph generators. So here in this
example, we have generated G1, which generates some star motifs. And then it
hands over to graph generator, G2, which introduces some edges and the graph
generator, G3 in other words some random noise. So in graph G3, we several
motif generators for particular motifs and we some, we call them noise
4
generators, but it's not negative in this case.
according to several laws, basically.
That create edges and nodes
So now we have our generators and each of these generators is controlled by a
set of parameters, of course. So, for example, we have a star generator that
has as input parameters the number of stars you should create, the degree the
stars would have and the variance in degree that because you don't want all the
stars to be the same, probably. Maybe.
And here, we make the link to the chromosome so each of these input parameters
for our graph generators are encoded in these chromosome. So, for example,
here we have a star generator, which has parameter one is the number of stars.
Parameter two is the degree of the stars, and the last parameter is the degree
of variance.
And then it just does what it has been told. So there are some other
parameters on this chromosome such as though two. They are more or less for
controlling the pipeline, such as the order of the generators, because they
might change, and whether they're active or not.
So once we've created the graph from a chromosome, now imagine our population
is around 50 chromosomes, we have around 50 graphs. We need to assess the
fitness of each of them. Each single one. And this is where we come back to
these common graph measures. Currently, we implement eight of them, but let me
talk about this a bit later.
So what we need to do is to get from each of the graphs that we generated the
common graph measures and then we apply a weighted fitness function, a weighted
difference function, sorry, to calculate the error, basically, of this graph.
And the lower the error is, the fitter the graph is.
So and this runs for several optimization cycles, for several generations
alone. And then the result is presented to the user. So this user can decide
whether he just continues with this optimization or whether he changes
parameters and so on.
And this is where the interaction comes in this process.
Now, there are five interaction possibilities in of great cuisine, where the
user can steer this evolutionary algorithm process. The first is, as I showed
5
you in the scenario to directly set its target, his targets measures. So he
weren't a graph of a certain size with a certain density with a certain amount
of clusters and so on.
The second one is since he sees the graph already there, he can just select
them, and the system then interferes with the measures that the user's most
interested in. So it's not that we keep these graphs particularly, but we keep
the measures.
The third interaction possibility, more or less, is that we have some templates
which are predefined sets of measures and predefined sets for our generators.
So if the user loads a template for uniform graphs, there will be -- the system
tries to create uniform graphs. So with just one component and very little
clustering coefficient, for example.
Because, yeah, often it's very hard to know even what is the combination of
measures to get a certain type of graph. And then, of course, he can enable
and disable certain generators. If he does not want to have any clicks in his
graph, he can disable this and see how the other generators work.
And finally, the user is able to steer the evolutionary algorithm itself,
because there are a lot of parameters in the system hidden that when we were
playing around with Graph Cuisine, we tried these parameters so they fit well,
but, of course, there's always space for optimization or depending on the
problem the user wants to solve.
So this is a set of complex parameters already there where ironically, we need
another evolutionary algorithm for that, but that's another story. So however,
the results we get, I don't say it's perfect, but it's worked.
So as you can see, this parallel coordinates plot for this first set of
measures that the users input, we get a solution. And on the left -- on the
right, sorry, there we have this is the diagram of the fitness of our
population. So the blue curve actually is the best solution in this current
population. And since it goes to zero, it means it's even better. So now,
usually it goes down. But sometimes it goes up. And when it goes up means
that the user has changed one of these measures. And you can imagine if the
year changed the density, the complete population gets less fit.
And then we have these vertical black bars.
This is always when the current
6
solution population is shown to the user, then he can decide to continue or to
change things so it goes up when there is something black and then goes down
again.
So this is, this is very important for evolutionary algorithm to test or to
prove that the algorithm works. So now we generate graphs for our group to
test, to use these graphs in experiments on graph visualization and visual
graph interfaces.
But there are open issues, of course, as in any system. So we need first to
improve the interface. Because if you might have noticed, there are several
dependencies between the graph parameters we use so you can adjust at the
density and the edge amount and the node amount of some operative values. You
will get either no result or a very bad result.
So this is more a question of interface design. How do we make the user know
that if he changes one of these measures, the others will -- they have
automatically also the change or maybe you can lock some parameters and so on.
Another issue is about parameter distribution. You want to have a certain
distribution of degree in your graph, which is currently not possible with
Graph Cuisine, not from the technical point. So the evolutionary algorithm can
handle it very well. It's more or less the interface issue again. So you need
curves that you want to adapt or you might need chain boxes or somehow to
talk -- to allow the user to specify the distribution he wants.
Of course, we want to put more visualization into interface or color nodes
according to degree or whatever so that it's even more easy for the user to see
the similarity, but in graphs or to spot the graphs you want.
But so far, the system is very extensible so we use a set of generators and a
set of measures and each of them is extensible. So you can create measures.
You can ask for other measures, and the set we implemented right now might not
be optimal so we're playing around to optimize the set of measures, which leads
to the last problem of calculation time.
Some of these measures,
coefficient for each of
need to do this for all
this is the bottle neck
such as calculating the clusters or the clustering
the nodes takes time and you cab can imagine if you
50 graphs in a population, this slows the system. So
of Graph Cuisine currently.
7
But it works fine for up to 100 nodes. It takes about one minute to create, to
go over five generations. So the system does five optimization itself and then
shows it to user.
And this, we want to optimize, I think there's a lot of space to get this time,
to lower this time, basically. And, of course, what we like the most, we get
feedback from actual users that use Graph Cuisine to generate their graphs, new
suggestions. So don't hesitate to go to our website,
aviz.fr/research/graphcuisine or send me an email and I thank you for your
attention.
>>:
Thank you.
Are there any questions?
Peter?
>>: I guess if you're going to use this for a scientific experiment, then you
need some sort of guarantee on its randomness, basically, that they think you
need to know something about the distribution. You need something provable
empirically or provable mathematically. Can you provide anything like that?
>> Benjamin Bach:
About distribution, you mean?
>>: Something, like suppose if you're looking for whole graphs that divide in
some sense into five clusters. You want to know that your distribution over
all graphs is uniform. Your choice is a uniform choice. And it's not clear to
me that this graph is reducing the evolutionary algorithm does anything like
that.
>> Benjamin Bach: If you go back to this picture, so I'm not sure if I got
your question properly, but for now we can show kind of distribution visually,
how the distribution of certain measures in the graph. So, for example ->>: The distribution of the graph's output, right? So that if -- you know,
there's a profile that you're aiming for. There might be, you know, a million
graphs that satisfy the profile. And you want to choose one with probability
[indiscernible]. Can you -- the probability that you get is exactly 100
million or even close to 100 million.
>> Benjamin Bach:
>>:
Offline.
I'm sorry.
We can talk --
8
>> Benjamin Bach:
>>:
I mean, I want to know.
Sorry.
Final question?
>>: In other experiment or settings, you would generate those graphs from some
distribution [indiscernible] your distribution is characterized by a few fixed
features, but nothing is said about what all the graphs that satisfy these
features, how you select from them. Are there any systematic biases that the
process that you propose introduces into the sample? [indiscernible] certain
way of going to the next generation.
>> Benjamin Bach:
So you mean --
>>: Let me put it this way. You have only these features specified. All of
the graphs that satisfy these features, may be many, but the ones you're
generating are only those that have another feature fixed to some specific
value. It might happen in the process and it would not be a good choice.
>> Benjamin Bach:
values.
>>:
Okay.
>> Benjamin Bach:
>>:
But in this case, there are graphs that fit exactly these
Sorry.
Was there one more comment from Alex, quick comment?
>>: Goes also in the same direction. It's another system that doesn't use
evolutionary algorithms. How would you compare your system to that system?
How would you tell which system is better?
>> Benjamin Bach:
>>:
[inaudible].
>> Benjamin Bach:
>>:
Since we focus a lot of interface, we can --
Yes.
So just by the graph output.
9
>> Benjamin Bach: We can hand in the same graph and then test how close it is
to these measures.
>>:
If it just returns the same graph again, it will be exactly the --
>> Benjamin Bach:
Exactly --
>>: You want something that's random that's close to it, but it could easily
satisfy that criteria by just returning the sample graph.
>> Benjamin Bach: Okay. I know what you mean. So this is exactly what you
don't want when you create -- yes. So here, you see it's not optimal. I mean,
there is -- I mean, this is exactly why you need the interaction. You don't
want just to set, to choose this graph that is your input graph and it's
definitely interesting to see how far we can get to the exact [indiscernible],
but here we do not encode the topology of the graph directly.
>>: Okay.
Suk.
We have to stop.
Thank you.
Let's go to the second talk, Andrew
>> Andrew Suk: So okay. So I'd like to talk about some density or Ramsey type
theorems for intersection graphs of T-monotone curves and I'll define what this
word T-monotone means in a minute.
So these theorems were motivated by three pretty closely related problems in
graph drawing or in topological graph theory. So just as a reminder, a
topological graph is a graph drawn in the plane where the vertices are
represented by points and the edges are represented by curves connecting the
corresponding points.
We say a topological graph is simple if every pair of edges have at most one
point in common. So here's an example of a topological graph, but it's clearly
not simple because these two red edges here have more than one point in common.
So these three problems in graph drawing are about simple topological graphs,
and in simple topological graphs, every pair of edges essentially looks like
one of these three pictures here. So either they have a common end point or a
common interior point, which is known as crossing, or they simply have no
points in common, like over here.
10
So the first problem that I was interested in, in graph drawing was this
problem here, which is known as a Thrackle conjecture, which Andreas mentioned
just a little bit ago, said states that every N-vertex topological graph with
no two disjoint edges has at most N edges.
This conjecture is still open, and it seems pretty tough and as Andreas
mentioned, this is currently the best known upper bound. But if you assume
that your edges are joined with segments or, generally, X-monotone curves, then
the conjecture has been proven to be true. So Erdos proved this several
decades ago, and somewhat recently, Pach and Sterling proved this for
X-monotone curves. And roughly, around the same period, several other people
have also proved the Thrackle conjecture for the X-monotone case.
So the second problem is kind of a generalization of this problem here, chase
question of -- which is a conjecture due to Pach and Toth. So they conjecture
that every N-vertex simple topological graph with no K pairwise disjoint edges
still has where K is fixed, still has at most a linear number of edges.
This conjecture is still open. And the best known upper bound is due to Pach
and Toth, who got a pretty good bound. So they got N poly log N, where the log
has this 4K minus 8 in the exponent.
But again, if you assume that your edges are drawn with segments or, more
generally, X-monotone curves, then this conjecture is true. And this was
proven by Pach and Torocsik back in 1993. In their 1993 paper, they proved it
for segments, but the argument easily generalizes to X-monotone curves.
So if you look at this Pach and Toth theorem here, basically, it says that if
you have an N-vertex simple topological graph with more than this many edges,
then you can say for sure somewhere there's going to be K pairwise disjoint
edges. And so if you have a lot of edges, you would expect to find a large
subset of pairwise disjoint edges. So the third conjecture is due to Pach and
Toth is that every N-vertex simple topological graph that is dense has a
polynomial number of pairwise disjoint edges. So basically, there exists a
delta that depends on the hidden constant here such that the graph should have
N to the delta pairwise disjoint edges.
The best known lower bound is due to Fox and Sudakov, who showed that they can
find roughly law to the 1.02 N pairwise disjoint edges. So this problem is
pretty wide open. But again, if you assume that the edges are joined with
11
segments or more generally X-monotone curves, then again by that same paper,
this conjecture is true and this was shown by Pach and Torocsik.
So these three problems are obviously pretty closely related. Oh, and just as
a quick note, in case you're thinking that maybe this conjecture is kind of out
there, there is some evidence that this conjecture should be true. So last
year, I was able to show that a complete N-vertex simple topological graph does
have a polynomial number pairwise disjoint edges. So roughly N to the
one-third.
But the proof does not generalize to dense graphs.
So these three problems are closely related. They are all still open, but they
have been all solved for X-monotone curves, but they're all still own for
two-monotone curves. So when I say two-monotone, I mean an X-monotone curve
that can turn once. The reason is basically all the X-monotone arguments
basically fall apart in this case.
And so they all fall apart for T-monotone curves. So a curve is, just to be
clear, T-monotone if its interior has almost T minus one vertical tandem
points. So a one-monotone curve is simply X-monotone. Here's an X-monotone
example of a four-monotone curve because its interior has three vertical
tangent points. So it's like the union of four X-monotone curves.
So one of the main results I was able to show is that basically, I was able to
say something about the second problem. So I was able to show that if G is an
N-vertex simple topological graph and its edges are drawn with T-monotone
curves where T is some constant, let's say a thousand, then if G does not have
K pairwise disjoint edges, then the number of edges -- well, I still have an N
poly log N bound, but the exponent now has this order of log K in the exponent
and C of T is some constant that depends on T.
So just recall this was the Pach and Toth bound. So the improvement is
basically on the order of K. So actually, when K is small, like three or four,
the Pach and Toth bound is not only better, but it's also more general.
But when K is large, this bound is stronger than this one. And since this is
logarithmically in K, this theorem immediately implies something about dense
graphs. So as an immediate corollary to this theorem, I was able to say
something about the third problem. So I was able to show that if G is an
12
N-vertex simple topological graph, again with curves drawn with T monotone
curves with some constant T, and if your graph is dense, then G contains almost
a polynomial number of pairwise disjoint edges.
So basically, N to some constant that depends on T divided by log log N
pairwise disjoint edges. So just recall Fox and Sudakov showed pretty much log
in, but pretty much their theorem is more general. And just recall the goal is
to show that there's polynomial.
Okay. So this theorem here, this theorem on the improvement of the second
problem. So this theorem here basically follows from this somewhat technical
two color theorem that says the following. So if R is a family of N red
T-monotone curves, where T is some constant, say a thousand, and B is another
family of N blue T-monotone curves, such as R union B is simple, which means
that basically every pair of curves have at most one point in common, then the
claim is that there exists subsets R prime and B prime that are very large.
They are an epsilon fraction of the family. So epsilon is some absolute
constant such that either every red curve in R prime crosses every curve in B
prime, or every curve in R prime is completely disjoint to every curve in B
prime.
So there's this two-color theorem might sound somewhat familiar because it has
been proven for other cases. So in particular, Pach and Solymosi proved this
two-color theorem for segments, and Alon et al. Proved it for semi algebraic
sets in RD. And Basu proved it for definable sets belonging to some fixed
definable family of sets and then no minimal structure.
So these three proofs here, they're actually all pretty similar, because they
heavily depend on the fact that these geometric objects that they're dealing
with have bounded algebraic complexity. They're not very complicated. You can
easily express them with some Boolean expressions.
And so they're pretty similar and because they heavily depend on that fact, you
can't just transfer these arguments and prove this two-color theorem. So you
would have to do something different. But these T-monotone curves can have
arbitrarily large complexity.
So this is actually the first time this two-color type theorem has been proven
for a class of geometric objects that can have arbitrary large complexity.
13
So with this two-color theorem and plus Szemeredi's regularity lemma, you can
get this density theorem, which is the title of the paper, and I guess it's
kind of like the main theorem. And then what this density theorem, you can
prove this result, the improvement of the second problem on the maximum number
of edges with no K pairwise disjoint edges.
Okay. So I will just quickly sketch the proof of this two-color theorem,
because it's actually pretty simple. So I just restated it there for your
convenience. So suppose we have this N red T monotone curves in the plane,
where T is some constant, say a thousand and we have these blue curves in the
plane and the whole thing is simple. So we start by -- so for each red curve,
we'll call one of the end points the left end point. It doesn't matter which
one.
So we look at the left end points of each red curve, and we look at these
points in these blue curves. If I randomly sample C blue curves for some large
constant C, and if I apply a trapezoid decomposition of the plane based on the
C curves, so what I mean is at every end point, I'll draw a vertical line, and
at every vertical tangent point, I'll draw a vertical line and these lines will
go up either to positive/negative infinity, or it will go up until I hit some
other member in the sample.
So when I do this decomposition, because these curves are T-monotone and T is
some constant and it's just sample the constant number of these curves, this
decomposition, so I have decomposed the plane into at most a constant number of
cells. There's only -- there's no so many cells here.
And because I did this randomly, each cell, like let's say this one here, has
the property that with very high probability, N over 2 blue curves will not
intersect the interior of this region here.
And this is true for all regions. So since there's at most a constant number
of regions, and I had end points, one of the regions must have a lot of points
because pigeon hole. So let's say it's this one. So what happened was
basically, you know, what I did basically was I found a region R that contained
a lot of points and a lot of blue curves, some positive fraction of them are
completely disjointed the interior of R.
So now if I just look at these blue curves and the remaining red curves, the
ones with left end points in this region, I still have a lot of red curves left
14
and a lot of blue curves left.
So now, if I do the same thing with the right N-vertex points and the blue
curves, if I do exactly the same thing over again, I'll obtain another region,
R2, such that each red curve will have one end point in R1 and another end
point in R2 and there will still be a lot of red curves and I'll still have a
lot of blue curves left, some positive percentage and these blue curves will
not intersect the interior of R1 and R2.
So now I'm going to do the whole thing again, flipped with the colors. So
basically, I'm going to do the whole process again with the end points of the
blue curves and the red curves. And when I do this whole process again
flipped, I'll obtain two more regions, R3 and R4, such that each remaining blue
curve will have one end point in R3 and another end point in R4. And these
blue curves will be disjointed interior this R1 and R2. And likewise, each red
curve will be disjointed the interior of R3 and R4. And I'll still have a lot
of blue curves and a lot of red curves left some positive percentage of them.
So the point is that I kind of have this nice structure here. I have
somewhat -- some control and so now basically, doing some case analysis, curve
argument like the curve has to go this way or that way, you can argue that with
this structure, there's a lot of either a lot of blue curves, disjoint to a lot
of red curves, or there's going to be a lot of blue curves crossing a lot of
red curves. And that's the end of the proof.
Okay. So if you think about that sketch proof that I just gave, I didn't
really use that T-monotone condition much. The only part I used the T-monotone
condition was when I did that trapezoid decomposition. And so my point is that
if you don't like this T-monotone condition, if you find it a little bit
strange but you like these types of problems, then you might be interested in
this problem here. Because if you can solve this problem, then I think you can
obtain the same results that I did without the T-monotone condition. Or at
least you would get close.
So the problem is, suppose you have n points in the plane, and you have a
family F of n curves such that, you know, F is simple, every pair of curves
intersects at most once. Then can you find a region, R, that contains a lot of
points, some positive percentage of them, and such that this are region R, the
interior is disjoint to a lot of blue curves.
So this is the open problem.
Some epsilon n fraction.
If you think this
15
T-monotone condition is kind of a nice relaxation, then maybe perhaps you might
be interested in proving the Thrackle conjecture for two monotone, because this
is still open. Or you might be interested in this color problem, which is
pretty nice. So the coloring problem is that if you're given a family of two
monotone curves in the plane, such that there are no three pairwise disjoint
members, the question is can you color the non-intersection graph with the
constant number of colors. So basically, I want to know if the
non-intersection graph of these graphs is kai bounded, basically. And this is
still open.
And again, if you assume these are segments or X-monotone curves, then the
chromatic number of the non-intersection graph is bounded. So it is true for
segments or X-monotone curves, but it's still open for just two-monotone.
And just as a quick note, I guess, the dual version is not kai bounded. So the
intersection graphs of, say, segments, is not bounded by the -- the chromatic
number is not bounded by some function of its click number. And that's it.
Thanks.
>>: Are there any questions? No questions? All right. Thanks again. We
proceed with talk number three of this session, the second to last talk of the
conference by Gabor Tardos.
>> Gabor Tardos: So thank you for staying 'til the last session. Just two
more talks and you are done. Anyway, so I'm here to talk about geometrical
problem of visualization, but it's not exactly graph drawing. So the setting
is that you have an arrangement of -- so you have a big map, for example, and
you want to put dots on all the places where I don't know, important people
that born or something. And you want to arrange it in such a way that as much
of this is visible as possible, but these dots are overlapping so I mean, you
have to come up with a stacking order, like which comes from the top and which
remains on the bottom and, of course which is this that is higher up, they're
obscuring the lower ones.
So there isn't too much that you see from particular disk here. So how much
you see in total in area that kind of independent, of course, of the ordering,
but maybe a better measure is how much of the parameter of the disk you see. I
mean, how many -- what is the length of the lines that you see. You want to
arrange them in such a way that this is biggest.
16
So again, the setting is that you don't move these disks. The disks, I mean,
for this talk, these are all unit disks or disk of the same size. Of course,
you can ask the same question for disks of different size or other forms. For
this talk, they are all unit disks and the position of the disks are fixed.
The only thing you can choose is an ordering, like a stacking order which comes
on top and which comes on bottom and you want to maximize the visible
parameter.
And for this talk, we are looking for the worst case instances, like how much
you can absolutely guarantee. So there are N disks then I can absolutely
guarantee wherever they are, the best stacking order will make sure that this
amount or that much of the parameter will be visible.
You may say that it's not very realistic if you want to visualize dots on the
map, they usually don't -- I mean, not all of them are intersecting or
overlapping, and usually they are kind of more scattered around. But just
working with this version, the worst case setup is good because that gives you
relevant results on a more realistic setup and it's not the number of disks.
All of them overlapping. But there is like a bound of, at most, three of them
overlapping. I mean, just using this result as a black box, you can come up
with the results on the more realistic setting.
So this is -- oh, by the way, so this talk is on joint research with Janos Pach
and Gabriel Nivasch and we were following footsteps of Cabello, Haverkort,
Speckmann, who followed this problem first, and they came one this very simple
argument that if you have N disk, then [indiscernible] parameter will be
visible if you do it right, and there is a very simple argument for that. You
can find some subset of the disks that formulate a monotone sequence. So you
can arrange them in such a way that both the X and the Y coordinates are
monotone in that sequence.
You put them on top in that sequence, and at least one quarter of the parameter
of each of them is visible. And you don't care about the rest. Maybe you put
the rest of the disk below all of these. Then you can -- so you have, yeah,
you have this [indiscernible] end as the lower bound.
And they asked if -- well, root ten is very weak. Maybe you can do actually
constant fraction of all the parameters visible. That would be much nicer.
And now you can define how much. FN is the maximal visible indicator for the
worst case point set. But for the best stacking order. So whenever -- or this
17
set, whenever these are given, then you find a best order to stack them.
So this is what we were working on. We strongly believe that none of these two
bounds are tight, but we couldn't prove that you can do better than square root
of N. We can prove that you can, for some set of this, you cannot do a linear.
So we could at least answer this question.
And so before I give you anything more about this problem, I start with the
reformulation. I mean, this is the last slide that I have that has disks on
it. So instead of disk, we will turn the whole problem into a problem about
angles.
So first observation is that you have two disks, you bring them together, then
whichever is higher up, you cover strictly more from the lower disks. So not
just more in terms of lengths of the parameter, but actually the set that is
covered is a super set here.
So if you are looking for a very bad arrangement of this, if you put all of the
disks much closer together, so instead of the points at P, you look at the
points at epsilon P where epsilon is something small, it's an even worse
configuration. And you're working for the worst consideration you can actually
consider this linear when epsilon goes to zero.
And then you do that suddenly, I mean, this is all about angles. It turns out
that this limit how much contribution a given disk is giving you is very easy
to formulate. So this is [indiscernible] is the limit of the lengths of the
parameter of one of your disks, how much is visible, the limit of that.
And that turns out to be zero if that center of that disk is within the convex
hole of the higher up disk that will then eventually obscure the entire disk.
And otherwise, I'm sure this is too low for anybody to see this picture, but if
you have this point on the boundary, on the convex hull of the higher up
centers, then what you are looking for is the external angle of the convex hull
at that point and so this [indiscernible] the angle, external angle is exactly
how much you will see.
And if you see this picture, so there is another disk somewhere along this
line. So as it comes closer and closer, it will cover everything except, I
mean, eventually it will cover half the parameter here. And then other disk
coming from here covers another half here and only in this little angle remains
18
that will not be covered.
So basically, the reformulation of the problem is a simple one. You don't have
disks. You have a set of points, a finite set of points in the plane. You
want to order them in such a way you start with just one point and then you add
points and then each and every time you add a new point, you look at the angle
of the convex hull at that new point.
If that new point happens to be inside a convex hull, that's really bad, then
you don't have any contribution there. Otherwise, your contribution is the
external angle, and the new point and you want to arrange the point in such a
way that some of these external angles is as much as possible and the question
is how much can you guarantee to be the sum of the external angle.
So that's the next equivalent formulation without disks.
result.
And now comes the
We have results for dense sets. So at a set of points, so this is scale
invariant at this point. So dense means that, I mean, like a grid, a set of
grid points, like a square root ten by square root ten grid is dense. What I
mean by dense is simply that you look at the smallest distance between two
points and the largest distance between two points and the ratio of these two
is as small as possible. So it can be as small as constant times square root
of N. It obviously cannot be smaller than that.
And if it's that small, we call that the points that is dense. And for dense
point sets, we figured out kind of exactly what happens. Turns out that there
is no good arrangement that would give you a linear visible parameter or the
sum of external angles. It's always N to the three quarter at most, and there
are point sets that achieve that. So it's N to the three quarter. It already
answers is it cab you always have a stacking order with linear visible
parameter question. No, you cannot. For any dense set, this will be less. It
will be at most N to the three quarters.
However, we were looking for the worst case set. So, I mean, this is much
more. This just says that for every dense set, so how about the worst case
dense set. So if you are looking for the worst case dense set, it happens to
be the grid where this exponent of three quarter goes down to two third and you
cannot go lower than N to the two third for dense sets. This is the worst is
case really the grid.
19
Another way to formulate is for dense sets, the maximal visible parameter is
between N to the two third and N to the three quarters and both bounds can be
obtained by dense sets.
And [indiscernible] the first [indiscernible] is this FN, the upper bound is
now N to the two-thirds. The grid gives you this upper bound. The lower bound
we couldn't touch. Unfortunately. I strongly believe that it's N to the two
third. That actually, if N equals the N to the two third and for the following
reason. I mean, it seems that a dense set is really bad in terms of visible
parameter. You never can get a linear visible parameter out of a dense set.
It seems that dense sets are bad. And but if there are worst sets, worst than
N to the two-thirds, then it's not dense. It's, I'm saying, other than dense.
So, I mean, at least for me, it's argument that maybe N to the two third is the
truth.
Okay. So I plan to give you the proof or at least a sketch of one proof and
that's for theorem one that gives you the first known linear [indiscernible]
sub Lynn-year bound. If you have any dense set, no matter how you choose the
stacking order, you will never get more than N to the three quarters as the -well, total visible parameter or the external relief. What I'm interested in
is the sum of the external angles as you increase the convex hole by adding the
points one by one.
And the main idea of the proof is to look at the parameter of the convex
source. So you start with one point, it has parameter zero. You add points,
the convex hole gets bigger and bigger and the parameter increases. But it
doesn't increase too much. So the point is that it starts with -- so while I
said it was dense so we can scale it so that the minimum distance is one. The
maximum distance is around square root of N. So at the very end, where you
take the convex hull of all the points, then it still has diameter around
square root of N. So the parameter is also order of square root of N.
So it starts with zero and it gets to square root of N, and there is a relation
between how -- so this S sub I is the parameter of the convex hull of the first
I points and it turns out that how much it grows really depends on this
external angle. So this is a little bit of elementary geometry to do here.
The point is that this is your new point here, and you know that in a radius of
one around it, there is nothing in the old convex hull. The minimum distance
was one and that's enough to prove that the new convex hull is, well, it can
20
only increase, of course. It will never decrease. But actually it does
increase by something depending on the external angle. Actually, proportional
to the square of external angle. And that's enough to give this three quarter
bound. So that's basically the proof.
This can be achieved by a very simple construction. You just take this grid,
basically, I mean, it's a regular square root of N of them in this fashion and
you order them inside out so you go around this circle inside out and it's just
a computation. I mean, simple computation gives you that this actually gives N
to the three quarters so you can do that. For the other two theorems, of
course, I will be much -- give you much less details. But there is some
similarities here.
So for theorem one, the proof idea was a parameter of the convex hull and it's
nice to know that the parameter is actually the integral of the length so you
have some convex object and the parameter can be computed by projecting this to
a line, measuring the length of the projection and integrating that around all
possible direction. It's very nice observation. And the next observation is
that if you start with the grid, then not all directions are created equal.
There are some important directions that are close to some sort grid vector,
and -- oh, okay.
And those show grid -- I mean, if you instead of just integrating, I mean, you
constantly put more weight on that, then you get a better bound, N to the
two-thirds and there is a connection between the second and the fourth. I
mean, the second theorem is that, says that there is this construction with a
concentric grid-like construction from inside out, you do a clockwise like
thing and that's a good construction. And last theorem says that for any dense
set, you cannot do -- I mean you can do something very nice, and it's a
random -- I mean, you just put this random grid on your set and pretend that
it's a grid. You just put the grid on the set and pretend that the whole set
is grid-like.
And, of course, note that the exponents are different so you lose something.
But you don't lose that much.
And finally, a related question that might also be interesting, but was already
sold by all these people, if you are not concentrating on the sum but you want
to have from each disk you want to see at least some amount of visible
parameters to get and there's a very simple greedy algorithm so the greedy
21
algorithm that you can come up with that works and that gives you optimal
results, and the answer is this 2 pi over N. And this is still open where the
optimal thing is if your point set is not dense.
So as I mentioned, I strongly believe that it's N to the two-thirds.
not square root of N. But I can't prove anything. Thank you.
>>:
Okay.
Thank you.
Certainly
Are there any questions?
>>: Is there anything known about how hard it is to compute the optimal
[indiscernible]?
>> Gabor Tardos: So as I said for this related question, it's a very simple
greedy algorithm. Gives you the optimal. And for the original question that I
was speaking about, I don't know. I had some conjectures of what algorithm
would be optimal and it wasn't. So I just, I just don't know.
>>: A question. Suppose you have a collection which is dense. And we
formulate the problem, which means I allow to move the original points, not to
get better results. And then measure how much I have to move the points.
[indiscernible].
>> Gabor Tardos: Yes, I mean, all I can say, it's a nice problem. Going back
to the -- I mean, map visualization thing, it might be relevant. If you cannot
visualize it exactly where it should be, maybe you should move it. We didn't
consider that.
>>: More questions? Thank you again.
the honor is for Eric Fusy.
And the final talk of the conference,
>> Eric Fusy: So this is a joint talk with my colleague, Luca Castelli from
Ecole Polytechnique and Olivier DeVillers from [indiscernible] in France. And
it will be about the very well studied topic of planar straight line drawings.
So first, very briefly recall that we are given, in the plane, we are given a
plane graph and want to have a representation, planar representation with edges
as segment. And so there are some classical algorithms like the first one, of
course, everybody knows is from Tutte with a spring-embedding principle.
And more recently, there have been two classical algorithms that gives
polynomial grid size. The first one is incremental by Defraysseix, Pach and
22
Pollack. So I will cite it a lot. So I short it to FPP algorithm.
second one is by Schnyder based on the face-counting principle.
And the
So in this talk, I will not draw graphs in the plane. So not plane graphs, but
graphs on two surfaces, the cylinder and the torus. And in each case, I will
give periodic straight line drawings algorithm. Planar periodic straight line
drawing.
So I start with the cylinder.
take out two disks. So it can
be equivalent to an annulus if
also [indiscernible] by taking
sides. Okay?
So a cylinder is a topological ridge where you
be either represented as a -- sorry. So it can
you project it flat into the plane. But again,
your square and identifying the two vertical
So here is a continuation of the cylinder. Here it is the annular
representation. And here it's periodic representation, okay. So why periodic?
Because if you take this square and make copies and place them from left to
right, you get a drawing this is periodic in X, okay?
So now, for the torus, it's similar, but you now identify a vertical size and
also a [indiscernible] side. So now again, you should have the graphs on the
torus and so we could get the flat torus here. Again, if you make copies, you
will obtain a periodic drawing of your graph. But this time, periodic both in
X and in Y. And again, we are interested in finding efficiently straight line
periodic representation of graphs on the torus.
So about what is known. So the first algorithm to do that has been given by
people from Winnipeg. I think it's incremental worst case analysis. So then
the second one is, adapts that algorithm to the torus and also this was in a
paper by [indiscernible]. And very recently, Goncalves and Leveque extended
Schnyder algorithm to the torus. So they obtained a grid size which is
[indiscernible].
So now about the overview and the main result. So in the first part, I will
recall the FPP algorithm for plane [indiscernible] and also give a slight
reformulation that is very convenient for us. With this [indiscernible], we'll
be able to extend the algorithm to the case of cylindric triangulations to
obtain the X [indiscernible] drawings and by a simple reduction from the torus
to the cylinder, we will also be table to get periodic drawings for
triangulations and the torus.
23
So about the grid size, it's not completely linear, so the width is height, but
the height is linear times the graph distance between the two boundaries. So
this is for the cylinder. And for the torus, the height is bounded by N times
the length of the shortest non-contractible cycle. Non-contractible means you
cannot shrink it to a point.
So these are the main results. So I trust even if many people know it very
well, I will recall the FPP algorithm and also give a reformulation of one
step.
So the first ingredient is [indiscernible] of canonical drawing for planar
triangulations. So it's a shelling order. So you have the [indiscernible]
match and at each step, you take a vertex in the top boundary, but not an
[indiscernible] of the [indiscernible] match, and you take it out of -- you
[indiscernible].
So you do it at each step so you choose a vertex in the top boundary, and take
it out. So you have to be careful this that vertex is not incident to a
[indiscernible]. Otherwise, the boundary would not remain a simple cycle.
And then you label the vertices from here there are seven vertices. Not
incident to the bottom edge. So you represent from seven to one until there
just remains the bottom edge, okay.
So it's a very well known notion. And something important for the FPP
algorithm is the notion of primal tree associated. So for each vertex, which
is inside the outer triangle, you have a red edge directed throughout its
neighbor of largest label, okay. So it's easy to [indiscernible] that it gives
a tree. This neighbor is also the vertex which shelling made this vertex
appear under a boundary.
So this is for the classical formulation of the FPP algorithm. So for the
reformulation that we will use, there is something important is the notion of
dual [indiscernible] tree so we are [indiscernible] to the primal tree and it's
now use classical duality for plane trees where so you put the vertex in each
phase and when two adjacent phases share an edge that is not in the primal
tree, you put a blue edge which is in the dual tree. So it's well known that
it gives spanning tree of the dual graph.
24
Okay. So before I describe the FPP algorithm, something important is that if
you take the vertices in increasing order, it gives a way to constrain our
triangulation step by step, starting from the bottom edge and adding vertices
one by one.
So, for instance, we got GK as the graphs formed by E and the first K vertices.
And so GK, so here G5 is obtained by adding a new vertex that we sort of had
and you can see that it covers a part in the graph G4, okay. So it's always
the addition of the new vertex, K plus 1. So K, say, covers a part in the
upper boundary of GK minus one.
So now we have the tools to define -- to say how the FPP algorithm works. So
say at each step you have a planar drawing of so here GK minus one. So it's a
generic step with the bottom edge [indiscernible] and the top edges of the
upper boundary are [indiscernible] minus one.
So when you want to insert the vertex K to the drawing and keep a planar
drawing. So what you want to do is essentially to insert this hat as a sort of
straight hat with this edge of one and this edge of slope minus one. So the
point is you do that, you see that this green edge will overlap with this edge.
So what you do is you shift step to make the slope of the green edge smaller
than one and the slope of the blue edge larger than minus one. So you just
shift the vertices here on the left by one and the vertices here on the right
by one to the right.
Okay. So and then you can insert K as a straight hat and you will not have
overlap problems with these edge joints. So what I didn't say is what you do
with the vertices inside. So actually, you might also shift them according to
the descendancy. So you look at the ancestor on the upper boundary and
[indiscernible] then you shift the vertex inside, okay?
So and by simple [indiscernible] argument, you can say that it remains planar
at each step. So here is an execution on an example. The weights increases by
two at each step, and you get planar drawing with linear width and height.
Okay. So now about the slight reformulation that will be very convenient. So
it uses the dual tree. So the step which we formulate is the shift step, which
we move to make the slope of this green and blue edges smaller than one
absolute value.
25
So instead of formatting as a shift, we use a more local formulation with a
dual tree. So as you can see, there is a path in the dual tree starting from
the edge dual to this green edge. What we do is just we insert this
[indiscernible] of width one along this part. It exactly is the same as
shifting by one the vertices on the left and then the descendant for the primal
tree.
So because this is the power edge, the sub trees on the left from the left -right sub trees on the right, okay. So it's just a reformulation. So we do
the same to make the slope of the light blue edge larger than minus one, and so
we insert the next vertex as a hat. So it was just a reformulation of the
shift set, but it will be convenient to extend the algorithm to the cylinder.
Okay. So now I can talk about the cylinder. So I'll explain how we can
explain this FPP algorithm to this setting. So first ingredient of the FPP
algorithm is the notion of canonical ordering. So this shelling order.
So first to define the canonical ordering, it's going to take the annular
representation so it's the triangulation of the cylinder. So the bottom
boundary becomes the outer boundary and the top boundary becomes an inner
boundary.
So in the plane case, we -- the base case is when you, at the end, you just
have the bottom edge and that is set, you shed a vertex on the upper boundary.
So here, what plays the role of the bottom edge is the outer cycle, and what
plays the role of the upper boundary is the inner boundary.
So which means at
Again, to make it
remains the outer
chord incident to
chord, toward the
each step, we want to shed a vertex in the inner boundary.
work, this vertex [indiscernible] and we do it until just
cycle. So there is a technical condition that there is no
the outer cycle. Otherwise, the area that is outside of the
outside, could not be visited.
So it works only under this condition, okay. So now we have a notion of
canonical ordering, which gives away to a [indiscernible] this triangulation
step by step in incremental algorithm. So there also is the notion of primal
tree. So now it's a primal forest with the roots on the inner boundary, and
there is a notion of dual, at this time, forest where actually you have to see
we put the vertex in front of each boundary edge.
26
So it's, now it's a forest, but it will work the same way.
planar case, we have to say how generic step would work.
So now similar to a
So now that we take [indiscernible] of the cylinder, we have a cylinder. So as
a standing cylinder, which is like the [indiscernible] representation, where
you physically identify the vertical sites. Okay. So imagine we have already
a crossing [indiscernible] drawing of GK minus one with this plus one minus one
slope condition for the upper boundary, and we want to insert the
[indiscernible].
Then we do the same as the reformulation. We just insert the strip of width
one to decrease the slope of this green edge, and the same for the edge on the
right.
So a shift step would not be [indiscernible] because [indiscernible] there is
an area to the left, an area to the right and you shift them to the left and to
the right. But here, these two areas meet behind the cylinder. So this is why
it was not convenient to formulate the shift step classically, but with dual
tree, everything is fine.
Okay. So now, as in the planar K, we insert the vertex as a straight hat.
Okay. So just an example, so we first draw the base is just the outer circle.
We draw it just as a line so it's periodic representation. We are careful that
the vertex must be evenly spaced with just a technical condition so that when
you insert the new vertex, it will be on a grid point. Okay. So now, you
insert an execution so you can check that at each step. There is -- it's a
periodic planar representation. And okay. Sorry. And it's like the FPP
algorithm, but it's periodic in X so this identifies with it. Okay. So now
the grid size, so it can be checked so the vertical spine at each edge is at
most the weight so it is at most the essentially the N times the graph distance
between the two boundaries.
And in the second step, we first decompose the [indiscernible] it to the outer
circles and if we take care of getting enough initial spacing, then we draw
this, the one [indiscernible] and if we are given initial spacing long enough,
then we will [indiscernible] to plug the [indiscernible] component using the
FPP algorithm for plane triangulations and we get a join.
So it works for any triangulation in the cylinder.
27
So finally, I just explained briefly -- okay, sorry. For the torus. So an
easy way to go from torus to cylinder would be to get around one cycle. But
the problem is that you duplicate vertices, so it's not very convenient to get
a drawing of the torus from the joints of the cylinder so we use the concept of
tambourine which means two circles directly parted. Two non-contractible
circles that are directly parted. In this way, when we did it, which is inside
this tambourine, we don't duplicate vertices and here's a strategy so you, with
the tambourine, you did it. So you start researching on the torus. When you
did it, which is in this tambourine, which you compute, you get a triangulation
on the cylinder. You draw it with our algorithm and if you give enough
vertical space, you can reinsert the edges of the tambourine. So in that
space, the [indiscernible] of slope greater than one in absolute value and then
it's fine. You don't have any crossing. So this is a drawing of this
triangulation in the torus. So I don't have all the details, but you don't
increase much the height and you can make sure that essentially, you see a
shortest non-contractible cycle going from one boundary to the other and so it
means that the height is bounded by N times the shortest non-contractible
cycle. Since it's a square root N, the height of our drawing is N to the
[indiscernible]. So we lose a factor of square ten compared to the plane. So
here are just extensions. So I probably don't have time.
But just to say that we can extend it to three connected maps and get convex
joints as in the planar case, and we would like to make our strategy work for
higher [indiscernible] but it would probably require it to work with
[indiscernible] drawing and [indiscernible] geometry.
Okay.
So that's it.
>>:
Thank you for the nice pictures here.
>>:
This is a straight line drawing on the flat torus, right?
>> Eric Fusy:
>>:
Questions?
Peter.
Yes, yes.
Is it possible to make that into a [indiscernible].
>> Eric Fusy: I wanted to, but I don't know if there is a way to -- well, you
can use a mapping from the [indiscernible] --
28
>>: I'm just wondering whether the straight lines turn into the
[indiscernible].
>> Eric Fusy: I wanted to think about it, but unfortunately, it went out of my
mind. But I'm not sure if there is a way to. If you make a transformation,
probably doesn't maintain the [indiscernible] so you want to be sure that if
you deform it into [indiscernible], you wouldn't create a question. I am not
expert on that.
>>: I think you have to preserve the local order. You don't have to pick the
[indiscernible] as the shortest, correct? But you have to be careful that you
go left to right. Maybe that you have to wrap around. As the straight line on
the cylinder.
>>:
All right.
Thank you again.
>>: For closing words, I would like to stress that this conference is the
result of very big cooperative effort, and this is why [indiscernible] and I
have to thank a lot of people. And first of all, I would like to thank again
Lev Nachmansen. And Tim, Tim Dwyer. And Natalie [indiscernible] and
[indiscernible]. She couldn't be here now who made the great job and managed
to perfectly organize the event, keeping prices low in a country where usually,
prices are more expensive than in other countries. So thank you again for
perfect management.
And we are also in
room and they made
reviews, as Walter
external viewers.
amount of work.
debt with the committee members. I see a lot of them in the
a terrific job selecting papers and posters, and we had 300
said in the business meeting, and one third of them were by
And you can rest assured that this selection was a huge
So above all, last but not least, I would like to thank all people who
submitted a paper to Graph Drawing 2012, paper or poster. We all know how many
hours of hard work and of our best time it cost to produce a good paper. And
we had over 100 submissions of papers and posters, and this gives very concrete
perception that this event is the result of the cooperative effort. So this is
a conference that rests on the shoulders of our research community, which is
rich of ideas, [indiscernible] of new things and open to new people. So thank
you for attending, and we are now passing the talk to the organizer of next
year [indiscernible] and we are sure that they will do a wonderful job next
29
year. So we look forward to seeing you next year in Bordeaux.
again.
So thank you
Download