Drawing trees in a streaming model Carla Binucci Ulrik Brandes Giuseppe Di Battista Walter Didimo Marco Gaertler Pietro Palladino Maurizio Patrignani Antonios.

Slides:



Advertisements
Similar presentations
Chapter 11 Trees Graphs III (Trees, MSTs) Reading: Epp Chp 11.5, 11.6.
Advertisements

Lower Bounds for Additive Spanners, Emulators, and More David P. Woodruff MIT and Tsinghua University To appear in FOCS, 2006.
CSE 211 Discrete Mathematics
SI23 Introduction to Computer Graphics
Weighted Matching-Algorithms, Hamiltonian Cycles and TSP
Chapter 23 Minimum Spanning Tree
22nd European Workshop on Computational Geometry Institute of Software Technology 4th FSP-Seminar Industrial Geometry, March 2007 Maximizing Maximal Angles.
Great Theoretical Ideas in Computer Science
Two Segments Intersect?
Graphs, Planar graphs Graph coloring
Bart Jansen 1.  Problem definition  Instance: Connected graph G, positive integer k  Question: Is there a spanning tree for G with at least k leaves?
Planar Graphs: Coloring and Drawing
Covers, Dominations, Independent Sets and Matchings AmirHossein Bayegan Amirkabir University of Technology.
Advanced Topics in Algorithms and Data Structures
Polygon Triangulation
Minimum Vertex Cover in Rectangle Graphs
Instructor Neelima Gupta Table of Contents Approximation Algorithms.
C&O 355 Lecture 23 N. Harvey TexPoint fonts used in EMF. Read the TexPoint manual before you delete this box.: A A A A A A A A A A.
1 SOFSEM 2007 Weighted Nearest Neighbor Algorithms for the Graph Exploration Problem on Cycles Eiji Miyano Kyushu Institute of Technology, Japan Joint.
2/14/13CMPS 3120 Computational Geometry1 CMPS 3120: Computational Geometry Spring 2013 Planar Subdivisions and Point Location Carola Wenk Based on: Computational.
Great Theoretical Ideas in Computer Science for Some.
Approximation, Chance and Networks Lecture Notes BISS 2005, Bertinoro March Alessandro Panconesi University La Sapienza of Rome.
1 Maximal Independent Set. 2 Independent Set (IS): In a graph G=(V,E), |V|=n, |E|=m, any set of nodes that are not adjacent.
Spine Crossing Minimization in Upward Topological Book Embeddings Tamara Mchedlidze, Antonios Symvonis Department of Mathematics, National Technical University.
Combinatorial Algorithms
Great Theoretical Ideas in Computer Science.
1 Maximal Independent Set. 2 Independent Set (IS): In a graph, any set of nodes that are not adjacent.
1 Discrete Structures & Algorithms Graphs and Trees: II EECE 320.
Approximation Algorithms: Combinatorial Approaches Lecture 13: March 2.
What is the next line of the proof? a). Let G be a graph with k vertices. b). Assume the theorem holds for all graphs with k+1 vertices. c). Let G be a.
Computational Geometry Seminar Lecture 4 More on straight-line embeddings Gennadiy Korol.
Online Algorithms for Network Design Adam Meyerson UCLA.
A general approximation technique for constrained forest problems Michael X. Goemans & David P. Williamson Presented by: Yonatan Elhanani & Yuval Cohen.
Is the following graph Hamiltonian- connected from vertex v? a). Yes b). No c). I have absolutely no idea v.
Point Location Computational Geometry, WS 2007/08 Lecture 5 Prof. Dr. Thomas Ottmann Algorithmen & Datenstrukturen, Institut für Informatik Fakultät für.
Straight line drawings of planar graphs – part I Roeland Luitwieler.
Computability and Complexity 24-1 Computability and Complexity Andrei Bulatov Approximation.
Job Scheduling Lecture 19: March 19. Job Scheduling: Unrelated Multiple Machines There are n jobs, each job has: a processing time p(i,j) (the time to.
Lecture 6: Point Location Computational Geometry Prof. Dr. Th. Ottmann 1 Point Location 1.Trapezoidal decomposition. 2.A search structure. 3.Randomized,
What is the next line of the proof? a). Assume the theorem holds for all graphs with k edges. b). Let G be a graph with k edges. c). Assume the theorem.
Approximation Algorithms Motivation and Definitions TSP Vertex Cover Scheduling.
Approximation Algorithms
Complexity results for three-dimensional orthogonal graph drawing maurizio “titto” patrignani third university of rome graph drawing 2005.
Minimal Spanning Trees What is a minimal spanning tree (MST) and how to find one.
Called as the Interval Scheduling Problem. A simpler version of a class of scheduling problems. – Can add weights. – Can add multiple resources – Can ask.
Orthogonal Drawings of Series-Parallel Graphs Joint work with Xiao Zhou by Tohoku University Takao Nishizeki.
Approximating Minimum Bounded Degree Spanning Tree (MBDST) Mohit Singh and Lap Chi Lau “Approximating Minimum Bounded DegreeApproximating Minimum Bounded.
An Algorithm for the Coalitional Manipulation Problem under Maximin Michael Zuckerman, Omer Lev and Jeffrey S. Rosenschein (Simulations by Amitai Levy)
Line Arrangement Chapter 6. Line Arrangement Problem: Given a set L of n lines in the plane, compute their arrangement which is a planar subdivision.
Fan-planar Graphs: Combinatorial Properties and Complexity results Carla Binucci, Emilio Di Giacomo, Walter Didimo, Fabrizio Montecchiani, Maurizio Patrignani,
© The McGraw-Hill Companies, Inc., Chapter 12 On-Line Algorithms.
11 -1 Chapter 12 On-Line Algorithms On-Line Algorithms On-line algorithms are used to solve on-line problems. The disk scheduling problem The requests.
Approximation Algorithms by bounding the OPT Instructor Neelima Gupta
Instructor Neelima Gupta Table of Contents Introduction to Approximation Algorithms Factor 2 approximation algorithm for TSP Factor.
Introduction Wireless Ad-Hoc Network  Set of transceivers communicating by radio.
Computing NodeTrix Representations of Clustered Graphs
Geometric Graphs and Quasi-Planar Graphs
Algorithms and Networks
What is the next line of the proof?
Great Theoretical Ideas in Computer Science
Discrete Mathematics for Computer Science
Enumerating Distances Using Spanners of Bounded Degree
CIS 700: “algorithms for Big Data”
Instructor: Shengyu Zhang
Coverage Approximation Algorithms
CSCI B609: “Foundations of Data Science”
Introduction Wireless Ad-Hoc Network
Problem Solving 4.
Switching Lemmas and Proof Complexity
Instructor: Aaron Roth
Presentation transcript:

drawing trees in a streaming model Carla Binucci Ulrik Brandes Giuseppe Di Battista Walter Didimo Marco Gaertler Pietro Palladino Maurizio Patrignani Antonios Symvonis Katharina Zweig 3 Thanks to the Bertinoro Workshop on Graph Drawing, March 2008

drawing trees in a streaming model Carla Binucci Ulrik Brandes Giuseppe Di Battista Walter Didimo Marco Gaertler Pietro Palladino Maurizio Patrignani Antonios Symvonis Katharina Zweig 5 Thanks to the Bertinoro Workshop on Graph Drawing, March 2008

drawing trees in a streaming model Carla Binucci Ulrik Brandes Giuseppe Di Battista Walter Didimo Marco Gaertler Pietro Palladino Maurizio Patrignani Antonios Symvonis Katharina Zweig 2 Thanks to the Bertinoro Workshop on Graph Drawing, March 2008

drawing trees in a streaming model Carla Binucci Ulrik Brandes Giuseppe Di Battista Walter Didimo Marco Gaertler Pietro Palladino Maurizio Patrignani Antonios Symvonis Katharina Zweig 3 Thanks to the Bertinoro Workshop on Graph Drawing, March 2008

streams of data several applications produce (potentially infinite) streams of data that are too many to be stored and that should be analyzed in real time –networking applications IP packets, TCP connections, interface usage, … –enviromental monitoring atmospheric sensor measures, satellite scans, … –social networks applications s, faxes, telephone calls, … in several cases such streams represent graphs

working with streams streaming model of computation [Muthukrishnan] –input: a stream of data –output: measure/compute some property –purpose: use limited resources streaming on graphs –triangle counting [Bar-Yossef et al][Buriol et al][Jowhari et al] –computing clustering coefficient [Buriol et al] –counting k 3,3 [Buriol et al] –testing matching, bipartiteness, connectivity, MST, t- spanners [Feigenbaum]

e1e1 e2e2 e3e3 e 11 e4e4 e5e5 e6e6 e7e7 e8e8 e9e9 e 10 e 12 e 13 e 14 e1e1 e2e2 e3e3 e4e4 e5e5 e6e6 e7e7 e8e8 e9e9 e 10 e 11 e 12 e 13 e 14

e1e1 e2e2 e3e3 e 11 e4e4 e5e5 e6e6 e7e7 e8e8 e9e9 e 10 e 12 e 13 e 14 e1e1 e2e2 e3e3 e4e4 e5e5 e6e6 e7e7 e8e8 e9e9 e 10 e 11 e 12 e 13 e 14 persistence = 6

drawing a stream of edges the input is a stream of edges: S = (e 1, e 2, e 3, e 4, e 5, …) the drawing has a persistence k –k may be infinite at any time i we have to produce a drawing i of G i = {e i-(k-1), e i-k,…,e i-1, e i } –remove e i-k from i-1 –add e i to i-1

quality assessment: competitive ratio consider an algorithm A for drawing a stream of edges S = (e 1, e 2, e 3, …) denote by A(S) a quality measure of algorithm A on stream S Opt(S) the quality measure of the optimal off-line algorithm on S competitive ratio of algorithm A the quality measure we consider is the area R A = max S A(S) Opt(S)

previous literature incremental graph drawing [de Fraysseix, Pach, Pollack][Biedl,Kant] … –precomputed vertex ordering dynamic graph drawing [Branke][Huang, Eades, Wang][Papakostas, Tollis]… –sequence of graphs where two consecutive drawings should be similar –arbitrary insertions/deletions allowed the no change scenario of [Papakostas, Tollis] corresponds to streamed graph drawing with infinite persistence

a specific streaming problem we restrict to straight-line planar grid drawings we assume that the current graph G i is always connected we focus on trees the edges of the stream correspond to an Eulerian tour of the tree –this guarantees that G i is connected

problem statement is it possible to draw the stream of edges produced by an Eulerian tour of a tree –with limited area –with persistence k –such that edges are straight-line segments and each drawing is planar ?

persistence = 6 intuition of the approach

algorithm Greedy Clockwise (GC) assume to have m points p 0, p 1, …, p m in convex position greedily use them in clockwise order –at time 1 draw the first edge on p 0 and p 1 and set next 2 = 2 –at time i if you need to insert a vertex, place it on and set next i+1 =(next i +1) mod m otherwise, set next i+1 =next i

persistence = 6

conditions for algorithm GC to work algorithm Greedy-Clockwise guarantees a non-intersecting drawing if Condition 1: point is not used in i by any vertex Condition 2: current edge e i does not introduce a crossing

Condition 1 is enough lemma let i-1 be the drawing of G i-1 built by algorithm GC and consider a vertex v that should be added to G i-1 at time i if Condition 1 is satisfied, then no crossing is introduced by drawing v on

proof that Condition 1 suffices i(x) < i(u) < i(y) < i(v) eiei u v x y

legs, feet, heels, and toes leg of u foot heel toe eiei ejej u v w

regular foot (r-foot) eiei ejej u j-i=5 persistence k = 5 j-i k

extra-large foot (xl-foot) eiei u v j-i=9 persistence k = 5 j-i > k

r-feet and xl-feet regular foot (or r-foot) –when j-i k –u is present in i-1, i, i+1,…, j+k –has maximum size k/2 extra-large foot (or xl-foot) –when j-i > k –u is not present from i+k on

when algorithm GC does not work? u

when algorithm GC works? theorem 1 algorithm GC draws without crossings the stream of edges produced by an Eulerian tour of a tree of maximum degree at most d on k/2 (d-1)+k+1 points in convex position also R GC =O(d 3 k 2 )

technical lemma consider Algorithm GC on m points in convex position suppose that for each vertex v it holds that during the time elapsing from when v is discovered and when it disappears from the drawing at most m-1 other vertices are discovered then Condition 1 holds at each time

proof of theorem 1 correctness we show that the time elapsing from when a vertex v is discovered and when it disappears from the drawing is at most k/2 (d-1)+k –hint: v may have at most d-1 r-feet of size k/2 quality m points in convex position require an O(m 3 ) area the area used for our k/2 (d-1)+k+1 points is (d 3 k 3 ) any off-line algorithm requires (k) area to place O(k) points therefore, the competitive ratio is O(d 3 k 2 )

algorithm SnowPlow (SP) alternates GC with its mirrored version, called Greedy Counter-Clockwise (GCC) call old( i ) the oldest vertex of i, i.e., the vertex that appears in i, i-1,…, i-j with highest j the decision of switching from GC to GCC (or vice versa) is taken each time a new foot of old( i ) is entered you switch to GCC only if you have used GC enough to ensure that GCC finds a free vertex on the left of old( i )

algorithm SnowPlow old( )

when algorithm SP works switching condition –if you have used at least k/2 points on one side (GC) you switch to the other side (GCC) theorem 2: algorithm SP draws without crossings and with persistence k a stream of edges produced by an Eulerian tour of a tree on 2k-1 points in convex position R SP =O(k 2 )

algorithm SnowPlow and xl-feet old( )

summary of the results competitive ratios of the proposed algorithms

open problems our competitive ratios are high: do better solutions exist? computing tighter lower bounds for streaming algorithms evaluation larger classes of planar (or general) graphs persistence: –what if persistence is different for different edges –what if k=O(log n), where n is the size of the stream? what if the degree of each vertex is known in advance?

thank you for your attention