Routing in Histograms
Let P be an x-monotone orthogonal polygon with n vertices. We call P a simple histogram if its upper boundary is a single edge; and a double histogram if it has a horizontal chord from the left boundary to the right boundary. Two points p and q in P are co-visible if and only if the (axis-parallel) rectangle spanned by p and q completely lies in P. In the r-visibility graph G(P) of P, we connect two vertices of P with an edge if and only if they are co-visible. We consider routing with preprocessing in G(P). We may preprocess P to obtain a label and a routing table for each vertex of P. Then, we must be able to route a packet between any two vertices s and t of P, where each step may use only the label of the target node t, the routing table and neighborhood of the current node, and the packet header. We present a routing scheme for double histograms that sends any data packet along a path whose length is at most twice the (unweighted) shortest path distance between the endpoints. In our scheme, the labels, routing tables, and headers need O( n) bits. For the case of simple histograms, we obtain a routing scheme with optimal routing paths, O( n)-bit labels, one-bit routing tables, and no headers.
READ FULL TEXT