>> Lev Nachmansen: Hello. And welcome to the penultimate session of this year's graph drawing symposium. We've got some very nice talks lined up for this session. So I guess we'll get started. We've all heard of OCR. Well, this talk is going to be on OGR. And it's going to be presented by Christopher Auer. >> Christopher Auer: Right. Thank you very much. Yeah. I'm going to present our paper, which is called Optical Graph Recognition or OGR and this is joint work with Christian Bachmaier, Franz Brandenburg, Andreas Gleibner and Josef Reislhuber. Well, actually Josef was supposed to give this talk u because he did all the implementation. However, he want able to come here. So I will give the presentation. So let's start right away. Here we go. So what you see here is a picture took a few days ago from the white board in our office. So as you can see, what I did there was to draw a graph on it, this one here, and I asked the question if this graph is planar. So for some of you immediately might see that the graph is instead planar, but usually you might have a more complicated example, more complicated drawing. And you want to test some can combinatorial properties, some topological property. And the problem is how can we do this? Usually you would have to -- well, manually define the graph in your favorite tool and run your algorithm. Well, in this talk, I -- I would come back to this example later. In this talk, I will propose a way in order to do this automatically. So usually with graph drawing you have this topology, the combinatorial definition of a graph like by adjacency matrices or something like that, which are simply called topology in the following. And you have this process of graph drawing in order to obtain a nice drawing. Well, like, for instance, this one here and what we do is to reverse the process of graph drawing. Well, this is kind of this [inaudible] joke. However, what we do in the following is to extract from a drawing the topological structure, that is the combinatorial structure of the graph again in order to run some algorithms on it. And when you encounter such a adverse side complex problem than usually what you do is to break it down to more simpler problems. And what we did with OGR was to break it down to four phases. And these are the following: So in the first phase we have a preprocessing which simply takes as input a digital image of a graph and it separates the graph drawing itself from its background. So the first step we remove this unnecessary information like yes, some of the -- everything with cautious that belongs not to the graph. In the second step which we call segmentation we identify the vertices; that is we identify which is blocks, which regions belong to a vertex. In the third step, which is the most central one in the whole approach, which we call topology recognition, we trace the edges. And then in the last step, which is called postprocessing, we could do for instance introduce labels, automatically introduce bends through the edges and so on. Well, this is a very channel refrained work, so it can be tailored towards any special use case you have. And what we did was to implement a prototype which we called OGR up for University of Passau. And for our prototype, since we wanted to find out if we can achieve this goal, we opted for a very restricted kind of drawings, just in order to find out if it's -- if the whole approach does work in general at all. So some of you might already know these constraints from the sheets I handed out to some of you. In our implementation, shall we have the restriction that the vertices are filled shapes, so we forbid anybody that is not circular. We need filled shapes that are circular especially. So we don't allow any of these kinds with this white region within the vertex. And we also need the vertices approximately have the same size. And we also assume that the edges, the diameter of the edges is significantly thinner than the diameter of the vertices. And we also assume that the edges and at the vertices that there's no gap in between them. Of course, the whole approach could also be -- or implementation could also be adapted to accommodate for these cases here. But for our implementation we assume these conditions. So this would be a ground that fulfills all these properties. So in the following I will concentrate on drawings that look like these. You can see that these drawings may contain crossings that we do not need straight line edges and so on. So in the first phase, which is the processing, in the general propose we need that -- we separate the background from the drawing of the graph itself. In our implementation we use simply binarization. That is every pixel that is white in this picture here, in this image here belongs to the graph. And everything else is black. This is quite straightforward. In the next phase, which is called the segmentation, we have to recognize in the vertices. Well, we do this in a very straightforward manner. We -- as the first step, we erode white borders. That is we remove pixels that are adjacent -- that are white and adjacent to black pixels until all edges to vanish, as you can see here. After that, we inflate the vertices, process called delitation; that is we add white pixels to these borders again such that the vertices have the prior size. This is a very quite straightforward process, not very sophisticated, but it works quite well for our drawings. Now, for the most central step in our algorithm, which is the top recognition which we subdivided into three smaller steps. And the first step is for instance if we have this drawing here we apply a well known algorithm which is algorithm class, actually which is called skeletonization. And which comes from this huge toolbox of image processing algorithm -- algorithms, and a skeletonization simply does similar thing to erosion. It removes white pixels from the borders, but it assures that these connected region still remain connected. However, the lines are in the -- after skeletonization only have a width of one pixel which, again, discards redundant and un-useful many information. In the next step, we identify so-called edge sections. So what we do is to classify all of these remaining pixels here and put them in one of four classes. The red ones here are those pixels belonging to vertices, the red ones. The green ones are the edge sections. And as each edge section ends either at a vertex and the meeting point, this pixel is called a port pixel. Or it might also ends at -- it might also meet with another edge section like in this case here. And this meeting point we call crossing pixel. So what we have to do now is to merge these edge sections into edges in the most probable way. What most probable means will -- I will explain you in just a few seconds. So what we do is we start at a port pixel and start to trace the edge. So after sometime eventually we come to either another port pixel, which is the most easiest case because if we reach another port pixel, we can immediately introduce an edge between these two vertices here. But usually we might encounter a crossing pixel and when we meet another crossing pixel this also means that there is a crossing with another edge. So what do we do here? Well, in this case, we have two options. We can either follow edge section 3 or edge section 4 when we started tracing this edge section here. Well, what we do is something similar to the human eye. We simply follow the edge here. And in the most probable direction, that is in the direction which least deviates from the angle by which we entered this crossing here. So we simply follow edge section 4. We then further trace the edge section, this edge section 4 until we encounter this other crossing pixel. And again, we still have the choice -- we again have the choice between these two directions. Now, if you would only take into account this local information here, then, well, this direction is as good as this direction. So what we've also implemented is this householding of this history, keeping track of some history, so when we have to decide into which direction we have to go at this place here, we simply take into -- also take into account the history which is -- which also takes into account this direction and what we then get is a resulting vector which -- for which we can find out that edge section 6 roughly points to the -- into a similar direction. So what we can then do is to merge these three edge sections into one edge, and finally they connect these two edge -these two vertices here. And this we do for all port pixels until we're finished. And after that, we've recognized all -- all these edges, hopefully, at least. And then in our postprocessing step we simply do add coordinates to the vertices. So this is the drawing and this is the recognized graph. And we also add bends such that the resulting graph resembles the original drawing. So quite straightforward postprocessing here. We also did some experimental evaluation. And for this we used the Rome graphs where for each Rome graph we have drawn it 10 times with a very basic implementation of the [inaudible] spring embedder. What we've found out is that about 93 percent of these drawings were recognized completely correctly. For 50 drawings we had this erroneous vertex recognitions. And the reason for that was that there were a lot of edge crossings. And so these crossing regions had roughly the same size as the vertices. So these crossing sections were recognized as vertices. And this way was the reason why we in this case as [inaudible] here we have arrows. In the remaining drawings we had erroneous edge recognition and OGR it seems that favors in a sense false positives over false negatives where false positives means that OGR introduced an edge or recognized an edge. Also in the original graph the edge was not there. And false negatives occurred at this -- of course I have to say these are the mean number of false positives that were acquired during the recognition process. And false negatives usually on that problem. So the problems were large crossing regions and also small crossing angles. Because with OGR has the problem that if the -- the crossing angles are small, it doesn't know in which direction it has to follow the edge. Which is very similar to, one might argue, that how the human eye traces an edge. So we make this bold claim here. Of course you can argue if this is really true, but -and on how you define nice drawings. If you have a nice drawing then it is also a nice drawing for OGR up. Yeah. >>: [inaudible] I have a technical question. False positive is 1.24, what does 1.24 mean again? >> Christopher Auer: It's the mean number of falsely -- of false positives. The average number over all ->>: [inaudible] graph so they get 1.24 edges put in falsely? >> Christopher Auer: Yes. >>: Thank you. >> Christopher Auer: Okay. So this is the logo of OGR. And I give you a tech demo. I come back to the original example. So what we have here is this drawing again on the white board, which I cropped a little bit to remove all this unnecessary information. And this is already the first phase of the binarization. Well, that's quite straightforward, so let's proceed to the next phase where the vertices recognition took place. And as you can see, it's this heuristic works quite well, at least in this case here. So all the edges are removed. And all these connected white pixel regions are recognized as vertices. In the next step we do this skeletonization. It doesn't matter that word plane is also skeletonized. It's simply discarded by OGR or ignored. And so we have this skeletonized image here. As you can see all these edges have a width of only one pixel. In the next phase we do the classification of pixels. So we have again these red pixels which are the vertices, the green ones which are the edge sections. We have these port pixels and these crossing pixels. And finally, and most importantly, we have the recognition of the edges. And as you can see, it highlight which edges were recognized just loading into our heuristic tool, which is our graph editing tool and remove the bends for the moment. And as you can see, we really have a graph that can be edited now. So, for instance, we can now answer the question if it is planar. Well, it is really planar. We can also apply any other standard algorithm, like, for instance, the FLP algorithm, in order to draw it. So as you can see, we have again another drawing and it's -- which is purely based on a topological structure of the graph. So some of you were so kind to challenge our OGR by drawing some graphs and I want to give you the results now. So 10 drawings were handed in. And in these five drawings OGR had no problems at all. And they were recognized completely correctly. While that premiums that I understood your drawings right, of course. Much but the only problem was that in this case the -- the vertices, they attach to each other, and OGR introduced an edge between them. But otherwise these drawings recognize completely correctly. We had these three drawings here with which OGR had some problems. So for instance, in this crossing here where the problem that OGR couldn't recognize or find out if it was just a touching point or it was a real crossing. So one might argue that this is also very hard for the eye to find out if it is just a touching point or a crossing. And in this case here, we had the problem that the edge did not connect to the vertex. In this drawing here, OGR usually did overall very well. Again, we had this problem that the edge was not connected and there was some false positives within the drawing. But as a first draft of the whole graph, it still did very well. And for these two drawings, OGR had no chance at all. So these two drawings are very naughty because there are these crossing regions which roughly have the same size as a single vertex. And so OGR had no -- was not able to recognize the vertices correctly. So for those two guys, a few sitting there, Christian and Steven, I hope that you are happy that our -- that you make OGR sad. >>: That is bad handwriting. >> Christopher Auer: Okay. Now, for some future work. Well, obviously we will try to extend our approach that it also will deal with unfilled shapes or any other shape. And we also have some preliminary implementation which recognizes -- is able to recognize directed edges, at least if you use the stand out convention of drawing arrows at the end of an edge. We also tried to recognize labels, which is fairly standard technique now, by using OCR. And it would also be very tempting to have this very -- a very cool smartphone implementation where you can simply draw a graph using a -- one of the styluses and OGR can -- is able to recognize it. Well, that's all. And thank you for listening. [applause]. >> Lev Nachmansen: Questions? >>: Would a smartphone implementation, I mean, I would expect that you would know the edge, right, or do you intend to first let people draw everything and then afterwards try to find out where the edges are? >> Christopher Auer: We're still not sure. We -- actually we consider both. So this -- in this attempt here, you usually give them the whole drawing after it is finished. But it might be, or it quite surely is need easier if we -- if the user step by step draws a graph, of course. So I think that we -- we might consider both options. >> Lev Nachmansen: Other question? >> Christopher Auer: Yeah? >>: Do you know how your error rate compares with a human error rate, trying to read ->> Christopher Auer: We discussed this yesterday with Franz, and we don't -- we do not know. But it would be quite interesting to find out how these two correlate. >> Lev Nachmansen: Okay. One more question. >>: This whole project seems to me in this quite common where you have two edges [inaudible] crossing complete angle and what you might try is [inaudible] in your skeleton you end up with this sort of double wide picture. You might just always assume that there is a crossing back because of both [inaudible] graph comes from. You know, if you do it by hand [inaudible]. >> Christopher Auer: So we could introduce some kinds of template. Or when we held this X structure and we usually can assume that it is indeed a real crossing of course here. >>: [inaudible] look intelligently at the graph structure of the skeleton. >> Lev Nachmansen: Let's thank you him again, please. [applause]. >> Lev Nachmansen: Our next speaker is Martin Balko talking on grid drawings. >> Martin Balko: Thank you for the introduction. So hello. My name is Martin Balko. I come from Charles University in Prague from Czech Republic. And I will be talking about grid drawings and their connections with graph drawings. So first I would like to mention some basic definitions. For example, what is the grid drawing of a graph? This is a formal definition. And it basically says that given a graph, we map its vertices into distant points of D dimensional grid. We also map its edges to a straight -- straight line segments which connects grid points representing -corresponding vertices. And there is another condition which says that every line segment which intersects only two grid points representing the vertices of G. This condition is quite natural because without it we could draw an arbitrary graph on a angle line. I will show you a picture. So this situation is forbidden because there is a grid point which represents -- which is representing vertex W and it's lying in the interior of an edge of a line segment which is representing the edge UV. And this situation is okay because we have a line segment which is representing an edge. There are some grid points lying on this -- in its interior. But it doesn't matter because none of them is representing vertex of a graph G. So this situation is fine. So I'll be talking about the grid drawings out of three points of view. The first one is robustness. It means grid drawings with bounded number of grid points per line segment. So, for example, as you can see here, this is a grid drawing of a K5, complete graph on five vertices. And know that every of its line segments contains only two grid points except of this one. This contains three grid points. And I will show you later that this is the best possible result for K5 in the meaning of robustness. The second point of view is compactness. Those are grid drawings with bounded space or size. And there are several ways how to define compactness. And we will mostly study the minimum number of columns on which we can draw a given graph. For example, in the plane, we can see that this drawing has only three columns. And know that there are several grid points lying on the line segments. But it doesn't matter in this case. Because we are not interested in robustness now. And the last point of view is planarity. Know that the normal definition of grid drawings there are allowed edge crossings. But if we want to study grid drawings of planar graphs than we can restrict our attention to planar grid drawings. That means that no two edges can cross each other. So now about robustness. So the most important definition is locatability for integers D and Q which are at least 2. We say that a graph is q-locatable in D-dimensional grid if there is a -- it's grid drawing such that every line segment always contains at most Q grid points. Two locatable graphs are called locatable for short. This is the lowest -- lowest possible value of Q for -- because of the extremes of the line segment. A line segment containing only two grid points is called primitive. And similarly, a grid drawing which contains only primitive line segments is also called primitive. And finally a grid drawing of a graph is called drawing a graph. And if we want to find a grid drawing of a given graph which is primitive, then this process is called locating the graph. So now example. So suppose we have given this graph. This is a complete graph on five vertices. Then we can consider this grid draw of this graph. Note that the robustness of this grid drawing is quite high because there is a line segment which crosses seven grid points. And this is too much. So we can find a better grid drawing. This one, this is the one I showed you before. Every line segment -- every line segment is primitive except of this one. There are only three grid points. And this is almost primitive grid drawing of K5 and it shows that K5 is 3-locatable. Now, some theorem. This theorem has been known for several years. And it says that a graph is locatable, it means it has a primitive grid drawing in two dimensional grid if and only if it's four-colorable. These show that there is a stronger connection with graph colorings, specifically for the following theorem. For integers D and Q, which are at least 2, a graph is q-locatable in ZD if and only if it is Q to the D colorable. The process of the first implication is not so difficult. So suppose we have a grid drawing of a given graph such that every of its line segment crosses at most Q grid points. Then we can consider this function as a coloring of the grid. And the collar -- the vertices of a graph such that a vertex gets the same color as a grid point which represents it. And the rest falls from this fact that a characterization of a grid point lying on the line segment is this one, and it is -- it depends on alpha, which is the greatest common divisor of differences of the coordinates of these two points. So if there would be two edges in the vertices having the same color in this coloring, then such line segment would have more than Q grid points, and this is a contradiction with our assumption about the given grid drawing. So graph is Q to the D colorable. The proof of the second implication is more complicated, but it's constructive. And the main idea is to find a convenient subset of the grid such that we can map the complete [inaudible] Q to the D-partite graph and the rest falls from the fact that every Q to the D colorable graph is a subgraph of such graph of -- for sufficiently large classes. Now, some remarks. This is the coloring of the 2 dimensional grid from the previous slides for the values Q equals 3 and D equals 2. So we have 9 colors. This is a pattern which is repeated all across the grid. And if you consider the grid drawing of the complete graph on the five vertices we had before, then we get this coloring of this graph. Now, this color is correct. And it uses five colors. You also can prove immediate other results such as a graph is a primitive grid drawing in D-dimensional grid if and only if it is 2 to the G colorable. And we get that deciding whether a graph is q-locatable in ZD is NP-complete. Now, the second part is compactness. Just to remind you, those are the grid drawings with somehow bounded space. And our restriction is the minimum number of columns that we need to draw or locate a given graph. A column in the D dimensional grid is the following set. This is quite natural definition. And another definition which is very useful is the following one, which says that for nonnegative integers A and B, a graph is A, B colorable if we can color it using A plus B colors such that A colors induce independent sets. Those are the normal colors that we know that. And B colors induce linear forests or otherwise called disjoint unions of paths. And these are colors are called path colors. And such colorings are called mixed. Following quite simple observation says that a graph is colorable using L path colors is if and only if there is a grid drawing of this graph using L colors. So suppose the following example. This is a graph. This is an ultra planar graph. So we know it can be colored using three colors. This is an example such coloring. And not only that, but we can color it using two path colors like this. This is one, the purple color. And the second one. And knowing these colorings we can show that this graph can be located on three columns in two dimensional grid and know that this grid drawing is primitive. And this is -- we used the path colorings then we can even find a grid drawing which is primitive and uses only two columns. So just to characterize the primitive grid drawings, note that from the part of robustness we know that as the chromatic number grows then we need to proceed to higher dimensions. So but still there is a similar characterization as we had for the nonprimitive grid drawings using the mixed colorings. And this is the following theorem which says that for given D and L where L is some -- in some range, depending on D, then the graph is -- can be colored using two L minus 2 to the D normal colors and 2 to the D mines L path colors, if and only if we can locate the graph on L columns of D dimensional grid. Now, some remarks to this theorem, the dimension D is the minimum dimension we need to locate the graph. If L is below the trench then the concepts of drawing and locating of graphs becomes equivalent. And on the other hand, if L is above the given range, then we don't need consider this case because we know that only two to the D colorable graphs can be located into dimensions, the dimensional grade and this is the case for L greater than 2 to the D. And this characterization seem to be quite useful because we can use it to prove some other results. For example, this theorem which shows the connection between maximum degree of a graph and the number of columns on which we can locate it. And this upper bound is sharp in certain cases, for example, on complete graphs with this many numbers or vertices. So now something about computational complexity about grid drawings and locating of graphs. So the following theorem says that given A and B, which are sufficiently large, it is NP-complete to decide whether a graph is A, B colorable. And to prove uses reduction from one in three 3SAT for 1, 1 colorability and the reduction from not all equal 3SAT for 0, 2 colorability and the remaining cases can be solved using the reduction to the K-colorability problem. I've reared one example. This is for the case 1, 1 colorability. And it shows if you have a formula in CNF then it [inaudible] then we use these gadgets and three variables, each one for each triangle for one variable, then we can get the following coloring note that the black colors are path colors induce linear forest and white vertices are independent set. So from the previous theorem we get that integer L it is NP-complete to decide whether G has a grid drawing on L columns and similar is for the locating of graphs, which is NP-complete 2. And this answers the question of Caceres, et al., from last year. And now I will show you some situational specific graph classes. So let GA, B denote the class of all A, B colorable graphs. Then if you consider inclusion as a partial order on the set of these classes, then we get the following partial ordered set. This is modified [inaudible] where one graph class -- one class is contained in another. If there is an oriented path between them. And if we consider a partition of this set into the [inaudible] such that graphs in the classes of one part can be drawn on the same number of columns, then we get this partition. Those are the graphs that can be drawn on the single column, two columns, three columns, four columns, and so on. Similarly for primitive grid drawings, the grid classes are the ones from the correct [inaudible] theorem I showed you before. And it partitions the whole set into parts such that in this part those are graphs that can be located into two-dimensional grid, three-dimensional grid, four-dimensional and so O and you can see the border when the recordation of A, B colorability becomes NP- complete. For other planar graphs we can show that we can color them using three normal colors or two path colors. So the class of all other planar graphs is contained into these two classes. And similar for planar graphs. This is according to the four color theorem and show the three part colors are sufficient to. So, for example, we know that every planar graph with located on four columns and drawn on three columns. Now, because I don't have so much time that I skip this and get to the planarity which is the last case. So according to the four color theorem we know that every planar graph is four-colorable. Thus we know it can be located in the two-dimensional grid. Now, the problem is that the grid drawing is -- doesn't have to be -- don't have to be planar. So D. Flores and Zaragoza asked the following question, whether there is a planar and primitive grid drawing of a graph in two dimensions -- two-dimensional grid. We give an affirmative answer to this question, yes, there is always such a drawing. The proof uses the four color theorem and the main idea is to soften the Fary's embedding of the planar graph, which is a planar drawing which uses only line segments for edges and preserving -- and we are preserving planarity. The four color theorem and this theorem are actually equivalent. It suffices to consider this function as a coloring of grid. And it is the same as the first part of the proof in the part of the robustness. And there is a problem that rough somewhat of the obtain grid drawings can be exponential in size. So we state the following conjecture, whether is it possible to find such a drawing in a grid of polynomial size? So now some other open problems. Are there any other specific classes of graphs with bounded locatability or number of columns of their grid drawings? Something similar as we showed for the planar and ultra planar graphs where we saw that four colors or three colors are enough for planar graphs. So we are interested in some other graph classes and to connection to the grid drawings. Another conjecture is from -- is requested have asked by David Wood, and it asked whether any grid drawing of any complete K-partite graph with n vertices have area which is at least K -- K times N. And last conjecture is again from David Wood. And it asks what is the connection between lower bound on the area of a grid drawing of the complete K-partite bounds graph with T vertices in each color class and its aspect ratio which is defined as follows. So that's it. Thank you for listening. [applause]. >> Lev Nachmansen: Questions? >>: [inaudible] between coloring and grid drawing, is there any relation between [inaudible] coloring and grid [inaudible]. >> Martin Balko: Which coloring? >>: [inaudible]. >> Martin Balko: I'm not aware of any results of -- but it's interesting question. >> Lev Nachmansen: Any other questions? Okay. Thank you again. [applause]. >> Lev Nachmansen: Okay. So you've got to kind of pay attention now. We all know in a couple years there aren't going to be any more planar graphs. So the next couple of talks might be the last talks on planar graphs you're going to see, so savor the moment. So this is density of maximal 1-planar graphs, and it's given by Kathrin Hanauer. >> Kathrin Hanauer: Thank you for the introduction. So I'm going to talk about density of maximal 1-planar graphs. And this is joints work with Franz Brandenburg, David Eppstein, Andreas Gleibner, Michael Goodrich, and Josef Reislhuber. So I will start with a short definition. 1-planarity. We say that a simple graph is 1-planar if we can draw it in the plane with a few criteria maps. So first we allow that each edge is crossed at most once. Or no crossing is fine or at most one crossing per edge. We don't want to have two or more crossings. And we don't allow incident edges to cross each other. So these are the criteria. And when we speak of maximal 1-planar graphs, we mean that we cannot add any further edge without violating any of these criteria. So the question we ask is how dense are maximal 1-planar graphs? And, well, there's a simple answer to that. Because in 1983, Bodendiek has already shown that 1-planar graphs have at most 4N minus 8 edges. And this is actually also mapped. So why bother? Well, have a look at this graph here. It is 1-planar. It is also maximal. It has 10 vertices but only 22 edges. So there's a group of 10 edge that are missing in order to reach the 4N minus 8 -- 4N minus 8 edges. So the question we ask is how sparse can they actually get? I need another short definition first. When I say a graph has a rotation system, then I mean that for this graph the cyclic ordering of the edges around each vertex is specified at once and we are not allowed to violate this -- these -- this ordering. Interestingly when it comes to testing 1-planarity it is NP-hard to decide whether a graph is 1-planar. This has been shown by Korzhik & Mohar in 2009. And this NP-hardness even remains if the graph is given with a fixed rotation system. So the question whether this is 1-planar still is NP-hard. So when we're talking about maximal 1-planar graphs, we have to distinguish between three cases. The most easiest one is embedding. So we are given the graph, 1-planar graph with the faces and we only have to decide whether we can add another edge or not. Then we have rotation systems. That means that -- a rotation system is a maximal 1-planar if every embedding that is one planar is also maximal. And so there may be different embeddings for 1-planar system, in fact. And third case are graphs. So this is the most common one. And again, graph may have different 1-planar rotation systems and again with different embeddings. Fortunately when we're talking about maximal 1-planar graphs, the rotation system uniquely determines the embedding of the graph. So you only have to deal with two cases. Let's have a quick look at this table here regarding maximal graphs. When we're talking about planar graphs, maximal planar graphs, we know that the maximum number of edges is exactly 3N minus 6, minus 6. So all maximal planar graphs exactly reach this spot. And we have a density of three here. When we look at own planar graphs we know that the maximum number of edges is 4N minus 8. But we don't know what the minimum density of maximal 1-planar graph actually is. And this is the gap that we want to fill in here. So the question is how sparse can maximal rotation systems and maximal graphs get, in fact? So let me introduce you quickly to hermits or at least what we mean by hermit here. So we say a hermit is a vertex of degree 2 that is connected to vertices U and V here. And it is trapped in the region. And this region is defined by two crossing -- two pairs ever crossing edges. So you have one pair of crossing edges here and one here. And these edges are already crossed once. So we cannot have another edge inside or outside this region. So the her admit is separated from all other vertices. Furthermore, one can show that when we are talking about maximal graphs then the vertices U and V are directly drawn by an edge. And we call this edge UV, the supporting edge for the hermit H here. And finally, again, when we are talking about maximal graphs, then every vertex of degree 2 is, in fact, a hermit. So what is it good for? Well, a hermit has degree 2. So if you are able to have a lot of hermits in our graphs, we get low densities. So this is the aim we have. Okay. So I want to show you two examples for sparse maximal 1-planar graphs. And these are the sparsest examples we know so far. And I give you one example where the rotation system is fixed, so we're not allowed to modify it. And another example where we don't have a fixed rotation system so we are completely free here. First for the maximal 1-planar rotation system, it is important to note here that we want the graphs to be able to have nodes of -- have arbitrarily many nodes. So the graphs may have any size we want. The construction here starts with a chain of K4s basically, so we have here chain of K4s. May be arbitrarily many. And we add arches above and below the K4s. Now, we want to have a drawing on a cylinder here, so this means you have to identify the upper and the lower line. And just think of it as if it was wrapped around a cylinder. And next up we do is we change the vertical edges here and let them wrap around the cylinder exactly once. This way we introduce new crossings here, for example. And if you have any crossings we can put a lot of hermits in here. So this is the next step we do. We have as many hermits as possible. And now let's see what density we get. For the analysis we cut out a single slice of the cylinder, in fact. So you can see that here. And so we have six vertices in each slice and 14 edges. So we come up with the density of 7 over 3, which is about 2.33. Note that this is even sparser than maximal planar graphs. So here 2 point something here. Now, if the rotation system is free it's a bit more complicated, since we have to take all possible rotation systems into account. What do we do? We start with this graph here. This is called the XQ8. And it has been shown that it has exactly 8 1-planar embeddings. Next we add our hermits again. And fortunately now only one valid 1-planar embedding remains. So now this graph has fixed size and we wanted to be arbitrarily large. So we do sort of a parallel composition. So we take this graph here, put copies of it next to each other, and we identify the vertices A and B of each copy. So we get an arbitrarily large graph. And when we count the ratio of vertices and edges, we get 45 over 17, which is roughly 2.65. So these graphs are a bit more dense than if you have -- those that have a fixed rotation system. But this is still sparser than maximal planar graphs. Now, we have seen two examples. But we still don't know how sparse they actually make it. So we have tried to find out how dispense does a maximal 1-planar graph have to be at least? And for this, we sort of partitioned the graph. We -- into the hermits on one side. And that part of the graph that is left, we removed the hermits. We call this the skeleton of the graph. So you can see on the left side maximum 1-planar graph. And when we remove our hermits and the edges of the hermits, then we are left with the skeleton. We can show that for the skeleton every vertex and every edge in the skeleton is discovered by a K4. So every vertex and every edge is part of at least one K4 in the set -- in the skeleton. Now, we know that there are many K4s in the skeleton. But how are they connected to each other? Well, there are basically three cases. We can have three, two, or one common vertex. So we are looking at the first one, we have one K4 here, and we add another vertex and this is the second K4. They have three common vertices here. And the other cases that we have only two vertices in common and finally only one common vertex. And we call this the link between these two K4 are strong, weak, or micro. Depending on how many edge -- how many vertices they share. And basing the structure we build a K4 network. This is a graph that has a vertex for each K4 in the skeleton. And we have a edge if two K4s are linked together. And we also take these, the strong, weak, and micro links into account so these are, in fact, edge weights for a network. Okay. What do we do with this K4 network? We can use it to get a lower bound on the density of the skeleton. So we want to know how dense is the skeleton at least? We know the K4 network is connected. This is because every vertex and every edge was covered by a K4. So we can compute a spanning tree on the K4 networks. And we do this in a greedy manner. So we start at one vertex of the K4 network. We start at one K4. And always add another K4 until we have covered all K4s. And while we are doing such expansion step we have preferences on the links that we use. So we prefer strong links or weak links over micro links. And while we are doing such a step, we look at the underlying K4s, actually, and if you have a strong link, we know that the three common vertices between the two K4s. So the new K4 only adds one vertex but three edges that are now considered as vertices. If you have a weak link then these are two new vertices and five edges. And finally if you have a micro link, you have three new vertices and we have the six edges here of the K4. And we're also able to show that there's also a seventh edge here. So for the skeleton, we get a density of 7 over 3 at least. Next is of course how many hermits can we put inside the skeleton. Well, if you remember when I introduced you to the hermits, I said that hermits need crossings to form the region. So when we have a crossing here, you can see that there can be at most four hermits, that this crossing shields from one another. On the other hand, every hermit needs exactly two crossings, the left and the right side in order to form exactly this region. So in total, we can say that we can have at most twice as many hermits as crossings or the number of hermits is at most the number of the crossed edges in the skeleton. Okay. What do we also know? Well, if the rotation system is not fixed, so if we are free to choose any rotation system, then any uncrossed edge can support at most one hermit. So it can be the supporting edge of at most one hermit. So the case and the specific we have one supporting edge and two hermits above cannot happen if the rotation system is free. Otherwise you could find a way to connect these two, and they would no longer be hermits. So for maximal 1-planar graphs we can also say that number of hermits is at most a number of uncrossed edges here. Now, if we put this all together and we take A as the fraction of edges that can be augmented by a hermit, so this is the fraction of edges for which we can insert a her admit in the skeleton, and if you take B to be the skeleton's density, and we know that every hermit contributes exactly one vertex and two edges. So if you do a little math, you come up with this formula here for the ratio of edges to vertices, which is B plus 2AB over 1 plus AB. And now we're interested in the lower bound, so we minimize this expression. And of course we respect the bounds that we found in the previous two slides. And if you do this, we end up with density for -- with a minimum density for maximal 1-planar graphs. And this is at least 2.1 if we are provide with the rotation system. So if the rotation system is fixed, then we have a density of at least 2.1. And if the rotation system is free, then we get 28 over 13, so this is approximately 2.15. So we are strictly larger than 2. Well, to sum things up, we have the table here again. And we now know that the minimum density of maximal 1-planar graphs has to be in between 2.15 and 2.65. And if we have a rotation system given, then the density is at least 2.1 and it is at most 2.33. Now, you might have taken a look at our poster on 2-planarity. And we found that when we're regarding 2-planar graphs than the densities may even be lower. So the upper bound is lower here. So the question that arises is well, if you look at 3-planar graphs and so on, where will this end? Thank you. [applause]. >> Lev Nachmansen: Any questions? Okay. [applause]. >> Lev Nachmansen: So our next speaker is Seok-Hee Hong with more on 1-planarity. >> Seok-Hee Hong: Thank you for the nice introduction. I have too many slides so just comment on that at the time. Okay. So here is my co-authors. Probably you know three of them. But you probably don't know the others. So here is a picture of Naoki Kato from Kyoto University and Yusuke Suzuki from Niigata in Japan and also Pascal Schweier. He was in ANU in Australia, but now he moved to JAIST. So he's in Japan as well. So maybe you don't know about our workshop. We have a workshop so far in Australia. It's a very small group workshop. So 2011 we had the workshop in Port Douglas near [inaudible] in Australia. Very nice location. And here is evidence of the photo that actually we actually worked very hard. It's me taking photos. It's a very small group with like six participants. But Australia we have some frequent visitors. Like very cute animals. So we collaboratively work with all those animals. So we have a very productive workshop. We solved problems but collaboratively. But today I only talk about one of the problem. So already I know what is 1-planar graph. And then so I don't maybe -- I don't really need to give a definition. It is one crossing per edge. And before the workshop, what we know is about all mathematical [inaudible]. So we know that there is a bound on the number of edges. It's a 4N minus 8. And also graph in 2008 in Greece that Mohar gave a talk, actually testing is a very hard problem. So testing 1-planarity of a graph is NP-complete. So I'm driven by algorithmics, so I'm not here as mathematician. So we tried to give some algorithmic solutions for to study 1-planarity problem. So that's quite natural. And then we became interested in maximal 1-planar graphs because we have Suzuki. He used to work on 1-planar graph and maximal 1-planar graphs. So he does quite naturally consider these type of graphs, maximal 1-planar graph. And you already know the definition if you listened to the talk, previous talk. So basically it is maximal in the sense we cannot adds any more edges. So these are like two different, you can see them maximal 1-planar graph. And be aware of the color code. The red means crossing for [inaudible] and then blue means they are crossing edge. Okay. Also rotation system. I don't need to define rotation system. Basically for each vertex we know the ordering of the edges around each vertex. But what we don't know is the color code. We don't know which are crossing edges and which are noncrossing edges. We only know the ordering. So here is two different rotation system of K4. Of actually they are different rotation system. So we add some constraints. So the construct maximal 1-planar graph. But when some constraint on the given input. So we construct graph with a rotation system phi, and our question is whether given graph has ultimate maximal 1-planar embedding by preserving the given rotation system. So consistent with the given rotation system. And also I'm [inaudible] person, so we want to construct such an embedding if it exist and also of too many. So actually we give a linear time. So throughout my talk I talk about 1-planar maximal 1-planar embedding. But it is hidden it should be consistent with the given rotation system. So our main [inaudible] is dead. We give an optimal linear time algorithm for given graph with the rotation system. We can taste it but it allows maximal 1-planar embedding consistent with the rotation system in linear time. We also had some structural properties about maximal 1-planar embedding. So actually our algorithm expressly used those nice properties so that we can design linear time algorithm. And just to list one of them we actually show that it is only unique one maximal 1-planar embedding. And then we can construct such an embedding in linear time. So very construct. Some notation. G is a graph. Phi is a rotation system. G of phi means a graph with a given rotation system. How do you pronounce this? Psi? Psi. I saw this [inaudible] anyway. Psi. Is a topological embedding. But when you talk about topological embedding it is hidden that it preserve the given rotation system. And GP is a planarization of the given topological embedding. So actually it's a planar graph and it allows the plane embedding. And mostly we talk about maximal 1-plane graph. Basically we can [inaudible] given -with a given fixed embedding. So it's a bit different from maximal 1-planar graph because maximal 1-planar graph every embedding has the maximal 1-planar graph, but this is a specific embedding. So even you could draw a planar graph in a 1-plane. So again, the color code. Red is good crossing free. But blue is one cross -- crossing. So we have number of lemmas and theorems. I want to prove only one of them, because I don't have enough time. So I choose the easiest and simplest to prove that I can demonstrate. So we have some structural theorem about uniqueness of the embedding. And for that we actually show that the -- the maximal 1-planar graph contains the phi connected subgraph. And for that theorem we have a one structural lemma that if you consider any crossing vertex here and then if it consist of two vertices, there are two vertex disjoint red paths. And it's easy to prove because it's maximal. Just demonstrate that there are two different vertex disjoint paths. And it's easy to prove because -- because it's maximal. There must an edge between V1 and V2. But we don't know whether this edge is a blue edge or red edge. So if it's a red edge, this is could be a path, we already find one path, but if this edge is a blue, then we use inductive argument. We use induction. Since it's blue, there is only a crossing edge, U1, U2. And because of the inductive argument there must -- on edge from V1 to U1 and also V1 to V2. So concatenating these two paths, it gives a red path. So now we find a red path. And we use similar argument for all the other three. And concatenating them, it also give another path. So we find 2 red disjoint paths. And we use this lemma to prove our structure theorem that if given graph is a maximal 1-planar graph, then it must contain our red subgraph GR, which is biconnected and also spans all the vertices. And this is very useful to give a linear time algorithm. And as a corollary since also the given graph is -- G is also biconnected. So here is the algorithm. And it consists of the five step. And these steps are really easy. So first we check the bounds. And if it has too many edges, we just reject straight away. But the second part is our most significant contribution using all those structural properties, lemmas and theorems. So we actually compute the red graph. So if the rotation system doesn't give us a coloring, so in the second step we actual compute the coloring. We identify which are crossing free edges, which are crossing blue edges, red edges and blue edges. Then using that, also using the structural -- okay. Let me first explain the second step because it's the most important. We need a notation about rightmost walk it's just easy. You just -- you always take the rightmost walk. And completing the rightmost walk it means you just take a walk. It starts from an edge. You always keep the rightmost, and we stop until we reach -- if we reach the same edge. And what we do, I just demonstrate what is completely the rightmost walk. We start from one edge. We always take the rightmost time, rightmost time rightmost time and in some stage you see that if there is a crossing edge you traverse that edge twice in two different directions. We keep walking rightmost time and then since we reach the same vertex -- same edge, we stop in here. So after the walk, here you can see that you can more or less identify which are planar red edges and which are crossing blue edges. If we traverse twice, then they are blue edges. So here is a theorem. I don't have any time to give you a proof. But the full paper is available as a technical report, so you can give the formal proof. I just show you an animation, it proved by animation, and I just give one example which it works. But if they traverse twice, then they are blue edges. So we have a coloring. So now we know that which are red edges, which are blue edges. And using that, we can find I find the red subgraph GR, and it can be computed in linear time. And some more [inaudible] are using the theorem we also show that if the given graph is a ma'am 1-plane graph, the red subgraph GR is unique, so it also allows the unique planar embedding consistent with the given rotation system. And then it also give -given the graph G also has a unique 1-planar embedding. So this is very useful to design linear time algorithm. So it is easy after the red, blue coloring we check whether actually the GR is actually planar and actually it is biconnected. If it's not, we reject. Then there are two test, two easy steps before we compute the embedding. If you first compute an embedding which is consistent with the rotation system and we actually construct one -- we test whether it is 1-planar. Of and then the last test we check whether it is actually maximal 1-planar. So we have two separate steps. So the actual testing 1-planarity after we identify the rest by connecting subgraph it is really easy. We have all red face. All we need to do is take a walk around the red face. We have bunch of blue edges inside. We all need to test whether those blue edges they crossed at most once. And it can be checked fairly easily using stacks [inaudible] operation, and you can it can be did easily. So we can construct 1-planar embedding and we can construct a planarization at the same time. So actually construct embedding testing and embedding at the same time. And the last one we actually wants to test the maximality. Okay. So there is a one important in lemma for the linear time algorithm. What we've shown is it has each face in the planarization of that embedding maximum 1-planar embedding, actually the number of vertices is constant. Actually it is at most 8. And the testing maximality is also easy. There are two different cases whether we ask -- whether we can add the red edges and also whether we could add more like a blue edges. And since the face of each the planarization is constant we can do this testing in linear time. So all together the whole algorithm reluctance in linear time. And we were solved one problem. If rotation system is given, we can test maximal 1-planarity consistent with the rotation system in linear time. So what are the open problems? We don't know the time complexity if the rotation system is not given. So if it is NP-complete or whether we could give a polynomial time algorithm, we don't know. And some second question maybe some practical questions where we give some graph and we want to construct some K-planar topologically embedding what we try to minimize the K. And maybe some heuristic would be good for in terms of practical applications. Thank you. [applause]. >>: If you would disregard maximality for a second and just you're given a rotation system and the edge coloring, would you be able to test that in polynomial time as well? >> Seok-Hee Hong: [inaudible]. >>: NP -- NP-hard. >> Seok-Hee Hong: [inaudible]. >>: [inaudible] just gives coloring it doesn't. [brief talking over]. >>: Not maximal. >> Lev Nachmansen: Any other questions? [applause]. >> Lev Nachmansen: And our final talk is Andres Ruiz-Vargas on tangles. >> Andres Ruiz-Vargas: So, hello. Well, indeed I'm going to talk to you about tangles and the [inaudible] tangles. I am from EPF Lausanne. And before -- oh, the outline of this talk is going to be, we're going to do a bit of history, how tangles came to be, which was after thrackles. Then we're going to see what results I managed to prove. And most of them I did through a main lemma. We're going to actually see the proof of the main lemma, some applications of it, and a bit about degenerate tangles. And I get the feeling that this microphone makes you sound nervous on these speakers, but I think it's the microphone. Because I heard it with other people. So a thrackle is a drawing of a graph. And the word thrackle, well, the legend says that in Scotland a fisherman sometimes said that he saw a official line tangled like this and he called it a thrackle. So this is why they call them thrackles. So it's a drawing of a graph where over pair of edges meets exactly once at a vertex or at a crossing point. And Conway's conjecture in the '60s that if you have a thrackle with N vertices then it has at most N edges. And so far this hasn't been proved. But if true, this would be tight, because every cycle with more than four vertices can be drawn as a tangle. So here we have -- that's a thrackle. Sorry. It's a typo. Here we have a thrackle of cycle with six edges. Now, after Conway's conjecture in the '60s not a lot of things happened until '98 when Lovasz, Pach and Szegedy proved that there is at motes 2N minus 3 edges in every thrackle with N vertices. And then two years later Cairns and Nikolayevsky prove it to 1.5N. And now we skip to 2011, last year, Fulek and Pach prove 1.428N. And the nice thing about this last proof if you have more computer power you can improve this bound all the way you want -- I mean, to 1 plus epsilon times N. But as epsilon gets smaller, then the amount of computer power you need to prove this is actually much bigger. So so far the conjecture is still quite open, you would say. Now, a tangle is kind of similar. It's going to be a drawing of a graph where every pair of edges meets exactly once at a vertex or at a touching point. And you ask for touching points to be different. So let me give you two examples of tangles. Here you can see -- what I mean with touching points, I mean that the edges are going to be touching at one point. Now, last year Pach, Toth and Radoicic proved that a tangle with N vertices has at most N edges. And furthermore, to complicate things a bit more, a degenerate tangle is a drawing of a graph where every pair of edges meets exactly once, again, vertex or touching points. But you ask for touching points, you don't ask for touching points to be different. So, for example, here you have all these edges touching at the same point, and that is fine. And then these other edges just doing something slightly different. But the thing is that the drawings actually change. I'm going to show new a bit a picture of something more implicated. But last year they also showed that every -- the inner tangle -- well, it's clear that it's planar because you can just plead them at the touching points and you get a planar graph. And this gives you a linear bound on the number of edges. What I manage to show that every degenerate tangle with N vertices has also at most N edges. Now, you might think that this question may be -- doesn't make -- I mean, might be very similar to the tangle. But here, for example, we have a picture this is -- if you follow the lines, there's a path of size 4 and a path of size 2 drawings of degenerate tangle and these cannot be realized as a tangle. So once you start allowing for these, what do we call degenerates, things get much more complicated. Now, I also managed to characterize tangles and the characterization is a graph can be drawn as a tangle if and only if it's a graph with at most four edges, or it can be turned into a star graph by the removal of an edge on some vertices. So what I me with a star graph is something like this. And then it might have another edge flying around. It doesn't matter where. But the point is that when you remove that edge, it becomes a star graph. Now, to prove all these things, after a lot of drawings and complications, I realized that the set of forbidden graphs that you can make a set of forbidden graphs for all tangles. And this is -- this consists of the graphs with exactly five edges and where every vertex has degree three or less. Then if a graph can contain such a graph as a subgraph, then it cannot be a tangle. Now, to prove this I make a construction which I call the semi-dual. And it's note for any tangle, but only for tangles that have degree at most three. And what we do is we fix a point for every edge. And we join every pair of points using the corresponding curves that meet at a point. So for a little example here we have some edges, maybe we don't see all that they do, but we just see this local part. And at every edge we fix the point. And we just go along the edges to join these points in a planar way. Now, the important thing is that the vertex has degree three. Why? Well, because if it has degree three or less, then you can just reroute in a local neighborhood close to the vertex the edges so that everything stays planar. But if the vertex had degree four or more, then you would not be able to do this because K4 is not ultra planar. Now, for a contradiction we -- to prove the main lemma we suppose that G is a graph with maximum degree three or less and with five edges. And what we would do is we would construct the semi-dual off this graph. And these would actually become a planar drawing of K5. And this would be a contradiction to Kuratowski's theorem. So now that we have this main lemma, if hopefully you believe me, then we can try to apply it. For example, to this theorem of Pach, Toth and Radoicic. It says a tangle with N vertices has at most N edges. And the original proof of this was looking at all the topology in different ways of drawing paths of length four or five and cycles of length four or five. I don't remember if it was four or five. And to prove this now, we're just going to consider a minimal counterexample. And if it's a minimal counterexample to a theorem, then it would have N plus 1 edges and no vertex of degree one or zero. Because if it had a vertex of degree one or zero we could remove it along with the [inaudible] edge and then we would get a smaller counterexample. So there's going to be two case scenarios then. Either G has all vertices of degree two with the exception of two vertices of degree three, or we're going to have all the vertices of degree two with the exception of one vertex of degree four. Now, for case one what we have is that there is at least five edges. Why? Because we have two vertices of degree three, then the number of vertices has to be at least six. And because we assume that there is more edges than vertices, then there is for sure at least five edges. And no vertices has degree more than three. So this would be a contradiction to the main lemma. Now, for the case 2, well, in this case, we have a vertex of degree four, which means that we have at least five vertex -- five vertices, which means that at least six edges. So we can just delete one edge with this high degree vertex. And then we get a contradiction to main lemma because, again, we have five edges and every vertex has degree three or less. So this is the end of this small proof. And we proceed on a similar way to prove that every degenerate tangle with N vertices has at most N edges. So we can see a minimal counterexample. Same thing holes. And we have two cases. Now, the important thing on degenerate tangles is that when you have a degenerate point that is a point where many edges touch, this implies a matching. Just here the matching would be those four edges. Now, in case one if we have two vertices of degree three, there are two options. They're either adjacent like in the left side or they're not adjacent, like in the right side. But in any case, if you just consider these edges, there is no matching of sides three or more. So between these edges there cannot be a degenerate point. So again we have a contradiction to the main lemma because we have at least five edges and no vertex of degree three or more. And this is -- these edges actually form a tangle. Now, in the case two, things might get slightly more complicated. Because you can have -- so first of all, you look at -- you can have a -- sorry. You have at least six edges. So you consider 6 edges, two edges from whatever you want with four edges from the high degree vertex. And you might have a degenerate point. So you can't apply the main lemma directly. But if you just delete one of the edges adjacent to the high degree vertex, then you can delete all degenerate points. Now, you have five edges, every vertex has at degree at most three is and there's a contradiction again. So the proof ends. Now there are many -- I mean, the main reason why I was trying to tackle these problems is because with these problems was introduced something called the tangled thrackle. And this is a combination of tangles and thrackles. So a tangled thrackle is a drawing of a graph where every two edges share either a vertex, a crossing point, or a touching point. Now, Pach, et al., proved that these drawings have at most CN log to the 12N edges. And differently to all that we've seen so far you can see that there are drawings with 7N divided by 6 edges. So at least we've broken the N bound because all these like thrackles are conjectured to have at most N edges. Tangles already have N edges, the inner tangle. But for this, it is not the case. And it didn't look very simple to improve this. So for this reason, I went to tangles and tried to figure them out. And hopefully in the future I'll be able to do something with this. So for now that is it. [applause]. >> Lev Nachmansen: Questions? >>: [inaudible] consider a bit strange that for the definition of thrackles to [inaudible] consider their intersection [inaudible] results if you don't have that and you're required to actually cross [inaudible]. >> Andres Ruiz-Vargas: Yeah. There are -- so far I don't know. I mean, there are degeneralized thrackles where every two edges must cross an odd number of times. But usually the convention is once they share a vertex, then you don't really want them to cross. I can't -- I can't really imagine what would happen though. Because if you have a thrackle, then by moving the vertex of it, you can just make them all cross. Right? I mean, the -- all the edges are going into a vertex. You can make them all cross there and regroup slightly further away. >>: Okay. >> Andres Ruiz-Vargas: So at least every thrackle you could make it into such a definition. I don't know if the other way around it would work. >> Lev Nachmansen: Any other questions? Okay. Let's thank our speakers again and have a break time. [applause]