Download presentation
Presentation is loading. Please wait.
Published byFrancine Blair Modified over 6 years ago
1
Distance and Routing Labeling Schemes in Graphs
Feodor F. Dragan Computer Science Department Kent State University
2
Talk is based on Known results for trees Kannan&Naor&Rudich’88,
Peleg’99 and ’00, Thorup&Zwick’01, Fraigniaud&Gavoille’01
3
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
4
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?
5
“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 u and v are 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?
6
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 F with 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)
7
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)). Labels contain bits
8
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!
9
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?
10
Negative results Note: Graph class F is adjacency-labelable using bit labels each G from F is fully defined by bits # of represented graphs Therefore: Graph family F containing n-node graphs is not adjacency-labelable using bit labels. Negative examples: Bipartite / chordal graphs
11
Question: Can this be done for other. types of information
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
12
Question: Can this be done for other. types of information
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
13
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
14
Simple examples Enjoy bit distance labeling schemes with constant-time decoder Distance
15
[Gavoille,&Peleg&Perennes&Raz’01]
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 / …)
16
Distance labeling on trees [Peleg’99]
Preprocessing: Arbitrarily label each node v of T with distinct integers I(v) from [1..n]
17
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
18
Labeling H T Construct for H Depth of NCA labeling scheme ( bit labels [Peleg’00] and constant (can be made) decision time) Then, v A(v) Hence, bit labels
19
Constant Time Distance Decoder
H T (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) in H 1 Output , by extracting appropriate entries from labels 2+2=4
20
Lower bounds and Planar graphs
[Gavoille,&Peleg&Perennes&Raz’01]
21
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
22
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
23
Labeling trees with -bit labels
Construct for H Depth of NCA labeling scheme ( bit labels Then, v A(v) Hence, bit labels
24
Constant Time Routing Decision
H 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 k of NCA(v,u) in H 1 If k<h(v) output from Label(v) port(4,12)=1 else (i.e., k=h(v)) output from Label(u)
25
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.
Similar presentations
© 2025 SlidePlayer.com. Inc.
All rights reserved.