← Neueste Arbeiten
🤖 AI

Animation, Verification and Visualisation of Prolog Transition Systems with ProB

Dieses Papier präsentiert jüngste Erweiterungen des Prolog-Animationsmodus von ProB, einschließlich verbesserter Simulation, Trace-Replay, Benutzereingabe und Visualisierungsfunktionen, die auf Fallstudien wie Connect Four angewendet werden, um die Strategiebewertung, die Event-B-Beweisverifizierung und Bildungsdemonstrationen zu unterstützen.

Ursprüngliche Autoren: Jan Gruteser, Michael Leuschel, Katharina Engels, Fabian Vu

Veröffentlicht 2026-07-24
📖 7 Min. Lesezeit🧠 Tiefgang

Ursprüngliche Autoren: Jan Gruteser, Michael Leuschel, Katharina Engels, Fabian Vu

Originalarbeit lizenziert unter CC BY 4.0 (http://creativecommons.org/licenses/by/4.0/). Dies ist eine KI-generierte Erklärung des untenstehenden Papers. Sie wurde nicht von den Autoren verfasst oder gebilligt. Für technische Genauigkeit konsultieren Sie das Originalpaper. Vollständigen Haftungsausschluss lesen

Stellen Sie sich vor, Sie sind ein Detektiv, der versucht, ein Rätsel zu lösen, aber statt eines Tatorts ist Ihr „Verbrechen“ ein Stück Computercode, der möglicherweise einen Bug verbirgt. In der Welt der Informatik nennt man das formale Verifikation. Es ist so, als würde man eine perfekte, mathematische Karte erstellen, wie ein Programm verhalten sollte, und dann jeden einzelnen Schritt überprüfen, um sicherzustellen, dass das Programm sich nicht verirrt oder abstürzt. Normalerweise beinhaltet dies komplexe Mathematik, die nur Experten lesen können. Aber was wäre, wenn man diese trockene Mathematik in ein lebendiges, atmendes Videospiel verwandeln könnte? Das ist die Magie von Prolog, einer Programmiersprache, die eher in Logikrätseln als in Standardanweisungen denkt. Wenn man Prolog mit einem Werkzeug namens PROB kombiniert, erhält man einen „Model Checker“ – einen superintelligenten Roboter, der Ihr Logikrätsel spielen kann, Fehler aufspürt und es Ihnen sogar ermöglicht, die Geschichte Schritt für Schritt durchzugehen, um genau zu sehen, wo etwas schiefgelaufen ist.

In diesem Papier geht es darum, diesem Roboter ein großes Upgrade zu verpassen. Die Autoren, ein Team der Heinrich Heine Universität Düsseldorf, haben ein bestehendes Werkzeug namens PROB (das bereits Prolog spricht) genommen und ihm eine ganz neue Reihe von Superkräften hinzugefügt. Man kann es sich wie das Verwandeln einer schwarz-weiß Skizze in ein hochauflösendes, interaktives Filmstudio vorstellen. Sie haben es einfacher gemacht, das Geschehen zu visualisieren, eine Möglichkeit hinzugefügt, tausende von Spielen in Sekunden zu simulieren, um Strategien zu testen, und sogar ein System geschaffen, bei dem man das Geschehen anhalten, dem Computer eine spezifische Anweisung geben und beobachten kann, wie er reagiert. Sie haben diese neuen Funktionen getestet, indem sie das klassische Spiel Connect Four in ein Logikrätsel verwandelten und verschiedene Computer-„Gehirne“ gegeneinander antreten ließen, um zu sehen, wer gewinnt. Das Ergebnis ist ein Toolkit, das das Überprüfen komplexer Computerlogik eher wie das Spielen eines Spiels und weniger wie das Erledigen von Hausaufgaben wirken lässt.

Die Magie der „lebendigen“ Logik-Karte

Im Kern beschreibt das Papier, wie man eine Menge von Regeln, die in Prolog geschrieben sind (einer Sprache, die wie eine Liste von „Wenn dies, dann das“-Aussagen aussieht), in ein Transitionssystem verwandelt. Stellen Sie sich ein Brettspiel vor, bei dem jedes Feld ein „Zustand“ ist (wie „Fußgängerampel ist Rot“) und jede Bewegung eine „Transition“ (wie „Wechsel zu Grün“). In den alten Tagen konnte PROB diese Regeln laden und Sie per Knopfdruck von einem Quadrat zum nächsten bewegen, um den Pfad anzuzeigen. Aber es war etwas klobig.

Die Autoren haben dieses Erlebnis erheblich verfeinert. Zuerst haben sie die Visualisierung deutlich verbessert. Früher sahen Sie vielleicht nur eine Textliste mit „Zustand: Rot“. Jetzt haben sie Tools integriert, die tatsächliche Bilder zeichnen können. Wenn Sie eine Ampel modellieren, kann das Tool nun einen echten, rot leuchtenden Kreis auf Ihrem Bildschirm anzeigen. Wenn Sie ein Schachspiel modellieren, kann es das Schachbrett mit den Figuren an ihren exakten Positionen darstellen. Noch cooler ist, dass sie interaktive Visualisierungen hinzugefügt haben: Sie können mit der rechten Maustaste auf ein Teil im Bild klicken, und das Tool zeigt Ihnen alle legalen Züge an, die Sie machen können, genau wie in einem echten Videospiel. Sie haben auch eine Funktion erstellt, um diese visuellen Geschichten als HTML-Dateien zu exportieren, damit Sie Ihre „Logikrätsel-Movie“ mit jedem teilen können, selbst wenn dieser nicht über die spezielle Software verfügt.

Die „Pause und Frag“-Funktion

Einer der spannendsten neuen Tricks ist etwas, das sie symbolische Transitionen nennen. Stellen Sie sich vor, Sie spielen ein Spiel gegen einen Computer, aber der Computer bleibt stecken, weil er nicht weiß, welchen Zug Sie als Nächstes machen wollen. In der Vergangenheit hätte der Computer einfach geraten oder gestoppt. Jetzt kann das Tool anhalten und sagen: „Hey, ich brauche einen Menschen, der diesen Teil entscheidet!“ Es wartet, bis Sie einen spezifischen Wert eingeben (wie „Ziehe den Springer nach F3“) und setzt dann die Geschichte fort. Dies ist enorm wichtig für das Testen komplexer Logik, etwa beim Beweisen eines mathematischen Theorems, wo ein Mensch eine Entscheidung treffen muss, die ein Computer nicht von selbst vorhersagen kann.

Sie haben auch das Trace Replay verbessert. Betrachten Sie dies als eine „Save Game“-Funktion. Wenn Sie eine perfekte Sequenz von Zügen finden, die ein Problem löst, können Sie diese speichern. Später können Sie diese Speicherdatei laden, und das Tool spielt exakt dieselben Züge Schritt für Schritt ab. Dies ist entscheidend, um sicherzustellen, dass Sie, wenn Sie heute einen Bug beheben, nicht versehentlich morgen etwas anderes kaputt gemacht haben. Die neue Version speichert diese Replays in einem intelligenten Format (JSON), das sich genau daran erinnert, in welchem Zustand Sie waren, sodass das Replay jedes Mal perfekt ist.

Der „Millionen-Spiele“-Simulator

Die vielleicht mächtigste Ergänzung ist die Fähigkeit, Monte-Carlo-Simulationen durchzuführen. Dies ist eine schicke Art zu sagen: „Lass uns das Spiel eine Million Mal spielen, um zu sehen, was passiert.“ Die Autoren haben PROB mit einem Simulator namens SIMB verbunden. Anstatt nur ein einzelnes Spiel zu beobachten, können Sie dem Computer sagen, er solle Connect Four 10.000 Mal hintereinander spielen und dabei verschiedene Strategien gegeneinander antreten lassen.

Sie nutzten dies, um drei verschiedene „Gehirne“ für Connect Four zu testen:

  1. Random (Zufall): Ein Spieler, der einfach einen Zug wählt, ohne nachzudenken.
  2. Minimax: Eine klassische KI, die einige Züge vorausblickt, um den besten Pfad zu finden.
  3. MCTS (Monte Carlo Tree Search): Eine intelligentere KI, die viele mögliche Zukünfte simuliert, um ihre Entscheidung zu treffen.

Die Ergebnisse waren faszinierend. Wenn der Random-Spieler gegen Minimax kämpfte, gewann der Random-Spieler etwa 55,7 % der Zeit, wenn er an der Reihe war, aber diese Zahl sank auf 7,3 %, wenn Minimax an der Reihe war. Als jedoch Minimax gegen MCTS antrat, deklassierte der MCTS-Spieler ihn und gewann etwa 99 % der Spiele. Die Autoren merkten an, dass ihr Minimax-Spieler etwas schwach war, da er nur zwei Züge vorausblickte (eine flache Suche), was erklärt, warum er so deutlich gegen den fortgeschritteneren MCTS verlor.

Sie maßen auch, wie lange diese Spiele dauerten. Die Random- und Minimax-Spieler waren schnell und beendeten 10.000 Spiele in weniger als 20 Minuten. Aber der MCTS-Spieler war etwas langsamer und benötigte mehrere Stunden für dieselbe Anzahl an Spielen, da er so viel intensiver nachdachte. Interessanterweise stellten sie fest, dass der MCTS-Spieler im Durchschnitt nur 9,7 Züge brauchte, um den Random-Spieler zu besiegen, während Minimax 18,0 Züge benötigte.

Warum das wichtig ist

Dies ist nicht nur das Spielen von Spielen. Die Autoren zeigen, dass diese Werkzeuge perfekt für das Lehren sind. Stellen Sie sich vor, ein Student lernt, Code zu schreiben; anstatt nur auf einen Bildschirm voller Text zu starren, kann er sehen, wie sein Code zum Leben erwacht, indem er eine visuelle Animation wird. Wenn er einen Fehler macht, kann er sehen, wie die „Ampel“ auf Rot springt oder das „Schachstück“ verschwindet, was es viel einfacher macht zu verstehen, was schiefgelaufen ist.

Das Papier hebt auch hervor, dass dieses System hervorragend geeignet ist, um Interpreter zu bauen. Ein Interpreter ist wie ein Übersetzer, der eine Programmiersprache mit einer anderen sprechen lässt. Durch die Nutzung der neuen Funktionen von PROB können Studenten und Forster leicht Übersetzer für andere Sprachen (wie Java oder WebAssembly) bauen und diese sofort testen, indem sie sie im Visualizer laufen lassen.

Am Ende behaupten die Autoren nicht, dass sie die gesamte Informatik gelöst haben. Sie schlagen vor, dass wir, indem wir diese logischen Werkzeuge visueller, interaktiver und fähiger machen, massive Simulationen durchzuführen, Bugs früher erkennen, Studenten besser unterrichten und komplexe Systeme tiefer verstehen können. Sie deuten sogar eine Zukunft an, in der diese Werkzeuge verwendet werden könnten, um KI-Agenten mittels Reinforcement Learning zu trainieren, wobei der Computer (genau wie ein Mensch) durch Versuch und Irrtum lernt, Spiele (oder Logikrätsel) zu spielen. Aber für den Moment ist der Hauptsieg darin, die trockene, abstrakte Welt der Logikbeweise in einen Spielplatz zu verwandeln, auf dem man die Regeln sehen, berühren und mit ihnen spielen kann.

Ertrinken Sie in Arbeiten in Ihrem Fachgebiet?

Erhalten Sie tägliche Digests der neuesten Arbeiten passend zu Ihren Forschungsbegriffen — mit technischen Zusammenfassungen, in Ihrer Sprache.

Digest testen →