The Score Algorithm
Our Score Algorithm is designed to emphasize two criteria of 'good' districts,
1) equal population and 2) compactness (minimum perimeter). Thus, we start by giving the
districting plan a score for each of these criteria, and then multiply the
two scores together. After multiplying by an arbitrary constant to get the
score into the hundreds, we are left with a score that is higher for good
districts and lower for bad ones.
- Equal Population. Since blocked sweepcircles can leave parts of the
state outside of any district, the player is penalized for not covering
the entire state's population with districts. The population part of the
score, \(R\), is just the percent of the total population that lies inside some
district. A perfect score is 100%.
- District Compactness.
Measuring district compactness is a bit more tricky. Districting plans
with smaller total perimeters are judged to be more compact, and they
receive higher scores. Our perimeter measuring algorithm is roughly based
on these unpublished notes [Benkrid and
Crookes]. We examine each pixel that is on the perimeter of a
district, and then add to the perimeter, \(P\), the distance between it and each
other 'perimeter pixel' next to it.
The score is intentionally not very sensitive to the equal population
parameter since, it is relatively easy to formulate districts that cover
the whole population. The final score calculation then, is the following
formula, where \(C\) is a constant chosen to make the score user friendly:
\[\text{Score} = C\frac{R}{P}\]