An Integer Linear Programming Model for the Evolomino Puzzle

Diese Arbeit stellt ein ganzzahliges lineares Optimierungsmodell zur formalen Beschreibung des Logikrätsels Evolomino vor, das zur Generierung eindeutiger Rätselinstanzen genutzt wird und durch Experimente zeigt, dass ein moderner CP-SAT-Löser bis zu 18×18 große Gitter effizient bewältigen kann.

Andrei V. Nikolaev, Yuri A. Myasnikov

Veröffentlicht Wed, 11 Ma
📖 4 Min. Lesezeit🧠 Tiefgang

Each language version is independently generated for its own context, not a direct translation.

Stellen Sie sich vor, Sie sitzen an einem Schreibtisch und haben ein neues, faszinierendes Logikrätsel vor sich, das von den japanischen Meistern des „Nikoli"-Verlags erfunden wurde. Es heißt Evolomino.

Statt nur Zahlen in Kästchen zu schreiben (wie bei Sudoku), müssen Sie hier kleine Quadrate zeichnen, die sich wie lebendige Organismen verhalten. Aber keine Sorge, in diesem Artikel erklären wir nicht nur das Rätsel, sondern auch, wie die Autoren – zwei Mathematiker aus Russland – es in die Sprache eines Computer-Programmierers übersetzt haben, damit ein Computer es lösen kann.

Hier ist die Geschichte des Papiers, einfach erklärt:

1. Das Rätsel: Ein Puzzle, das wächst

Stellen Sie sich ein Schachbrett vor, auf dem einige Felder grau (verboten) und andere weiß (begehbar) sind. Auf einigen weißen Feldern stehen kleine Pfeile.

  • Die Aufgabe: Sie müssen in die weißen Felder Quadrate (□) setzen.
  • Die Magie: Diese Quadrate bilden Gruppen, die wir „Blöcke" nennen. Jeder Block muss mindestens ein Quadrat enthalten, das auf einem Pfeil liegt.
  • Die Evolution: Das ist der spannende Teil. Ein Pfeil zeigt eine Richtung. Entlang dieses Pfeils müssen die Blöcke „wachsen".
    • Der erste Block ist klein.
    • Der zweite Block muss genau ein Quadrat größer sein als der erste.
    • Der dritte muss wieder eins größer sein als der zweite.
    • Wichtig: Sie dürfen die Form nicht drehen oder spiegeln. Es ist, als würde ein Schneemann wachsen, indem er einfach nur einen neuen Schneeball oben draufsetzt, ohne den ganzen Körper neu zu formen.

Das Ziel ist es, das ganze Brett so zu füllen, dass alle Pfeile ihre Regeln befolgen und keine zwei Blöcke sich gegenseitig stören.

2. Die Herausforderung: Warum Computer das schwer finden

Das klingt einfach, aber für einen Computer ist das ein Albtraum. Stellen Sie sich vor, Sie müssten in einem riesigen Labyrinth alle möglichen Wege ausprobieren, um zu sehen, welcher Weg funktioniert. Bei einem 10x10-Brett gibt es so viele Möglichkeiten, dass es länger dauert als das Alter des Universums, sie alle einzeln durchzuprobieren.

Bisher gab es nur einen Beweis, dass dieses Rätsel extrem schwierig ist (mathematisch gesehen „NP-vollständig"). Das bedeutet: Es gibt keinen schnellen, einfachen Trick, um es immer sofort zu lösen.

3. Die Lösung: Die Übersetzung in eine „Rezeptur"

Die Autoren des Papiers haben eine clevere Idee gehabt. Statt dem Computer zu sagen: „Versuch mal, das Rätsel zu lösen!", haben sie ihm eine Rezeptur gegeben.

Sie haben die Regeln des Puzzles in eine Sprache übersetzt, die Computer lieben: Ganze Zahlen und lineare Gleichungen (Integer Linear Programming).

Stellen Sie sich das wie einen sehr strengen Koch vor, der ein Rezept für einen Kuchen hat:

  • „Wenn du Mehl (ein Quadrat) in Schale A (Zelle 1) tust, darfst du in Schale B (Zelle 2) kein Mehl haben."
  • „Wenn der erste Teigling (Block 1) 3 Stück groß ist, muss der zweite Teigling (Block 2) genau 4 Stück groß sein."
  • „Alle Teiglinge müssen aneinander kleben, wie ein einziger Knetkloß."

Der Computer nimmt dieses Rezept und rechnet blitzschnell aus, welche Kombination von „Mehl" und „Zucker" (Quadraten) alle Regeln gleichzeitig erfüllt.

4. Der neue Generator: Ein Puzzle-Designer mit Magie

Nicht nur das Lösen war das Ziel. Die Autoren wollten auch neue Rätsel erfinden. Aber wie erstellt man ein Rätsel, das genau eine Lösung hat?

Sie haben einen Algorithmus (eine Art digitaler Puzzle-Architekt) gebaut:

  1. Er fängt mit einem leeren Brett an.
  2. Er zeichnet zufällig Pfeile.
  3. Er baut die wachsenden Blöcke darauf.
  4. Der Clou: Am Ende schaut er sich das fertige Bild an und fängt an, Teile davon wegzunehmen (wie ein Bildhauer, der Stein wegschlägt). Er nimmt ein Quadrat weg, prüft: „Hat das Rätsel jetzt noch nur eine Lösung?" Wenn ja, bleibt es weg. Wenn nein (es gäbe zwei Lösungen), setzt er es wieder zurück.

So entsteht ein perfektes Rätsel, das genau eine Lösung hat, aber schwer zu knacken ist.

5. Das Ergebnis: Ein Rennwagen im Logik-Dschungel

Die Autoren haben ihren Computer-Code (einen sogenannten „CP-SAT Solver") getestet. Das Ergebnis war beeindruckend:

  • Bei kleinen Rätseln (5x5 bis 11x11) war der Computer schneller als ein Blinzeln (unter einer Sekunde).
  • Selbst bei großen Rätseln (18x18, also 324 Felder) brauchte er nur etwa eine Minute.

Das ist wie ein Rennwagen, der durch einen dichten Wald fährt, während andere Autos (ältere Methoden) noch im Dschungel stecken bleiben.

Fazit

Dieses Papier ist wie eine Brücke zwischen zwei Welten:

  1. Die Welt der Spaß-Rätsel, die man am Kaffeehaustisch löst.
  2. Die Welt der harten Mathematik, die komplexe Probleme in einfache Gleichungen zerlegt.

Die Autoren haben gezeigt, dass man auch für sehr neue und knifflige Rätsel wie Evolomino eine mathematische „Rezeptur" finden kann, mit der moderne Computer in Sekundenbruchteilen Meisterleistungen vollbringen. Und sie haben uns einen Werkzeugkasten gegeben, um unendlich viele neue, spannende Rätsel für uns alle zu erfinden.