Christopher B. Pond
Gerrymandering is a problem which has risen into greater prominence recently, though it has been around since the early 19th century. It's the process of intentionally drawing representational districts in order to facilitate a preferred outcome in democratic elections. It can result in constituents being denied their Constitutional rights to fair and equal representation, and has been found in cases to intentionally disenfranchise racial minorities. There are many ways to correct for this problem, and here I present one which I believe is novel, the creation of representational districts using watershed boundaries as a guide.
There are two main steps which need to be taken before a district map is created. The first is the connexion of basins into a fully-hierarchical tree and the second is the division of that tree into related branches of equal size by population.
The philosophy for connecting the basins to one another is to disturb the descent channels as little as possible. The way this is done is by determining which watersheds might connect two basins and for each pair of these watersheds, calculating a cost for making one basin the child of the other and vice versa. These costs are essentially the distance between the root of a basin backwards against the flow of water to the boundary of the parent basin. Additionally, any two watersheds which are both connected on the boundary are eliminated from the path calculation in the initial comparison. This is to attempt to keep the descent reversals away from the center of the map.
Island groupings are connected at the point of closest approach, and the cost of connecting a watershed on one island to a watershed on another is merely the distance between the root of the basin, and the watershed in the same basin which is being connected. This is because connecting the root to the parent basin would make many island connexions artificially expensive. In the event that two island roots connect, connecting the smaller island to the larger one is considered less expensive.
The algorithm must order the basin connexions from least to most expensive, and as it connects each pair of basins, create a new pseudo-basin from the previous two. On each new connexion, if an alteration of the child has taken place, the entire path from the root to the boundary must be reanalysed and if a larger penalty than the original is found, this connexion must use the new penalty and the connexion list must be reordered.
At the end of this process, the entire map should contain a single tree, which is optimised such that there is minimal traceback of descent channels.
The philosophy of the census block assignment is to use as many natural boundaries as possible and to draw artificial boundaries which are as short as possible. To achieve this, it builds a district using an advancing edge of census blocks within a watershed branch. To determine which branch in the tree should be used, a recursive and iterative process is employed. First, the total population upstream is recorded for each watershed in the tree. Then, the branch roots are identified which have a greater or equal population than the size of the district, and where each child has a population smaller than the size of the district.
Once the root watershed is found, the algorithm identifies all unassigned census blocks which lie within the watershed's branch. It makes sure there are no stranded census blocks, makes sure there is enough contiguous space to assign a full district and begins assigning census blocks to the current district one by one. For branch roots which do not lie on the border of the map, the next branch down which could contain another full district is identified, the farthest census block from this branch is identified and a perpendicular edge is created from this block to the target branch. Blocks are added to this edge one by one until the district is complete. As the district is filled, the edge rebalances itself to always remain perpendicular to the target branch.
For branch roots which end on a boundary, a two-stage process is employed. In the first stage, the algorithm is the same as for non-boundary territory, but using the existing branch root instead of the next root containing another full district. If at any point in the block assignment a block touches the boundary the algorithm switches the edge from being perpendicular to the target to being perpendicular to the border of the map. Once this first stage is completed, a second stage begins where the starting block is the farthest block away along the map border instead of being the farthest block away from the branch root. This phase also uses the next branch down which could contain another full district as a target. Blocks are assigned on the edge perpendicular to the map boundary until the population target is reached. The final edge of the resulting district is compared with the edge in the first phase and the district with the shortest edge is selected.
For all block assignments, whenever the edge changes its angle, it pivots in order that the artificial boundary should always remain straight. This should always result in the shortest possible artificial boundary.
As each district is assigned, the available population in each watershed branch root is reduced. Multiple passes are made from the global root until there is no more territory left to assign.
This approach, in whole or in part, could have significant advantages over current methods of determining representational districts, both in terms of fairness, and in terms of human and financial resources required to generate the maps and litigate the outcome. It should be evaluated as to whether in practise it would result in districts which would give constituents their Constitutionally guaranteed right to democratic representation.