Gerrymandle lehrt die Fähigkeit, die jeder Grundriss braucht: Zusammenhängende Regionen
Lerne Gerrymandle und NetworkX: Zusammenhängende Regionen partitionieren — die Fähigkeit für Grundrisszonenplanung.
Signal. Ein neues tägliches Browser-Puzzle namens Gerrymandle (gerrymandle.cc, diese Woche auf Show HN gepostet) gibt dir ein Gitter aus farbigen Häusern und eine Aufgabe: klick benachbarte Kacheln zu gleichgrossen Bezirken zusammen, damit deine Partei mehr davon gewinnt als jede andere. Die Regel, die es schwer macht, ist die gleiche Regel, die es für uns nützlich macht: jeder Bezirk muss eine zusammenhängende Form sein, keine Inseln erlaubt. Diese eine Kontiguität-Beschränkung ist auch das Kernproblem jeder Grundrisszonenplanung, mit der du je gekämpft hast.
←TODAY: Im Jahr 2026, nach einem Urteil des Obersten Gerichtshofs, das Beweis für diskriminierenden Vorsatz über Effekt verlangt, sind mehr als ein Viertel der US-Kongresswahlkreise Mitte des Jahrzehnts neu gezogen worden — Linienzeichnung ist nun Software. →3012: Die gleichen Partitionierungsalgorithmen, die Wähler zerteilen, zerteilen auch Zonen, Brandabschnitte und Energiecluster über Zürich. Fulcrum: Ein Bezirk und ein Raum sind das gleiche Objekt — ein zusammenhängender Subgraph unter einer Fairness-Beschränkung — und wer den Algorithmus besitzt, besitzt das Ergebnis.
System. Gerrymandling läuft auf zwei Zügen, beide rein topologisch. Packing (Verdichtung) stopft Gegner in ein paar sichere Bezirke, damit ihre Überschussstimmen verdampfen; Cracking (Zersplitterung) verteilt die restlichen so dünn, dass sie überall kurz kommen. Wie die New York Times in ihrem Juni-2026-Meinungsstück über Parteien, die Wahlkreise „zum Maximum” neu zuteilen, argumentierte, bewegen sich die Linien, während die Stimmenzahlen kaum sich ändern — North Carolina wählte 2022 ein ausgewogenes Ergebnis, sandte 2024 aber 10 von 14 Republikanern bei kaum geänderten Zahlen. Die Häuser haben sich nicht bewegt. Die Graphenpartition tat es. Für einen Architekten sollte sich das unangenehm vertraut anfühlen: es ist genau das, was passiert, wenn ein Funktionsflächendiagramm „optimiert” wird, bis sich das Tageslicht in den Einheiten konzentriert, die sich gut fotografieren lassen.
Street. Entferne die Politik, und du hast ein sauberes Computational-Design-Problem — ein Gitter in gleichgrosse, zusammenhängende Regionen aufteilen, die eine Pro-Region-Regel erfüllen — und der günstigste Weg, das zu lernen, ist das Werkzeug, das das Spiel heimlich nutzt.
The Tool: NetworkX (gepflegt von den NetworkX-Entwicklern, rein-Python, BSD-lizenziert) ist die Graphen-Bibliothek, die „ist dieser Bezirk legal?” in einen Funktionsaufruf verwandelt. Für einen Computational Designer ist das einen Nachmittag wert, weil Nachbarschaft — welche Kachel, welcher Raum oder welcher Steiger an welche angrenzen — die zugrunde liegende Datenstruktur für Bezirksbildung, Clash-Erkennung und Raumplanung ist. PAZs eigenes Brick — Hack Konzeptpanel lehnt sich bereits darauf: Turáns 1944er Ziegelfabrik-Problem ist die gleiche Bibliothek, die Kantenkreuzungen für MEP-Koordination zählt.
Setup:
python -m venv .venv
source .venv/bin/activate # Windows: .venvScriptsactivate
pip install networkx matplotlib
python - <<'PY'
import networkx as nx
G = nx.grid_2d_graph(6, 6) # das Gerrymandle-Brett, Kacheln als 4-Nachbar-Gitter
print(G.number_of_nodes(), "tiles,", G.number_of_edges(), "adjacencies")
print("connected board:", nx.is_connected(G))
PY
Erste Schritte:
- Modelliere das Brett. Das
grid_2d_graph(6, 6)oben ist deine Karte: jede Kachel ist ein Knoten, jede gemeinsame Kante eine Nachbarschaft. Das ist der gleiche Zug, den du machst, wenn du einen Grundriss in einen Nachbarschaftsgraph verwandelst. - Gruppiere einen Bezirk. Wähle eine Menge von Kacheln —
district = {(0,0),(0,1),(1,1),(2,1)}— und nimmG.subgraph(district). Dieser Subgraph ist deine Kandidaten-Region. - Überprüfe die Gültigkeit. Führe
nx.is_connected(...)darauf aus.Truebedeutet eine legale Form;Falsebedeutet, du hast eine Insel gezeichnet und der Schiedsrichter — oder der Bauleiter — lehnt es ab.
Atelier: In einem Schweizer Atelier ist das keine Metapher. Ersetze Wähler durch Nettogeschossfläche und Bezirke durch Brandabschnitte oder Heizzonen, und die Kontiguität-Überprüfung wird zu einem Vor-Flug-Validator: kein Abschnitt darf zwei getrennte Blobs sein, die nur durch einen Korridor verbunden sind, den du zu zeichnen vergessen hast. Führe es auf dem Nachbarschaftsgraph vor der Wettbewerbs-Abgabe aus, nicht nachdem die Bauleitung es vor Ort findet.
Hack: Dieses Hack lehrt dich, zu beweisen, dass eine Menge von Kacheln einen legalen Bezirk bildet — keine Inseln — in fünf Zeilen: die Geometrie der Gitterkontiguität. Gleicher Code, gleiche Antwort, ob die Kacheln Wahlkreise oder Räume sind.
import networkx as nx
G = nx.grid_2d_graph(6, 6) # Brett-Kacheln, 4-Nachbar-Nachbarschaft
district = {(0,0),(0,1),(1,1),(2,1)} # die Kacheln, die du gruppiert hast
ok = nx.is_connected(G.subgraph(district))
print("Legaler Bezirk" if ok else "Insel erkannt — illegal")
Move. Spiele eine Runde Gerrymandle von Hand und verliere, dann baue das gleiche Brett in NetworkX auf und lass is_connected dir sagen, welche deiner Vermutungen überhaupt legal waren. Der Punkt ist nicht, ein besserer Gerrymanderer zu werden — es ist zu verstehen, dass eine Fairness-Regel und ein Baucode beide nur Einschränkungen auf einer Partition sind. Aus dem späten 2070er kann ich dir sagen, welche Version dieser Fähigkeit schlecht gealtert ist: die Studios, die einen Black-Box-„Optimierer” ihre Zonen zeichnen liessen und nicht erklären konnten, warum eine Einheit das schlechte Tageslicht bekam. Wenn du ein generatives Raumplanungs-Werkzeug in diesem Quartal einführst, fordere es auf, seinen Constraint-Graph zu zeigen. Wenn der Anbieter verschwindet, sollte ein 25-Jähriger immer noch die Partition öffnen und fragen können: ist das zusammenhängend, ist das fair, und wer hat entschieden?
Learn-it:
- Spiele es: gerrymandle.cc — ein frisches Bezirkspuzzle pro Tag.
- Die Bibliothek: networkx.org — Dokumentation, Tutorial und die
is_connected/subgraphReferenz. - Der Code: github.com/networkx/networkx — klone ihn, lies das Algorithmen-Modul.
- Kernkonzept: Gerrymandering — Packing, Cracking und das 1812er Gerry-mander.
- PAZ-Anmerkung: vergleiche mit PAZs Brick — Hack Konzeptpanel — gleiche NetworkX, zählt Kantenkreuzungen für MEP-Koordination anstelle von Bezirken.
QUELLE · ↗
PAZ Kaffi · interdisziplinäre Redaktionsarbeit, geleitet von der PAZ Academy