Recovering Graphs from Their Witness Unit Square Representation
Abstract
A wUSR of a graph is a set of unit squares in the plane, one per vertex, if two vertices have an edge in if their squares overlap and the overlap contains no witness. We present an output sensitive algorithm to compute a graph G based on its given witness unit square representation.
Keywords and phrases:
proximity graphs, geometric intersection graphs, witness representation, unit square intersection graph, output sensitive algorithm, range searchingCategory:
Poster AbstractFunding:
Soeren Terziadis: funded by the NWO Gravitation project NETWORKS (no. 024.002.003.)Copyright and License:
2012 ACM Subject Classification:
Mathematics of computing Graph theoryEditors:
Vida Dujmović and Fabrizio MontecchianiSeries and Publisher:
Leibniz International Proceedings in Informatics, Schloss Dagstuhl – Leibniz-Zentrum für Informatik
1 Introduction
Witness representations of graphs are a variant of geometric intersection representations of graphs, where we are given a set of convex objects and a set of points (witnesses). Every vertex is represented by one object and two vertices are connected if they intersect and their intersection contains no witness. Given a witness representation of objects and witnesses, we want to compute (recover) the graph it represents. Explicitly computing the intersection graph of all objects which intersect at most times and checking for every intersection if it contains a witness requires time. If the intersection graph is sparse, then the runtime can be reduced to . However if there are intersections between objects but the witness intersection graph has only edges, the naïve method would still require time. Our goal is to reduce this to by using an output sensitive algorithm. Towards this goal, we consider here the square version.
A witness unit square representation (wUSR) – also shown in Figure 1(a)) – is a tuple where is a set of axis-aligned unit squares and is a set of point features (witnesses). The witness unit square graph is shown in Figure 1(b)). If intersect and their intersection contains a witness , the edge is blocked by .
2 Initial Observations
To solve the problem we consider the dual of the representation, which represents any square in with its center point and every witness with a unit square centered at the witness (Figure 1(c)). The large square of is a square of side length 2 centered at .
Observation 1.
Let be two intersecting squares and let be a witness such that . Then and . Or in other words, if a witness is contained in the intersection of two squares, the dual points of both squares are contained in the dual square of the witness.
Observation 2.
Let be two intersecting squares. Then . Or in other words, if two squares intersect, then the dual point of one is in the large square of the other.
Observation 3.
Let be a squares and let be a witness such that . Then . Or in other words, if a square contains a witness, the large square of the square contains the dual square of the witness.
Intuitively the previous observations state that everything relevant for a dual point of a square is contained in its large square. We assume general position. The edges of are partitioned into a set with positive slope (right edges) and negative slope (left edges). For the remainder of this paper we focus on right edges; left edges are handled symmetrically.
Consider the top-right quadrant of a large square of . For every right edge , with lower than , the dual point of is in . For every witness that is contained within , we know by Observation 3 that it’s dual square and in particular the top-right corner of is contained in . Let be the set of top-right corners of witness dual squares that are contained in . We say a point dominates a point if is higher and further right than .
Claim 4.
Let be two dual points of the squares and , respectively. Let be the top-right quadrant of the large square of . The edge is a right edge in , if and only if and there is no top right corner , s.t., dominates .
Proof.
By Observation 2 and overlap if and only if . By Observation 3 any witness contained in has a dual square whose top right corner is contained in , therefore no corners outside of have to be considered. Finally by Observation 1 any witness contained in both and would have a top-right corner that dominates
3 Recovery Algorithm
We build a two dimensional range tree on all points in the set , i.e., all dual points of squares in . Every secondary level node corresponds to some region , a (canonical) subset of points , and a subset . We order to form a staircase. Let be the subset of not dominated by a point in , i.e. is the subset above the staircase. We store in a priority search tree [1] enabling efficient reporting of all points in , above and to the right of a query point. This can be done in time
For every point of a square , we query this data-structure with a search window corresponding to of the large square of in .The query will report a number of subsets of . The returned sets can be interpreted as a partition of the search quadrant into columns, which are again subdivided into rows (forming cells); see Figure 2. The cells are processed column by column, right to left and top to bottom within a column. When processing these cells, we track and , i.e., the highest and coordinates over all staircases and report the canonical subsets without points dominated by . Four cases of previous staircase encounters are distinguished (none, previously this column, previously in earlier column, previously this and earlier column); we refer again to Figure 2.
The last case (at most once per column, i.e., times) requires an additional query in the priority search tree. Since the query square is subdivided into at most cells – let be the set of all cells – in the query result of the range query, the entire time requirement for a single query plus processing of the cells is
since , the number of reported edges. We need one query per dual point of a square in and correctly compute all right edges in time .
Theorem 5.
Given a wUSR with unit squares and witnesses, we can compute the implied graph in time, where is the number of edges in .
References
- [1] Mark de Berg, Otfried Cheong, Marc J. van Kreveld, and Mark H. Overmars. Computational geometry: Algorithms and applications, 3rd Edition. Springer, 2008. doi:10.1007/978-3-540-77974-2.
