Part I: Graph Drawing – an Introduction
Total Page:16
File Type:pdf, Size:1020Kb
Part I: Graph Drawing { An Introduction Alexander Wolff Lehrstuhl fur¨ Informatik I Universit¨at Wurzburg¨ Alexander Wolff · Lehrstuhl fur¨ Informatik I · Universit¨at Wurzburg¨ Part I: Graph Drawing { An Introduction Alexander Wolff Lehrstuhl fur¨ Informatik I Universit¨at Wurzburg¨ Alexander Wolff · Lehrstuhl fur¨ Informatik I · Universit¨at Wurzburg¨ Part I: Graph Drawing { An Introduction Alexander Wolff Lehrstuhl fur¨ Informatik I Universit¨at Wurzburg¨ BandyopadhyayChakrabortyGovindarajanKrishn enduMukhopadhyayaMukhopadhyayVenkateshx Alexander Wolff · Lehrstuhl fur¨ Informatik I · Universit¨at Wurzburg¨ Part I: Graph Drawing { An Introduction Alexander Wolff Lehrstuhl fur¨ Informatik I Universit¨at Wurzburg¨ BandyopadhyayChakrabortyGovindarajanKrishn enduMukhopadhyayaMukhopadhyayVenkateshx WurzburgG¨ ¨ottingenSch¨obelKarlsruheSaarbruck¨ enGoerikHoeferKaiserslauternFrankfurtM¨ohring Alexander Wolff · Lehrstuhl fur¨ Informatik I · Universit¨at Wurzburg¨ Part I: Graph Drawing { An Introduction Alexander Wolff Lehrstuhl fur¨ Informatik I Universit¨at Wurzburg¨ BandyopadhyayChakrabortyGovindarajanKrishn enduMukhopadhyayaMukhopadhyayVenkateshx WurzburgG¨ ¨ottingenSch¨obelKarlsruheSaarbruck¨ enGoerikHoeferKaiserslauternFrankfurtM¨ohring Alexander Wolff · Lehrstuhl fur¨ Informatik I · Universit¨at Wurzburg¨ Wurzburg???¨ pronounce: [Vurtsburk]¨ Alexander Wolff · Lehrstuhl fur¨ Informatik I · Universit¨at Wurzburg¨ Wurzburg???¨ pronounce: [Vurtsburk]¨ . baroque architecture! Alexander Wolff · Lehrstuhl fur¨ Informatik I · Universit¨at Wurzburg¨ Wurzburg???¨ pronounce: [Vurtsburk]¨ . good beer! . baroque architecture! Alexander Wolff · Lehrstuhl fur¨ Informatik I · Universit¨at Wurzburg¨ Wurzburg???¨ pronounce: [Vurtsburk]¨ . good beer! . Franconian wines! . baroque architecture! Alexander Wolff · Lehrstuhl fur¨ Informatik I · Universit¨at Wurzburg¨ Location Eindhoven 2011 Stiˇr´ınˇ (Prague) 1999 Karlsruhe 2006 Passau 1995 Vienna 200? Konstanz 2010 Bordeaux 2013 Alexander Wolff · Lehrstuhl fur¨ Informatik I · Universit¨at Wurzburg¨ Location Eindhoven 2011 ˇ Wurzburg¨ 2014 Stiˇr´ın (Prague) 1999 Karlsruhe 2006 Passau 1995 Vienna 200? Konstanz 2010 Bordeaux 2013 Alexander Wolff · Lehrstuhl fur¨ Informatik I · Universit¨at Wurzburg¨ Location From Frankfurt Airport: 90 min by train Eindhoven 2011 Frankfurt ˇ Wurzburg¨ 2014 Stiˇr´ın (Prague) 1999 Karlsruhe 2006 Passau 1995 Vienna 200? Konstanz 2010 Bordeaux 2013 Alexander Wolff · Lehrstuhl fur¨ Informatik I · Universit¨at Wurzburg¨ Location From Frankfurt Airport: 90 min by train From Munich Airport: Eindhoven 3 hrs by train 2011 Frankfurt ˇ Wurzburg¨ 2014 Stiˇr´ın (Prague) 1999 Karlsruhe 2006 Passau 1995 Munich Vienna 200? Konstanz 2010 Bordeaux 2013 Alexander Wolff · Lehrstuhl fur¨ Informatik I · Universit¨at Wurzburg¨ Table of Contents Reduction of Network Visualization to its algorithmic core problems Today, here: Models, problems, few algorithms, and even fewer proofs Alexander Wolff · Lehrstuhl fur¨ Informatik I · Universit¨at Wurzburg¨ Table of Contents Reduction of Network Visualization to its algorithmic core problems Today, here: Models, problems, few algorithms, and even fewer proofs Part I Introduction: Notation, “Definition", Examples Alexander Wolff · Lehrstuhl fur¨ Informatik I · Universit¨at Wurzburg¨ Graph Drawing Exciting young research direction Interesting mixture of combinatorics, geometry, algorithms International Symposium on Graph Drawing 2012: Redmond, WA, U.S.A. { 20th anniversary! 2013: Bordeaux, France 2014: Wurzburg,¨ Germany 2015: Northridge near L.A., U.S.A. 2016: Athens, Greece Dagstuhl seminars roughly every two years Bertinoro workshops every year Alexander Wolff · Lehrstuhl fur¨ Informatik I · Universit¨at Wurzburg¨ Alexander Wolff · Lehrstuhl fur¨ Informatik I · Universit¨at Wurzburg¨ Literature Alexander Wolff · Lehrstuhl fur¨ Informatik I · Universit¨at Wurzburg¨ Graph Representations What is a graph? Alexander Wolff · Lehrstuhl fur¨ Informatik I · Universit¨at Wurzburg¨ Graph Representations What is a graph? Tuple G = (V , E) Vertex set V = fv1, ::: , vng Edge set E = fe1, ::: , emg Alexander Wolff · Lehrstuhl fur¨ Informatik I · Universit¨at Wurzburg¨ Graph Representations What is a graph? Tuple G = (V , E) Vertex set V = fv1, ::: , vng Edge set E = fe1, ::: , emg Representation? Alexander Wolff · Lehrstuhl fur¨ Informatik I · Universit¨at Wurzburg¨ Graph Representations What is a graph? Tuple G = (V , E) Vertex set V = fv1, ::: , vng Edge set E = fe1, ::: , emg Representation? V = fv1, v2, v3, v4, v5, v6, v7, v8, v9, v10g Set notation E = ffv1, v2g, fv1, v8g, fv2, v3g, fv3, v5g, fv3, v9g, fv3, v10g, fv4, v5g, fv4, v6g, fv4, v9g, fv5, v8g, fv6, v8g, fv6, v9g, fv7, v8g, fv7, v9g, fv8, v10g, fv9, v10gg Alexander Wolff · Lehrstuhl fur¨ Informatik I · Universit¨at Wurzburg¨ Graph Representations What is a graph? Tuple G = (V , E) Vertex set V = fv1, ::: , vng Edge set E = fe1, ::: , emg Representation? v1 : v2, v8 v2 : v1, v3 Set notation v3 : v2, v5, v9, v10 v4 : v5, v6, v9 Adjacency lists v5 : v3, v4, v8 v6 : v4, v8, v9 v7 : v8, v9 v8 : v1, v5, v6, v7, v9, v10 v9 : v3, v4, v6, v7, v8, v10 v10 : v3, v8, v9 Alexander Wolff · Lehrstuhl fur¨ Informatik I · Universit¨at Wurzburg¨ Graph Representations What is a graph? Tuple G = (V , E) Vertex set V = fv1, ::: , vng Edge set E = fe1, ::: , emg Representation? 0 0 1 0 0 0 0 0 1 0 0 1 B 1 0 1 0 0 0 0 0 0 0 C Set notation B C B 0 1 0 0 1 0 0 0 1 1 C B C B 0 0 0 0 1 1 0 0 1 0 C Adjacency lists B C B 0 0 1 1 0 0 0 1 0 0 C B C B 0 0 0 1 0 0 0 1 1 0 C Adjacency matrix B C B 0 0 0 0 0 0 0 1 1 0 C B C B 1 0 0 0 1 1 1 0 1 1 C @ 0 0 1 1 0 1 1 1 0 1 A 0 0 1 0 0 0 0 1 1 0 Alexander Wolff · Lehrstuhl fur¨ Informatik I · Universit¨at Wurzburg¨ Graph Representations What is a graph? Tuple G = (V , E) Vertex set V = fv1, ::: , vng Edge set E = fe1, ::: , emg Representation? Set notation Adjacency lists Adjacency matrix Drawing Alexander Wolff · Lehrstuhl fur¨ Informatik I · Universit¨at Wurzburg¨ Graph Representations What is a graph? Tuple G = (V , E) Vertex set V = fv1, ::: , vng Edge set E = fe1, ::: , emg Representation? Set notation Adjacency lists Adjacency matrix Drawing Alexander Wolff · Lehrstuhl fur¨ Informatik I · Universit¨at Wurzburg¨ Graph Representations v : v , v V = fv1, v2, v3, v4, v5, v6, v7, v8, v9, v10g 1 2 8 E = ffv , v g, fv , v g, fv , v g, fv , v g, fv , v g, v2 : v1, v3 1 2 1 8 2 3 3 5 3 9 v : v , v , v , v fv3, v10g, fv4, v5g, fv4, v6g, fv4, v9g, fv5, v8g, 3 2 5 9 10 fv , v g, fv , v g, fv , v g, fv , v g, fv , v g, v4 : v5, v6, v9 6 8 6 9 7 8 7 9 8 10 v : v , v , v fv9, v10gg 5 3 4 8 v6 : v4, v8, v9 v7 : v8, v9 v8 : v1, v5, v6, v7, v9, v10 v9 : v3, v4, v6, v7, v8, v10 v10 : v3, v8, v9 0 0 1 0 0 0 0 0 1 0 0 1 B 1 0 1 0 0 0 0 0 0 0 C B C B 0 1 0 0 1 0 0 0 1 1 C B C B 0 0 0 0 1 1 0 0 1 0 C B C B 0 0 1 1 0 0 0 1 0 0 C B C B 0 0 0 1 0 0 0 1 1 0 C B C B 0 0 0 0 0 0 0 1 1 0 C B C B 1 0 0 0 1 1 1 0 1 1 C @ 0 0 1 1 0 1 1 1 0 1 A 0 0 1 0 0 0 0 1 1 0 Alexander Wolff · Lehrstuhl fur¨ Informatik I · Universit¨at Wurzburg¨ Why Drawing Graphs? Graphs are mathematical representations of networks. Networks occur in real life in a wide variety of places: Abstract Networks Physical Networks social n. traffic n. communication n. street n. phylogenetic n. supply n. regulatory n. computer n. metabolic n. integrated circuits class diagrams (UML) ::: ::: Alexander Wolff · Lehrstuhl fur¨ Informatik I · Universit¨at Wurzburg¨ Why Drawing Graphs? Graphs are mathematical representations of networks. Networks occur in real life in a wide variety of places: Without suitable visualization we (as humans) can hardly understand networks. Alexander Wolff · Lehrstuhl fur¨ Informatik I · Universit¨at Wurzburg¨ Why Drawing Graphs? Graphs are mathematical representations of networks. Networks occur in real life in a wide variety of places: Without suitable visualization we (as humans) can hardly understand networks. Visualization needed for { communicating known networks { exploring new networks Alexander Wolff · Lehrstuhl fur¨ Informatik I · Universit¨at Wurzburg¨ Why Drawing Graphs? Graphs are mathematical representations of networks. Networks occur in real life in a wide variety of places: Without suitable visualization we (as humans) can hardly understand networks. Visualization needed for { communicating known networks { exploring new networks GD is about designing algorithms that draw graphs| as \nicely" as possible Alexander Wolff · Lehrstuhl fur¨ Informatik I · Universit¨at Wurzburg¨ Examples A Small Slide SHow Alexander Wolff · Lehrstuhl fur¨ Informatik I · Universit¨at Wurzburg¨ Traffic Networks { US American Highway System Alexander Wolff · Lehrstuhl fur¨ Informatik I · Universit¨at Wurzburg¨ Traffic Networks { Continental Airline Flights Alexander Wolff · Lehrstuhl fur¨ Informatik I · Universit¨at Wurzburg¨ Traffic Networks { The London Tube Alexander Wolff · Lehrstuhl fur¨ Informatik I · Universit¨at Wurzburg¨ Traffic Networks { The London Tube Alexander Wolff · Lehrstuhl fur¨ Informatik I · Universit¨at Wurzburg¨ Traffic Networks { The London Tube Alexander Wolff · Lehrstuhl fur¨ Informatik I · Universit¨at Wurzburg¨ Social Networks { Barrapunto Alexander Wolff · Lehrstuhl fur¨ Informatik I · Universit¨at Wurzburg¨ Soziale Netze { Terrorist Cell Alexander Wolff · Lehrstuhl fur¨ Informatik I · Universit¨at Wurzburg¨ Soziale Netze { Shareholding of German Companies Alexander Wolff · Lehrstuhl fur¨ Informatik I · Universit¨at Wurzburg¨ Social Networks { Souvereign Wealth Fund Deals Alexander Wolff · Lehrstuhl fur¨ Informatik I · Universit¨at