How to use spanning trees to navigate in Graphs

Slides:



Advertisements
Similar presentations
Distance and Routing Labeling Schemes in Graphs
Advertisements

Comments We consider in this topic a large class of related problems that deal with proximity of points in the plane. We will: 1.Define some proximity.
IKI 10100: Data Structures & Algorithms Ruli Manurung (acknowledgments to Denny & Ade Azurat) 1 Fasilkom UI Ruli Manurung (Fasilkom UI)IKI10100: Lecture10.
Compact and Low Delay Routing Labeling Scheme for Unit Disk Graphs Chenyu Yan, Yang Xiang, and Feodor F. Dragan (WADS 2009) Kent State University, Kent,
C++ Programming: Program Design Including Data Structures, Third Edition Chapter 21: Graphs.
Ad-Hoc Networks Beyond Unit Disk Graphs
CPSC 689: Discrete Algorithms for Mobile and Wireless Systems Spring 2009 Prof. Jennifer Welch.
CPSC 689: Discrete Algorithms for Mobile and Wireless Systems Spring 2009 Prof. Jennifer Welch.
3 -1 Chapter 3 The Greedy Method 3 -2 The greedy method Suppose that a problem can be solved by a sequence of decisions. The greedy method has that each.
Randomized 3D Geographic Routing Roland Flury Roger Wattenhofer Distributed Computing Group.
Greedy Algorithms Reading Material: Chapter 8 (Except Section 8.5)
Collective Additive Tree Spanners of Homogeneously Orderable Graphs
Dept. of Computer Science Distributed Computing Group Asymptotically Optimal Mobile Ad-Hoc Routing Fabian Kuhn Roger Wattenhofer Aaron Zollinger.
Collective Tree Spanners of Graphs with Bounded Parameters F.F. Dragan and C. Yan Kent State University, USA.
Collective Tree Spanners of Graphs F.F. Dragan, C. Yan, I. Lomonosov Kent State University, USA Hiram College, USA.
Collective Tree Spanners and Routing in AT-free Related Graphs F.F. Dragan, C. Yan, D. Corneil Kent State University University of Toronto.
Additive Spanners for k-Chordal Graphs V. D. Chepoi, F.F. Dragan, C. Yan University Aix-Marseille II, France Kent State University, Ohio, USA.
Greedy Algorithms Like dynamic programming algorithms, greedy algorithms are usually designed to solve optimization problems Unlike dynamic programming.
Greedy Routing with Bounded Stretch Roland Flury, Roger Wattenhofer (ETH Zurich), Sriram Pemmaraju (Iowa University) Published at IEEE Infocom 2009 Introduction.
Connected Dominating Sets in Wireless Networks My T. Thai Dept of Comp & Info Sci & Engineering University of Florida June 20, 2006.
1 Introduction to Approximation Algorithms. 2 NP-completeness Do your best then.
© The McGraw-Hill Companies, Inc., Chapter 3 The Greedy Method.
LATIN’02 April 4 Cancun, Mexico 1 On the Power of BFS to Determine a Graph’s Diameter Derek G. Corneil University of Toronto Feodor F. Dragan Kent State.
Message-Optimal Connected Dominating Sets in Mobile Ad Hoc Networks Paper By: Khaled M. Alzoubi, Peng-Jun Wan, Ophir Frieder Presenter: Ke Gao Instructor:
+ Mayukha Bairy Disk Intersection graphs and CDS as a backbone in wireless ad hoc networks.
1 Introduction to Approximation Algorithms. 2 NP-completeness Do your best then.
GPSR: Greedy Perimeter Stateless Routing for Wireless Networks EECS 600 Advanced Network Research, Spring 2005 Shudong Jin February 14, 2005.
Data Structures & Algorithms Graphs
CSE 589 Part VI. Reading Skiena, Sections 5.5 and 6.8 CLR, chapter 37.
Distance and Routing Labeling Schemes in Graphs with Applications in Cellular and Sensor Networks Feodor F. Dragan Computer Science Department Kent State.
LOCALIZED MINIMUM - ENERGY BROADCASTING IN AD - HOC NETWORKS Paper By : Julien Cartigny, David Simplot, And Ivan Stojmenovic Instructor : Dr Yingshu Li.
© The McGraw-Hill Companies, Inc., Chapter 12 On-Line Algorithms.
Chapter 20: Graphs. Objectives In this chapter, you will: – Learn about graphs – Become familiar with the basic terminology of graph theory – Discover.
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.
Spanning Tree Definition:A tree T is a spanning tree of a graph G if T is a subgraph of G that contains all of the vertices of G. A graph may have more.
Introduction Wireless Ad-Hoc Network  Set of transceivers communicating by radio.
2016/7/2Appendices A and B1 Introduction to Distributed Algorithm Appendix A: Pseudocode Conventions Appendix B: Graphs and Networks Teacher: Chun-Yuan.
Graphs Chapter 20.
Graph theory Definitions Trees, cycles, directed graphs.
Parameterized complexity Bounded tree width approaches
Surviving Holes and Barriers in Geographic Data Reporting for
Great Theoretical Ideas in Computer Science
Greedy Algorithms / Minimum Spanning Tree Yin Tat Lee
Algorithms and Complexity
Greedy Algorithms / Interval Scheduling Yin Tat Lee
CS 3343: Analysis of Algorithms
I206: Lecture 15: Graphs Marti Hearst Spring 2012.
Greedy Routing with Bounded Stretch
CS120 Graphs.
Discrete Mathematics for Computer Science
A Unified View of Graph Searching
GRAPH SPANNERS.
Graphs Chapter 13.
Distance and Routing Labeling Schemes in Graphs
Robustness of wireless ad hoc network topologies
Robustness of wireless ad hoc network topologies
Lectures on Graph Algorithms: searching, testing and sorting
Graphs.
Introduction Wireless Ad-Hoc Network
Chapter 11 Graphs.
Branch and Bound Searching Strategies
CSE 373: Data Structures and Algorithms
Text Book: Introduction to algorithms By C L R S
Compact routing schemes with improved stretch
Graphs.
Graphs.
Algorithm Course Dr. Aref Rashad
Prims’ spanning tree algorithm
Forbidden-set labelling in graphs
Distance and Routing Labeling Schemes in Graphs with Applications in Cellular and Sensor Networks Feodor F. Dragan Computer Science Department Kent State.
Presentation transcript:

How to use spanning trees to navigate in Graphs Feodor F. Dragan and Yang Xiang (MFCS 2009) Kent State University, USA

Routing in networks A routing scheme is a mechanism to deliver a package/message from one node to another node in the network Each node knows some information about the network, stored locally. Package has a head with information about the destination (its address, some other useful information) A node having a package needs to decide if the package reached the destination and, if not, to which neighbor to forward the package. To make this decision the current node uses own information stored locally, information from head of the package, and perhaps local information stored at neighbors. The purpose of routing is to let message generated by the source node reach the destination node. s t Figure is just for demonstration. This is the message head. This message is generated by s. Its destination is t. Algorithmic Lab, Kent State University

Parameters of a Routing Scheme What information and how much is stored locally at each node. What information and how much is stored in the head of a message. How current node decides to choose a neighbor to forward the message towards the destination s t Each routing scheme generates a routing path for a given source and a given destination. Algorithmic Lab, Kent State University

Stretch factors of a Routing Scheme Each routing scheme generates a routing path R(x,y) for a given source x and a given destination y. The goodness of a routing scheme is measured by how much routing paths differ from shortest paths. 1. Additive max stretch factor: 2. Additive average stretch factor: 3. Multiplicative max stretch factor: 4. Multiplicative average stretch factor: In this paper we will mostly interested in criterion 1. Although, later experimental results will be around criteria 3 and 4. Algorithmic Lab, Kent State University

Algorithmic Lab, Kent State University Know in wireless networks Greedy Routing and Routing with Guaranteed Delivery Nodes know their Euclidean coordinates Two typical greedy routing schemes: geographic routing a neighbor which is geographically closest to destination is chosen. Compass routing a neighbor v such that angle vut is smallest is chosen. Both strategies do not guarantee delivery Routing that guarantees delivery Planar connection graph is constructed Face routing is by traversing faces towards destination These routing schemes are popular in wireless networks. Wireless networks usually modeled by unit disk graphs (see slides at the end). In pictures: u needs to send a message to t. Neighbors of u are those nodes which are in the transmission range of u, shown by a circle around u. Geographically closest means closest in Euclidean distance (a growing circle around destination is shown to demonstrate that v is a neighbor of u closest to t in Euclidean sense) In geographic and compass routing, the message can get into a node from which there is no escape, no good neighbor to continue. They do not guarantee delivery. There is a method of Face Routing which known to guarantee delivery but in worst case it may traverse each edge of the planar graph 4 times. So, although it guarantees delivery, the routing path can be as long as 4|E|. Second, this method requires to build a planar connection graph on nodes (a planar subgraph of a unit disk graph). Algorithmic Lab, Kent State University

Algorithmic Lab, Kent State University Our basic idea Greedy routing with the aid of a spanning tree information. Assign pseudo-coordinates to nodes using a spanning tree. Possible information obtained from a spanning tree and stored locally at a vertex: Distance Labels (O(log n) digits) or Ancestry information, i.e., DFS-intervals (2 digits) According to [Peleg’99], to each vertex of a n-vertex tree can be assigned O(log n) digits such that the distance in tree between any two vertices x and y can be computed in constant time by merely inspecting the digits assigned to x and y. Each digit has at most log n bits. These digits will become local information stored at each vertex as well as the address of each vertex put in the head of a message. One problem in wireless networks is that the nodes may not know their Euclidean coordinates (e.g., sensors are so small that they do not have GPS capability). However, by communicating with the neighbors in transmission range they know who are the neighbors (hence, the connection Unit Disk Graph (UDG for short) is known). The problem is how to extract from the topology of UDG suitable information and assign it to nodes, as pseudo-coordinates, such that, after that preprocessing step, nodes know only this information about the graph and can still route efficiently. This paper tries to address this problem in one specific way, use information available from a spanning tree. But, we consider UDGs only at the end, experimental results. Theoretical results, we got, are for other families of graphs. The intervals can be constructed according to the DFS order. The next slide shows an example. Figure here is just for an example: a graph, a spanning tree, a routing path. Algorithmic Lab, Kent State University

Why we use a spanning tree? Easy to construct and maintain. There exist distributed, self-stabilized algorithms for constructing spanning trees. Not hard to calculate the tree distance between two vertices in constant time using only O(log n) digits per vertex [Peleg’99] Easy to tell the ancestry relationship between any two vertices. In constant time using only DFS-intervals Given a graph, build a spanning tree, root the tree at a node, find DFS-intervals in that tree assign to each node of graph its DFS-interval obtained Algorithmic Lab, Kent State University

TDGR strategy (previous results) Additive r-carcass: Each vertex knows its neighbors and O(logn) digits from the tree TDGR makes use of distance labels (as information stored locally). In other words, in TDGR strategy the following happens: Each vertex has its O(log n) digits from spanning tree stored locally (these digits help to compute quickly the distance in tree between any two vertices [Peleg’99]) Current vertex z extracts from the head of the message O(log n) digits of the destination, asks neighbors to compute their distance to the destination and return back those values. Then, z chooses a neighbor with smallest value and forwards the message to that neighbor. g_{G,T}(x,y) is the length of a routing path produced by the scheme. We can demonstrate the work of TDGR on an example (grid). Although Carcass is a spanning tree, it is different from tree spanners. The right picture shows that a grid has a 0-carcass. The left picture reminds that it does not have any good tree spanner. Algorithmic Lab, Kent State University

Algorithmic Lab, Kent State University IGR strategy (new) Additive r-frame: Each vertex knows its neighbors and 2 digits from the tree IGR makes use of ancestry information (as information stored locally). sTy is the (s,t)-path of T. Informally speaking, we try first, if possible, to jump from x to an ancestor in T of y (if there are several such ancestors, we choose that one closest in T to y, i.e., with smallest interval). If x does not see in G any ancestor of y, then we go to the ancestor in T of x closest to the root (i.e., with largest interval). We can demonstrate the work of IGR on an example. Algorithmic Lab, Kent State University

Carcass vs Frame O(log n) digits stored per vertex Different criteria to move The slide demonstrates that two notions are incomparable in quality of the paths they produce. The blue path shows the routing from y to x by TDGR. The brown path shows the routing from y to x by IGR. The right picture has only additive 1-carcass The column-wise Hamiltonian path for the rectilinear grid is a 0-carcass but not a 0-frame. A chordal graph with an additive 0-frame having no 0-carcass. Algorithmic Lab, Kent State University

k-Localized strategies Now, we assume that each vertex can gather information from vertices at distance at most k in G. k=1 is the previous case. These two strategies are similar to the previous two, except that these two strategies search k-neighborhood space. Algorithmic Lab, Kent State University

Algorithmic Lab, Kent State University Our Results We proved that greedy routing with the aid of a spanning tree can produce near optimal paths in some special graph families, such as: Rectilinear Grids Graphs admitting locally-connected spanning trees (i.e., dually chordal graphs, strongly chordal graphs, interval graphs) k-chordal graphs chordal bipartite graphs AT-free graphs Tree-length λ graphs δ-hyperbolic graphs In the following we highlight some interesting results. Algorithmic Lab, Kent State University

Graphs admitting locally connected spanning trees Definition: We say that a spanning tree T of G is locally connected if the closed neighborhood NG[v] of any vertex v of G induces a subtree in T (i.e., T ∩ NG[v] is a connected subgraph of T.) Theorem: If T is a locally connected spanning tree of a graph G, then T is an additive 0-carcass and an additive 0-frame of G. Known fact: Dually chordal graphs are exactly the graphs having locally connected spanning trees (to the theorem) in other words, TDGR as well as IGR strategies produce optimal routing paths if they use a locally connected spanning tree. Dually chordal graphs contain strongly chordal graphs, interval graphs etc… Algorithmic Lab, Kent State University

Algorithmic Lab, Kent State University How to find a locally connected spanning tree in a Dually Chordal graph Definition: A dually chordal graph is the intersection graph of the maximal cliques of a chordal graph. 1 2 1 3 2 1 3 2 5 w(e) := # of triangles edge e belongs to Find maximum weight spanning tree 1 3 Algorithmic Lab, Kent State University

Navigating in a Dually Chordal Graph Dually chordal graphs are exactly the graphs having locally connected spanning trees Additive r-carcass: Each vertex knows its neighbors and O(logn) digits from the tree This slide is just to demonstrate the strategy on a graph for a pair of vertices and to show that locally connected spanning tree of a dually chordal graph G is a 0-carcass (right picture), while using the TDGR strategy on a known additive tree 3-spanner of G produces a longer path. Algorithmic Lab, Kent State University

Navigating in a Dually Chordal Graph Dually chordal graphs are exactly the graphs having locally connected spanning trees Additive r-frame: Each vertex knows its neighbors and 2 digits from the tree s This slide is just to demonstrate the strategy on a graph and to show that locally connected spanning tree of a dually chordal graph G is a 0-frame (right picture), while using the IGR strategy on a known additive tree 3-spanner of G produces a longer path. s is the root of the tree. s Algorithmic Lab, Kent State University

Frames for k-chordal graphs Definition: A graph G is called k-chordal if it has no induced cycles of size greater than k. When k=3, G is a chordal graph. Theorem: Any BFS-tree T of a k-chordal graph G is an additive (k-1)-frame. Theorem: Any LexBFS-tree T of a chordal graph G is an additive 1-frame. For chordal graphs, BFS tree is only an additive 2-frame. We do not know any additive r-carcass with constant r even for chordal graphs. Algorithmic Lab, Kent State University

Frames for chordal bipartite graphs Definition: A graph G is called chordal bipartite if it is bipartite and has no induced cycles of size greater than 4. Theorem: Every chordal bipartite graph G admits an additive 0-frame Algorithmic Lab, Kent State University

Frames for AT-free graphs Definition: A graph is called AT-free if it does not have an asteroidal triple (i.e., a set of three vertices such that there is a path between any pair of them avoiding the closed neighborhood of the third). Theorem: Any BFS-tree T of an AT-free graph G is an additive 2-frame. Each AT-free graph is 5-chordal. An asteroid triple Algorithmic Lab, Kent State University

Frames for tree-length λ graphs Definition: A graph G is a tree-length λ graph if and only if G admits a tree-decomposition into bags of diameter at most λ. The tree-decomposition is a tree T whose vertices, called bags, are subsets of V(G) such that: UXV(T)X=V(G); For all uv E(G), there exists X V(T) such that u,v X; and For all X, Y, Z V(T), if Y is on the path from X to Z in T then X∩Z  Y. Theorem: Any BFS-tree T of G is a λ–localized additive 5λ-frame. It is known that k-chordal graphs have tree-length at most k/2. Later, we demonstrate that bounded tree-length graphs do not have good 1-localized frames (1-localized carcasses). Hence, we have to increase locality. Tree -decomposition Tree-length 2 graph Algorithmic Lab, Kent State University

Frames for δ-hyperbolic graphs Definition: G is a δ-hyperbolic graph if and only if for any four vertices u,v,w,x, the two larger of the distance sums dG(u,v)+dG(w,x), dG(u,w)+dG(v,x), dG(u,x)+dG(v,w) differ by at most 2δ. Theorem: Any BFS-tree T of G is a 4δ -localized additive 8δ-frame. Note that hyperbolic graphs are used to model some topological properties of the Internet. It is known that the tree-length λ graphs have λ hyperbolicity (opposite is not true). Hence, the lower bounds presented on the next slide hold for δ-hyperbolic graphs, too. Algorithmic Lab, Kent State University

Some Lower Bounds for Frames and Carcasses of Tree-length λ Graphs For any λ≥4, there exists a tree-length λ graph G with n vertices for which no –localized additive –frame exists. For any λ≥6, there exists a tree-length λ graph G with n vertices for which no –localized additive –carcass exists bounded tree-length graphs do not have good 1-localized frames (1-localized carcasses); no constant additive stretch factors exist. We have to increase locality to get good frames/carcasses. Algorithmic Lab, Kent State University

Unit Disk graphs Unit Disk Graphs (UDGs) are the intersection graphs of equal sized circles in the plane. Model wireless networks Equivalent definition is that two vertices are adjacent iff they are in the transmission range of each other. On the right picture, green disk gives the transmission range. The transmission range is the same for all vertices. Algorithmic Lab, Kent State University

Algorithmic Lab, Kent State University Experimental results in UDGs Fix the number of vertices, change density We empirically compare the performance of TDGR and IGR, and their corresponding k-localized versions, on Unit Disk Graphs (UDGs), which often model the wireless ad hoc networks. We use three kinds of spanning trees, breadth-first-search tree (BFST, for short), minimum-spanning tree (MST, for short), and depth-first-search tree (DFST, for short) for TDGR, IGR. The routing scheme pairs ("strategy type" - "tree type"), we report on, are BFST-IGR, BFST-TDGR, MST-IGR, MST-TDGR, DFST-IGR, and DFST-TDGR. All methods are implemented in C++. To generate a Unit Disk Graph, we first fix an area S, a radius R, and the number of vertices N. Then, in S we randomly generate N vertices/points. Two vertices/points are connected by an edge if and only if their Euclidean distance is at most R. We vary densities by choosing the radius R to be 150, 170, 190, 210, 230, 250, 270 and 290, with |V| fixed to be 100. For each radius value R, we randomly generate 10 UDGs and the experimental results are averaged over these 10 graphs. In the experiments, we care about the maximum multiplicative-stretch factor and average multiplicative-stretch factor of each routing scheme using different spanning trees. “Hop” means that we consider unweighted graphs, only count the number of edges (called hops in wireless networks). Most routing schemes have quite low average multiplicative stretch factors which are quite stable under various densities. Algorithmic Lab, Kent State University

Algorithmic Lab, Kent State University Experimental results in UDGs Fix the number of vertices, change density Most routing schemes have quite low maximum multiplicative stretch factors which decrease gradually when density increases. Algorithmic Lab, Kent State University

Algorithmic Lab, Kent State University Experimental results in UDGs Fix the number of vertices, change locality Most routing schemes have quite low average multiplicative stretch factors which is getting close to 1 when locality increases. (The average diameter of these UDGs is 17.4) Algorithmic Lab, Kent State University

Algorithmic Lab, Kent State University Experimental results in UDGs Fix the number of vertices, change locality The maximum multiplicative stretch factors of most routing schemes decreases when locality increases. (The average diameter of these UDGs is 17.4) Algorithmic Lab, Kent State University

Algorithmic Lab, Kent State University Thank You Algorithmic Lab, Kent State University