Let $T^* = \{P^*_1, \ldots, P^*_N\}$ be a polygonal tiling of a simply connected region in the plane, and let $T = \{P_1, \ldots, P_N\}$ be a noisy version of $T^*$ obtained by making small perturbations to the coordinates of the vertices of the polygons in $T^*$. In general, $T$ will only be an approximate tiling, due to the presence of gaps and overlaps between the perturbed polygons in $T$. The areas of these gaps and overlaps are typically small relative to the areas of the polygons themselves. Suppose that we are given the approximate tiling $T$ and we wish to recover the tiling $T^*$. To address this problem, we introduce a new algorithm, called {\tt smart\_repair}, to modify the polygons in $T$ to produce a tiling $\widetilde{T} = \{\widetilde{P}_1, \ldots, \widetilde{P}_N\}$ that closely approximates $T^*$, with special attention given to reproducing the {\em adjacency relations} between the polygons in $T^*$ as closely as possible. The motivation for this algorithm comes from computational redistricting, where algorithms are used to build districts from smaller geographic units. Because districts in most U.S. states are required to be contiguous, these algorithms are fundamentally based on adjacency relations between units. Unfortunately, the best available map data for unit boundaries is often noisy, containing gaps and overlaps between units that can lead to substantial inaccuracies in the adjacency relations. Simple repair algorithms can exacerbate these inaccuracies, with the result that algorithmically drawn districts based on the ``repaired" units may be discontiguous, and hence not legally compliant. The algorithm presented here is specifically designed to avoid such problems. A Python implementation is publicly available as part of the MGGG Redistricting Lab's {\tt Maup} package, available at https://github.com/mggg/maup.
翻译:设 $T^* = \{P^*_1, \ldots, P^*_N\}$ 为平面上一个单连通区域的多边形铺砌,$T = \{P_1, \ldots, P_N\}$ 是通过对 $T^*$ 中多边形顶点坐标进行微小扰动而得到的噪声版本。通常,由于扰动多边形之间存在缝隙和重叠,$T$ 仅是一个近似铺砌。这些缝隙和重叠的面积通常远小于多边形本身的面积。假设我们已知近似铺砌 $T$,并希望恢复铺砌 $T^*$。为解决此问题,我们引入一种名为 {\tt smart\_repair} 的新算法,用于修改 $T$ 中的多边形以生成一个铺砌 $\widetilde{T} = \{\widetilde{P}_1, \ldots, \widetilde{P}_N\}$,该铺砌能紧密逼近 $T^*$,并特别注重尽可能准确地复现 $T^*$ 中多边形之间的{\em 邻接关系}。该算法的动机源于计算性选区重划领域,在该领域中,算法被用于从较小的地理单元构建选区。由于美国大多数州要求选区必须具有连通性,这些算法根本上依赖于单元之间的邻接关系。遗憾的是,现有的最佳单元边界地图数据通常含有噪声,包含单元之间的缝隙和重叠,这可能导致邻接关系出现显著不准确性。简单的修复算法可能加剧这些不准确性,导致基于“修复后”单元算法绘制的选区可能不连通,从而不符合法律要求。本文提出的算法专门设计用于避免此类问题。该算法的 Python 实现已作为 MGGG 重划实验室 {\tt Maup} 软件包的一部分公开提供,可从 https://github.com/mggg/maup 获取。