Schach-Engine

Dies ist eine einfache Schach-Engine, gegen die Sie spielen können. Die verwendeten Algorithmen sind MiniMax und Monte Carlo Tree Search. Der Schwierigkeitsgrad wird durch den gewählten KI-Gegner bestimmt, der auch während eines Spiels gewechselt werden kann.

Verfügbare KI-Gegner

MiniMax-Algorithmus

Der verwendete Algorithmus ist der MiniMax-Algorithmus, ein beliebter Backtracking-Algorithmus in der Spieltheorie und künstlichen Intelligenz. Er bewertet jede Position des Spiels als eine Zahl, die angibt, wie vorteilhaft sie für jeden Spieler ist.

Visualisierung des MiniMax-Algorithmus

Die geschätzte Anzahl möglicher Schachstellungen liegt bei etwa 10^40, was das vollständige Lösen eines Schachspiels nicht praktikabel macht. Um die Komplexität zu reduzieren, wird Alpha-Beta-Pruning verwendet, das es ermöglicht, Züge abzubrechen, die nicht zu einem optimalen Ergebnis führen.

Visualisierung von Alpha-Beta-Pruning

Bewertung der Position

Jeder Zustand des Schachbretts muss als eine einzelne Fließkommazahl dargestellt werden, die die Stärke beider Spieler berücksichtigt. Dies geschieht durch Berücksichtigung des Materialvorteils und des Positionsvorteils der Figuren auf dem Brett.

Eigenheiten des Algorithmus

Monte Carlo Tree Search

MCTS kombiniert Baum-Suche und zufällige Simulation, um effizient den Suchraum zu erkunden. Die Phasen von MCTS sind:

  1. Auswahl: Der am besten bewertete Nachfolger wird ausgewählt, bis ein Knoten ohne weitere Kinder erreicht wird.
  2. Erweiterung: Für diesen Knoten werden Kinder für alle legalen Züge erstellt.
  3. Rollout: Ein Spiel wird simuliert, indem beide Spieler zufällige Züge machen.
  4. Backpropagation: Die Ergebnisse der Simulation werden an alle Elternknoten weitergegeben.

Benutzeroberfläche

Die Benutzeroberfläche zeigt ein Schachbrett, auf dem Figuren durch Klicken verschoben werden können. Der Benutzer kann das Spiel starten, indem er einen Zug für Weiß ausführt, woraufhin die KI für Schwarz reagiert.

Unten befinden sich Steuerelemente für die KI. Hier kann der Typ der KI gewählt werden.

Quellcode und Demo

Der Quellcode der Schach-Engine ist auf GitHub verfügbar.

Sie können die Engine auch direkt hier ausprobieren.