Schachaufgaben, gelöst bis zum letzten Zug.

Zugwunder ist eine Schachengine, die ich von Grund auf in Swift geschrieben habe, und die Mac-App darum herum. Sie beweist Matt, Hilfsmatt und Selbstmatt exakt, erfindet neue Rätsel aus ihren eigenen Endspieltabellen, trainiert deine Taktik und spielt mit rund 3000 Elo. Gerechnet wird ausschließlich auf deinem Mac.

Version 1.1.15 für macOS 14 oder neuer auf Apple Silicon. Die Engine allein läuft auch unter Linux; Wolfgang, eine Schach-Oberfläche für beliebige UCI-Engines, gibt es ebenfalls auf der Download-Seite.

Schachaufgabe: Matt in drei Zügen Weißer König auf e8, weiße Dame auf e4, schwarzer König auf g5. Weiß am Zug setzt in drei Zügen matt. Lösung: 1. Kf7 Kh5 2. Kf6 Kh6 3. Dg6 matt.
Matt in drei Zügen, Weiß am Zug. Genau ein erster Zug führt zum Ziel, und es ist kein Schach. Zugwunders Rätselgenerator baut solche Stellungen aus seinen Endspieltabellen und prüft, dass der Schlüsselzug eindeutig ist.

1. Kf7 Kh5 2. Kf6 Kh6 3. Dg6#Nach 1…Kh6 folgt 2. Dg6#.

Gemessen, nicht beworben.

Jede Zahl unten stammt aus Zugwunders eigenen Testläufen. Die Protokolle liegen jeder Veröffentlichung bei, und ein Build, der einen Test nicht besteht, wird nicht veröffentlicht.

Spielstärke 3065 ± 20 Elo Netz v6, ein Kern 500 Referenzpartien gegen Stockfish bei dessen kalibriertem UCI_Elo 3100, 60 s + 0,6 s pro Zug, 256 MB Hash, Syzygy-Tabellen: 83 Siege, 284 Remis, 133 Niederlagen. Darüber hinaus hat der Cluster Tausende Partien gegen Stockfish und andere Engines gespielt. Eine Schätzung auf Stockfishs Skala, keine offizielle Wertung.
Trainingsdaten 236,6 Millionen Stellungen Aus Zugwunders eigenem Selbstspiel und aus Partien gegen Stockfish, bewertet mit Zugwunders Suchergebnissen und den Partieausgängen. Kein fremder Code, keine fremden Gewichte oder Bewertungen sind in das Netz eingeflossen.
Bewertung NNUE, 6. Generation 768 → 2 × 256 → 1 Ein kleines neuronales Netz, quantisiert auf 16-Bit-Ganzzahlen und inkrementell mit SIMD-Befehlen aktualisiert. Trainiert mit einem 150-zeiligen PyTorch-Skript, in die Binärdatei eingebettet, in Swift ausgeführt.
Abhängigkeiten Keine Nur Swift und Apples Frameworks. Die einzige Ausnahme ist Fathom (MIT-Lizenz), das die Syzygy-Endspieltabellen liest.
Tests pro Veröffentlichung 364 + 32 364 Swift-Tests über Engine, App und Wolfgang, dazu 32 Protokolltests gegen die echte zugwunder-uci-Binärdatei. Neue Suchideen müssen zuerst einen SPRT-Vergleich gegen die Vorversion gewinnen.
Sprachen 4 Deutsch, Englisch, Französisch und Niederländisch, in der App umschaltbar. Diese Website folgt denselben vier.

Eine Engine, drei Programme.

Die Engine ist eine Bibliothek. Die Mac-App, die Schach-Oberfläche und die eigenständige UCI-Binärdatei sind drei Wege, sie zu benutzen.

Zugwunder-App-Symbol

Zugwunder

Die Mac-App

Löser, Taktik-Trainer, Spielpartner und Brett-Editor in einem nativen Fenster. Sie beweist Matt- und Problemschachforderungen exakt, erzeugt Rätsel, analysiert deine Partien und druckt Aufgabenblätter.

Alle Funktionen
Wolfgang-App-Symbol

Wolfgang

Eine Schach-Oberfläche für jede UCI-Engine

Spiel gegen Zugwunder, Stockfish oder jede andere UCI-Engine, lass Engines gegeneinander antreten, veranstalte kleine Turniere aus Eröffnungsserien und bewahre alles als PGN. Benannt nach dem Cousin, der mir Schach beigebracht hat.

Wolfgang im Detail

zugwunder-uci

Die Engine für sich allein

Eine Datei für macOS, Linux (x86_64 und ARM64) und WebAssembly. Lade sie in Cute Chess, En Croissant, Banksia, Wolfgang oder jedes andere UCI-Schachprogramm, oder lass sie in deinem Browser spielen.

Engine holen

Vier Modi, ein Brett.

Die Seitenleiste wechselt zwischen ihnen; die Stellung auf dem Brett bleibt dir erhalten. Eine Aufgabe aus dem Trainer lässt sich lösen, gegen die Engine ausspielen oder bearbeiten.

Lösen

Tipp eine FEN ein, öffne eine PGN oder fotografiere ein Diagramm aus einem Buch. Zugwunder findet die besten Fortsetzungen mit mehreren Varianten gleichzeitig oder beweist eine Forderung exakt: Matt, Hilfsmatt, Selbstmatt oder Patt in n, mit vollständigem Lösungsbaum und einer Warnung, wenn eine Aufgabe eine Nebenlösung hat.

Taktik-Trainer

Aufgaben von Lichess nach Motiv und Schwierigkeit, deine eigene Aufgabenbibliothek und Rätsel, die Zugwunder selbst erzeugt. Fortschritt je Aufgabe und Motiv, Tipps auf Wunsch und ein Wiederholungsmodus für die Aufgaben, an denen du gescheitert bist.

Gegen Engine

Drei Spielstärken namens Anfänger, Verein und Erik, ein Eröffnungsbuch und eine Uhr mit Inkrement. Oder spiel gegen eine andere Engine, begrenze Stockfish auf eine Elo-Zahl oder sieh zu, wie Zugwunder gegen sie antritt. Danach eine vollständige Partieanalyse mit Bewertungskurve und kommentierter PGN.

Brett-Editor

Stell die Figuren von Hand auf, lege Zugrecht und Rochaderechte fest, und lass die App prüfen, ob die Stellung regelgerecht ist, bevor du daraus löst, trainierst oder spielst.

Neu in diesem Herbst.

Seit Ende September ist aus einem Mattlöser eine vollständige Schachwerkstatt geworden. Hier steht, was sich zuletzt geändert hat; die ganze Geschichte steht in den Versionshinweisen der App.

  • Schachrätsel erstellenneu

    Wähle die Zugfarbe, Matt in einem bis sechs Zügen und Dame, Turm oder Bauer als zusätzliche Figur. Zugwunder zieht ein zufälliges Dreisteiner-Endspiel aus seinen exakten Tabellen, prüft, dass genau ein erster Zug rechtzeitig mattsetzt, und übergibt die Stellung an den Trainer. Jedes Rätsel ist neu, und jedes ist lösbar.

  • Stellung aus Bild, in allen vier Sprachen

    Zieh ein Bild aufs Fenster, füge eines mit ⌘V ein oder wähle eine Datei: ein Diagramm aus einem Buch, ein Scan oder ein Bildschirmfoto. Die Erkennung nutzt Anthropics Claude über deinen eigenen API-Schlüssel, und das Ergebnis ist ein bearbeitbarer Vorschlag, den du bestätigst, bevor etwas gelöst wird. Oberfläche, Hilfetexte und die Hinweise des Modells folgen jetzt der Sprache der App.

  • Fensteraufnahmen

    Ein Kamera-Knopf in allen vier Modi sichert das ganze Fenster samt Titelleiste als PNG, wohin du willst. Praktisch für eine Schachspalte oder die Vereinszeitung.

  • Einstellbare Spielstärke der UCI-Engine

    Mit eingeschaltetem UCI_LimitStrength wählt UCI_Elo eine Stufe von 1100 bis 3000. Die Skala wurde in mehr als 5.000 Partien gegen Stockfish 17.1 kalibriert und gilt als vorläufig, bis ein zweiter Gegner und macOS geprüft sind.

  • Netz v6 und vollständige UCI-Unterstützung

    Das sechste Netz ist nach Vergleichen über je 500 Partien gegen Stockfish und Arasan in alle Builds übernommen worden. Die UCI-Umsetzung wurde nach der Spezifikation von 2006 vervollständigt, einschließlich Pondern, searchmoves, go mate und Knotengrenzen, und wird bei jeder Veröffentlichung von 32 Protokolltests geprüft.

  • Die Engine als eigenes Paket

    zugwunder-uci wurde ein eigenständiges Programm mit Builds für macOS, Linux x86_64 und ARM64 sowie WebAssembly. Beide Apps bringen ihre eigene Kopie mit und sprechen über UCI mit ihr wie mit jeder anderen Engine.

Geschrieben von den Bitboards aufwärts.

Eine Schachengine ist die Art Programm, bei der sich jede Abkürzung als verlorene Partie zeigt. Unter Zugwunder liegt keine Engine-Bibliothek: Zuggenerator, Suche, die neuronale Bewertung samt Trainingspipeline, die Endspieltabellen, die Problemlöser, die Apps und der Updater gehören alle zum Projekt.

Lies, wie es gebaut ist

Die Engine antwortet wie jede andere UCI-Engine. Ein kurzer Test im Terminal:

printf 'uci\nisready\ngo movetime 1000\n' | ~/bin/zugwunder-uci

Sie antwortet mit ihren Optionen, uciok, readyok, einigen info-Zeilen und schließlich bestmove ….

Probier es an einer Stellung, die du kennst.

Signiert und notarisiert für macOS. Die Browserversion braucht gar keine Installation.