How to Draw a Graph … Revisited
Peter Eades University of Sydney W. T. Tutte 1917 - 2002 – Code breaker at Bletchley park – Pioneer of matroid theory – Pioneer of graph theory – Inventor of the first graph drawing algorithm • His 1963 paper “How to Draw a Graph”* has inspired much research
This talk is about two strands of Graph Drawing research that followed Tutte’s work
*William T. Tutte. “How to draw a graph.” Proc. London Math. Society, 13(52):743 -768, 1963. This talk
1. Background a) Graphs b) Graph drawings c) Connectivity d) Planar graphs e) Topological embedding f) Good graph drawings
2. How to draw a graph? a) Before Tutte: 1920s – 1950s b) Tutte: 1960s c) After Tutte: 1970s – 1990s d) Recent work (a) Graphs A graph consists of • Nodes, and • Binary relationships called “edges” between the nodes
Example: a “Linked-In” style social network Nodes: • Alice, Andrea, Annie, Amelia, Bob, Brian, Bernard, Boyle
Edges • Bob is connected to Alice • Boyle is connected to Alice • Bob is connected to Andrea • Boyle is connected to Andrea • Bob is connected to Amelia • Boyle is connected to Annie • Brian is connected to Alice • Bernard is connected to Alice • Brian is connected to Andrea • Bernard is connected to Andrea • Brian is connected to Amelia • Bernard is connected to Annie (b) Graph drawing A graph consists of • Nodes, and Graph • Edges
A graph drawing is a picture of a graph. That is, a graph drawing is a mapping that assigns • a location for each node, and
Graph Drawing • a curve to each edge. A drawing of the social network Brian A social network • Bob, Brian,Bernard,Boyle, Bob, Alice, Andrea, Annie, Amelia • Nodes: • Brian isconnected to Brian Amelia • isconnected to Brian Andrea • isconnectedto Brian Alice • isconnected to Bob Amelia • isconnected to Bob Andrea • isconnectedto Bob Alice • Edges Amelia Bob Andrea Alice Bernard • Bernard isconnected to Bernard Annie • isconnected to Bernard Andrea • isconnectedto Bernard Alice • isconnectedto Boyle Annie • isconnectedto Boyle Andrea • isconnected to Boyle Alice • Annie Boyle Nodes 0, 1, 2, 3, 4, 5, 6, 7 Edges
0 – 1 2 0 – 4 1 – 2 5 1 – 4 1 – 7 0 2 – 3 2 – 4 4 6 2 – 5 3 – 4 3 4 – 5 7 4 – 7 5 – 6 1 5 – 7 6 – 7 A drawing of the graph
A graph A graph drawing is a straight-line drawing if every edge is a straight line segment.
A straight-line drawing Alice
Brian Amelia Bob Bernard Annie Boyle
Andrea
NOT a straight-line 2 drawing 0 5
4 6 3 7
1 (c) Connectivity Connectivity notions are fundamental in any study of graphs or networks
• A graph is connected if for every pair u, v of vertices, there is a path between u and v.
• A graph is k-connected if there is no set of (k-1) vertices whose deletion disconnects the graph.
k = 1: “1-connected” ≡ “connected” k = 2: “2-connected” ≡ “biconnected” k = 3: “3-connected” ≡ “triconnected” Connected components This graph is This graph is not connected connected Connectivity notions are fundamental in any study of networks
• A graph is connected if for every pair u, v of vertices, there is a path between u and v.
• A graph is k-connected if there is no set of (k-1) vertices whose deletion disconnects the graph.
k = 1: “1-connected” ≡ “connected” k = 2: “2-connected” ≡ “biconnected” k = 3: “3-connected” ≡ “triconnected” “2-connected” ≡ “biconnected” –A cutvertex is a vertex whose removal would disconnect the graph. – A graph without cutvertices is biconnected.
This graph is biconnected This graph is not biconnected “3-connected” ≡ “triconnected” –A separation pair is a pair of vertices whose removal would disconnect the graph. – A graph without separation pairs is triconnected.
This graph is triconnected This graph is not triconnected (d) Planar graphs A graph is planar if it can be drawn without edge crossings. A graph is planar if it can be drawn without edge crossings.
Nodes: • 0,1,2,3,4,5,6,7,8,9 1 2 Edges •0 –4 •0 –9 6 •1 –2 7 8 3 •1 –6 •1 –7 •2 –3 5 4 •2 –8 •3 –4 •4 –5 9 0 •4 –8 •5 –6 •5 –7 •7 –8 Non-planar •4 –5•3 –4•2 –5•2 –3•1 –4•1 –2•0 –5•0 –3•0 –1Edges 0,1,2,3,4,5 • Nodes: one edgecrossing. every A graphis drawing has at least non-planar if (e) Topological embedding A planar drawing divides F0 the plane into faces.
F4 F1 F3
F2
F0 shares a boundary with F1
F0 shares a boundary with F2
F0 shares a boundary with F3
F0 shares a boundary with F4 F shares a boundary with F 1 2 The boundary-sharing relationships of the faces F shares a boundary with F 1 4 defines a topological embedding of the graph F shares a boundary with F 2 1 drawing F2 shares a boundary with F3
F2 shares a boundary with F4
F3 shares a boundary with F4 • Nodes and edges Graph • No geometry
Topological • Faces and incidence between faces • “Rubber sheet” geometry embedding Most of this • Equivalence under homeomorphism talk is about the mapping from a topological embedding to a • A picture of the graph graph drawing Graph • Points and curves Drawing • Geometry fully specified Euler formula F0 If n = #vertices F4 f = #faces F1 F3 m = #edges then F n+f = m+2 2
Corollary m ≤ 3n-6
Corollary If m = 3n-6 then every face is a triangle Maximal planar graph • Given a planar graph G, we can add non-crossing edges one by one until the graph becomes a maximal planar graph G*. Easy Theorems: • In a maximal planar graph, no edge can be added without making a crossing • A maximal planar graph is a triangulation (every face is a triangle) • In a maximal planar graph, m=3n-6. • A maximal planar graph with n>3 is triconnected (e) Good graph drawing A - B, C, D B - A, C, D Graph The input is a graph C - A, B, D, E with no geometry D - A, B, C, E E - C, D
C The output should be a good graph drawing: A B E easy to understand, easy to remember,
Graph Drawing beautiful. D ~1979 Intuition (Sugiyama et al. 1979; Batini et al 1982; etc ): – Planar straight-line drawings make good pictures
Bad drawing Good drawing
Dunstan Joe Alice
Paul Albert Jocelyn
Murphy Bob Albert David Paul
John David Murphy
Jocelyn Dunstan Alice Joe
John Bob Purchase et al.,1997: Significant correlation between edge crossings and human understanding More edge crossings means more human errors in understanding Purchase et al., 1997: Significant correlation between straightness of edges and human understanding More bends mean more human errors in understanding What makes a good drawing of a graph?
lack of edge crossings (planar drawings are good!)
straightness of edges (straight-line drawings are good!)
(plus some other things) 2. How to draw a graph
a) Before Tutte: 1920s – 1950s Fáry’s Theorem Every topological embedding of a planar graph has a straight-line planar drawing.
Proved independently by Wagner (1936), Fary (1948) and Stein (1951) Graph Graph Drawing embedding Topological Topological
Fáry’s Theorem Wikipedia proof of Fáry’s Theorem:
• First note that it is enough to prove it for triangulations.
Topological Picture of G embedding of G
Triangulation T Picture of T that contains G Drawing algorithm a We prove Fáry’s theorem by induction on the number of vertices. GG’ If G has only three vertices, then it is easy. Suppose G has n>3 vertices and 3n-6 edges, and that the outer face of G is u c the triangle
Delete u from G to form G’; this gives a face F of G of size at most 5. p’ p Since G’ has n-1 vertices, by induction it has a planar straight-line drawing p’. Since F has at most 5 vertices, it is star- u shaped, and we can place the vertex u in the kernel of F to give a planar straight-line drawing p of G b c 2. How to draw a graph? a) Before Tutte: 1920s – 1950s b) Tutte W. T. Tutte, “How to Draw a Graph”, Proceedings of the London Mathematical Society 13, pp743 – 767, 1960 Tutte’s barycentre algorithm Input: • A graph G = (V,E) Output • A straight-line drawing p
Step 1. Choose a subset A of V
Step 2. Choose a location p(a) = (xa, ya) for each vertex a ∈ A Step 3. For all u ∈ V-A, choose p(u) by 1 Vertex u is placed at the deg ∈ “barycenter” of its neighbors where the sum is over all neighbors v of u Step 1. Choose a subset A of V
Step 2. Choose a location p(a) = (xa, ya) for each vertex a ∈ A Step 3. For all u ∈ V-A, 1 deg ∈ where the sum is over all neighbors v of u
1 deg ∈ equations 2n and
1 deg ∈ Tutte’s barycenter algorithm 5
1. Choose a set A of vertices. 4 2. Choose a location p(a) for each a∈A 3. For each vertex u ∈V‐A, place u at the 2 barycentre of its graph-theoretic neighbors. 6 1 3 7 8 Step 1. A = {4, 5, 6, 7, 8} 5 Step 2. For all i = 4, 5, 6, 7, 8, choose xi and yi in some way. 4 Step 3. Find x1, y1, x2, y2, x3, and y3 Example such that: 2 1 6 ′ ′ 4 1 1 3 ′ ′ 4 7 1 8 ′ 3 and 1 ′ ′ 4 1 ′ ′ 4 1 ′ 3
where x’i and y’i are the values chosen at step 2. Step 1. A = {4, 5, 6, 7, 8} 5
Step 2. For all i = 4, 5, 6, 7, 8, choose xi and yi in some way. 4 Step 3. Find x1, y1, x2, y2, x3, and y3 such that: 2 6 4 ′ ′ 4 ′ ′ 1 3 ′ 3 and 7 8
4 ′ ′ 4 ′ ′ 3 ′
where c1,c2, c3, d1, d2, d3 are constants Step 1. A = {4, 5, 6, 7, 8} 5
Step 2. For all i = 4, 5, 6, 7, 8, choose xi and yi in some way. 4 Step 3. Find vectors and 2 such that 6 1 3 7 and 8