Results

**1 - 4**of**4**### Chapter 14 Labeling Schemes

"... Imagine you want to repeatedly query a huge graph, e.g., a social or a road network. For example, you might need to find out whether two nodes are connected, or what the distance between two nodes is. Since the graph is so large, you distribute it among multiple servers in your data center. 14.1 Adj ..."

Abstract
- Add to MetaCart

(Show Context)
Imagine you want to repeatedly query a huge graph, e.g., a social or a road network. For example, you might need to find out whether two nodes are connected, or what the distance between two nodes is. Since the graph is so large, you distribute it among multiple servers in your data center. 14.1 Adjacency Theorem 14.1. It is possible to assign labels of size 2 log n bits to nodes in a tree so that for every pair u, v of nodes, it is easy to tell whether u is adjacent to v by just looking at u and v’s labels. Proof. Choose a root in the tree arbitrarily so that every non-root node has a parent. The label of each node u consists of two parts: The ID of u (from 1 to n), and the ID of u’s parent (or nothing if u is the root). Remarks: • What we have constructed above is called a labeling scheme, more precisely a labeling scheme for adjacency in trees. Formally, a labeling scheme is defined as follows. Definition 14.2. A labeling scheme consists of an encoder e and a decoder d. The encoder e assigns to each node v a label e(v). The decoder d receives the labels of the nodes in question and returns an answer to some query. The largest size (in bits) of a label assigned to a node is called the label size of the labeling scheme. Remarks: • In Theorem 14.1, the decoder receives two node labels e(u) and e(v), and its answer is Yes or No, depending on whether u and v are adjacent or not. The label size is 2 log n. • The label size is the complexity measure we are going to focus on in this chapter. The run-time of the encoder and the decoder are two other complexity measures that are studied in the literature.

### Efficiently Computing Top-K Shortest Path Join

"... Driven by many applications, in this paper we study the problem of computing the top-k shortest paths from one set of target nodes to another set of target nodes in a graph, namely the top-k shortest path join (KPJ) between two sets of target nodes. While KPJ is an extension of the problem of comput ..."

Abstract
- Add to MetaCart

(Show Context)
Driven by many applications, in this paper we study the problem of computing the top-k shortest paths from one set of target nodes to another set of target nodes in a graph, namely the top-k shortest path join (KPJ) between two sets of target nodes. While KPJ is an extension of the problem of computing the top-k shortest paths (KSP) between two target nodes, the existing technique by convert-ing KPJ to KSP has several deficiencies in conducting the compu-tation. To resolve these, we propose to use the best-first paradigm to recursively divide search subspaces into smaller subspaces, and to compute the shortest path in each of the subspaces in a prioritized order based on their lower bounds. Consequently, we only compute shortest paths in subspaces whose lower bounds are larger than the length of the current k-th shortest path. To improve the efficiency, we further propose an iteratively bounding approach to tightening lower bounds of subspaces. Moreover, we propose two index struc-tures which can be used to reduce the exploration area of a graph dramatically; these greatly speed up the computation. Extensive performance studies based on real road networks demonstrate the scalability of our approaches and that our approaches outperform the existing approach by several orders of magnitude. Further-more, our approaches can be immediately used to compute KSP. Our experiment also demonstrates that our techniques outperform the state-of-the-art algorithm for KSP by several orders of magni-tude. 1.

### Chapter 14 Labeling Schemes

"... Imagine you want to repeatedly query a huge graph, e.g., a social or a road network. For example, you might need to find out whether two nodes are connected, or what the distance between two nodes is. Since the graph is so large, you distribute it among multiple servers in your data center. 14.1 Adj ..."

Abstract
- Add to MetaCart

(Show Context)
Imagine you want to repeatedly query a huge graph, e.g., a social or a road network. For example, you might need to find out whether two nodes are connected, or what the distance between two nodes is. Since the graph is so large, you distribute it among multiple servers in your data center. 14.1 Adjacency Theorem 14.1. It is possible to assign labels of size 2 log n bits to nodes in a tree so that for every pair u, v of nodes, it is easy to tell whether u is adjacent to v by just looking at u and v’s labels. Proof. Choose a root in the tree arbitrarily so that every non-root node has a parent. The label of each node u consists of two parts: The ID of u (from 1 to n), and the ID of u’s parent (or nothing if u is the root). Remarks: • What we have constructed above is called a labeling scheme, more precisely a labeling scheme for adjacency in trees. Formally, a labeling scheme is defined as follows. Definition 14.2. A labeling scheme consists of an encoder e and a decoder d. The encoder e assigns to each node v a label e(v). The decoder d receives the labels of the nodes in question and returns an answer to some query. The largest size (in bits) of a label assigned to a node is called the label size of the labeling scheme. Remarks: • In Theorem 14.1, the decoder receives two node labels e(u) and e(v), and its answer is Yes or No, depending on whether u and v are adjacent or not. The label size is 2 log n. • The label size is the complexity measure we are going to focus on in this chapter. The run-time of the encoder and the decoder are two other complexity measures that are studied in the literature.

### Principles of Distributed Computing

"... What is Distributed Computing? In the last few decades, we have experienced an unprecedented growth in the area of distributed systems and networks. Distributed computing now encompasses many of the activities occurring in today’s computer and communications ..."

Abstract
- Add to MetaCart

(Show Context)
What is Distributed Computing? In the last few decades, we have experienced an unprecedented growth in the area of distributed systems and networks. Distributed computing now encompasses many of the activities occurring in today’s computer and communications