>>: Welcome to Session 6. The first talk is DAGView, An Approach For
Visualizing Large Graphs by Evgenios Kornaropolous and Ioanny Tollis. And
Ioanny be giving the talk.
>> Ioannis Tollis: Thanks, David. So DAGView is a framework we have
developed, and the target is to verbalize large graphs. That's a large graph.
>> Ioannis Tollis: Yeah. And the important thing is realize that this black
thing in the back is the ink of the edges. So we tried to shrink the labels of
the nodes and still the thing looks pretty. And then we go one more. This is
the same graph as before, right. In the framework that I will describe in a
minute how it's done. True, some of the details on the nodes are missing, but
the general structure is there. You can see it.
If you are wondering what are the black edges, the black edges go up, go in to
the nodes and the red edges go out of the nodes. So we will see all these
details in a minute. And whenever you want to check a specific, let's say,
portion of the graph, then you can zoom in and you can see what is there in
this little window.
So what is this based on? The actual algorithm, without going into the
details, is rather simple. This is a directed [indiscernible] graph. So we
compute a topological sorting of the vertices, T1, and another topological
sorting of the vertices, T2. Now, you might say what are these topological
This is a big discussion. The topic of other papers.
about the poster, if you want, after the talk.
Actually, we can talk
So basically, let's say that we have these two topological sortings computed
somehow, and then we use the T1 topological sorting to place the vertices
exactly in the X coordinate that it tells us. And we use the T2 topological
sorting to place the vertices in the Y coordinate. So the X and Y coordinate
are the T1 and the T2 position of the vertex in the two topological sortings.
Then this gives us a very interesting structure. If there is an edge, let's
say, from B to D, so then B is going to be to the bottom left quadrant of D.
Always. This is what we call wake dominance. And this is propagated, if there
is a path -- not only an edge, but a path from a node to another node, the
first node is always going to be in the bottom left quad rabbit of the other
So we place the nodes in the XY coordinates as we said, and the question is how
do we route the edges. Each edge is routed on the column going up, up until
where it's the Y coordinate of the target node, and then it merges into the row
and goes into D.
So basically, all the edges that come out of a node use the same line. And all
the edges that go into a node use also the same row. It's like overloading, if
you wish, the rows and the columns of the grid.
And just make sure that we are not confused by the crossing or whatever else,
when there is an edge, let's say from C to D, then where it touches the row, we
put a point called E-point for edge. Signifies that there is an edge.
Okay. So basically, all the incoming are on the same row, and we can see all
the dots. All the outgoing are on the same column, and we can see the dots.
The edge routing, in other words, is completely implied by the positions.
Okay. There is a lot of previous work, and I decided instead of listing all of
it, to list it in two categories. In GD, there are many papers on orthogonal
drawings. This is not exactly orthogonal drawings so it's not exactly fair to
compare one to one. But it's sort of an orthogonal drawing, because all the
bends are either absorbed by these E-points, or they are really orthogonal
And in InfoVis, recently there has been the group of John Daniel Fekete and
other groups that basically presented the so-called matrix representation for
visualizing large graphs. You will see later the quote that basically, that
say introduce them into or the motivation, their motivation of doing this
matrix representation.
So what we do here in the DAGView framework is to present convincing evidence
that our framework contains the crucial advantages of both techniques. And
therefore is a good point to conclude and start using for visualizing large
graphs. So this graph has 1,500 nodes and ten and a half thousand edges. And
although you cannot see the details of each node, you can have a very good
picture of what it is.
Okay. This is another example. Most of my slides have no text, right. So
when I want to describe something, it's pictures. I decided to do this, I like
an experiment, let's see if I can do the whole thing with very little text. So
most of the text, you already saw.
So this is the hierarchical drawing for the graph. And this is this DAGView
drawing of this graph. And you will see that the yellow are somehow grouped
together, the green, the red, and the blue. Here I also grouped together, but
somehow the choice of algorithm that places them into layers somehow breaks the
groups to some extent. Now, this again the same picture that we saw before,
and this is the corresponding matrix representation.
And yes, there are some similarities.
better than this. At least I can.
But I think that you can read this much
Okay. So this is how -- oh, by the way, up to here, our graphs are directed
and acyclic. So we have not done anything else other than directed acyclic
graphs. So now, we are looking into how do we deal with other things, other
graphs that have cycles and so on and so forth.
So the first question to consider is how do we present feedback arcs. And
there are two approaches. One approach is to run an algorithm that will define
a feedback arc set, the red ones. Minimum would be best, but we know it's
going to be a hard problem. So heuristically, there are several heuristics in
literature. Let's say we come up with this. And then we move them.
So now we have DAG, a directed acyclic graph. Now, we compute the coordinates
and we place them exactly on the grid as described before, and the last step is
to put in the red edges, the feedback edges. And we use exactly the same idea
with the point where they turn, and we get this picture.
Okay. As we go into larger and larger graphs, and as we have cycles, then we
do have strongly connected components that show up. For example, this graph
has 72 nodes and 185 edges. And the strongly connected components are colored
in different colors. There are different ways to Dole with this. One way is
to collapse each strongly connected component into a super node. And,
therefore, now it's a direct acyclic graph again.
We can use our technique to draw it using exactly the coordinates we described
before. Now, notice that these differently colored other than yellow nodes are
the strongly connected components. It's not just one node. It could be many.
Five, six, ten, whatever.
And this is a picture. If we want to see the complete picture, of some
connected components, we can place them in, and I want you to realize that when
we go from this to this, yes, the coordinates somehow are shifted to make space
for the strongly corrected component to be placed there. But the mental map is
preserved. Namely, when I put it there, all the coordinates of these nodes are
going to go down and this are going to go to the right. And somehow, the human
brain is able to realize that, hey, not much has changed. Something I added
in, but basically the topology of the picture is still there. It's exactly
what I had in mind before.
So then we can place all of the strongly connected components unravelled in
here, and this is a final picture. Well, not final. This is an interactive
process, right. I mean, you can stay here, you can stay here. Depending on
what you're looking for.
I like very much the comment that Ben Schneiderman said yesterday. He said if
you come with a question about a drawing, you have to tell me what the question
is. If you don't tell me, I complain give you the answer, and I was saying to
myself, that was exactly the same thing that oracle of Delphi. The oracle of
Delphi wouldn't answer. You have to ask a question. You ask a question, he
tells you an answer. You probably don't understand the answer, but that's
another story, right?
But it was an answer to a question. Here's the thing. If your question is
what is the big picture, you say, okay, there are cycles here, here, here,
there and there. And this is the rest of the graph that does not have any
cycles. But then if you say, but I want to see what's happening in there, you
open it up.
Preserving the map of the rest, and you'll say oh, I don't care to see the
details, but I want to see the complete picture. Then you go to this picture.
There's another example. It's on a project information model, and we call this
the user chosen feedback arcs. Basically, the idea here is that you allow the
user to choose what are the feedback arcs to he move in order to destroy the
cycles. To cut the cycles, right.
Not a program. So we give this to a user -- this is from an actual project
flow chart. So the user decides, okay, these are the feedback arcs that I want
to remove so we remove them. And if we look at it from a hierarchical point of
view, that would be the case with these feedback arcs, and then this would be
the -- and notice, remember always, right, that the implication of the paths is
there. If there is a path, you will find it going from the bottom left towards
the top right.
Okay. So now the question what is do we do when we have undirected graphs.
There are different ways to deal with undirected graphs. One way is to say I
want to direct the graph so there are no cycles. Again, there you have
different choices. You want to have long longest paths or short longest paths.
If you choose long longest paths, let's say, for example, then you go here all
the way up and finally there or something. Oh, and there. You go all the way
up and then you end up there.
Then this is a drawing you get. And the path is there. The longest path is
there. You can tell it's a circus. And if you think that there is a lot of
wasted space, yes, it is. You can perform a compaction technique that I did
not describe and get this. After compaction. So basically, you can draw the
whole thing using two by N, two times N area.
If you want short longest path, then the orientation is different. The longest
path here is four. And there are lots of set longest paths of length four. So
what does the technique do? Well, unfortunately -- or fortunately, depending
on what you're looking for -- it's going to distribute the pairs from start to
finish before going to the synch, right. So you have a pair here, a pair here,
a pair here. And there are no paths going back, right. And this is the
The compaction you can take here is very little. You can move this node one up
here and you can move this node 21 to the left. I wouldn't have described it.
So the third scenario is to say well, okay, now I want to allow cycles to be
chosen by the user. The user decides to say this cycle and this cycle. I'm
running out of time. So we make the strongly connected components, we draw it
like this. You get the picture.
When we have large and disconnected components, the natural thing would
be to do it this way. But, of course, this wastes a lot of space so we do a
rectangle packing technique and we place them right there, noticing always that
there is no connection between nodes of different sectors.
How do you visualize an edge? How do you find an edge? You find an edge is
very simple. If you know the start and the finish, you just go up and to the
right. So now I start with a part two of my talk, and I have only two minutes
to convince you that this actually works very well. Maybe three minutes, okay.
So this centers on [indiscernible]. It was written in the paper that more or
less started this matrix representation and basically saying that, you know,
when the graph is about up to 20 nodes, you can do what we call graph drawing,
but if it's more than 20 nodes, then everything deteriorates very quickly.
And sometimes this is true, but not always. In any case, he's trying to make
his own point, and what we're saying here is that in this model, the dot view
model, just the vertex placement alone contains the matrix representation, but
in a very specific way. Not in a random way.
In the way that you have
sortings. So we did not
that other people did in
what we have is at least
chosen. Namely, going -- following the topological
do user studies, but we're comparing with user studies
the past and we go one by one the point and show that
as good, if not better, than the previous one.
So, for example, find an edge, here you have to do this. Here you look for the
rows and columns. And here basically you look for the rows and columns and you
find out that that point up there is the edge. Locate the nodes. You get the
picture is very simple. Count the nodes. Count the nodes here is hard, here
is just the number of rows and here is the number of rows, number of columns.
Clearly. It's all the same.
Find a path. Find a path here you have to basically follow the path. Here,
it's impossible to follow the path. I mean, literally impossible. You have
to, in many case -- I don't have time.
And here, you can simply follow a staircase that leads you to the path. On top
of that, if you are wondering is there a path, without changing the mental map,
without changing anything, you can embed directly on this picture the
transitive closure. This is without and this is with. The gray nodes, the
gray points are the points where it tells you, ah, there is a path from this
node to this node. I don't know where it is, the path.
want. But I know that there is a path.
I can find it if you
So in the question of existence can be answered in constant time.
observe the point and you know.
You just
So comparing with user studies continued, we have perpendicular crossings,
which are very desirable in all of user studies that I have read. Visualizing
on an underlying grid. Clearly, we visualize on an underlying grid. The model
scaleable, very scaleable, in fact. And we preserve the mental map.
So what is the future work? Build a better user interface. The second is
build a system that will be able to handle more than 100K, or a lot more,
basically. Because 100K we can do now. But fast.
And the third part of the future work is to conquer the market and the world.
And to land a little bit, right, and then we ask the following question. What
are ways to reduce FIPs. FIPs basically are falsely implied paths. I didn't
talk to you about it, because I don't have time.
But basically, if there is a path, the position is this. But the position
could this, even if there is no path, all right. So the question is how many
of those do you have. You can have very few, and you can record them. You can
have more, and you can still record it and take some time to find them out.
And you have a lot more and then, sorry, you are the flag. So in any case,
this is the question. This question is posed in the poster. Let's discuss
later if you want to. Thank you very much for your attention.
>>: Okay. We have maybe time for one quick question while the next speaker
sets up. Anyone? Yes?
So this is designed for big graphs, and I believe --
>> Fabrizio Frati:
>>: And I leave when you said that you can generate the picture with big
graphs and that that's scaleable. But do you think the [indiscernible] of it
is actually scaleable? Because when I was looking at the first picture, I
couldn't have followed a single one of those edges, and --
>> Fabrizio Frati: Right, you cannot. The first picture is just to get the
big idea of what it's all about. Then you have to do filtering. You have to
do clustering, you have to do all these kind of things that Ben Schneiderman
talked about yesterday. One of the fillers or clusterings is to find the
strongly connected component.
If you know different clusters, you want to basically put them together and
basically shrink everything to super node. Indeed, if you have ->>:
You need to know your clustering algorithm then?
>> Fabrizio Frati: You have to have some clustering algorithm. It's either
very simple or off the shelf or whatever. And it's also application dependent.
I mean, some applications are very good for clustering type something else and
others for something else. If you have lots of cycles, this would be perfect
for strongly connected components, for example.
Strongly connected components basically means you have a very tight group.
can talk more after.
>>: Thanks. The next -- if you haven't noticed, this is the Stefan Kobourov
session. He has a couple papers in other sessions, but the next three all
involve him. This one is on touching cuboid by Bremner, Evan, Fabrizio Frati,
who will be giving the talk, Heyer, Kobourov, Lenhart, Liotta, Rappaport and
>> Fabrizio Frati: Thank you for telling the names. So this paper not only
has nine authors, but also nine affiliations. So I did my best to let them fit
in a slide, but I didn't manage so I decided to give some statistics instead.
This is pretty nice. It says 77 percent of the authors are at the conference.
I guess the organizers should appreciate this. And if you look at the same
thing from a different perspective, you get something which is even more
interesting. So more or less ten percent of the participants are co-authors of
this paper. This has to be some kind of record, I guess.
The reason for this large collaboration is that this comes from -- this
research comes from a workshop which was organized by sue Whitesides and
Sylvain Lazard at the Bellairs Research Institute of McGill University in bar
bade owes, which is definitely not the worse place to do research.
Okay. So what is this about? The starting question we try to address is the
following. Does every planar graph admit a representation by proper contact of
cubes? So let's see what we're talking about. The kind of representation we
are looking at, a representation in which vertices are represented by
axis-aligned cubes. So we're in three dimensions and vertices are represented
by cubes.
Then if two vertices are adjacent, then the corresponding cubes have contact,
proper contact. This is an example of a proper contact. This proper means
that if you look at the common region between the two cubes, it has to be a
region with a non-zero area. So non-proper, in a non-proper representation,
you allow adjacencies that are represented by segments. But in a proper
representation, the adjacency has to be represented by some area, some positive
And we are only going to look at proper representations.
for the next 20 minutes.
So this is the model
So the user question you might ask in such a context is given a graph, or give
graphs, you ask whether you can represent that graph or that graphs of graphs
in such a model. Let me observe that cubes are not allowed to intersect. So
any two cubes are either disjoint or they're this kind of touching. So what's
the answer? We have no idea. It is very nice question, but we did not find
the answer to it.
Just a brief slide on the fact that contact graphs are very well studied.
There are tons of papers on them, and I'm not going to cite them all. One of
the most famous graphs and the results is about some kind of touching
representation. Namely, it's known that every planar graph can be represented
as touching circles.
And you can represent every planar graph of touching triangles. This is a much
more recent result. You can represent bipartite planar graph by touching with
its horizontal and vertical segments, and there are many other very interesting
results about touching polygons. Actually, you will hear much more about this
in the next three talks.
So the settings we study in this paper are as follows. So remember, it's
always vertices are going to be represented by some kind of cubes, which are
always axis aligned and the contacts are always proper. What we look at are
unit cubes, so cubes in which the side lengths are always the same.
example of a representation of [indiscernible].
This is an
Then we also look at cubes, which is what the starting question was about. So
here, you allow cubes to have different size lengths. The graph or graphs you
can represent by proper contact of cubes. Strictly cubes includes the one that
you get represent by unit cubes. In fact, this is an example of a construction
of trees. You can just start from any cube that represents some roots of the
tree, and then you just place its [indiscernible] on top of them and so on.
So you can represent all trees by cubes, and it's not possible to do it with
unit cubes. I will show something about it later.
We will also look at cuboids, which are parallel [indiscernible] or somehow,
they are still axis aligned, but you don't rewire the three sides to have the
same length.
And also, this is a strict inclusion. Here is an example of a representation
of KMN, which is a graph that you cannot represent by cubes. Okay. Let's
start with unit cubes.
Some related work, if instead of cubes we look at unit spheres, we know that
the degree of every graph that is representable by touching unit spheres is at
most 12. This is a very famous result, this question, how much is this degree
was first posted by Newton and some other guy back in the days and it took some
time to get the answer. So the degrees at most 12, we're going to have a
singular theorem for our setting.
Recognizing graphs that can be represented by touching unit squares, circles,
spheres is NP complete. We're going to have a singular hardness result in our
So these are our results about unit cubes. Every vertex has degree at most 14.
Every graph has at most 7N minus some edge to the two third edges. Even
complete binary trees do not admit a representation by touching unit cubes.
And finally, I'll give you a sketch of why it's hard to decide whether a graph
can be represented by touching unit cubes.
Let's start with the fact that this proof that the maximum degree of a vertex
is 14, which is probably the nicest proof we have. It's quite simple so I'll
be able to show it almost completely. So first, we have to define three ways
in which two cubes can touch. In this way, chess called vertex contact, a
corner of a cube is containing the face of the other cube it touches with.
That U is a vertex, is a corner of this cube and it's containing a face and the
interior of a face of this other cube. And then vice versa with the -- two
cubes can touch in this other way, this is called edge contact.
Now, an edge is completely contained in a face of the other cube. There is
also a third way, which is called face contact, like two faces really go
inside, and these are all the possible ways in which two cubes can touch.
Now, what we are going to do is consider any representation. We are trying to
construct a vertex which has high degree. What we do is we label the corners
of the cube with labels indicating what kind of touching that corner takes part
So first question, how many label V can be? And answer is at most
this is corner V of this cube that is inside the face of the other
if we now try to let this corner to participate in another vertex,
vertex contact, we unavoidably create an intersection within these
So there can be at most one vertex contact.
one. So
cube. And
in another
two cubes.
And with similar arguments, one can prove that all in all, the labels with come
our corner can be labeled are this or a subset of them, and this is an example
of VFF corner. This corner is inside the interior of a face of this cube, and
it has like face contacts, this to other cubes.
Okay. We're almost done. So now we somehow chart the corners with the
[indiscernible]. Each corner which has some label V assigned one unit in this
chart. On the other hand, when you have an H contact, you have two corners
that take part in the H contact. So we have to split this number of
adjacencies. So we assign 0.5 to them.
And similarly, when we have a face contact, this has to be split into four
corners that take part into this face contact so we have a 0.25.
Now, if we look in these labels, we realize that each corner can be as signed
with one of these values, to the maximum of them is 1.75, and each cube has
eight corners and that gives us the bound on degree. So from this bound one
gets the number of edges in the graph that is representable by touching cubes
is at most 7N.
By using some consideration of the number of exterior cubes that are in the
exterior of the representation, one can get this bound down to 7N minus
[indiscernible] N to the two-thirds. And this bound is, in fact, tight. This
is part of a representation that gives this tightness. So this is just the
portion of the drawing that is beginning to coincide with planes. So let's say
the plane zero equal to zero and zero equal to one.
Now, if we look at an interior cube, it has six adjacencies in this slice.
What we are going to do is we are going to stuck the same exact street on top
of it, the same arrangement of cubes on top of it just slightly shifted. So
this is just part of this thing, and in this way, you realize that that cube
gets four adjacencies from the top. And similarly, four adjacencies from the
bottom. So six plus four plus four is 14 I guess.
All right. Trees. You can now do trees. So by the degree argument, not every
tree can be represented, and actually not even complete binary trees can be
represented. There is a very easy argument for this. Just two sentences. The
longest path in a complete binary tree is logarithmic in the number of
vertices. Now, if you look at the representation, you look at two cubes that
are farther away. Since the volume of the representation has to be linear,
their distance has to be at least cube [indiscernible] of N.
Because if it were less, they are the farthest away cubes, then the volume
would be less than linear. So the longest path, since the graph is connected,
the path connecting these two cubes has to be [indiscernible] of N, which is a
Five minutes. Okay. NP hardness proof. The problem is in NP, this is similar
to well known results. And about the hardness, what we have is that we use
this logic engine designed that Sue talked about two days ago. It is something
that is due to Eades and Whitesides. So the reduction is from not all equal
3-sat, and the question is whether there is truth assignment in a formula such
that each clause contains at least one satisfied literal and at least one
unsatisfied literal.
So I'll go quick on this. The main idea is to have some structure that has to
be rigid over all the representation. This is some enclosing structure which
is called a shell, and actually it's closed also from the top. I am just going
to show this part of it. But it's entirely closed. There is a hole in the
middle here where some parts of the graph is going to be laid out.
Now we are going to represent that in just this fashion. And now we're going
to show you this kind of logic assigned. So this is the shell that encloses
the old thing. There is some central shot with a number of blocks which are
some kind of cube graphs that are in a number which is zero to the number of
And now, the thing is -- I'm not going to make it in three minutes, but anyhow,
there is two blocks for each occurrence of variable, occurrence or not
occurrence of a variable inside a close. And in particular, we have large
blocks whenever the negation does not occur in a close or whenever the
not-negated does not occur.
So whenever a close face to contain some [indiscernible] of this large blocks.
Otherwise, you have the small blocks like these ones. For example, the second
close contains literal X2, so the blocks X2 is more. On the other end, the
first close does not contain the literal negative X2, so the associated block
is large.
And the degrees of freedom of the structure is that you can actually rotate,
you can flip these large blocks, or you can take one of these huge vertical
things and you can rotate all of it. Usually, you want [indiscernible] this
intersection. Otherwise, you don't get a valid representation.
So the proof mainly consists of two parts. The first part is that this
structure has to be reg id so the degrees of freedom have to be the ones that I
just described. And if this is true, then we can show this correspondence
[indiscernible] ability of the graph that is underlying the structure.
The second part of the proof, we want to show that this structure is actually
So what one can realize that is if all the blocks correspond into the same
close, so on the same horizontal strip in this drawing, are all large blocks,
then there is no way of laying out these large blocks. On the other hand, if
there is at least one small block, then you can flip all the other large block
towards that, and you get a valid representation.
In this case, we can do this choice and this is the correspondence within
[indiscernible] and the graph representation. In order to force this
rigidness, we use several structure. This is a quite complicated part of the
paper so we have to create that tight cycle, the tight first cycle that if you
touch it to some of this structures that to be rigid makes it rigid, to create
a tight fours cycle, we use this graph plus some other edges which I'm not
showing. And a degree are 14 vertex is just one of these structures. And with
some consideration, we get that that thing has to be rigid.
All right. Briefly, about cubes, what we can prove is mainly that every planar
three-tree admits a representation by touching cubes. I just want to this
result, which is important. So Felsner and Francis, 2011, proved that if you
relax this properness of the contact, so if you allow two cubes to actually
just touch along the edges, then you can represent every planar graph.
So it's kind of cheating, but it's still a strong result. So what we can do is
planar three tree, we can do it by induction in this way, and this actually
[indiscernible] consequence from results known in the literature. And
important theorem I want you to be aware of is that every planar graph can be
represented by proper contact of cuboids. So if you have this elongated
structures, then you can actually represent all planar graphs.
And you may have two different proofs of this result of Thomason. One of them
is based on the canonical ordering. So very easy. We maintain some geometric
property for our construction. This staircase profile. And we just do the
canonical ordering, so we have the cubes one at a time while maintaining this
geometric invariant.
The other one is Schnyder-like proof so construct the realizers that some
properties you get some total orders that represent these three partial orders.
And based on these three total orders, you directly have an assignment of
coordinates to the vertices. This is the usual Schnyder magic, and you get
this thing. Yes, I am done.
Main question. Does every planar graph admit a representation by touching
cubes, which was the starting question and is still open. It would be
interesting to understand whether you can characterize or recognize the class
of graphs that can be represented by touching cubes or cuboids. And we have
shown NP hardness to show graphs recognizable by touching unit cubes. That's
this hardness also for planar graphs, so for trees. And that's it.
Again, we have time for a quick question while the next speaker sets up.
Thanks again.
The next talk is touching triangle representations for three-connected planar
graphs by Kobourov, Mondal and Nishat. And Jyoti Mondal will give the talk.
>> Debajyoti Mondal: So I'm going to talk about touching triangle
representations, and my co authors are Dr. Stephen Kobourov and Islam Nishat.
And we made invariables to work on this problem and very likely for the first
time to work on this problem.
So here is a traditional node link diagram of a planar graph, and from the very
beginning of the day, we saw this, this, these three presentation so I don't
want to tell you again. But then, there are lots of works on touching
polygons. So every planar graph can be represented or realized by
side-contacts of octagons and then there is resulting proof to hexagons and
then Duncan, et al., showed that it is also necessary for some graphs.
So this is now the end of this [indiscernible]. There are lots of words with
rectangular layouts, and they have [indiscernible] for this class of graphs
that can be presented by touching rectangles. And I know that all these things
are very familiar to all of you, and I know very little about them, but I do
know that not much is known about triangles, and this is the first
[indiscernible] in graph drawing 2010 that shows that some grid graphs has this
kind of touching triangle representations and outer planar graphs touching
triangle representations and also some subclass of subcubic graphs.
Now, we want to report some progress on this problem, but I have to say more
about this paper. So here are some figures. While the [indiscernible] show
the presentation of the grid, and here touching triangle representation of the
hexagonal grid. This does show a complete characterization of the graph class
for the touching triangle representation is exactly the inner triangulations.
That is, when two triangles start, they share an [indiscernible] side. And for
that, we have complete characterizations, but nothing else is known.
Now, before going into details that we have, we need to formally give the
definitions. So given a planar graph, we want to represent every vertex with a
triangle, and each is with a side contact. So what do I mean by side contact,
it is a non-trivial touch. That is, the [indiscernible] side of segments
there, this is not a valid contact here.
Now, given this definition, can we test whether this, for this [indiscernible]
input we have this representation there. So this is quite -- this input graph
has the outer face A, B, D, E F and G, and this also here, A, D, E, F, G and B
and now we have the inner vertex [indiscernible] in both of these
representations so both are correct. But there are some differences. In the
middle, you will see the outer face is not a triangle, and it also contains
And the right one doesn't have any holes, and the outer face is triangle. And
we call that the touching triangle representation are not [indiscernible] and
in this paper, we only consider [indiscernible] triangle representations.
Now, what are the results. We prove that all this graph class at which
touching triangle representations that are proper. What are the classes?
There are three type of planar graphs. We have seen lots of results in this
day and class of graphs and then the graphs that are determined by the
rectangular drawings and then parabolic grid graphs. And they have some result
that is FTP algorithm. If you fix the number of outer vertices and also fix
the number of [indiscernible] so it has some limitations. So if is
[indiscernible]. But otherwise, it is not.
So we start with three connected cubic planar graphs. And for this class, the
first thing we can say that the dual is a triangulation of [indiscernible]
segments and assumes that it is a touching triangle representation. But it is
not. It is missing the part that's G there. And [indiscernible] to contact C,
H and E. And it is not [indiscernible] how can I make D a triangle so that it
touches all of them?
And if you actually see the touching triangle representation for that graph, so
it is quite different from that representation there. So that's why we use
something simple but a little different. First take the weak dual of the
graph. Once you take the weak dual, you put that inside a three cycle, a cycle
of length three and connect the outer vertices of the weak dual to the outer
circle to have this sort of graph and now the question is simple. Does G prime
that contains the original graph as each weak dual have a straight line drawing
such that it faces a triangle. If it is, then we have the touching triangle
And if we can show that if that answer is always true, then always every three
connected planar graph has a three triangle touching representation.
But how to answer this question. We need the [indiscernible] of a stretchable
non-crossing path covering. So sorry for the long runs title, but we need
this. And actually, we'll say that the contribution is from a paper by
[indiscernible] and that is a very beautiful paper. Not that I'm using that in
my results. But it is really interesting.
Now, what do I mean by path covering? A path covering of a graph is the S
covering. And what do I mean by non-crossing? No two parts can share a common
internal vertex. So if I show you a path covering, it will be better. So
let's take this path and this path and it doesn't cross because there doesn't
have any common internal vertex. So up to now, we are okay.
Then we put another path, another path, and this is the path covering of the
given graph. Okay. That path covering is non-crossing. Covers all the edges
and is disjoined.
Now, the question is, is it stretchable. Now what do I mean by stretchable? I
need to have a straight line drawing of the input graph such that every path is
drawn as a straight line. So all of the vertices that belong to the same path
must be [indiscernible] in the drawing.
Okay. Now how can we test? So given a path covering, can we say whether it is
stretchable or not. Now we need only one definition, that is the definition of
a free vertex. Free vertex have to be outer vertex and it cannot be internal,
cannot be internal to any path. So given a collection of paths, you only take
the outer vertices. Now this vertex is not internal to any path. So this is a
free vertex so that this one and this one.
But the [indiscernible] part is this here. It's contained as an environmental
vertex to the red part. So that is not a free vertex. So once we get the
definition of a free vertex, then this paper just say if a path covering is
stretchable, then every system of at least two parts has at least three free
vertices and vice versa.
So if you have a path covering, enumerate all the subsystem that have at least
two paths and count the number of free vertices. If you can find three of them
in every subsystem, then, okay, we can say that this is stretchable. And
here's an example when the path covering is not stretchable. Why? Because
here we have only one and two free vertices. They are not internal to any of
these paths. But all are internal to at least one path.
If you remove the red part, still there is only two free vertices. So this is
not stretchable. So we got the concept of stretchability, and now we have the
answer. How? So we first, given this graph, we're going to stretch this green
one and we can argue that this [indiscernible] here must be [indiscernible] and
it has only four faces that are of length four. It has some sort of
connections sometimes. So this is the only possibility that can happen.
And now we design a path covering and we have to show this path covering is
stretchable. And that will give us a touching triangle representation for the
input we apply, because this is a triangulation, so we [indiscernible]
quadrangle has a path that consists of two edges. So if we take a straight
line drawing of the graph here that has all the parts traced, this
[indiscernible] triangles, and the result there is the triangulation so we are
So after this, the result is quite stretchable, right, and we can just find an
existence result for the touching triangle representation of cubic plane
graphs. But how can they construct on if such an [indiscernible] exists or
such a representation exists.
So here we use another result of the same paper. You have a non-crossing path
covering just transform it into some [indiscernible] system and if that has
a -- so that induces an [indiscernible] that has this property that the
embedding has all the parts so we don't have to do anything.
So we know [indiscernible] that result to find FTP algorithm. Now, given a
graph, we did the same thing, but in a state of only three outer vertices. We
now have the outer vertices that equal the number of outer vertices in the weak
dual. But we know that a touching triangle representation has three corners on
the outer face. So we contract some of the edges on the outer face so that we
have only three outer vertex. And we get lots of graphs because there are -say for X outer edges, we can choose X minus 3 and just contract them so there
are an exponential number of them. And we have this problem that in a touching
triangle representation, that corner may have one triangle there, so we can
have two weak vertices.
So not only do we have to do this kind of thing, but we have to subdivide some
of the outer edges with some one, two, or three division vertices. So there's
still a number of graphs there is [indiscernible] the number of outer vertices
is [indiscernible].
And once we get all of this, we test each of them for a turning triangle
representation or, in other words, for a straight line representation
[indiscernible] faces of triangles.
So if all the face of the triangles, then we have nothing to do. But if there
are some face, that is of length four or more, then we have to pick three
corners there with the hope that in the straight line embedding, that three
corners -- the corner of the triangle that represents that face.
And we can convert each of these angle assignment to a path covering. And once
we get this, check whether it is stretchable. So we are done for
[indiscernible] result and, oh, the both of the running time is not very good.
However, it is still [indiscernible].
Now we have touching triangle representations for the graphs that are
determined by the rectangle length. So here, the idea is simple. We have only
an induction to prove it [indiscernible]. So the idea is vertex having an
upward neighbor. Upward neighbor is intuitive in the triangular
[indiscernible]. So is vertex having an upward neighbor must contribute to a
line segment in the upper envelope of the drawing.
So in the best case, you have to construct a touching triangle for this row.
So here X has a segment here in that envelope. [indiscernible] and so on.
Now, for this particular graph, what is the idea? So you construct this set of
triangles there, then of G is [indiscernible] of A and B. You put G on top of
A and then F on top of B and do it for D also. But here, E comes in too so you
have to make this attempt.
So this kind of idea helps to us have a complete proper touching triangle
representation for rectangular drawings. And this technique works with
[indiscernible] graphs too.
Now, what is the summary? So we have a fixed parameter [indiscernible] result
and touching triangle representations for all of these graph classes, but we
need a good fixed parameter [indiscernible] algorithm. I don't know how
[indiscernible] the parameters, earth. And we found a [indiscernible] graph
class that is -- that we attempted to -- to construct touching triangle
representations. So this graph of pairs by intersection of line segments. So
you have lines. They intersect and they have [indiscernible] vertices. Remove
the infinite [indiscernible]. The question is does there exist a polynomial
time algorithm to decide whether there is a touching triangle representation
for this class of graphs.
Now, here comes some enumeration question. There are lots of people that are
interested in dialing with triangles and that tells us that to find graphs with
at most five vertices that are not touching triangle graphs. So can we extend
this up to six, seven and eight vertices and so on, or can we enumerate all of
these tiles systematically. And then we have the big open question that is
still open, is proper touching triangle graph recognition NP-hard? So you can
remove the [indiscernible] condition and still try it. And thank you.
>>: The fourth talk of this session is on proportional contact representations
of a four-connected planar graph by Jawaherul Alam and Stephen Kobourov again.
And Jawaherul will give the talk.
>> Muhammad Jawaherul Alam: Okay. So I'm the third presenter of three talks
which all deals with contacts so I can skip some definition, probably. So I'll
be talking about proportional contact representations of four-connected planar
So let's see the definition. So in a contact representation, vertices would be
represented by polygons and edges would be non-empty shared boundary between
the polygons.
[indiscernible] already said what we mean by non-empty shared boundary. A
boundary cannot be a point contacts. Must be side contacts. Okay. The
proportional contact representation is the weighted version of the problem.
However, the input of a vertex weighted planar graph and we want to represent
them so that areas of each of the polygons correspond to the weight of the
[indiscernible] so that representation is hole-free and the polygons have all
[indiscernible] on all sides, then we call the unweighted version of the
problem rectilinear dual and we also call the weighted version of the problem
rectilinear cartograms. So these are different variants of the problem, and in
all the variants, we have one single goal. We want to minimize the complexity
of the polygons that are used in the representation.
Additionally, we may have some other goals, like we want to represent the
polygonal areas to represent the weights of the vertices, but sometimes we may
relax the condition a bit and allow some error. But in general, we want to
make the error small or zero.
Also, we want to make the holes very small so this drawing, which is in the
middle, is not very desirable.
Also, sometimes we have constraints on polygonal shapes. For instance, in the
rectilinear, dual rectilinear cartogram case, we only use rectilinear polygons.
So this give many different variants, but are one single goal is to minimize
the polygonal complex. This problem is more [indiscernible] by many practical
applications. The first one is in architectural or even [indiscernible] floor
planning where the room topology graph or the [indiscernible] graphs are given
and the areas of the rooms and modules are also given, and we can use this type
of representation to find a nice floor plan or nice VLSI layout.
Another kind of [indiscernible] is in the field of data representation,
especially in cartography representation where we want to redraw a geographic
map so that the areas of the country represent some data or some parameter.
For instance, the drawing on the right, the map of USA has been redrawn so that
areas of the states represent the population of the states.
And we can see the application of these kinds of drawings, easily. All these
three figures show the result of the 2004 U.S. presidential election. If you
look at the figure in the left, you may get the impression that 90 percent are
80 percent of the voters voted for Bush, but actually, the voting distribution
was more like 50/50.
So there have been lots of works on this kinds of representation. I only cite
the major ones. Everybody has talked about the ones by Kobe in 1936, where he
showed that any planar graph can be represented by touching circles or
so-called kissing coins. This also holds for triangles and in 3D cubes.
But notice all these three representations [indiscernible] definition in the
sense that their point contacts to represent agencies.
So going to a definition, it was shown that six-sided polygons are sufficient
and sometimes necessary for representing any planar graph. And these two
papers, and the two papers, two different set of authors showed for two
different class, maximum planar graph and tri-connected graph that the
representation would be hole-free if the given input is one of these graphs.
For maximum planar graph, they used only three slopes. For tri-connected
graph, you have to allow many -- arbitrary number of slopes.
Now, if we can center on the rectilinear version of the problem, for the
unweighted case, eight-sided rectilinear polygons are sometimes necessary, and
they're always sufficient. And there have also been characterization for
planar graph classes for which representation and [indiscernible] complexity
are always sufficient.
For example, for the classes of graphs for which a rectangle is sufficient, an
exact class of graph where you do not have any fill triangle, these are the
graph classes of four-connected graphs with nontriangular outer face.
So in the weighted version of the rectilinear variant, the lower bound is
always known to be eight. Not always. Long known to be eight. For the upper
one, there is an interesting story again. So it was initially known to be 40
by a linear algorithm by DeBerg. Then it was reduced to 34 by another linear
time algorithm. Then by an order of N log N time algorithm, it was reduced to
12. Then recently, it was reduced to 10 by another linear time algorithm. And
finally, very, very recently, it was shown that the upper bound is also eight,
which matches the lower bound, but not a polynomial time algorithm is known for
So in a sense, this upper bound matching at lower bound causes a problem, but
the problem limits open for subclasses of these maximum planar graphs.
For instance, in this paper, we have addressed this problem for maximal planar
four-connected graphs, and we have shown that six-sided polygons are always
sufficient for these graph classes.
So a maximal planar graph would be a graph where all the faces, including the
outer face, would be a triangle. If you generalize it a bit, so you allowed
the outer face to be a non-triangle, then there is a loss of holes. So the
complexity six representation can also be found for these graph classes.
We can put this result in context of the previously known results for this
graph class. Previously, the known upper bound for this graph class in the
non-rectilinear variant was seven or eight respectively for the cases where
holes are allowed and holes are not allowed.
So this result makes both this upper bound to six. But this did not improve
the bound for the rectilinear variant. In the rectilinear variant, the
question still is whether six or eight is the true bound. There have been
attempts to resolve this problem. Recently, Alam, et al., have shown that any
maximal planar graph with a special structure called Hamiltonian canonical
cycle has always representation with six-gons. They also conjectured that any
four-connected maximal planar graph has this special structure called
Hamiltonian canonical cycle, and one thing to note is that this is not the
first paper to give this conjecture. Ten years before this paper,
[indiscernible] also gave the same conjecture.
So if this conjecture are true, then we get a six-sided representation for
four-connected maximal planar graph. But unfortunately, in this paper, we also
disproved this conjecture. We showed that there exist as four-connected
maximal planar graph for which there is no Hamiltonian canonical cycle.
And finally, we address another problem where we have given a four-connected
graph with triangle and quadrangle faces, and also a weight function to the
vertices are given. And we want to find out whether the graph G for this
weight function has a representation with only rectangles. And we showed this
problem is NP-hard.
Okay. To sum up the three areas in this paper. So I'll first give some brief
summary for this result of complexity six. So in this case, the input is a
four-connected graph, which is internally triangulated. So we first assumed
the outer face has at least four vertices, because with this assumption, we can
compute in unweighted rectilinear dual for this graph.
So it would be rectilinear representation where all the polygons are
rectangles. This result actually is known from at least four or five papers
that I know, but I only cite one of them. But unfortunately, given such a
rectangular dual, you cannot just locally modify the dual to represent any
given areas to the rectangles.
Let me give an example. This is the example of two four-connected graphs and
their [indiscernible] rectangular duals. The numbers inside the rectangle
represent the areas of rectangle. So if you want to increase the areas of the
blue and the green rectangle, we see that at one point, we [indiscernible]
graph. The graph in the left. For the graph in the right, of course the
adjacency has not been changed.
So for the graph in the left, which was originally there, these kinds of
weights, 2, 2, 4, 4, is not realizable by this rectangular dual. So what's the
reason, why is the layout in the left is a bad one? Let's check these two
segments. In the left figure, there is a segment, horizontal segment which
[indiscernible] segments coming from both the sides.
And this is bad, this is bad because when we try to change the areas, then
these two perpendicular [indiscernible] changes the order, they are weight
changing the adjacency. In the right figure, there are no such lines, no such
segments, and all the good segments are about regular lines that are coming
from only one of the side. We call those one-sided segments and we call the
bad ones the two-sided segments for obvious reasons.
So the one-sided layout is one where each of the segment is one-sided. There
are no two-sided segments. In other words, in a one-sided layout, each of the
maximal segment that we get will contain a complete side of a rectangle.
Now, using a previous result of 1980s by Wimer, et al., recently David Epstein
and his group have shown that for a layout, which is one-sided, you can realize
any given set of areas to the rectangles.
But unfortunately for a given four-connected planar graph, you will not always
find a layout which is one-sided. But what you of you can find you can find a
dual where there are no vertical two-sided segments. All the two-sided
segments are horizontal. How? Let's see this layout.
You find this dual and therefore two vertical two-sided segments. In any such
segment, where the definition of two-sidedness, you'd get a junction where
there will be particular lines coming from both the sides. So in this
junctions, you can change the layout locally so that this junction will no
longer be there.
These are the two cases for these junctions where the segment from the left
followed by a segment from the right or a segment from the right is followed by
a segment from the left. In both cases, you can change the layout locally like
this, and you see that the dual is not changed by these kinds of changes but
the vertical two-sided segment becomes a horizontal one.
These kinds of operations are long known in the literature in different names.
For example, Eric Fusy called them flips. So once you compute such a layout
where all the segments, two-sided segments are horizontal, you can also compute
a one-sided layout by making all the horizontal segments a [indiscernible]
This is a one-sided layout, but this, of course, does not correspond to the
original input graph, but we are fine with that for now. Then we compute a
cartogram from this one-sided layout where we realize that the original area is
given to the rectangles, original rectangling and for the dummy rectangles,
we'd give very small areas.
And then we'd cut the pieces of the dummy rectangles so that the original edges
are retained.
This would give a representation of six-gons. But, of course, we have used
small epsilon areas for the dummy rectangles. There would be small errors.
But we have shown that by careful computation, this small error can be removed.
In the next result, we have shown that there exists a four-connected maximal
planar graphs with no Hamiltonian canonical cycle.
I'll give the definition of Hamiltonian canonical cycle very briefly, since
almost everyone in this room knows what is a canonical cycle, a canonical
order. It's an ordering of the vertices of a maximum planar graph so that if
you take the first few vertices, the graph remains biconnected. And the next
vertex has the edges in a particular order. So Hamiltonian canonical cycle is
one, it canonical order that induces a Hamiltonian cycle or induces a
Hamiltonian cycle so that if you take the vertices along the Hamiltonian cycle,
it will give a canonical order.
Here the Hamiltonian cycle in the left is a Hamilton canonical cycle because it
will give a canonical order. But not the right one. The conjecture was that
any four-connected maximal planar graph contains one. But we disprove this
conjecture. This is not true.
So we showed that there exists a four-connected maximal planar graph with no
such Hamiltonian canonical cycle. First, if you consider you fix the
embedding, then this is an example of a graph. You see that there are four
copies of this subgraph and for each of the copy, we claim this. If you're
having a Hamiltonian canonical cycle and it is such that it enters this
subgraph from the vertex A and then goes to B, traverses all of the vertices
that exist from F, then there will be no such Hamiltonian canonical cycle which
will be like this.
Since I
also be
then it
have a limited amount of time, I'm skipping the proof and there will
no Hamiltonian canonical where this subgraph will be entered through A,
would go to B, then traversing all the vertices except A, it would exit
Z and then later it would traverse F.
So for this fixed embedding, we have shown that in one of the four copies, one
of the [indiscernible] configurations [indiscernible]. And you can easily
[indiscernible], you can construct a four-connected graph with two copies of
this graph and one of the copies the embedding must be fixed.
So in the next result is on rectangle cartogram problem and we have shown this
problem is NP-hard by a reduction from the partition problem. This is a
[indiscernible] reduction, which I'm skipping.
So this is a summary of the three results in this paper. And I would conclude
with the mention of some future works. So there is a large spectrum of future
works for here, not only for this graph class, but also for the general maximal
planar graphs.
First, we have reduced the gap between the lower bound and upper bound for the
four-connected case and we have make the upper bound six. But still, the
question remains whether four, five or six is the true bound.
Similarly, for the rectilinear case, whether six or eight is the true bound is
the question. Then in the rectangular cartogram problem, we had to use one
quadrangle face in the graph that we constructed. So if the input graph is
internally triangulated, then the decision problem still remains open.
Then there is, of course, the big open problem that we always consider. We
want to find polynomial time construction algorithm for two cases. For maximal
planar graphs, I have said that the result that has closed the upper bound and
the lower bound, it is not polynomial. So find a polynomial-time algorithm
that would achieve an optimal bound for a given maximal planar graph is an open
problem and also the result that is in this paper is also not polynomial time
So for four-connect the maximal planar graph, the finding a polynomial
algorithm remains open.
Finally, there are some trade-offs. You can trade off holes and errors and
complexity. So if you are allowed to use small holes or small errors, can you
reduce the complexity.
And finally, we have considered only the complexity of the largest polygon in
the layout. So taking a submission or [indiscernible] of the complexity is an
open problem. Thank you very much for your patience.
>>: Questions. I have a question. When you say that these are not
polynomial, you mean not strongly polynomial, or not even weakly polynomial?
>> Muhammad Jawaherul Alam: So these, what this results uses -- in short, the
answer is even not weakly polynomial. So both these results uses mathematical
proof to show that there exists one layout. But up to now, all that is known
is some heuristics. None has -- so these heuristics are guaranteed to end
sometime, but not in polynomial time. Not in even a time bounded by any
function of the number of vertices.
But if you want to compute it within some numerical accuracy --
>> Muhammad Jawaherul Alam: Yes, these are -- papers have reported to
[indiscernible] very first accuracy for the known benchmark graphs. And if you
specify a starting error that you want to achieve, you might get some FTP on
the amount of error, but I'm not here at this moment. I'll have to take it.
[indiscernible] can you limit the slopes or do they need to be arbitrary?
>> Muhammad Jawaherul Alam:
They are arbitrary.
In this result, I cannot guarantee the slopes.
>>: Okay. The final talk of the session and of the day is edge weighted
contact representations of planar graphs Nollenburg, Prutkin and Ritter, and
Roman Prutkin will be giving the talk.
>> Roman Prutkin: So the previous speakers already introduced the concept of
contact representation so I'm going to skip this introduction. Muhammad
already talked about area proportional representations. So these area
proportional representations are basically contact representations are vertex
weighted planar graphs.
In our work, we can see that a similar problem. We want
edge-weighted planar graphs by contact representations.
way to do so is to make the length of the contact of the
the specified edge weights. So this is a simple example
to represent
And a [indiscernible]
shapes proportional to
of such
Here is an edge-weighted planar graph and an edge-proportional representation.
Here, the length of the contacts between these rectangle is proportional to the
specified edge weights.
There is always such a representation if you allow an arbitrary number of bands
for the polygons. We know that there is always a representation with
rectilinear octagons for any maximal planar graph. So by adding a sufficient
number of bands to the contact, we can achieve any -- we can realize any edge
weight function.
This is obviously not a solution that we are looking for, because it is -- the
drawing is too complex and it is hard to read.
So in our work, we would like to limit the complexity of the polygons so we
would like to consider only rectangle representations or representations with a
limited number of bands per polygon.
So let me start with rectangle representations. For a given graph, its
rectangular dual is a subdivision of a rectangle into a smaller rectangle, such
that the rectangles correspond to the vertices of the graph. No four
rectangles meet in a single point and a pair of rectangles share a common
boundary segment if and only if the corresponding pair of vertices is connected
by an edge.
Here is an example of a graph and its rectangle duals. Note that a graph can
have several rectangle duals that are combinatorial different. For example,
here this contact can be either vertical or horizontal.
In our work, we consider a special type of graph that have such
representations. The name of the graph that have representations with four
outer rectangular drawings. We call these graphs proper triangular planar. We
saw the graphs that are inner triangulated, have no separating triangles and
have exactly four vertices on the outer edge.
It's known that exactly on -- or the face. It's known that the exactly these
proper triangular planar graphs have representations as rectangle duals.
Each rectangular dual uses a partition and orientations of the edges of the
graph. Let's consider at first only the horizontal context. Let's color the
corresponding edges red and direct them from lower to upper rectangle. In this
way, we acquire a red net that goes from south to north. And in a similar way,
we acquire a blue net that goes from west to east. In this manner, we acquire
this coloring and orientation of the edges.
It has the following properties for each interior vertex. The adjacent edges
appear in the following order around the vertex. First, the incoming red.
Then incoming blue, then outgoing red and outgoing blue.
The partition and orientation with these properties is called a regular edge
labeling. This construction is, in fact, a bijection between rectangular duals
and regular edge labelings.
Now, since we want to represent edge-weighted planar graphs, we want to make
this contact length between rectangles equal to the weight of specified edges.
We call such a drawing in which this is the case edge proportional rectangular
dual. And the corresponding regular edge labeling and edge proportional
regular edge labeling.
A necessary condition for the regular edge labeling to be edge proportional is
the following. That total weight of incoming red edges must be equal to the
total weight of the outgoing red edges due to the rectangular shape itself of
the shapes that represent the vertices. The same must hold for the blue edges.
So we have, in fact, shown that a graph has an edge proportional rectangular
dual if and only if it has an edge proportional regular edge labeling. And we
have shown that it can be found in linear time if it exists. Let me show how.
To prove this, we need this technical lemma. So assume the set of the incoming
red edges is completely fixed. Now there exists at most one possibility to fix
the other three sets of the edges. So let's consider this example.
So this set of in-going red edges is completely fixed. Now we also know the
total weight of the edges adjacent to the vertex V. And from this, we can
calculate the total weight of the other four sets, in going red, outgoing red,
in going blue and outgoing blue. And from the ordering of edges around the
vertex, we know that the set of the blue outgoing edges must start here, right
after the last in-going red edge. And due to this total weight, we know when
it ends. And after that is correct the set of the outgoing red edges must
begin and we also know where it ends and so on.
And either this task can be obviously performed in the time proportional to the
degree of this vertex.
Now, when we have fixed all the edges, fixed into color the area of the edges
that are adjacent to the interior vertex, we have also fixed the shape of the
rectangle that corresponds to this vertex. Since the horizontal contacts
correspond to the red edges and the vertical to the blue.
Now, we use this lemma to make our decision in linear time. So assume we have
this edge-weighted planar graph. This edge is adjacent to the four outer
vertices completely fix the rectangle in which all interior rectangles have to
be inserted.
So if we ignore this upper boundary, we have a U-shape, and we know that in
this lower left corner, we have to insert a rectangle. And from the graph, we
know which one we have to insert. And since this rectangle has to be inserted
in the corner of this U-shape, we know that it's lower boundary has to be
completely fixed, and that means that the set of in-going red edges is fixed as
So both position and shape of this rectangle is completely fixed. After the
insertion, we again have a U-shape in which we can insert another rectangle in
a unique fashion and we continue this process of inserting the inner
Now we have two U-shapes which we can also fill in a unique way.
After inserting each interior rectangle, we have either filled this rectangle
or we have produced an error. But since we only follow necessary conditions,
we always find such a representation if it exists in linear time.
If you slightly restrict the formulation of the problem, now we allow -- now we
interpret the edge weights not as exact lengths of the contacts, but as lower
boundaries of the lengths of the contacts. If we have a fixed combinatorial
structure of the rectangular dual, which means a fixed regular edge labeling,
we can construct such a drawing with minimal size in linear time using some
existing tools.
For example, we can modify the algorithm of [indiscernible] for constructing
rectangular duals to construct such a drawing, or we can also use a rectangular
compaction technique from the graph drawing book.
So this is a drawing that we can produce for this edge weighted rectangular
proper triangular planar graphs. So know that the exact contact lengths may
exceed the specified edge weights, but what we do is we highlight the real edge
weight since it is smaller than the contact length.
Let's consider a modification of this problem. Now, assume that we have, we
also have a proper triangular planar graph and now we have two functions. Two
edge weight functions. The one specifies the lower bound on the contact
lengths, and the other the upper bound.
And now we want to decide whether such a drawing that respects this upper and
lower bound exists for this graph. We have proven that this problem is
NP-hard. Actually, NP-complete.
Know that now, we do not fix the combinatorial structure of the rectangular
dual. That means the regular edge labeling can vary. This gives us this
gadget that we also use in our NP-hardness proof. So our proof is a gadget
reduction from the known NP-hard problem planar three set. This is
satisfiability problem for Boolean formulas in the conjunctive normal form such
that each class has three variability and we also require that this variable
clause graph, which connects the variables and that are contained in the same
clause to be planar.
For example, this is such a drawing of the variable clause graph. What we
shall do in our proof, we shall construct a graph which whose dual will mimic
this graph and a drawing that respects these upper and lower bounds exists if
and only this formula is satisfiable.
This is a basic building block of the proof. I shall not go into much detail
on this part. But the important thing is that this subgraph, this weighted
subgraph has exactly two realizations that respect the specified upper and
lower bounds.
The important thing is that these contacts shift by a unit length compared to
these two representations. And both these representations will encode the
true/false value. It's either true or false. And these contacts will be used
to propagate the value along the drawing.
Using these building blocks, we built the pipes and variables, variable clause
graph. So this is actually two variables of it. And all gadgets that belong
to the same variable are inter-connected and therefore, their true/false
variable is synchronized. If we switch the value of one variable, then all the
realizations of the gadgets connected to it switch also.
And the ones that are not connected to this variable remain independent and
thus can have an independent value. So it remains to show this clause gadget
the [indiscernible] for the clauses of the graph. This gadget has three
inputs, two from the left and one from above, below. This one from above or
below is duplicated so it's connected to one single variable. The positions of
the input ports are completely fixed. And we also sometimes want to invert the
value of the input so to do so, we use two additional gadgets, either
co-inverters or replicators whose positions are also fixed.
All the inputs are connected to these two big yellow rectangles. There are
upper and lower boundaries are completely fixed by the value, by the true/false
value of the input. So when we consider all of the true/false combinations of
the three variables of the clause, we see that each false [indiscernible] of
the clause stretches this yellow rectangle by one.
So when a variable switches to false, the height of the rectangle increases by
one. And we see that the contact -- yeah? We see that the contact length is
maximal, namely 21 in this example, for exactly one combination. And this is
exactly the behavior that we want for our reduction. So we can exclude exactly
this one combination if we specify the allowed upper bound to be 20. So 21
exists this upper bound so we exclude exactly the combination with all three
This is the drawing of the complete graph for this, complete rectangle dual for
this formula. The highlighted part belongs to the variable X, which is in this
case zero. It is connected to three clauses. And if we switch it, we see that
the contacts exceed the allowed upper bound of 20 for these two clause gadgets.
So we see that the rectangular drawing that respects the upper and lower bounds
even and only if this formula is satisfiable. All right. In our work, we also
considered the rectilinear edge proportional contact representations. And
again, we want to make the contact, the length of the contacts be exactly
proportional to the specified edge weights. And we also wand to find
representations that minimize the complexity of the polygons of these
And fortunately, for a general edge weight function, it is not possible to
limit the complexity of the polygons for very large classes of graphs. For
example, if we have two interior vertices that are connected by an edge, it is
in general not possible to limit the complexity of the polygons. For example,
assume that we have -- that this edge between these two inner vertices has a
very large edge weight.
So we have to fit this very long contact inside this polygon, which has a
relative small perimeter. So we cannot do this with a fixed number of bends.
We also showed that if you have a higher, an unlimited number of interior
vertices that are not connected, we also cannot limit the complexity of the
polygons. So we actually can hope to achieve these exact edge proportional
limitations for limited polygon complexity only for outer planar graphs or
graphs that contain limited number of interior, non-connected vertices.
We have shown that for outer planar graphs, the complexity of the polygonal
complexity of eight is something that's necessary. This is an example. And
always sufficient. Let me briefly show the construction. So for an edge, we
draw this polygons such that they form a narrow U-shape and this contact has
the correct contact lengths.
Now we start from this junction and go to the left and upwards until we achieve
correct contact lengths. Then we observe this rectilinear octagon. And these
contact lengths are respected.
Now, we have also this two more narrow U-shapes in which we also insert this
rectilinear octagons. And we continue this process until we have inserted all
polygons with correct contact lengths.
One drawback of this representation is that this outer face has an unlimited
number of bends. But however, we have shown that we cannot do better. That
means we cannot limit the complexity of the outer face simultaneously when we
want to limit the complexity of the inner polygons.
So let me briefly summarize. In our work, we investigated the possibility to
represent edge weighted planar graphs by contact representations.
We have shown that if you want to represent the edge weights by exact contact
lengths, it is possible to test for proper triangle planar graphs, it is
possible to test whether such a representation exists.
If we relax this problem slightly and allow some flexibility on the edge
lengths and also allow the combinatorial structure of the dual to vary, many
optimization and decision problems become NP-hard. We also gave a complete
characterization of graphs that admit edge proportional rectilinear
representations with bounded complexity.
We have also found an interesting application of this representations. Namely,
these are presentations can be used to visualize people flows in buildings, for
example, in a soccer stadium. But unfortunately, it is not part of this paper.
So thank you very much for your attention.
>>: How did you generate the slides of the NP-completeness.
beautiful slides for the NP-completeness.
They were
>> Roman Prutkin: Thank you very much. Everything was drawn in
[indiscernible] by him. So each slide is drawn on its own manually.
Well, let's thank Roman and all the speakers at this session.