Next Article in Journal
Certified Adaptive Triangulation Sampling for Deterministic Pareto-Surface Reconstruction
Previous Article in Journal
Multi-Swarm Particle Swarm Optimization with Multi-Learning Strategy
 
 
Font Type:
Arial Georgia Verdana
Font Size:
Aa Aa Aa
Line Spacing:
Column Width:
Background:
Article

A Spatial Alignment Problem

by
Armin R. Mikler
1,
Chetan Tiwari
1,2 and
Murray Patterson
1,*
1
Department of Computer Science, Georgia State University, Atlanta, GA 30302, USA
2
Department of Geosciences, Georgia State University, Atlanta, GA 30302, USA
*
Author to whom correspondence should be addressed.
Algorithms 2026, 19(6), 475; https://doi.org/10.3390/a19060475
Submission received: 21 April 2026 / Revised: 29 May 2026 / Accepted: 5 June 2026 / Published: 11 June 2026

Abstract

This work concerns the harmonization of geospatial data to improve linkages between place-based characteristics and health outcomes. Such data are typically available as geographic layers, each representing a distinct attribute (e.g., income or distance to a clinic). Since layers are typically constructed independently, their boundaries tend to be spatially incongruent, which can create inconsistencies and introduce bias. This motivates developing algorithmic approaches for aligning such layers while aiming to preserve spatial integrity. This paper formalizes the problem of aligning k collections of m spatial supports over n spatial units in a d-dimensional Euclidean space such that maximum distortion to any collection is minimized. In the above setting, k is the number of layers; n is an indivisible population unit (e.g., census tract); m denotes supports, which are larger regions aggregating a set of contiguous units in order to capture broader regional patterns or enhance statistical stability; and d = 2 . It is shown that: (1) the one-dimensional case is solvable in time polynomial in k, m, and n; (2) the two-dimensional case is NP-hard for two collections of two supports each; and (3) a heuristic can be provided for aligning a set of collections in the two-dimensional case, which is of practical importance.

1. Introduction

Public health decision-making often requires analyzing spatial data to understand how to best allocate resources or to determine possible associations between regional characteristics and health outcomes [1,2,3]. Regional characteristics can be measured at the level of a fundamental spatial unit such as a census tract, or as an aggregation of these spatial units based on a shared common property [4,5,6,7]. For example, regions may be delineated based on travel time to healthcare facilities, the spatial distribution of vulnerable populations, or patterns of social and economic disparities. However, these independently derived regions representing different attributes will almost always have misaligned boundaries, creating challenges for data harmonization.
In major public health efforts such as disease control and prevention, effective intervention hinges upon combining diverse data sources such as socioeconomic factors, environmental exposure, or healthcare access. In this context, spatial discordance necessitates the development of robust methodologies for data harmonization [8]. Such methodologies are crucial for enabling the precise integration of information across heterogeneous regions, thereby facilitating a more nuanced understanding of complex spatial processes and ultimately informing the design of targeted evidence-based public health strategies.
Figure 1 showcases an example where hospital service regions (second panel) are misaligned with the populations that they serve (third panel). Such misalignment may create inefficiencies in the allocation of limited resources such as language translators (fourth panel). The leftmost map illustrates a base set of census tracts (first panel) which are aggregated into larger regions using various criteria and methodologies, as shown in subsequent maps (second, third, and fourth panels). For instance, regions can be defined based on service areas determined by driving time distance (second panel), equal populations of females (third panel), or the distribution of language vulnerable subpopulations (fourth panel). Each of these regionalizations serves a specific purpose and is generated using a different analytical approach (UPAS [9], AZTool [10,11], ArcGIS Pro 3.5). However, the resulting regions are spatially incongruent and have boundaries that rarely coincide, posing a significant obstacle to the data harmonization required for optimal allocation of resources such as language translators.
Figure 2 gives a high-level outline of the proposed approach for reconciling misaligned boundaries using a simplified example with two sets of regions constructed from a base set of units (represented by rectangles). The first region consists of hospital service areas based on driving time distances (S1, S2, S3), while the second is a single cluster of a language-vulnerable population (hash shaded rectangles). Existing approaches may rely on GIS-based intersection operations that simply allocate each hashed block to its corresponding hospital service area based on overlap [12]. This strategy results in the allocation of a translator in each of the three hospitals despite the fact that there exists only one cluster of a language-vulnerable population.
The left panel of Figure 2 illustrates the pitfalls of employing a naive GIS approach to analyze the intersection of misaligned spatial datasets. This straightforward approach has a fundamental limitation: it requires prioritizing one set of regional boundaries, leading to the other set being fragmented, distorted, or even completely disregarded. In this instance, the hospital service areas (S1, S2, S3) are prioritized, while the vulnerable population region is subjected to a basic GIS operation, such as “intersection”, to assess its relationship with the driving time service regions. This operation, commonly found in most GIS software packages, can be executed using various rules to determine how spatial units from the vulnerable population zone are assigned to the hospital service areas. These rules might include centroid-based assignment, where the unit is allocated to the region containing its centroid; predominant area overlap, where the unit is assigned to the region with the largest intersecting area; or even weighted assignment based on the proportion of overlap with different regions. However, despite offering some flexibility in how individual units are assigned, these rules all fundamentally prioritize the predefined hospital service areas and can lead to undesirable consequences, such as the fragmentation of the vulnerable population zone. Observe how two units containing the vulnerable population are assigned to S3, while the remaining two units are allocated to S1 and S2, respectively. This fragmentation disrupts the inherent spatial cohesion of the vulnerable population, leading to the suboptimal allocation of resources. In essence, this naive approach prioritizes the predefined hospital service areas, imposing their boundaries onto the vulnerable population zone with no attempt to reconcile or compromise between the two.
In contrast, the right panel of Figure 2 showcases an illustrative example of our proposed algorithm for reconciling misaligned spatial boundaries. Instead of imposing one set of boundaries upon another, our algorithm facilitates a dynamic interplay in which both the hospital service areas (S1, S2, S3) and the vulnerable population region (collection of hashed units) can cede and acquire base spatial units to achieve a more harmonious alignment that represents a compromise between the two layers. In the reconfigured hospital service areas (S1, S2, and S3), the constituent units of S3 now incorporate a majority of the vulnerable population region.
Simultaneously, to maintain the integrity of hospital service areas, a base spatial unit containing a vulnerable population has been assigned to S1. While this specific strategy might not be ideal, it highlights the algorithm’s ability to negotiate and compromise between competing spatial objectives, ensuring that no single region is disproportionately affected by the reconciliation process. These targeted adjustments are achieved through the strategic reassignment of base units, highlighting the algorithm’s capacity to fine-tune boundaries with minimal alteration of the overall structure of the predefined regions. This approach involves an optimization framework that balances competing objectives, such as minimizing changes in the assignment of base units while preserving the overall shape and contiguity of the regions.
The challenges posed by misaligned spatial datasets extend beyond the specific example illustrated in Figure 2. Another critical application of boundary reconciliation lies in the analysis of geographic patterns derived from disease maps, which are essential tools in spatial epidemiology and public health [13,14,15]. Disease maps often face the issue of “small numbers”, particularly in regions with sparse populations or infrequent disease cases, where rate calculations can become unstable and yield misleading spatial patterns [16]. To address this, various smoothing techniques are applied to stabilize estimates and provide a clearer depiction of disease distribution. Methods such as empirical Bayes smoothing [17,18], kernel density smoothing [19,20], headbanging [21,22], and spatial interpolation are commonly used. Each creates smoothed regions that aggregate smaller spatial units into larger regions with sufficient populations in order to support reliable rate estimates [16,19,23]. However, these smoothed regions may not align with boundaries of other relevant datasets such as demographic, environmental, or socioeconomic variables, which may be needed for a deeper understanding of disease dynamics. This misalignment can complicate efforts to examine spatial relationships between disease patterns and potential risk factors. Thus, boundary reconciliation becomes essential for integrating these disease maps with other data layers, ensuring that associations between disease rates and covariates are examined using the same underlying geographic regions.
The rest of the paper is structured as follows. In Section 2, we formally introduce the problem that we set out to solve. This problem (Problem 1) is to align k collections of m spatial supports over a universal set U of n spatial units in a d-dimensional Euclidean space such that the maximum distortion to any collection is minimized. In Section 3, we show that if the Euclidean geospatial region that the set U of units is over is one-dimensional (i.e., if d = 1 ), then this problem is solvable in polynomial time in k, m, and n. In Section 4, we show that if the geospatial region is two-dimensional—which is the typical case for maps (e.g., Figure 1 and Figure 2)—then the problem is NP-hard, even in the case of two collections with two supports each. Finally, in Section 5 we outline a heuristic for this problem in the general two-dimensional case. Section 6 concludes the paper and outlines future work.

2. Problem Formulation

We now formally introduce the problem of aligning collections of spatial supports which share a common set of spatial units. For example, Figure 3a,b depicts two collections of four supports each (green, yellow, orange, and blue) which share a common set of 16 spatial units (rectangular blocks). The goal is to swap units from one support to another within each collection (change the colors of blocks) until the collections are identical, i.e., are aligned, as depicted in Figure 3c. Note that there are many different ways to align the supports, i.e., the alignment depicted in Figure 3c is not unique. With this in mind, it would be preferable to align such collections using the minimum number of (possibly weighted) swaps. This optimization problem is easy in some cases, and (NP-) hard in others.
In general, the alignment problem is on a set U of n spatial units, with each unit u U having a population count p ( u ) that is within a certain spatial boundary and disjoint from other units. These spatial units can represent census tracts or ZIP code tabulation areas. Constructing maps (e.g., choropleth maps, which reflect certain rates within a population, such as cancer incidence) provides an intuitive way to portray the geospatial patterns of such rates. This can provide decision support in public health surveillance, which in turn can aid officials to form the appropriate policies. Building such a map at the level of an individual unit can produce misleading results due to small populations in some units, resulting in statistically unstable rates. To remedy this issue, sets s U of contiguous units are aggregated to create larger spatial supports with adequate population counts in order to ensure stable rate calculation, as depicted in Figure 3a.
Suppose a certain rate, e.g., prostate cancer incidence, can be mostly explained by a factor such as age; in this case, we want to create several maps to represent each age stratum in order to more clearly portray age as a factor in determining the rate. For the sake of illustration, suppose that S and T , depicted in Figure 3a,b are two such maps, represented as collections of supports over U. In S , the populations p S ( u ) of each unit u in s 1 , s 2 , s 3 , s 4 are 20, 20, 10, 15, respectively—e.g., p S ( u 1 , 1 ) = 20 ( u 1 , 1 s 1 ), and p S ( u 4 , 4 ) = 10 ( u 4 , 4 s 3 )—while the populations p T ( u ) of each unit u in t 1 , t 2 , t 3 , t 4 are 15, 15, 12, 20, respectively. In this way, the total population in any support (of S or T ) is 60. We want to consolidate the information across these maps onto a single map, however, which requires us to align their collections of supports. To align collections of supports is to modify the supports of all collections in terms of the units they contain, such that the resulting supports remain contiguous and the resulting collections are identical. This can be viewed as “swapping” units between neighboring supports until the desired alignment is reached. For example, Figure 3c depicts an alignment of collections S and T . Such an alignment is obtained from S by swapping u 1 , 2 and u 2 , 2 from s 4 (blue) to s 1 (green), u 2 , 3 from s 3 (orange) to s 1 (green), and u 2 , 4 from s 3 (orange) to s 4 (blue). The alignment is obtained from T by swapping u 2 , 1 and u 3 , 1 from t 2 (yellow) to t 1 (green) and swapping u 3 , 2 from t 3 (orange) to t 2 (yellow).
Since any collection of contiguous supports is an alignment, including supports that may not be currently present, e.g., a hypothetical s 5 , it is desirable to produce an alignment that minimizes the maximum number of changes in any one collection. Since S and T disagree on seven units u 2 , 1 , u 3 , 1 , u 1 , 2 , u 2 , 2 , u 3 , 2 , u 2 , 3 , u 2 , 4 (annotated with the red dots in Figure 3c), one collection must have at least four changes (the other collection having three changes); hence, the alignment depicted in Figure 3c satisfies this criterion. This need for adjustment leads to the notion of a distance d ( S , T ) between a pair S and T of collections of spatial supports, that is, the number of swaps needed to transform S into T ; this is simply the number of units on which the pair of collections disagree. Here, d ( S , T ) = 7 ; since an alignment is just another collection, if we denote the alignment of Figure 3c as collection A of supports, then d ( S , A ) = 4 and d ( T , A ) = 3 . Note that this distance is symmetric.
The units of the different collections being swapped contain populations; hence, each swap has an associated cost, namely, the population p C ( u ) of the unit u in the collection C being swapped. For example, in S , swapping u 1 , 2 from s 4 (blue) to s 1 (green) costs p S ( u 1 , 2 ) = 15 . This idea leads to the notion of a weighted distance d w ( S , A ) between a pair S and A of collections of spatial supports, or the overall cost of the swaps needed to transform S into A . Here, d w ( S , A ) = p S ( u 1 , 2 ) + p S ( u 2 , 2 ) + p S ( u 2 , 3 ) + p S ( u 2 , 4 ) = 15 + 15 + 10 + 10 = 50 , while d w ( T , A ) = p T ( u 2 , 1 ) + p T ( u 3 , 1 ) + p T ( u 3 , 2 ) = 15 + 15 + 12 = 42 . Note that this weighted distance is not symmetric, i.e., d w ( S , T ) d w ( T , S ) in general. More precisely, it is desirable to produce an alignment A that minimizes the maximum weighted distance d w ( C , A ) between any collection C of spatial supports and A . After careful inspection, no alignment can achieve such a weighted distance of less than 50; hence, the alignment depicted in Figure 3c satisfies this weighted criterion as well. We formalize the alignment problem as follows.
Problem 1
(The Alignment Minimization Problem). Input: A base set U = { u 1 , , u n } of units over some d-dimensional Euclidean geospatial region and set 𝒞 = { C 1 , , C k } of collections of spatial supports. Each unit u U has a population p C ( u ) from p C : U N specific to each collection C 𝒞 . Each C 𝒞 is a collection { s C 1 , s C m } of contiguous supports such that (a) s U for each s C , (b) s t = for any pair s , t C of distinct supports, and (c) s C s = U . Output: A collection A of contiguous supports which satisfies properties (a–c) above such that max { d w ( C , A ) | C 𝒞 } is minimized.
Note that properties (a–c) ensure that the set of supports partitions the base set U, that is, (a) the supports contain sets of contiguous units, (b) pairs of distinct supports are disjoint, and (c) the supports cover the base set U.
In Section 3, we show that if the Euclidean geospatial region that the set U of units is over is one-dimensional, i.e., if d = 1 , then Problem 1 is solvable in polynomial time in k, m, and n. In Section 4, we show that if the geospatial region is two-dimensional, i.e., d = 2 , which is the typical case in this context of constructing age-adjusted maps, then the same problem is NP-hard even in the case of two collections ( k = 2 ) each with two supports. Finally, in Section 5 we outline a heuristic for the problem in the two-dimensional case, i.e., when d = 2 . Section 6 concludes the paper and outlines future work.

3. Tractability Results

In this section, we show that if the Euclidean geospatial region that the set U of units is over is one-dimensional, then Problem 1 is solvable in an amount of time that is a polynomial function of k, m, and n.
Consider the set of four collections of three spatial supports over the common set of nine spatial units depicted in Figure 4. Because the one-dimensional case is so restrictive, each support (e.g., the orange support) is adjacent to at most two other supports (to the left, e.g., the green support and the right, e.g., the blue support). Hence, the set of supports in each collection can be enumerated from left to right (from 1 to m), and the i-th supports ( i [ 1 , m ] ) of each collection must align. Disagreements between the i-th and ( i + 1 ) -th supports are then contained in a window of width at most n (the number | U | of units). Aligning these two supports involves scanning this window to find the separator (between a pair of units) with the minimum cost. For example, in Figure 4, the disagreements between the first (green) and second (orange) supports are contained in the transparent window on the left, with two choices of separator. Suppose that each unit (of each collection) of U has a population size of 1. Placing the separator between u 2 and u 3 implies coloring u 3 of each collection orange, which has a cost of 3. Placing the separator between u 3 and u 4 instead implies coloring u 3 of each collection green, which has a lower cost of 1. The disagreements between the second (orange) and third (blue) supports in Figure 4 are contained in the transparent window on the right, with three choices of separator. Of these three choices, placing the separator between u 6 and u 7 costs 2, while the other two choices cost 4 each.
The window between a pair of neighboring supports has width at most n (the number | U | of units) and height k (the number of collections). For n + 1 separators, each step of a scan within the window from left to right involves updating k units for at most k ( n + 1 ) operations. There are m 1 such windows (between each pair of neighboring supports of a set of m supports); hence, the overall number of operations is at most k ( n + 1 ) ( m 1 ) O ( k m n ) . Note that windows may overlap, since the supports are nonempty and are enumerated from left to right, but no window will be contained in another. This implies that the best separator of a window that begins to the left of another window will also be to the left of the best separator of the other window. If they are at the same position, this simply means that the corresponding support (say i) is empty; in this case, the optimal alignment of m supports comprises m 1 supports.

4. Hardness Results

In this section, we show that if the Euclidean geospatial region that the set U of units is over is two-dimensional, then Problem 1 is NP-hard. The construction involves two collections, each with two supports. This implies that the alignment minimization problem in d dimensions is NP-hard for k , m , d 2 .
Theorem 1.
Problem 1 in d dimensions is NP-hard for k , m , d 2 .
Proof. 
We first consider the following decision version of Problem 1.
Problem 2
(The Alignment Decision Problem). Input: A base set U = { u 1 , , u n } of units over some d-dimensional Euclidean geospatial region and set 𝒞 = { C 1 , , C k } of collections of spatial supports. Each unit u U has population p C ( u ) from p C : U N , specific to each collection C 𝒞 . Each C 𝒞 is a collection { s C 1 , s C m } of contiguous supports such that (a) s U for each s C , (b) s t = for any pair s , t C of distinct supports, and (c) s C s = U .  Decision: Does there exist a collection A of contiguous supports which satisfy properties (a–c) above such that max { d w ( C , A ) | C 𝒞 } = D ?
Clearly, if the Alignment Decision Problem in 2 is NP-hard, then so is its optimization version, i.e., the Alignment Minimization Problem in 1. We now construct a polynomial (Karp) reduction from the following Partitioning Problem to the Alignment Decision Problem in 2.
Problem 3
(The Partitioning Problem). Input: A multiset X = { x 1 , , x n } of positive integers. Decision: Does there exist a partition of X into two disjoint ( X 1 X 2 = ) subsets X 1 X and X 2 X such that the difference between the sum x X 1 x of elements in X 1 and the sum x X 2 x of elements in X 2 is Δ?
The Partitioning Problem in 3 is NP-hard, as demonstrated in [24]. We now build a reduction from Problem 3 to Problem 2 in order to demonstrate that the latter problem is NP-hard.
Given an instance X = { x 1 , , x n } of the Partitioning Problem in 3, we construct the base set U { a , b } of spatial units, where U = { u 1 , , u n } , as depicted in Figure 5. We then introduce the two collections S = { s 1 , s 2 } and T = { t 1 , t 2 } of spatial supports, where s 1 = { a } U , s 2 = { b } , t 1 = { a } , and t 2 = U { b } . For each collection C { S , T } , p C ( u i ) = x i for each i { 1 , , n } and p C ( a ) = p C ( b ) = S + 1 , where S = x X x . The idea is that units a and b have sufficiently large populations that they remain in different supports in any alignment of S and T within a given distance threshold. In this case, the alignment is obtained by swapping only the elements of U in either S or T , which corresponds to a partition of U. We prove the following claim to complete the proof.
Claim. There exists a partition of X where the difference between the sum of the two parts is Δ if and only if there exists a collection A of contiguous supports which satisfies properties (a–c) of Problem 2 such that max { d w ( S , A ) , d w ( T , A ) } = S + Δ 2 .
(⇒) Suppose that there exists a partition ( X 1 , X 2 ) of X such that the difference between S 1 = x X 1 x and S 2 = x X 2 x is Δ . Then, consider collection A with supports { a } U 1 and U 2 { b } , where U 1 (resp. U 2 ) is the set of units corresponding to X 1 (resp. X 2 ). By inspecting Figure 5, it is clear that A satisfies properties (a–c). It follows that d w ( S , A ) = S 2 , since the units of U 2 need to be swapped from s 1 to s 2 in order to transform collection S into A . Conversely, d w ( T , A ) = S 1 , since the units of U 1 need to be swapped from t 2 to t 1 in order to transform collection T into A . Suppose, without loss of generality, that S 1 is the larger sum, i.e., S 1 > S 2 ; hence, S 1 S 2 = Δ . Since S 1 + S 2 = S , it follows that S 1 ( S S 1 ) = Δ ; then, 2 S 1 = S + Δ and S 1 = S + Δ 2 . Since S 1 is the larger sum, it follows that max { d w ( S , A ) , d w ( T , A ) } = S 1 = S + Δ 2 .
(⇐) Suppose that there exists a collection A of contiguous supports which satisfies properties (a–c) of Problem 2 such that max { d w ( S , A ) , d w ( T , A ) } = S + Δ 2 . Since Δ S , it follows that S + Δ 2 S ; hence, both d w ( S , A ) S and d w ( T , A ) S . Therefore, it must be the case that units a and b are in two different supports of A , otherwise a swap of weight at least S + 1 would be needed to transform S or T into A , contradicting the assumption that d w ( S , A ) S and d w ( T , A ) S . Suppose, without loss of generality, that d w ( S , A ) = S + Δ 2 . Then, the support of A that contains unit a must agree with s 1 on a subset U 1 U of units with u U 1 p S ( u ) = S Δ 2 . Since u U p S ( u ) = S , it follows that U 2 = U U 1 has u U 2 p S ( u ) = S S Δ 2 = S + Δ 2 . Since S + Δ 2 S Δ 2 = Δ , it follows that ( U 1 , U 2 ) is a partition of U such that the difference between the sum of the (populations of the) two parts is Δ ; hence, there exists such a partition of X. □

5. A Heuristic for the Two-Dimensional Case

In this section, we give a (polynomial time) heuristic for the Alignment Minimization Problem in 1 when the geospatial region is two-dimensional, i.e., d = 2 . We first give a heuristic for a pair of collections ( k = 2 ) in two dimensions (in Section 5.1), then show how this can be extended to a general set of (more than two) collections ( k 2 ) in two dimensions (in Section 5.2), i.e., to the Alignment Minimization Problem when d = 2 .

5.1. Aligning a Pair of Collections in Two Dimensions

Figure 3 depicts an example of this special case of aligning only two collections of supports, in this case (a) and (b). Thus, it is a special case of the Alignment Minimization Problem in 1 when k = 2 and d = 2 . Since there are only two collections, the idea is that if each support in one collection is matched up with another support in the other collection, then these pairs of supports are aligned with each other. For example, in the instance depicted in Figure 3, s i S is matched with t i T for each i { 1 , 2 , 3 , 4 } . We first need the following definition of a shared units graph.
Definition 1
(Shared Units Graph G x ). The shared units graph for a pair S , T of collections of spatial supports is the weighted graph G x = ( S , T , E = S × T , w : E R ) , where each edge e E has weight w ( e ) = u s t p S ( u ) + p T ( u ) .
The shared units graph G x gives a measure of the weighted overlap of the supports between each collection. This information is used to match the supports between each collection. More precisely, supports between each collection are paired according to a maximum-weight perfect matching in G x . For example, Figure 6 depicts the shared units graph G x of the instance depicted in Figure 3, where, e.g., w ( s 1 , t 1 ) = 35 because s 1 t 1 = u 1 , 1 and p S ( u 1 , 1 ) + p T ( u 1 , 1 ) = 20 + 15 = 35 . After careful inspection, the maximum-weight perfect matching of the graph depicted in Figure 6 is { ( s 1 , t 1 ) , ( s 2 , t 2 ) , ( s 3 , t 3 ) , ( s 4 , t 4 ) } of weight 35 + 70 + 88 + 70 = 263. Thus, the supports for this instance of Figure 3 are paired accordingly, as represented by the matching colors.
In general, a maximum-weight perfect matching M in a weighted graph G = ( V , E , w ) can be found in time O ( | V | log | V | + | V | · | E | ) using a Fibonacci heap [25]. Note that, in general, the number of supports of one collection may be different than the other. Suppose, without loss of generality, that | S | > | T | for some pair S , T of collections of supports. In this case, a perfect matching M is found in the shared units graph G x for S , T , and each remaining unmatched support in S is associated with one of the supports in T . After this process, each support in t T is matched with a support s S , and possibly with another subset S S of supports. The idea is that { s } S should be a contiguous set of supports in S ; hence, the criteria for associating each unmatched support in S with some support t T is that the resulting subset S S associated with t be such that { s } S while maximizing w ( s , t ) for each s S . Since we would expect | S | | T | to typically be a constant, all combinations could be tried to achieve this; hence, the overall procedure of pairing each support (or set of supports) of S with a support in T takes polynomial time. In cases where this does not hold ( | S | | T | is not a constant), a more efficient algorithm for determining (or approximating) this would be possible, which is the subject of future work.
The purpose of pairing each support s (or set S of supports) in one collection S with another support t in the other collection T is to determine how the trading procedure for aligning pair S , T of collections operates. In particular, each support s S (resp., set S S ) and its counterpart t T swap units with their respective neighbors until they are aligned (are on the same set of units). Figure 3c depicts an alignment of collections S (of Figure 3a) and T (of Figure 3b) according to the maximum-weight matching { ( s 1 , t 1 ) , ( s 2 , t 2 ) , ( s 3 , t 3 ) , ( s 4 , t 4 ) } in the shared units graph G x of S , T depicted in Figure 6. While Figure 3c depicts an optimal alignment of these collections S and T , we outline a polynomial-time heuristic for the general case, since it is NP-hard (see Section 4).
Aligning a pair of collections of supports in two dimensions is a partitioning problem (the NP-hardness proof of this case based on a reduction from the Partitioning Problem in 3). Hence, we apply a straightforward greedy partitioning heuristic to the problem, which is slightly more general than the longest processing time first (LPT) scheduling heuristic [26,27]. In LPT scheduling, we are given a set of numbers and a positive integer m, and the goal is to partition this set into m subsets such that the largest sum of any subset (in terms of the values of its elements) is minimized. This problem is NP-hard because its decision version (the Partitioning Problem in 3) is NP-hard. The LPT scheduling heuristic is to order the elements of the set from largest to smallest and to iteratively place each element from this sorted list in the subset (of m subsets) with the smallest sum so far, until all elements are placed. In our variation we have two sets, one for each of the pair of collections; that is, given the set U U of units on which the pair, say S , T , of collections disagree (based on the pairing of supports between S and T ), we first sort U in descending order of population according to both p S and p T separately. We then partition U into two parts S and T, representing S and T , respectively. This is an iterative process which considers the part with the currently lower population (breaking ties arbitrarily) and adds the next element to this part according to its ordering. For example, if part S has the currently lower population, then u S p S ( u ) < u T p T ( u ) , and we would add the next largest element of U (according to S ) to S. The iteration terminates when all elements of U have been assigned to either S or T.
For example, consider the instance S , T depicted in Figure 3, where the populations p S ( u ) of each unit u in s 1 , s 2 , s 3 , s 4 of S are 20, 20, 10, and 15, respectively, while the populations p T ( u ) of each unit u in t 1 , t 2 , t 3 , t 4 of T are 15, 15, 12, and 20, respectively. Here, the set U of units on which S , T disagree is U = { u 2 , 1 , u 3 , 1 , u 1 , 2 , u 2 , 2 , u 3 , 2 , u 2 , 3 , u 2 , 4 } , annotated with the red dots in Figure 3c Note that U is currently ordered in reverse lexicographic order, starting from the lower left corner ( u 1 , 1 ) and moving upward to the right row-by-row. By sorting this order in a stable way (the order of identical elements is not disturbed) according to p S , it becomes u 2 , 1 ( 20 ) , u 3 , 1 ( 20 ) , u 3 , 2 ( 20 ) , u 1 , 2 ( 15 ) , u 2 , 2 ( 15 ) , u 2 , 3 ( 10 ) , u 2 , 4 ( 10 ) . By sorting this order in a stable way according to p T , it becomes u 2 , 4 ( 20 ) , u 2 , 1 ( 15 ) , u 3 , 1 ( 15 ) , u 1 , 2 ( 15 ) , u 2 , 2 ( 15 ) , u 2 , 3 ( 15 ) , u 3 , 2 ( 12 ) . The iteration then takes the steps indicated by Table 1, starting with empty parts S and T. After this process completes, the resulting parts S and T join (take their current color in) the corresponding supports S and T , respectively, producing the alignment. For example, the partitioning outlined in Table 1 produces the alignment depicted in Figure 3c, which is optimal.
In general, our greedy approach does not produce an optimal solution to Problem 1; however, an upper bound on the quality of the solution max { d w ( S , A ) , d w ( T , A ) } can be obtained based on known approximation factors for LPT scheduling [26,27]. Given some instance S , T of the Alignment Minimization Problem, let σ ( u ) = { p S ( u ) , p T ( u ) } . For example, from the instance mentioned above, σ ( u 2 , 1 ) = { p S ( u 2 , 1 ) , p T ( u 2 , 1 ) } = { 20 , 15 } . For some set U of units, let M ( U ) = { max ( σ ( u ) ) | u U } , the maximum values of the pairs σ ( u ) of populations represented by each u. Note that our greedy approach obtains a partitioning by effectively applying LPT scheduling to M ( U ) , where U is the set of units on which a pair S , T of collections disagree (see Table 1); hence, we can bound its quality based on known bounds for LPT scheduling. It is known that applying LPT scheduling to a set guarantees a solution that is within a factor of 4 m 1 3 m times the optimal (minimum) largest sum of any of the m subsets [26,27]. Supposing that we partition M ( U ) into a pair ( m = 2 ) of parts using LPT scheduling, let A be the part with the larger sum and A the part with the larger sum in the optimal partitioning of M ( U ) into two parts. It then follows that
A 4 ( 2 ) 1 3 ( 2 ) = 7 6 · A .
Because the elements we are partitioning are indivisible, we know that
A ( M ( U ) ) 2 + max ( M ( U ) ) ,
where ( X ) = x X x , a short form for the sum of all values in a set X of values. It follows that
A 7 6 ( M ( U ) ) 2 + max ( M ( U ) ) .
Let part S be the set of units represented by part A. The units of S were chosen based on the largest values from M ( U ) at the time, as represented by A. The units of S are used to transform collection S of supports into another collection A of supports, while the remaining units of U S are used to transform collection T into A . It follows that d w ( S , A ) = m ( S ) , where m ( S ) = { min ( σ ( u ) ) | u S } , the minimum values of the pairs σ ( u ) of populations represented by each u. Since m ( S ) A by design and since A is the larger part, i.e., m ( U S ) A as well, it follows from Equation (1) that
max { d w ( S , A ) , d w ( T , A ) } 7 6 ( M ( U ) ) 2 + max ( M ( U ) ) .
Since a typical instance S , T will contain many units u which do not differ much in p S ( u ) and p T ( u ) , nor is max ( M ( U ) ) and min ( m ( U ) ) expected to differ by much, each collection S and T will typically contribute close to half of its weight to the alignment A .
There remain some small and final details to address in this heuristic. One detail is that the units of U on which S and T disagree cannot be placed into parts arbitrarily; rather, the parts must be such that swapping their units results in an alignment A with supports that are contiguous (see the Alignment Minimization Problem in 1). The example outlined in Table 1 happens to create a contiguous set of supports, as depicted in Figure 3c. However, if units u 1 , 2 and u 2 , 2 were assigned to part S, for example, instead of to part T, then the green support would not be contiguous. In a general instance, such a constraint only needs to be minded for each contiguous set U of units on which S and T disagree. For each such contiguous set, some small local shuffles could be applied to each ordering of U according to p S and p T , respectively. Another solution could be to apply the iteration to S and T as-is while skipping any greedy choice that violates contiguity. In any case, the iteration will be no worse than (unordered) list scheduling [26]. In this case, it is known that applying list ordering to a set guarantees a solution within a factor of 2 1 m times the optimal (minimum) largest sum of any of the m subsets. Since m = 2 in this case, it follows that this factor is 3 2 , and the same analysis as above can be applied. Since there will be few such constraints in the typical instance and since they only apply to contiguous sets of units of U , which will be typically small, the solution is expected to be much closer to 7 6 (see Equation (2)) than 3 2 in practice. The other detail is the unmatched supports (in, e.g., S ) associated with some support (e.g., t T ). In this case, the support in the final alignment A that represents these will present another alignment subproblem within that support, where this support could be split into several parts. Since such supports are expected to be small in general, all ways to align this support could be tried. Nonetheless, a more systematic procedure for minding such constraints is the subject of future work, along with a more definite approximation factor.

5.2. The Alignment Minimization Problem in Two Dimensions

We now outline how to extend the techniques used in the heuristic of Section 5.1 to a set 𝒞 = { C 1 , , C k } of (more than two) collections in two dimensions, i.e., to the Alignment Minimization Problem when d = 2 . We first need to match supports across all collections 𝒞 in order to align them. This amounts to finding a maximum-weight perfect matching in a complete k-uniform hypergraph across all (k) collections of supports. We need the following definition of a shared units hypergraph, analogous to the shared units graph of Definition 1.
Definition 2
(Shared Units Hypergraph H x ). The shared units hypergraph for a set 𝒞 = { C 1 , , C k } of collections of spatial supports is the weighted hypergraph H x = ( C 1 , , C k , E = C 1 × × C k , w ( e ) : E R ) , where each hyperedge e E has weight w ( e ) = ( s , t ) e 2 u s t p C ( s ) ( u ) + p C ( t ) ( u ) , with C ( s ) as the collection that support s belongs to.
The weight of a hyperedge e of H x is effectively the weighted overlap of the set of k supports, one from each collection C 1 , , C k , represented by e in terms of the weighted overlap between each pair s , t of supports from e. Finding a perfect matching in H x is NP-hard [28,29]. This problem is a special case of the k-set packing problem, which can be approximated within a factor of k + 1 + ε 3 times the optimal packing [30,31]. Since k is typically a small constant (less than 10, for example), this bound is acceptable in practice. When the number of supports in the collections differ, a perfect matching M (of size arg min C 𝒞 | C | ) is found in the shared units hypergraph H x , and each remaining unmatched support s in any collection C 𝒞 is associated with one of the hyperedges in M of maximum overlap with s. Similarly to the case with a pair of collections, the hyperedge that s joins should maintain a contiguous set of supports in C ( s ) , the collection that support s belongs to. Again, since arg max C 𝒞 | C | arg min C 𝒞 | C | should typically be a constant, all combinations of hyperedges for s to join could be tried to achieve contiguity; however, a more efficient algorithm for determining these choices is the subject of future work.
Analogously to the case with a pair of collections (of Section 5.1), to match sets of supports across collections is to determine how the trading procedure for aligning collections 𝒞 operates. In particular, each set of supports from matching M in H x (with the extra unmatched supports joined later) swaps units with its respective neighbors until they are aligned. Similar to the case with pairs, the matching M gives rise to a set U U of units on which some pair C , C 𝒞 of collections disagree. Each such unit must be assigned to some support (in M) in a way that minimizes overall cost. Aligning the units of U in this way is again a type of partitioning problem, which could also be approximated using LPT scheduling; however, a slightly more general partitioning problem is more appropriate in this case. In particular, this case is more closely related to the problem of fair item allocation [32] with additive preferences [33] and positively valued goods. Note that there also exist versions with negatively weighted goods or chores [34].
The input to this problem is a set N of | N | = n agents and a set M of | M | = m items. We use the elements i N of a set N and its corresponding indices i { 1 , , n } interchangeably when the context is clear. Each agent i N attaches a value v i ( j ) to item j M , where v i ( j ) Z + i N j M . We also overload the meaning of v for subsets S M , where v i ( S ) = j S v i ( j ) , since the values are additive. Let Π n ( M ) be the collection of all partitionings of set M into n parts. The goal is to find a partitioning in Π n ( M ) that gives each agent their fairest share of value from the items. A common formalization for this is the maximin share [35] of agent i N from a set M of items, which is
μ i n ( M ) = max ( M 1 , M 2 , , M n ) Π n ( M ) min k N v i ( M k ) .
The idea is that if agent i N divides items M into n parts, then other agents choose how these n parts are distributed among the n agents, then agent i would partition the items such that the value v i of the smallest part M k is maximized. In fair item allocation, the goal is to partition the items such that each agent i N has a value that is closest to their maximin share μ i as possible. An important approximation result is that a partitioning ( M 1 , , M n ) Π n ( M ) which satisfies
v i ( M i ) 2 3 μ i n ( M ) i N
can be found in polynomial time [35].
Our problem of aligning each unit of U is closely related to this problem, in that each collection C 𝒞 is an agent and each unit u U is an item that gets assigned to some collection when aligned, where v C ( u ) = p C ( u ) . The only difference is that the collection C to which u is assigned avoids the cost p C ( u ) , while every other collection C 𝒞 { C } incurs (at most) its corresponding cost p C ( u ) . Since we want to minimize the maximum cost to any collection (see Problem 1), for each collection i N = 𝒞 , given set M = U of units, we aim to minimize
γ i n ( M ) = min ( M 1 , M 2 , , M n ) Π n ( M ) max k N j N { k } v i ( M j ) .
Note that this is equivalent to
γ i n ( M ) = min ( M 1 , M 2 , , M n ) Π n ( M ) max k N C i ( M ) v i ( M k ) ,
where C i ( M ) = j M v i ( j ) . Since C i ( M ) does not depend on the partition chosen from Π n ( M ) , it follows that
γ i n ( M ) = C i ( M ) + min ( M 1 , M 2 , , M n ) Π n ( M ) max k N v i ( M k ) .
In pulling the minus sign through to the front, it follows that
γ i n ( M ) = C i ( M ) max ( M 1 , M 2 , , M n ) Π n ( M ) min k N v i ( M k ) .
We can then substitute the left-hand side of Equation (3) with the right-hand side to obtain
γ i n ( M ) = C i ( M ) μ i n ( M ) .
Then, based on the result of Equation (4), it follows that a partitioning ( M 1 , , M n ) Π n ( M ) which satisfies
j N { i } v i ( M j ) C i ( M ) 2 3 μ i n ( M ) i N
can be found in polynomial time.
Placing this result in the notation of our problem, where N = 𝒞 , and M = U , it follows that j N { i } v i ( M j ) = C 𝒞 { C } p C ( U C ) , where U C are the units from U assigned to collection C in the alignment A represented by partitioning ( U 1 , , U n ) Π n ( U ) and the meaning of p C has been overloaded for sets, where p C ( U ) = u U p C ( u ) . Observe that d w ( C , A ) = C 𝒞 { C } p C ( U C ) . Then, it follows from Equation (7) that
d w ( C , A ) u U p C ( u ) 2 3 μ C n ( U ) C 𝒞 ,
where U is the set of units on which some pair of collections of 𝒞 disagree and μ C n ( U ) is the maximin share of collection C from set U of units, where the value of a unit is p C ( u ) . This guarantees a bound on max { d w ( C , A ) | C 𝒞 } (see Problem 1) which can be obtained in polynomial time. The approximation result of Equation (4) from [35] relies on a complex preprocessing step from [36] to guarantee this theoretical bound. However, it is practical to use a more straightforward approach based on the envy graph procedure [34,35,37], which is a common approach used for fair item allocation. Such an approach iterates through the items, assigning them to agents. if an envy cycle—a directed cycle on a set of agents where each agent places more value on the intermediate set of items of its neighbor—ever arises during this process, then this cycle is broken by shifting this cycle one step in opposite direction. This process continues until all items are assigned to some agent. While there are many theoretical results in this area of fair item allocation, there exist some practical results (such as Spliddit [38], based on theoretical results in [39]). This is similar to the case of pairs in two dimensions (Section 5.1), maintaining contiguity, and how to manage the unmatched supports that are associated after the matching is computed. We plan to use or follow these ideas in devising a practical algorithm for our problem. An efficient implementation addressing all of these details is the subject of future work.

6. Conclusions

In this paper, we introduce an alignment problem for reconciling misaligned boundaries of regions comprising spatial units. While the rather trivial case in one dimension is tractable, the general problem is combinatorially (NP-) hard. We devise some heuristics for the case in two dimensions, since it has applications to geospatial problems such as resource allocation or building disease maps.
Future work entails further investigation into small details such as efficient approaches for maintaining contiguity in the trading procedure, as well as how to systematically handle collections with different numbers of supports. Developing an implementation which works efficiently in practice is also the subject of future work, and would allow for application to real geospatial problems such as automated map building and resource allocation.

Author Contributions

Conceptualization, all authors; methodology, A.R.M. and M.P.; validation, M.P.; formal analysis, M.P.; investigation, M.P.; resources, all authors; data curation, C.T.; writing—original draft preparation, C.T. and M.P.; writing—review and editing, all authors; visualization, C.T.; supervision, C.T. and M.P.; project administration, C.T.; funding acquisition, A.R.M. and C.T. All authors have read and agreed to the published version of the manuscript.

Funding

This research received no external funding.

Institutional Review Board Statement

Not applicable.

Informed Consent Statement

Not applicable.

Data Availability Statement

This article does not have any associated data.

Acknowledgments

The authors would like to thank Emma L. McDaniel for advice on the problem formulation, as well as Alexander Zelikovsky for some helpful discussions on interpreting the approximation results.

Conflicts of Interest

The authors declare no conflicts of interest.

Abbreviations

The following abbreviations are used in this manuscript:
NPNon-deterministic polynomial time
LPTLongest processing time first

References

  1. Boscoe, F.P.; Ward, M.H.; Reynolds, P. Current practices in spatial analysis of cancer data: Data characteristics and data sources for geographic studies of cancer. Int. J. Health Geogr. 2004, 3, 28. [Google Scholar] [CrossRef][Green Version]
  2. Tatalovich, Z.; Chtourou, A.; Zhu, L.; Dellavalle, C.; Hanson, H.A.; Henry, K.A.; Penberthy, L. Landscape analysis of environmental data sources for linkage with SEER cancer patients database. JNCI Monogr. 2024, 2024, 132–144. [Google Scholar] [CrossRef] [PubMed]
  3. Jarup, L. Health and environment information systems for exposure and disease mapping, and risk assessment. Environ. Health Perspect. 2004, 112, 995–997. [Google Scholar] [CrossRef] [PubMed]
  4. Tatalovich, Z.; Stinchcomb, D.G.; Ng, D.; Yu, M.; Lewis, D.R.; Zhu, L.; Feuer, E.J. Developing geographic areas for cancer reporting using automated zone design. Am. J. Epidemiol. 2022, 191, 2109–2119. [Google Scholar] [CrossRef] [PubMed]
  5. Sahar, L.; Foster, S.L.; Sherman, R.L.; Henry, K.A.; Goldberg, D.W.; Stinchcomb, D.G.; Bauer, J.E. GIScience and cancer: State of the art and trends for cancer surveillance and epidemiology. Cancer 2019, 125, 2544–2560. [Google Scholar] [CrossRef]
  6. Roquette, R.; Nunes, B.; Painho, M. The relevance of spatial aggregation level and of applied methods in the analysis of geographical distribution of cancer mortality in mainland Portugal (2009–2013). Popul. Health Metr. 2018, 16, 6. [Google Scholar] [CrossRef]
  7. Maantay, J. Mapping environmental injustices: Pitfalls and potential of geographic information systems in assessing environmental health and equity. Environ. Health Perspect. 2002, 110, 161–171. [Google Scholar] [CrossRef]
  8. VoPham, T.; White, A.J.; Jones, R.R. Geospatial Science for the Environmental Epidemiology of Cancer in the Exposome Era. Cancer Epidemiol. Biomark. Prev. 2024, 33, 451–460. [Google Scholar] [CrossRef]
  9. Jimenez, T.; Mikler, A.R.; Tiwari, C. A Novel Space Partitioning Algorithm to Improve Current Practices in Facility Placement. IEEE Trans. Syst. Man Cybern. 2012, 42, 1194–1205. [Google Scholar] [CrossRef]
  10. Martin, D.; Nolan, A.; Tranmer, M. The application of zone-design methodology in the 2001 UK Census. Environ. Plan. A 2001, 33, 1949–1962. [Google Scholar] [CrossRef]
  11. Martin, D. Extending the automated zoning procedure to reconcile incompatible zoning systems. Int. J. Geogr. Inf. Sci. 2003, 17, 181–196. [Google Scholar] [CrossRef]
  12. Herring, J.R. (Ed.) OpenGIS Implementation Standard for Geographic Information–Simple Feature Access–Part 1: Common Architecture; Version 1.2.1, OGC 06-103r4; Open Geospatial Consortium: Arlington, VA, USA, 2011. [Google Scholar]
  13. Bithell, J.F. A classification of disease mapping methods. Stat. Med. 2000, 19, 2203–2215. [Google Scholar] [CrossRef] [PubMed]
  14. Rushton, G. Public Health, GIS, and Spatial Analytic Tools. Annu. Rev. Public Health 2003, 24, 43–56. [Google Scholar] [CrossRef]
  15. Beyer, K.M.M.; Tiwari, C.; Rushton, G. Five essential properties of disease maps. Ann. Assoc. Am. Geogr. 2012, 102, 1067–1075. [Google Scholar] [CrossRef]
  16. Rushton, G.; Lolonis, P. Exploratory spatial analysis of birth defect rates in an urban population. Stat. Med. 1996, 15, 717–726. [Google Scholar] [CrossRef]
  17. Clayton, D.; Kaldor, J. Empirical Bayes estimates of age-standardized relative risks for use in disease mapping. Biometrics 1987, 43, 671–681. [Google Scholar] [CrossRef]
  18. MacNab, Y.C. Bayesian disease mapping: Past, present, and future. Spat. Stat. 2022, 50, 100593. [Google Scholar] [CrossRef]
  19. Tiwari, C.; Rushton, G. Using spatially adaptive filters to map late stage colorectal cancer incidence in Iowa. In Developments in Spatial Data Handling: 11 th International Symposium on Spatial Data Handling; Springer: Berlin/Heidelberg, Germany, 2005; pp. 665–676. [Google Scholar]
  20. Shi, X. Selection of bandwidth type and adjustment side in kernel density estimation over inhomogeneous backgrounds. Int. J. Geogr. Inf. Sci. 2010, 24, 643–660. [Google Scholar] [CrossRef]
  21. Hansen, K.M. Head-banging: Robust smoothing in the plane. IEEE Trans. Geosci. Remote Sens. 1991, 29, 369–378. [Google Scholar] [CrossRef]
  22. Mungiole, M.; Pickle, L.W.; Simonson, K.H. Application of a weighted head-banging algorithm to mortality data maps. Stat. Med. 1999, 18, 3201–3209. [Google Scholar] [CrossRef]
  23. Talbot, T.O.; Kulldorff, M.; Forand, S.P.; Haley, V.B. Evaluation of spatial filters to create smoothed maps of health data. Stat. Med. 2000, 19, 2399–2408. [Google Scholar] [CrossRef] [PubMed]
  24. Korf, R.E. Multi-way number partitioning. In Proceedings of the the 21st International Joint Conferences on Artificial Intelligence (IJCAI), Pasadena, CA, USA, 11–17 July 2009; pp. 538–543. [Google Scholar]
  25. Fredman, M.; Tarjan, R. Fibonacci Heaps and Their Uses in Improved Network Optimization Algorithms. J. ACM 1987, 34, 596–615. [Google Scholar] [CrossRef]
  26. Graham, R.L. Bounds on Multiprocessing Timing Anomalies. SIAM J. Appl. Math. 1969, 17, 416–429. [Google Scholar] [CrossRef]
  27. Coffman, E.G.; Sethi, R. A generalized bound on LPT sequencing. In Proceedings of the 1976 ACM SIGMETRICS Conference on Computer Performance Modeling Measurement and Evaluation, Cambridge, MA, USA, 29–31 March 1976; pp. 306–310. [Google Scholar] [CrossRef]
  28. Karp, R.M. Reducibility among combinatorial problems. In Complexity of Computer Computations; Springer: Berlin/Heidelberg, Germany, 1972; pp. 85–103. [Google Scholar]
  29. Garey, M.R.; Johnson, D.S. Computers and Intracability: A Guide to the Theory of NP-Completeness; W.H. Freeman and Compnany: New York, NY, USA, 1979. [Google Scholar]
  30. Cygan, M. Improved Approximation for 3-Dimensional Matching via Bounded Pathwidth Local Search. In Proceedings of the 2013 IEEE 54th Annual Symposium on Foundations of Computer Science, Berkeley, CA, USA, 26–29 October 2013; pp. 509–518. [Google Scholar] [CrossRef]
  31. Fürer, M.; Yu, H. Approximating the k-Set Packing Problem by Local Improvements. In International Symposium on Combinatorial Optimization; Springer: Berlin/Heidelberg, Germany, 2014; pp. 408–420. [Google Scholar]
  32. Demko, S.; Hill, T.P. Equitable distribution of indivisible objects. Math. Soc. Sci. 1988, 16, 145–158. [Google Scholar] [CrossRef][Green Version]
  33. Bouveret, S.; Endriss, U.; Lang, J. Fair Division under Ordinal Preferences: Computing Envy-Free Allocations of Indivisible Goods. In Proceedings of the 2010 Conference on ECAI 2010: 19th European Conference on Artificial Intelligence, Lisbon, Portugal, 16–20 August 2010; pp. 387–392. [Google Scholar]
  34. Aziz, H.; Rauchecker, G.; Schryen, G.; Walsh, T. Algorithms for Max-Min Share Fair Allocation of Indivisible Chores. In Proceedings of the Thirty-First AAAI Conference on Artificial Intelligence; AAAI Press: Washington, DC, USA, 2017; Volume 31. [Google Scholar]
  35. Barman, S.; Krishnamurthy, S.K. Approximation Algorithms for Maximin Fair Division. ACM Trans. Econ. Comput. 2020, 8, 5. [Google Scholar] [CrossRef]
  36. Bouveret, S.; Lemaître, M. Characterizing conflicts in fair division of indivisible goods using a scale of criteria. Proc. Auton. Agents Multi-Agent Syst. 2016, 30, 259–290. [Google Scholar] [CrossRef]
  37. Lipton, R.J.; Markakis, E.; Mossel, E.; Saberi, A. On approximately fair allocations of indivisible goods. In Proceedings of the 5th ACM Conference on Electronic Commerce, New York, NY, USA, 17–20 May 2004; pp. 125–131. [Google Scholar] [CrossRef]
  38. Goldman, J.; Procaccia, A.D. Spliddit: Unleashing fair division algorithms. SIGecom Exch. 2015, 13, 41–46. [Google Scholar] [CrossRef]
  39. Procaccia, A.D.; Wang, J. Fair enough: Guaranteeing approximate maximin shares. In Proceedings of the Fifteenth ACM Conference on Economics and Computation, Palo Alto, CA, USA, 8–12 June 2014; pp. 675–692. [Google Scholar] [CrossRef]
Figure 1. Regions formed by aggregating spatial units such as census tracts.
Figure 1. Regions formed by aggregating spatial units such as census tracts.
Algorithms 19 00475 g001
Figure 2. Addressing spatial misalignment between regions.
Figure 2. Addressing spatial misalignment between regions.
Algorithms 19 00475 g002
Figure 3. Collections (a) S = { s 1 , s 2 , s 3 , s 4 } and (b) T = { t 1 , t 2 , t 3 , t 4 } of spatial supports over the set U = { u 1 , 1 , u 1 , 2 , , u 4 , 4 } of 16 spatial units, and an alignment (c) of S and T . The red dots mark the units ( u 2 , 1 , u 3 , 1 , u 1 , 2 , u 2 , 2 , u 3 , 2 , u 2 , 3 , u 2 , 4 ) on which S and T disagree.
Figure 3. Collections (a) S = { s 1 , s 2 , s 3 , s 4 } and (b) T = { t 1 , t 2 , t 3 , t 4 } of spatial supports over the set U = { u 1 , 1 , u 1 , 2 , , u 4 , 4 } of 16 spatial units, and an alignment (c) of S and T . The red dots mark the units ( u 2 , 1 , u 3 , 1 , u 1 , 2 , u 2 , 2 , u 3 , 2 , u 2 , 3 , u 2 , 4 ) on which S and T disagree.
Algorithms 19 00475 g003
Figure 4. Four collections of three spatial supports (green, orange, and blue) over the set U = { u 1 , u 2 , , u 9 } of nine spatial units. All disagreements between (the supports of) any pair of collections are contained in the two transparent windows.
Figure 4. Four collections of three spatial supports (green, orange, and blue) over the set U = { u 1 , u 2 , , u 9 } of nine spatial units. All disagreements between (the supports of) any pair of collections are contained in the two transparent windows.
Algorithms 19 00475 g004
Figure 5. Base set U { a , b } = { a , u 1 , , u n , b } of spatial units.
Figure 5. Base set U { a , b } = { a , u 1 , , u n , b } of spatial units.
Algorithms 19 00475 g005
Figure 6. The shared units graph G x (Definition 1) of the instance S , T depicted in Figure 3, where the populations p S ( u ) of each unit u in s 1 , s 2 , s 3 , s 4 of S are 20, 20, 10, and 15, respectively, while the populations p T ( u ) of each unit u in t 1 , t 2 , t 3 , t 4 of T are 15, 15, 12, and 20, respectively. Edges with weights of zero are not shown for easier readability.
Figure 6. The shared units graph G x (Definition 1) of the instance S , T depicted in Figure 3, where the populations p S ( u ) of each unit u in s 1 , s 2 , s 3 , s 4 of S are 20, 20, 10, and 15, respectively, while the populations p T ( u ) of each unit u in t 1 , t 2 , t 3 , t 4 of T are 15, 15, 12, and 20, respectively. Edges with weights of zero are not shown for easier readability.
Algorithms 19 00475 g006
Table 1. Steps taken by the greedy approach to create parts S and T with the respective total populations in parentheses.
Table 1. Steps taken by the greedy approach to create parts S and T with the respective total populations in parentheses.
StepActionPart SPart T
0initialize S & T
1 S u 2 , 1 ( 20 ) { u 2 , 1 } (20)
2 T u 2 , 4 ( 20 ) { u 2 , 1 } (20) { u 2 , 4 } (20)
3 S u 3 , 1 ( 20 ) { u 2 , 1 , u 3 , 1 } (40) { u 2 , 4 } (20)
4 T u 1 , 2 ( 15 ) { u 2 , 1 , u 3 , 1 } (40) { u 2 , 4 , u 1 , 2 } (35)
5 T u 2 , 2 ( 15 ) { u 2 , 1 , u 3 , 1 } (40) { u 2 , 4 , u 1 , 2 , u 2 , 2 } (50)
6 S u 3 , 2 ( 20 ) { u 2 , 1 , u 3 , 1 , u 3 , 2 } (60) { u 2 , 4 , u 1 , 2 , u 2 , 2 } (50)
7 T u 2 , 3 ( 15 ) { u 2 , 1 , u 3 , 1 , u 3 , 2 } (60) { u 2 , 4 , u 1 , 2 , u 2 , 2 , u 2 , 3 } (65)
Disclaimer/Publisher’s Note: The statements, opinions and data contained in all publications are solely those of the individual author(s) and contributor(s) and not of MDPI and/or the editor(s). MDPI and/or the editor(s) disclaim responsibility for any injury to people or property resulting from any ideas, methods, instructions or products referred to in the content.

Share and Cite

MDPI and ACS Style

Mikler, A.R.; Tiwari, C.; Patterson, M. A Spatial Alignment Problem. Algorithms 2026, 19, 475. https://doi.org/10.3390/a19060475

AMA Style

Mikler AR, Tiwari C, Patterson M. A Spatial Alignment Problem. Algorithms. 2026; 19(6):475. https://doi.org/10.3390/a19060475

Chicago/Turabian Style

Mikler, Armin R., Chetan Tiwari, and Murray Patterson. 2026. "A Spatial Alignment Problem" Algorithms 19, no. 6: 475. https://doi.org/10.3390/a19060475

APA Style

Mikler, A. R., Tiwari, C., & Patterson, M. (2026). A Spatial Alignment Problem. Algorithms, 19(6), 475. https://doi.org/10.3390/a19060475

Note that from the first issue of 2016, this journal uses article numbers instead of page numbers. See further details here.

Article Metrics

Back to TopTop