No Slide Title

Total Page:16

File Type:pdf, Size:1020Kb

No Slide Title The ILP approach to the layered graph drawing Ago Kuusik Veskisilla Teooriapäevad 1-3.10.2004 1 Outline Introduction Hierarchical drawing & Sugiyama algorithm Linear Programming (LP) and Integer Linear Programming (ILP) Multi-level crossing minimisation ILP Maximum level planar subgraph ILP 2 Graphs Set of vertices V (real world: entities) Set of edges E ::= pairs of vertices (real world: relations) Directed graph: E ::= set of ordered pairs of vertices 3 Graph drawing Started to grow in 1960s, aim – software understanding Now, used in number of areas, for example – Software engineering (call graphs, class diagrams, database schemas) – Social studies (relationship diagrams) – Chemistry (molecular structures) 4 Graph drawing Definition: Given a graph G=(V, E), represent the graph on a plane: – Vertices – closed shapes – Edges – Jordan curves between vertex shapes (Jordan curve = a closed curve that does not intersect itself) 5 Aesthetic criteria General Application-specific – Min. number of edge – Specific vertex crossings shapes (E-R – Uniform edge diagram) direction (directed – Specific vertex graph) locations (class – Min. number of edge hierarchy) bends – Min. area 6 Hierachical drawing Given: a directed acyclic graph (A cyclic graph can be converted acyclic by reversing some edges; minimum feedback arc set is NP hard) Objective: – Uniform edge direction – Min. Number of edge crossings 7 Sugiyama algorithm Published by Sugiyama, Tagawa, Toda 1981 Vertices are placed on discrete layers Edges have uniform direction Edges connect vertices of adjacent layers Reduced edge crossings Overall balance of vertex locations 8 0. random layout 1. layering 2. sorting on layers 3. final positioning 9 1. Layering Assign vertices to discrete layers so that the edges point to common direction – Longest path layering, shortest path layering: simple DFS algorithms – Coffman-Graham layering – constrains the width of the drawing – ILP approaches (Nikolov, 2002) 10 Proper and non-proper layering Proper Non-Proper Dummy vertex 11 2. Sorting of vertices on layers A combinatorial problem of re-ordering a set instead of a geometric placement problem Objective: min. edge crossings NP-hard even for 2 layers (Eades et al, 1986) Heuristics: barycenter, median, stochastic ILP approach 12 3. Positioning of vertices Objective: balanced positioning, reduction of edge bends Algorithms: – Linear Programming method (Sugiyama et al., 1981) – Pendulum heuristic (Sander, 1995) 13 Our improvement to Sugiyama algorithm We aim to improve the 2nd step: reordering of vertices: – Find the optimal solution or a solution with guaranteed quality – Optimise accross all layers – Consider visualising the maximum level planar subgraph as an alternative to crossing minimisation 14 Min. crossings vs max. planar subgraph Max. planar subgraph Min. crossings 15 ILP - motivation Possible to get the optimum result faster than by complete enumeration Known precision of the solution, if a terminated run Applications where quality is important (like publishing) Generation of comparative results for proving heuristics Study of the problem from a different angle 16 ILP vs other approaches time Complete enumeration ILP heuristics quality 17 Linear program - Example A chemical factory has a line with 3 machines: Unit price x 100 EEK/t A B C 1 x2 200 EEK/t x : 4t/day x : 6t/day x1: 16t/day 1 1 x : 6t/day x : 6t/day x2: 4t/day 2 2 Max. daily capacity (exclusively) Find the daily amounts (x1 and x2) of products so that the total price is maximal. 18 Linear program - formulation x2 + max(100x1 200x2) 1 1 subject to: x + x ≤1 16 1 4 2 1 1 4 + ≤ 1 + 1 ≤ (A) x1 x2 1 x1 x2 1 16 4 3 6 6 1 1 100x + 200x (B) x + x ≤ 1 1 2 1 2 2 = = 4 16 x1 3.33; x2 2.67 1 1 + ≤ 1 1 1 (C) x1 x2 1 x + x ≤1 6 6 4 1 16 2 ≥ x1 ,x2 0 1 2 3 4 x1 19 LP solution methods Simplex method (Dantzig 1947) – basically a greedy search along the vertices of the polytope determined by constraints – polynomially unbounded – works well in practice Ellipsoid (Khachyan 1979) and interior point (Karmarkar 1984) methods – polynomially bounded 20 Integer Linear program - Example A car factory has a line with 3 machines: Piece price x 100 kEEK A B C 1 x2 200 kEEK x : 4p/day x : 6p/day x1: 16p/day 1 1 x : 6p/day x : 6p/day x2: 4p/day 2 2 Max. daily capacity (exclusively) How many (x1 and x2) of the different car models must be manufactured so that the total price will be maximal. 21 Integer linear program - formulation x + 2 max(100x1 200x2) subject to: 1 1 x + x ≤1 1 1 16 1 4 2 (A) x + x ≤1 4 1 2 1 1 16 4 x + x ≤ 1 6 1 6 2 1 1 3 (B) x + x ≤ 1 + 1 2 100x1 200x2 4 16 2 1 1 (C) x + x ≤ 1 1 2 1 1 + 1 ≤ 6 6 x1 x2 1 ≥ 4 16 x1 ,x2 0 1 2 3 4 x x1 ,x2 integral 1 22 ILP algorithms When the solution of a LP-relaxation is – Integral – we have found the optimal solution – Fractional – need to define a more constrained problem 23 Branch-and-bound algorithm Solve the initial LP, let LB = cx Select a fractional variable xi=ti and create two subproblems: ≤ ≤ ≤ ≥ min { cx | Ax b, xi ti } min { cx | Ax b, xi ti } • For each subproblem, SOLVE, if • cx > LB don’t explore this branch • cx < LB • Non-integral x: REPEAT with some xj • Integral x: • LB = cx, if no more unexplored subproblems optimal solution • x is infeasible don’t explore this branch 24 Branch-and-bound 25 The lower and upper bounds Consider a minimisation problem: cx The upper bound = min(cx) over the integral solutions so far The lower bound = max(cx) over the not yet branched non-integral solutions time 26 Cutting plane algorithm Do 1. Solve the LP-relaxation 2. If x is not integral 1. Add a constraint to LP-relaxation that separates x from the polytope While x not integral 27 Cutting plane 28 Branch and Cut Based on branch-and bound algorithm Each time a subproblem results in a non-integer solution x, try to find a cutting plane separating x from the polytope Use only binding constraints for a subproblem 29 Polyhedral combinatorics Binary vector: x The set of all valid binary vectors: S Weights vector: c General combinatorial optimisation problem: min { cx subject to x ∈ S} Replace it with a linear optimisation problem: min { cx subject to Ax ≤ b} S = P ∩ Zn , P = { x ∈ Rn : Ax ≤ b} 30 Polyhedral combinatorics How to define Ax≤b? This an art! The best inequalities are those that define a facet of the polytope. A facet-defining inequality holds as an equality for |x| linearly independent solutions. 31 How to derive an ILP formulation? Derive from the ILP formulation of some similar problem, e.g.: – Multi-level crossing minimisation linear ordering – Maximum level planar subgraph maximum planar subgraph Analyse smaller problem instances by software. http://www.informatik.uni-heidelberg.de/groups/comopt/software/PORTA/ (PORTA derives from all enumerated solutions the facets of the polytope supported by these solutions) 32 Multi-Level Crossing Minimisation ILP p −1 Minimise r ∑ ∑ cijkl r =1 (i , j )(k ,l )∈Er −cr ≤ xr +1 − xr ≤ cr (i, j),(k,l)∈ E , j < l Subject to ijkl jl ik ijkl r − r ≤ r +1 + r ≤ + r ∈ < 1 cijkl xlj xik 1 cijkl (i, j),(k,l) Er, j l ≤ r + r − r ≤ < < 0 xij xjk xik 1 i j k r r ∈ { } xij ,cijkl 0,1 i k i k xr r r ik i j k r r+1 r+1 r r j l j l xij x jk 33 The vertex-exchange graph −cr ≤ xr +1 − xr ≤ cr Consider the crossing ijkl jl ik ijkl − r ≤ r +1 + r ≤ + r constraints: 1 cijkl xlj xik 1 cijkl They establish relationships If cr = 0: between linear ordering variables. ijkl r +1 = r x jl xik Objects & relationships Graph r +1 = − r xlj 1 xik - + a b de ab ce + + + - + c d e gh cd fh + f g h fg 34 Level planarity testing 1 0 0 - + a b de ab ce + + + - + c e d gh cd fh 1 + 0 0 f h g fg 0 a b + de ab + - c d e + fg cd + f g ce 35 Benefits of V-E graph O(|V|2) level planarity testing algorithm (|E| < 2|V| - 4) O(|V|3) layout algorithm for level planar graph V-E graph odd/labelled cycle inequalities to crossing minimisation ILP: ∑ cr ≥ 1, C - an odd-labelled fundamental cycle in V-E graph ijkl c r ∈C ijkl 36 Example (random layout) 96 vertices, 110 edges 37 Example (Sugiyama layout) 98 crossings 38 Example (ILP layout) 31 crossings 88s on 300MHz DEC AlphaStation 39 Example (Gansner et al., ‘93) 41 crossings 40 Example (ILP) 38 crossings, 143s 41 Independence system A set E; I is a set of subsets of E, ⊆ ⊆ ∈ ∈ F1 F2 E and F2 I F1 I (E,I) is an independence system If C ⊆ E, C ∉ I and for every F ⊂ C, F ∈ I C is a circuit Determine the maximum weighted member of I: max cT x subject to: + + + = − = ai1x1 ai2 x2 ... ai| E| x| E| | Ci | 1, i 1,2...,| | 0, e ∉C a = j i ij ∈ 42 1, e j Ci Maximum level planar subgraph ILP Independent sets – level planar subgraphs Circuits –minimal level non-planar subgraphs Given a level graph G=(V,E): ∈ 1, e E p Maximise ∑ xe E ⊂ E, e∈ E, x = p e ∉ 0, e E p ≤ − Subject to: ∑ xe S 1 S is a MLNP subgraph e∈S 43 MLNP subgraphs - trees 44 MLNP subgraphs – LNP cycles 45 MLNP subgraphs – LP cycles + paths 46 Separation algorithm 47 Using odd-labelled cycles of V-E graph Use the edges of the original graph that induced an odd-labelled cycles in the vertex-exchange graph 48 Primal heuristic - is executed each time a subproblem is solved.
Recommended publications
  • The Graph Crossing Number and Its Variants: a Survey
    The Graph Crossing Number and its Variants: A Survey Marcus Schaefer School of Computing DePaul University Chicago, Illinois 60604, USA [email protected] Submitted: Dec 20, 2011; Accepted: Apr 4, 2013; Published: April 17, 2013 Third edition, Dec 22, 2017 Mathematics Subject Classifications: 05C62, 68R10 Abstract The crossing number is a popular tool in graph drawing and visualization, but there is not really just one crossing number; there is a large family of crossing number notions of which the crossing number is the best known. We survey the rich variety of crossing number variants that have been introduced in the literature for purposes that range from studying the theoretical underpinnings of the crossing number to crossing minimization for visualization problems. 1 So, Which Crossing Number is it? The crossing number, cr(G), of a graph G is the smallest number of crossings required in any drawing of G. Or is it? According to a popular introductory textbook on combi- natorics [460, page 40] the crossing number of a graph is “the minimum number of pairs of crossing edges in a depiction of G”. So, which one is it? Is there even a difference? To start with the second question, the easy answer is: yes, obviously there is a differ- ence, the difference between counting all crossings and counting pairs of edges that cross. But maybe these different ways of counting don’t make a difference and always come out the same? That is a harder question to answer. Pach and Tóth in their paper “Which Crossing Number is it Anyway?” [369] coined the term pair crossing number, pcr, for the crossing number in the second definition.
    [Show full text]
  • On Layered Drawings of Planar Graphs
    On Layered Drawings of Planar Graphs Bachelor Thesis of Sarah Lutteropp At the Department of Informatics Institute of Theoretical Computer Science Reviewers: Prof. Dr. Maria Axenovich Prof. Dr. Dorothea Wagner Advisors: Dipl.-Inform. Thomas Bläsius Dr. Tamara Mchedlidze Dr. Torsten Ueckerdt Time Period: 28th January 2014 – 28th May 2014 KIT – University of the State of Baden-Wuerttemberg and National Laboratory of the Helmholtz Association www.kit.edu Acknowledgements I would like to thank my advisors Thomas Bläsius, Dr. Tamara Mchedlidze and Dr. Torsten Ueckerdt for their great support in form of many hours of discussion, useful ideas and extensive commenting on iterative versions. It was not trivial to find a topic and place for a combined mathematics and computer science thesis and I am grateful to Prof. Dr. Dorothea Wagner, who allowed me to write my thesis at her institute. I would also like to thank Prof. Dr. Dorothea Wagner and Prof. Dr. Maria Axenovich for grading my thesis. Last but not least, I would like to thank all my proofreaders (supervisors included) for giving last-minute comments on my thesis. Statement of Authorship I hereby declare that this document has been composed by myself and describes my own work, unless otherwise acknowledged in the text. Karlsruhe, 28th May 2014 iii Abstract A graph is k-level planar if it admits a planar drawing in which each vertex is mapped to one of k horizontal parallel lines and the edges are drawn as non-crossing y-monotone line segments between these lines. It is not known whether the decision problem of a graph being k-level planar is solvable in polynomial time complexity (in P) or not.
    [Show full text]
  • Automatic Graph Drawing with Clusters
    DEGREE PROJECT IN COMPUTER SCIENCE 120 CREDITS, SECOND CYCLE STOCKHOLM, SWEDEN 2015 CluStic - Automatic graph drawing with clusters VILLIAM ASPEGREN KTH ROYAL INSTITUTE OF TECHNOLOGY SCHOOL OF COMPUTER SCIENCE AND COMMUNICATION Master of Science Thesis CSC CluStic – Automatic graph drawing with clusters CluStic – Automatisk grafritning med avseende på kluster Villiam Aspegren Approved Examiner Supervisor 2015-12-12 Johan Håstad Michael Minock Commissioner Contact person Decerno Sven Norman Master of Science Thesis CSC KTH Computer Science SE-100 44 STOCKHOLM Abstract Finding a visually pleasing layout from a set of vertices and edges is the goal of automatic graph drawing. A requirement that has been barely explored however, is that users would like to specify portions of their layouts that are not altered by such algorithms. For example the user may have put a lot of manual effort into fixing a portion of a large layout and, while they would like an automatic layout applied to most of the layout, they do not want their work undone on the portion they manually fixed earlier. CluStic, the system developed and evaluated in this thesis, provides this capability. CluStic maintain the internal structure of a cluster by giving it priority over other elements in the graph. After high priority element has been positioned, non-priority vertices may be placed at the most appropriate remaining positions. Furthermore CluStic produces layouts which also maintain common aesthetic criteria: edge crossing minimization, layout height and edge straightening. Our method in this thesis is to first conduct an initial exploration study where we cross compare four industrial tools: Cytogate, GraphDraw, Diagram.Net and GraphNet.
    [Show full text]
  • A Generalization of the Directed Graph Layering Problem
    A Generalization of the Directed Graph Layering Problem Ulf R¨uegg1, Thorsten Ehlers1, Miro Sp¨onemann2, and Reinhard von Hanxleden1 1 Dept. of Computer Science, Kiel University, Kiel, Germany furu,the,[email protected] 2 TypeFox GmbH, Kiel, Germany [email protected] Abstract. The Directed Layering Problem (DLP) solves a step of the widely used layer-based approach to automatically draw directed acyclic graphs. To cater for cyclic graphs, usually a preprocessing step is used that solves the Feedback Arc Set Problem (FASP) to make the graph acyclic before a layering is determined. Here we present the Generalized Layering Problem (GLP), which solves the combination of DLP and FASP simultaneously, allowing general graphs as input. We present an integer programming model and a heuris- tic to solve the NP-complete GLP and perform thorough evaluations on different sets of graphs and with different implementations for the steps of the layer-based approach. We observe that GLP reduces the number of dummy nodes significantly, can produce more compact drawings, and improves on graphs where DLP yields poor aspect ratios. Keywords: layer-based layout, layer assignment, linear arrangement, feedback arc set, integer programming 1 Introduction The layer-based approach is a well-established and widely used method to au- tomatically draw directed graphs. It is based on the idea to assign nodes to subsequent layers that show the inherent direction of the graph, see Fig. 1a for an example. The approach was introduced by Sugiyama et al. [19] and remains arXiv:1608.07809v1 [cs.OH] 28 Aug 2016 a subject of ongoing research.
    [Show full text]
  • Arxiv:1506.09145V2 [Math.CO] 18 Oct 2018 [email protected]
    Track Layouts, Layered Path Decompositions, and Leveled Planarity∗ Michael J. Bannister§ William E. Devanny¶ Vida Dujmovi´c† David Eppstein¶ David R. Wood‡ Abstract. We investigate two types of graph layouts, track layouts and layered path decompositions, and the relations between their associated parameters track-number and layered pathwidth. We use these two types of layouts to characterize leveled planar graphs, which are the graphs with planar leveled drawings with no dummy vertices. It follows from the known NP-completeness of leveled planarity that track-number and layered pathwidth are also NP-complete, even for the smallest constant parameter values that make these parameters nontrivial. We prove that the graphs with bounded layered pathwidth include outerplanar graphs, Halin graphs, and squaregraphs, but that (despite having bounded track-number) series-parallel graphs do not have bounded layered pathwidth. Finally, we investigate the parameterized complexity of these layouts, showing that past methods used for book layouts do not work to parameterize the problem by treewidth or almost-tree number but that the problem is (non- uniformly) fixed-parameter tractable for tree-depth. Keywords. track layouts, layered path decompositions, track-number, layered pathwidth, leveled planar graphs, outerplanar graphs, Halin graphs, square- graphs, unit disc graphs, parameterized complexity, treewidth, almost-tree number, tree-depth. October 19, 2018 ∗ A preliminary version of this paper entitled “Track Layout is Hard” was published in Proc. of 24th International Symp. on Graph Drawing and Network Visualization (GD ’16), Lecture Notes in Computer Science 9801:499–510, Springer, 2016. § Department of Mathematics and Computer Science, Santa Clara University, California, USA, arXiv:1506.09145v2 [math.CO] 18 Oct 2018 [email protected].
    [Show full text]
  • Cubic Planar Graphs That Cannot Be Drawn on Few Lines David Eppstein Computer Science Department, University of California, Irvine, USA [email protected]
    Cubic Planar Graphs That Cannot Be Drawn On Few Lines David Eppstein Computer Science Department, University of California, Irvine, USA [email protected] Abstract For every integer `, we construct a cubic 3-vertex-connected planar bipartite graph G with O(`3) vertices such that there is no planar straight-line drawing of G whose vertices all lie on ` lines. This strengthens previous results on graphs that cannot be drawn on few lines, which constructed significantly larger maximal planar graphs. We also find apex-trees and cubic bipartite series-parallel graphs that cannot be drawn on a bounded number of lines. 2012 ACM Subject Classification Theory of computation → Computational geometry; Human- centered computing → Graph drawings Keywords and phrases graph drawing, universal point sets, collinearity Digital Object Identifier 10.4230/LIPIcs.SoCG.2019.32 Funding David Eppstein: Supported in part by NSF grants CCF-1618301 and CCF-1616248. 1 Introduction A number of works in graph drawing and network visualization have considered drawing graphs with line segments as edges and with the vertices placed on few lines, or on a minimal number of lines. Even very strong constraints, such as restricting the vertices of a drawing to only two lines, allow many graphs to be drawn [16]: every weakly leveled graph drawing (a planar drawing on any number of parallel lines with every edge connecting two vertices on the same or adjacent lines) can be converted into a drawing on two crossing lines that spirals around the crossing. This conversion allows, for instance, all trees, all outerplanar graphs, all Halin graphs, all squaregraphs (graphs in which all bounded faces have exactly four sides and all vertices not on the unbounded face have at least four neighbors) and all grid graphs (Figure 1) to be drawn on two lines [1, 2,15].
    [Show full text]
  • The Graph Crossing Number and Its Variants: a Survey
    The Graph Crossing Number and its Variants: A Survey Marcus Schaefer School of Computing DePaul University Chicago, Illinois 60604, USA [email protected] Submitted: Dec 20, 2011; Accepted: Apr 4, 2013; Published: Apr 17, 2013 Revised: May 15, 2014 Mathematics Subject Classifications: 05C62, 68R10 Abstract The crossing number is a popular tool in graph drawing and visualization, but there is not really just one crossing number; there is a large family of crossing number notions of which the crossing number is the best known. We survey the rich variety of crossing number variants that have been introduced in the literature for purposes that range from studying the theoretical underpinnings of the crossing number to crossing minimization for visualization problems. 1 So, Which Crossing Number is it? The crossing number, cr(G), of a graph G is the smallest number of crossings required in any drawing of G. Or is it? According to a popular introductory textbook on combi- natorics [382, page 40] the crossing number of a graph is “the minimum number of pairs of crossing edges in a depiction of G”. So, which one is it? Is there even a difference? To start with the second question, the easy answer is: yes, obviously there is a differ- ence, the difference between counting all crossings and counting pairs of edges that cross. But maybe these different ways of counting don’t make a difference and always come out the same? That is a harder question to answer. Pach and Tóth in their paper “Which Crossing Number is it Anyway?” [295] coined the term pair crossing number, pcr, for the crossing number in the second definition.
    [Show full text]
  • Drawing Layered Graphs with Port Constraints
    Drawing Layered Graphs with Port Constraints Christoph Daniel Schulze∗, Miro Sp¨onemann, Reinhard von Hanxleden Department of Computer Science, Christian-Albrechts-Universit¨atzu Kiel, Olshausenstr. 40, 24098 Kiel, Germany Abstract Complex software systems are often modeled using data flow diagrams, in which nodes are connected to each other through dedicated connection points called ports. The influence a layout algorithm has on the placement of ports is deter- mined by port constraints defined on the corresponding node. In this paper we present approaches for integrating port constraints into the layer-based approach to graph drawing pioneered by Sugiyama et al. We show how our layout algorithm, called KLay Layered, progresses from relaxed to more restricted port constraint levels as it executes, and how established algorithms for crossing minimization and edge routing can be extended to support port constraints. Compared to the previous layout algorithms supporting ports, our algorithm produces fewer edge crossings and bends and yields pleasing results. We also explain and evaluate how layout algorithms can be kept simple by using the concept of intermediate processors to structure them in a modular way. A case study integrating our layout algorithm into UC Berkeley's Ptolemy tool illustrates how KLay Layered can be integrated into Java-based applications. Keywords: graph drawing, crossing minimization, port constraints, layered graphs, data flow diagrams 1. Introduction With up to ten million lines of code, software-based functions account for 50{ 70% of the effort in the development of automotive electronic control units [3]. To keep up with the growing complexity and tightening time-to-market require- ments, embedded software domains such as the automotive, rail, or aerospace in- dustries increasingly take advantage of graphical model-based development tools that follow the actor-oriented approach [19] such as Simulink (The MathWorks), SCADE (Esterel Technologies), ASCET (ETAS), or Ptolemy (UC Berkeley).
    [Show full text]
  • Fast Local Search Algorithm for Weighted Feedback Arc Set in Tournaments
    Proceedings of the Twenty-Fourth AAAI Conference on Artificial Intelligence (AAAI-10) Fast Local Search Algorithm for Weighted Feedback Arc Set in Tournaments Fedor V. Fomin and Daniel Lokshtanov Venkatesh Raman and Saket Saurabh Department of Informatics, The Institute of Mathematical Sciences, University of Bergen, Norway. Chennai, India. {fedor.fomin|daniello}@ii.uib.no {vraman|saket}@imsc.res.in Abstract search algorithms: “Look at all solutions in the neighbor- hood of the current solution ...”) that finding an improved We present a fast local search algorithm that finds an solution in a k-exchange neighborhood, necessarily requires improved solution (if there is any) in the k-exchange brute-force search of the neighborhood; therefore, verify- neighborhood of the given solution to an instance of k nk WEIGHTED FEEDBACK ARC SET IN TOURNAMENTS. ing -optimality requires Ω( ) time (see, e.g. (Aarts and More precisely, given an arc weighted tournament T on Lenstra 1997) p. 339 or (Kleinberg and Tardos 2005) p. 680). n vertices and a feedback arc set F (a set of arcs whose Surprisingly, in some cases the k-exchange neighbor- deletion from T turns it into a directed acyclic graph), o(k) hood can be searched significantly faster. In particular, on our algorithm decides in time O(2 n log n) if there sparse structures like planar graphs or graphs not contain- is a feedback arc set of smaller weight and that differs ing some fixed graph as a minor, finding a k-local improve- from F in at most k arcs. To our knowledge this is the ment for many natural problems including VERTEX COVER, first algorithm searching the k-exchange neighborhood ODD CYCLE TRANSVERSAL,DOMINATING SET, and r- of an NP-complete problem that runs in (parameterized) c CENTRE can be done in time f(k) · n , where c is a fixed subexponential time.
    [Show full text]
  • Orthogonal Graph Drawing with Constraints: Algorithms and Applications
    Orthogonal Graph Drawing with Constraints: Algorithms and Applications Dissertation der Fakult¨at fur¨ Informations- und Kognitionswissenschaften der Eberhard-Karls-Universit¨at Tubingen¨ zur Erlangung des Grades eines Doktors der Naturwissenschaften (Dr. rer. nat.) vorgelegt von Dipl.-Inform. Martin Siebenhaller aus Meersburg Tubingen¨ 2009 Tag der mundlichen¨ Qualifikation: 16.12.2009 Dekan: Prof. Dr.-Ing. Oliver Kohlbacher 1. Berichterstatter: Prof. Dr. Michael Kaufmann 2. Berichterstatter: Prof. Dr. Wolfgang Kuchlin¨ Acknowledgments Writing this thesis would not have been possible without the great support of various people. First of all I want to thank my advisor Prof. Dr. Michael Kaufmann for all his support, for introducing me to the interesting field of graph drawing, for giving me the opportunity to be part of his research group and for providing me the possibility to attend several international work- shops and conferences. I am also very grateful to Dr. Markus Eiglsperger for guiding me through my first steps of designing and implementing graph drawing algorithms. I would like to thank the Deutsche Forschungsgemein- schaft (DFG) for financial support of our research under grant Ka 812/8-3 and the yWorks company for providing both the yFiles library and their technical support. Further, I want to thank all my co-authors for the suc- cessful cooperation as well as the rest of the research group, namely Philip Effinger, Andreas Gerasch, Markus Geyer, Stephan Kottler and Dr. Katha- rina Zweig, for providing a pleasant working environment and for relaxing coffee breaks. Special thanks also to the proofreaders Marc B´egin, Philip Effinger, Stephan Kottler and Thomas Wurst.
    [Show full text]
  • Visualisation of State Machines Using the Sugiyama Framework Master of Science Thesis in Computer Science
    Visualisation of state machines using the Sugiyama framework Master of Science Thesis in Computer Science VIKTOR MAZETTI HANNES SÖRENSSON Chalmers University of Technology University of Gothenburg Department of Computer Science and Engineering Göteborg, Sweden, June 2012 The Author grants to Chalmers University of Technology and University of Gothenburg the non-exclusive right to publish the Work electronically and in a non-commercial purpose make it accessible on the Internet. The Author warrants that he/she is the author to the Work, and warrants that the Work does not contain text, pictures or other material that violates copyright law. The Author shall, when transferring the rights of the Work to a third party (for example a publisher or a company), acknowledge the third party about this agreement. If the Author has signed a copyright agreement with a third party regarding the Work, the Author warrants hereby that he/she has obtained any necessary permission from this third party to let Chalmers University of Technology and University of Gothenburg store the Work electronically and make it accessible on the Internet. Visualisation of state machines using the Sugiyama framework VIKTOR MAZETTI HANNES SÖRENSSON © VIKTOR MAZETTI, June 2012. © HANNES SÖRENSSON, June 2012. Examiner: Peter Damaschke Chalmers University of Technology University of Gothenburg Department of Computer Science and Engineering SE-412 96 Göteborg Sweden Telephone + 46 (0)31-772 1000 Cover: A layered graph where the vertices spell “Kozo Sugiyama Framework”. Department of Computer Science and Engineering Göteborg, Sweden June 2012 Abstract In this thesis a tool was developed to help Ericsson visualise state machines.
    [Show full text]
  • Configurable Graph Drawing Algorithms for the Tikz Graphics Description Language
    Diplomarbeit Configurable Graph Drawing Algorithms for the TikZ Graphics Description Language Jannis Pohlmann 14. Oktober 2011 Institut für Theoretische Informatik Prof. Dr. Till Tantau Erklärung Hiermit erkläre ich, dass ich die vorliegende Diplomarbeit selbständig und ausschließlich unter Verwendung der angegebenen Quellen und Hilfsmittel verfasst habe. Zudem versichere ich, dass ich weder diese noch inhaltlich verwandte Arbeiten als Prüfungsleis- tung in anderen Fächern eingereicht habe oder einreichen werde. Lübeck, den 14. Oktober 2011 Abstract Graphs are key to illustrating and understanding many complex systems and processes. This thesis provides an introduction to the graph drawing features of TikZ, a versatile language for creating a wide range of vector graphics that includes a framework for automatic graph layout strategies written in the Lua programming language. Algorithms for two families of drawing methods—spring and spring-electrical layouts of general graphs as well as layered drawings of directed graphs—were developed specifically for TikZ. They are presented along with a discus- sion of their underlying concepts, implementation details, and options to select, configure, and extend them. The generated spring and spring-electrical layouts feature a high degree of sym- metry, evenly distributed nodes and almost uniform edge lengths. The techniques developed for layered drawings are successful in highlighting the flow of directed graphs and producing layouts with uniform edge lengths and few crossings. By discussing many
    [Show full text]