English
k-SAT · Kartographie · 25. August 2026

Karte des Instanzraums

Nicht der Lösungsraum, sondern der Raum aller Instanzen. Erfüllbarkeit ist darauf eine monotone Funktion — der Raum hat also einen Rand, eine Höhe und eine lokale Geometrie. Alle drei sind exakt vermessen. Und trotzdem lässt sich die Zugehörigkeit nicht ausrechnen; auch dafür gibt es einen gemessenen Grund.

Exakt über den vollständigen Würfel, n = 10 … 22 · instanzraum.py · randnaehe.py

6 528
Dimensionen bei n = 18
monoton
Klausel dazu kippt nur SAT→UNSAT
95 %
liegen 1 Klausel von der Gegenmenge
C(b,3)
tötende Einzelklauseln, exakt

1 · Der Raum ist ein Verband, kein Nebel

Bei n Variablen gibt es 8·C(n,3) mögliche Klauseln — Tripel mal Vorzeichenmuster. Eine Instanz ist eine Teilmenge davon, der Instanzraum also der Würfel {0,1}8·C(n,3). Bei n = 18 sind das 6 528 Dimensionen.

Ein einziger Satz ordnet das Ganze: eine Klausel hinzufügen kann nur SAT → UNSAT kippen, nie zurück.

2 · Ein Schnitt durch den Raum

6 528 Dimensionen lassen sich nicht zeichnen — ein zweidimensionaler Schnitt schon. Zwei unabhängige Klauselströme A und B; das Feld an der Stelle (i, j) ist die Instanz aus den ersten i Klauseln von A und den ersten j von B. Nach rechts und nach oben werden also Klauseln hinzugefügt.

Weil Erfüllbarkeit monoton ist, muss das lösbare Gebiet unten links zusammenhängen und der Rand eine Treppe sein, die nie zurückläuft. Genau das ist zu sehen — und die Treppe ist ausgefranst, nicht glatt.

n = 18 · Gitter 81 × 81 · 6 561 Instanzen einzeln exakt gelöst
Klauseln aus Strom B →
Klauseln aus Strom A →
Zeiger über die Karte bewegen.
Die gestrichelte Diagonale ist i + j = 77, also α = 4,26 — die Schwelle. Sie schneidet die Treppe ungefähr dort, wo sie verläuft, aber nicht entlang: gleiche Klauselzahl heisst nicht gleiche Antwort.

Kontrolle: d wächst entlang beider Achsen nirgends rückwärts — auf allen 6 561 Feldern geprüft. Die Monotonie ist damit nicht behauptet, sondern nachgerechnet.

3 · Warum sich die Koordinate nicht ausrechnen lässt

Wenn der Raum so sauber geordnet ist — warum kann man dann nicht die Koordinaten einer Eingabeinstanz ausrechnen und nachsehen, ob sie im Gebiet liegt? Weil es genau zwei Sorten Koordinaten gibt und dazwischen nichts.

Billige Koordinaten

α, Gradverteilung, Unwucht, Frontbreite, Baumweite. In Polynomzeit ausrechenbar — aber der Rand ist keine Niveaumenge davon. Zwei Instanzen können in jeder dieser Zahlen übereinstimmen und verschieden antworten.

Exakte Koordinaten

d, Rückgrat, Lösungszahl. Sie bestimmen die Zugehörigkeit — aber sie auszurechnen ist mindestens so schwer wie das Problem selbst. d = 0 zu prüfen ist SAT.

Dazwischen ist nichts, und das ist kein Mangel an Fleiss: eine billige Koordinate, deren Niveaumenge der Rand wäre, wäre ein Polynomzeitverfahren für SAT. Die Frage „warum rechnet man die Koordinate nicht einfach aus" ist die P-gegen-NP-Frage in Koordinatenform.

Der geometrische Grund dahinter ist messbar. An der Schwelle hat keine der beiden Mengen ein Inneres:

Abstand zur Gegenmenge in Klauseln · n = 18 · je 150 Instanzen
αArtAnteilAbstand 1 Abstand 2+mittlerer Abstand
3,50SAT98 %52 %48 %1,48
4,00SAT85 %91 %9 %1,09
4,26SAT67 %95 %5 %1,05
4,26UNSAT33 %96 %4 %1,04
5,00UNSAT67 %85 %15 %1,15
6,00UNSAT95 %33 %67 %1,80

Bei α = 4,26 liegen 95 % der lösbaren Instanzen eine einzige Klausel von der unlösbaren Menge entfernt — und 96 % der unlösbaren eine einzige Klausel von der lösbaren. Es gibt an der Schwelle kein Inneres, in dem man liegen könnte. Der Rand ist überall.

lösbar unlösbar
500 Instanzen bei n = 18, α = 4,26, aufgetragen über den zwei stärksten billigen Strukturgrössen dieses Projekts. Die Gradstreuung liegt bei 10,873 (lösbar) gegen 10,889 (unlösbar) — die Wolken liegen ineinander.

4 · Der Rand, und wie er mit n schärfer wird

n = 10 n = 14 n = 18 n = 22 α = 4,267
Der Abstand αc(n) − 4,267 fällt 0,719 → 0,524 → 0,447 → 0,276, die Breite von 1,879 auf 1,599. Beides passt zu n−1/ν mit 1/ν ≈ 0,8.
Anteil lösbarer Instanzen · exakt · 600 / 600 / 400 / 150 Instanzen je Zelle
n3,003,504,004,26 4,505,005,506,00 αc(n)Breite
101,000,960,850,750,670,490,320,224,986
141,000,970,850,730,660,390,230,114,791
181,000,970,840,730,610,350,130,044,7141,879
221,000,980,830,640,530,220,050,024,5431,599

5 · Die Höhe über dem Rand

d(F) = min über alle Belegungen der Zahl verletzter Klauseln

d = 0 heisst lösbar. Und d ist zugleich die kleinste Zahl von Klauseln, die man streichen muss, damit F lösbar wird — der Abstand zum Rand in der Streichmetrik. Eine echte Höhenfunktion: monoton beim Hinzufügen, null genau auf dem Ideal.

n = 10 n = 14 n = 18 n = 22
d/n ist intensiv: bei α = 12 messen wir 0,515 / 0,514 / 0,498 / 0,503 — über eine Verdopplung von n hinweg dieselbe Zahl.

6 · Die lokale Geometrie: wie spitz ist der Rand?

Von der SAT-Seite nach oben

Eine hinzugefügte Klausel macht F genau dann unerfüllbar, wenn alle Lösungen sie verletzen — also wenn alle Lösungen auf ihren drei Variablen dasselbe Muster tragen. Das sind exakt die Tripel aus dem Rückgrat, je Tripel ein Vorzeichenmuster.

tötende Klauseln = C(b, 3)

Von der UNSAT-Seite nach unten

Die kritischen Klauseln: Streichen macht lösbar. Genau die Klauseln, die als einzige einen Punkt des Würfels verletzen — der Ausgang aus dem Filter, eine Kante tief.

Ausgänge = #{c : ∃x, c ist einziger Verletzer}
Kontrolle der Formel · alle 960 Klauseln bei n = 10 einzeln angehängt und geprüft
αLösungenRückgrat bC(b,3) roh gezähltgleich
3,0027000ja
4,008311ja
4,267311ja
4,603444ja
von SAT nach oben (Anteil aller 6 528 Klauseln) von UNSAT nach unten (Anteil der eigenen Klauseln)
n = 18, je 120 Instanzen. Von unten wird der Rand immer spitzer, von oben immer dicker. Treiber ist das Rückgrat: 0,05·n bei α = 3, 0,84·n bei α = 5.

7 · Was die Karte sagt