480 likes | 498 Views
Distance and Routing Labeling Schemes in Graphs with Applications in Cellular and Sensor Networks. Feodor F. Dragan Computer Science Department Kent State University http://www.cs.kent.edu/~dragan. Talk is based on.
E N D
Distance and Routing Labeling Schemes in Graphs with Applications in Cellular and Sensor Networks Feodor F. Dragan Computer Science DepartmentKent State Universityhttp://www.cs.kent.edu/~dragan
Talk is based on • Known results for trees [Kannan&Naor&Rudich’88, Peleg’99 and ’00, Thorup&Zwick’01, Fraigniaud&Gavoille’01] • Two recent (Fall 2003) papers (by V.D. Chepoi (U.Marseille), F. F. Dragan and Yann Vaxes (U.Marseille) • Distance and Routing Labeling Schemes for Non-Positively Curved Plane Graphs (subm. to J. of Algorithms); • Addressing, Distances and Routing in Triangular Systems with Applications in Cellular and Sensor Networks (to appear in Proc of 4th WNAN 04) We start with an overview on labeling schemes …
Traditional graph representation Store adjacency information in global data structure • Requires much storage • Node labels contain no information, serve only as “pointers” to global data structure
Local graph representation IDEA: Store local pieces of information, i.e., • Associate label Label(v) with each node v, s.t. labels allow inferring adjacency information locally, without using additional memory and information Question: Can this be done compactly & efficiently?
“Ancient” Example: Hamming adjacency labeling Goal: Label each node v with m-bit label Label(v) s.t. Label(v),Label (u) allow deciding if uand vare adjacent: [Breuer&Folkman’67]: For any n-node graph there exists a Hamming distance adjacency labeling with m=2nD, T=4D -4, where D = max node degree. Question: Can this be done with short labels?
Interest Revived: Adjacency Labeling [Kannan&Naor&Rudich’88]What’s in label? Adjacency-labeling (for graph family F): • Function Label labeling nodes of any graph in Fwith short distinct labels (compactness) • Efficient algorithm for deciding adjacency of two nodes given their labels (efficiency)(polylogarithmic labels polylogarithmic time) Note: - Algorithm knows nothing beyond the labels (even, it does not know which graph they come from)
Labels contain bits Adjacency Labeling on Trees [Kannan&Naor&Rudich’88] Labeling: 1. Arbitrarily root the tree and prelabel each node v with distinct integer I(v) from [1..n]. 2. Label root r by Label(r)=(I(r)). 3. Label each non-root node v with parent w by Label(v)=(I(v),I(w)).
Adjacency Labeling on Trees [Kannan&Naor&Rudich’88] Labeling: (with bits) 1. Arbitrarily root the tree and prelabel each node v with distinct integer I(v) from [1..n]. 2. Label root r by Label(r)=(I(r)). 3. Label each non-root node v with parent w by Label(v)=(I(v),I(w)). Adjacency Decoder for u,v: Check if 1st entry in Label(v) = 2nd entry in Label(u) or vice versa. Constant time!
Extensions Labels contain bits • Bounded arboricity graphs • Bounded degree • Bounded-genus graphs (e.a., planar graphs) • Intersection-based graphs (e.a., interval graphs) • c-decomposable graphs Question (compactness): Is this doable for all graphs with-bit labels?
Negative results Note: Graph classFis adjacency-labelable using -bit labels each G from Fis fully defined by bits # of represented graphs Therefore: Graph family Fcontaining n-node graphs is not adjacency-labelable using -bit labels. Negative examples: Bipartite / chordal graphs
Question: Can this be done for other types of information beyond adjacency? • In general graphs • Distance • Edge / node connectivity • Routing • Flow • … • In trees • Ancestry • Lowest common ancestor (LCA or NCA) • Depth of NCA (separation level) Distance
Question: Can this be done for other types of information beyond adjacency? • In general graphs • Distance • Edge / node connectivity • Routing • Flow • … • In trees • Ancestry • Lowest common ancestor (LCA or NCA) • Depth of NCA (separation level) Distance
Distance Labeling Scheme • Goal: Short labels that encode distances and distance decoder, an algorithm for inferring the distance between two nodes only from their labels (in time polynomial in the label length) • …a method for storing and extracting distances • in a “distributed” fashion… • Labeling: v Label(v) • Distance decoder: D(Label(v), Label(u)) dist(u,v) Distance
Simple examples • Enjoy -bit distance labeling schemes with constant-time decoder Distance
General graphs Easy labeling: Label each node in n-node graph G on with all distances Hence, for the class of all n-node graphs Distance Currently: [Gavoille,&Peleg&Perennes&Raz’01] Similar bounds apply for other large graph families (bipartite / chordal / …)
Distance labeling on trees [Peleg’99] Preprocessing: Arbitrarily label each node v of T with distinct integers I(v) from [1..n]
Recursive partitioning and decomposition tree Tree separator:node v in n-node tree T, whose removal breaks T into subtrees of size at most n/2. Known fact: Every tree has a separator (can be found in linear time) H T
T H • Hence, -bit labels Labeling • Construct forH Depth of NCA labeling scheme ( -bit labels [Peleg’00] and constant (can be made) decision time) • Then, v A(v)
T H Constant Time Distance Decoder (A(u),2,2,0)) (A(v),6,2,1,0)) • Given Label(u) and Label(v) • Function distance_decoder_trees(Label(u),Label(v)) • Extract A(u), A(v) • Use A(u), A(v) to find the depth k of NCA(u,v)inH 1 • Output , by extracting appropriate • entries from labels 2+2=4
Lower bounds and Planar graphs [Gavoille,&Peleg&Perennes&Raz’01]
Routing Labeling Scheme • Goal: Short labels that encode the routing information and routing protocol, an algorithm for inferring port number of the first edge on a shortest path from source to destination, • giving only labels and nothing else • Labeling: v Label(v) • Distance decoder: R(Label(v), Label(u)) port(v,u) Distance
General graphs Easy labeling (full routing tables): Label each node in n-node graph G on with full routing information Hence, for the class of all n-node graphs one needs nlogn -bit labels Distance Currently: Nothing better can be done for general graphs if we insist on routing via shortest paths
T H • Hence, -bit labels Labeling trees with -bit labels • Construct forH Depth of NCA labeling scheme ( -bit labels • Then, v A(v)
T H Constant Time Routing Decision • Given Label(v) and Label(u) • Function routing_decision_trees(Label(u),Label(v)) • Extract A(v), A(u) • Use A(v), A(u) to find the depth kof NCA(v,u)inH 1 • If k<h(v) output from Label(v) port(4,12)=1 • else (i.e., k=h(v)) output from Label(u)
Best routing labeling scheme for trees and Planar graphs [Thorup&Zwick’01] For family of n-node trees there is a routing labeling scheme with labels of size O(logn)-bits per node and constant time routing decision. [Fraigniaud&Gavoille’01]For family of n-node trees there is a routing labeling scheme with labels of size -bits per node and constant time routing decision. [Gavoille&Hanusse’99]For family of n-node planar graphs there is a routing labeling scheme with labels of size(8n +o(n))-bits per node.
Triangular systems • The Duals to Benzenoid Systems • Which is a simple circuit of the hexagonal grid and the region bounded by this circuit. • Thus, they are subgraphs of the regular triangular grid
Motivation • Applications in cellular networks • Identification code (CIC) for tracking mobile users • Dynamic location update (or registration) scheme • time based • movement based • distance based • (cell-distance based is best, according to[Bar-Noy&Kessler&Sidi’94]) • Distances • Routing protocol
Current situation • Current cellular networks do not provide information that can be used to derive cell distances • It is hard to compute the distances between cells (claim from [Bar-Noy&Kessler&Sidi’94]) • It requires a lot of storage to maintain the distance information among cells (claim from [Akyildiz&Ho&Lin’96] and [Li&Kameda&Li’00])
Recent results [Nocetti&Stojmenovic&Zhang’02]recently considered isometric subgraphs of the regular triangular grid and give among others • A new cell addressing scheme using only three small integers, one of them being zero • A very simple method to compute the distance between two sells • A short and elegant routing protocol • isometric not isometric
Our results for triangular systems • Scale 2 isometric embedding into Cartesian product of 3 trees • cell addressing scheme using only three small integers • distance labeling schemewith labels of size -bits per node and constant time distance decoder • routing labeling schemewith labels of size O(logn)-bits per node and constant time routing decision.
Distance labeling scheme for triangular systems • Given G, find three corresponding trees and addressing (O(n) time) • Construct distance labeling scheme for each tree • (O(nlogn) time) • Then, set • -bit labels and constructible in total time
Distance decoder for triangular systems • Given Label(u) and Label(v) • Function distance_decoder_triang_syst(Label(u),Label(v)) • Output ½(distance_decoder_trees( ) +(distance_decoder_trees( ) +(distance_decoder_trees( )) Thm: The family of n-node triangular systems enjoys a distance labeling scheme with -bit labels and a constant time distance decoder.
Routing labeling scheme for triangular systems • Given G, find three corresponding trees and addressing • Construct routing labeling scheme for each tree using Thorup&Zwick method (log n bit labels) • Then, set Something more
Choosing direction to go from v Direction seen twice is good
Mapping tree ports to graph ports Then, (i.e., 3xlog n+3x4x3xlogn bit labels)
Routing Decision for triangular systems Given Label(u) and Label(v) Thm: The family of n-node triangular systems enjoys a routing labeling scheme with -bit labels and a constant time routing decision.
Other Results Thm: The families of n-node (6,3)-,(4,4)-,(3,6)-planar graphs enjoy distance and routing labeling schemes with -bit labels and constant time distance decoder and routing decision. • (p,q)-planar graphs: • inner faces of length at least p • inner vertices of degree at least q
Squaregraphs: a cut and the semiplanes
Squaregraphs: cones and a decomposition tree