Erweiterungen
Es gibt viele Möglichkeiten, eine Schach-KI zu erweitern. Mitunter um andere Spielmodi. Für mich ist das uninteressant, da ich fast zu 100% nur klassisches Schach spiele. Aber auch hier finden sich Gelegenheiten zur Optimierung, wie etwa das Multithreading.
Eine oft verwendete Erweiterung sind Eröffnungsbücher. Das sind kleine Datenbanken mit zahlreichen Positionen und die besten Antworten darauf. Früher war ein Eröffnungsbuch mit 20.000 Stellungen bereits eine beeindruckende Sache. Heute haben die Bücher ein paar hunderttausend, manche sogar mehr als eine Million Stellungen. Diese Dateien bieten zwei Vorteile. Die KI macht nicht schon am Anfang einen groben Fehler und sie spielt nicht immer die gleichen Züge. Um etwas Vielfalt in die Sache zu bringen, wählte meine erste Version der KI mit Weiß zwischen e4, d4 und c4 aus. Das half beim KI-Vergleich, da somit unterschiedliche Stellungen auf das Brett kamen.
Wer es „richtig“ machen will, setzt auf ein großes Buch. Das wird meist per PGN oder mit PolyGlot realisiert. Letzteres war für mich zugegebenermaßen eine ziemliche Herausforderung, zumal die KI mein erstes C++-Projekt ist.
Endspieltabellen sind eine ebensolche Erweiterung. Während Eröffnungsbücher nur wenige Megabyte groß sind, gehen Endspieltabellen in den Terabytebereich. Ab einer bestimmten Figurenanzahl kann man in diesen Tabellen nach der Position suchen und erhält anschließend auf jeden Zug die perfekte Antwort. Das hat für die KI u. a. den Vorteil, dass sie keine 50 oder 100 Halbzüge im Voraus denken muss.
Aktueller Stand meiner KI
PolyGlot war ein großer Sprung, auch wenn es, während ich diese Zeilen schreibe, noch nicht 100%ig mit meinen Protokollen funktioniert. Sobald das geht, starten die nächsten Turniere.
Die ganz groben Patzer, vor allem im taktischen Bereich, sind behoben. Die meisten Fehler lassen sich derzeit auf positionelle Probleme zurückführen. D. h. die KI weiß nicht richtig, was zu tun ist, wenn sie keine Taktik findet und sich die Position mit den aktuellen Zahlen nicht verbessern lässt. Dann kommen dumme Züge, etwa sinnlose Turmzüge, heraus.
Wenn die KI verliert, dann meistens im Mittelspiel und das genau aus solchen Gründen. Oder weil sie eine Taktik nicht sieht, da die Suchtiefe zu gering ist.
Im KI-Vergleich liegt sie derzeit zwischen 1800 und 1900 Elo. Da ist Luft nach oben. Im Schnell- und Blitzschach besiegt sie Menschen mit circa 2000 Wertungspunkte. Auch hier ist noch Luft nach oben.
Da es die perfekte KI nie geben wird, ist es eine endlose Aufgabe. Immer wieder erwische ich mich dabei, wie ich bei den Turnieren fiebere, als wäre es mein eigenes Kind. Ich freue mich über Siege, hadere mit Patzern und an manchen Tagen sehe ich nur die vielen Zahlen vor dem geistigen Auge.
Mein Ziel ist es, irgendwann auf etwa 2400 Elo zu kommen. Dann ist Version 1.0 fertig. Und danach? Vielleicht 2.0, als neuronales Netz.
Spiele gegen die KI
Ab und zu spielt meine KI online. Hier kannst Du diese Spiele sehen, ebenso eine Vielzahl der Spiele gegen andere KIs. Irgendwann, wenn sie ausgereift genug ist, will ich einen eigenen Rechner für die KI besorgen, damit sie rund um die Uhr erreichbar ist. Mal sehen, was die Zukunft bringt.
Ach ja, die KI hat auch einen Namen: Hathor.