Presentation is loading. Please wait.

Presentation is loading. Please wait.

How to use spanning trees to navigate in Graphs

Similar presentations


Presentation on theme: "How to use spanning trees to navigate in Graphs"— Presentation transcript:

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

2 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

3 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

4 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

5 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

6 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

7 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

8 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

9 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

10 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

11 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

12 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

13 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

14 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

15 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

16 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

17 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

18 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

19 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

20 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

21 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

22 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

23 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

24 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

25 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

26 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

27 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

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


Download ppt "How to use spanning trees to navigate in Graphs"

Similar presentations


Ads by Google