1 >>: 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. >>: [inaudible]. >> 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 sortings. 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. 2 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 node. 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 bends. 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 3 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 4 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. 5 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 picture. 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. Okay. When we have large and disconnected components, the natural thing would 6 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 7 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: [inaudible]. >>: 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 -- 8 >> 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. We >>: 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 Whitesides. >> 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. 9 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 area. 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 10 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 study. 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 11 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 into. 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 12 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 [indiscernible]. 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 13 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 variables. 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 rigid. 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. 14 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. 15 >>: No? 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 16 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 [indiscernible]. 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 representation. 17 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 18 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 done. 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. 19 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 20 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 graphs. 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 vertices. [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 21 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 22 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 that. 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 23 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. 24 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. 25 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] rectangle. 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. 26 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 through 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 27 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 algorithm. 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. >>: Thanks. Martin. >>: [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. 28 >>: 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 representation. 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. 29 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. 30 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 well. 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 31 rectangles. 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. 32 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 33 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 variables. 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 representations. 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 34 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. >>: Questions? >>: 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. you. >>: Well, let's thank Roman and all the speakers at this session. Thank