KI-Berechnung
Wie die KI den besten Zug berechnet — gnubg Neuronale Netze auf allen Schwierigkeitsstufen.
Berechnungs-Pipeline
Schritt 0: Opening Book prüfen
Vor der aufwändigen Berechnung prüft die KI, ob ein Opening-Book-Eintrag existiert. Diese 3 universell anerkannten Eröffnungszüge werden sofort gespielt.
| Würfel | Zug | Strategie |
|---|---|---|
| 3-1 | 8/5, 6/5 | Make 5-Point (Golden Point) |
| 6-1 | 13/7, 8/7 | Make Bar-Point |
| 4-2 | 8/4, 6/4 | Make 4-Point |
Nur auf dem unveränderten Startbrett. Gilt für alle Schwierigkeitsgrade. Für Schwarz werden die Punkte automatisch gespiegelt.
Schritt 1: Legale Züge generieren
Der Move-Generator erzeugt alle legalen Zugkombinationen für die gewürfelten Augen. Typisch: 5–30 Kombinationen, bei Pasch bis zu 100+.
- Normaler Wurf (z.B. 3-5): Bis zu 2 Einzelzüge
- Pasch (z.B. 4-4): Bis zu 4 Einzelzüge
- Bar-Eintritt hat Vorrang: Steine auf der Bar müssen zuerst eingewürfelt werden
- Bearing Off: Nur wenn alle 15 Steine im Heimfeld sind
Schritt 2: gnubg Neuronales Netz
Alle Schwierigkeitsstufen nutzen die vortrainierten neuronalen Netze von GNU Backgammon (gnubg-nn) — den Goldstandard der Backgammon-KI seit den 1990er Jahren.
3 spezialisierte Netze
- • Contact — Positionen mit Kontakt zwischen den Steinen
- • Race — Reine Renn-Positionen ohne Kontakt
- • Crashed — Gestapelte/gequetschte Positionen
Das Netz gibt 5 Wahrscheinlichkeiten zurück: P(Gewinn), P(Gammon-Gewinn), P(Backgammon-Gewinn), P(Gammon-Verlust), P(Backgammon-Verlust).
Schritt 3: Strategie nach Schwierigkeit
0-Ply NN-Bewertung + Gaussian Noise
- 1.Jeder legale Zug wird mit dem Neuronalen Netz bewertet (0-Ply = direkt)
- 2.Auf jede Equity wird Zufallsrauschen addiert (proportional zum Score-Range)
- 3.Der Zug mit der höchsten verrauschten Equity wird gespielt
0-Ply Vorfilter (Top 5) → 1-Ply Verfeinerung (gnubg C++)
- 1.Verschiedene Zugsequenzen zum gleichen Board werden zusammengefasst
- 2.Alle Kandidaten mit 0-Ply NN bewerten, Top 5 behalten
- 3.Jeder der Top 5 wird mit 1-Ply neu bewertet (gnubg berechnet intern alle 21 Gegner-Würfelkombinationen)
- 4.Bester 1-Ply-Kandidat wird gespielt
0-Ply Vorfilter (Top 15) → 2-Ply Verfeinerung (gnubg C++)
- 1.Verschiedene Zugsequenzen zum gleichen Board werden zusammengefasst
- 2.Alle Kandidaten mit 0-Ply NN bewerten, Top 15 behalten
- 3.Jeder der Top 15 wird mit 2-Ply neu bewertet (gnubg berechnet zwei Ebenen Lookahead intern in C++)
- 4.Bester 2-Ply-Kandidat wird gespielt
Dopplerwürfel-Strategie
Alle Verdopplungsentscheidungen nutzen die NN-basierte Gewinnwahrscheinlichkeit für präzise Einschätzung.
| Verdoppeln bei | Annehmen ab | |
|---|---|---|
| Easy | Nie | Immer |
| Medium | 66–88% (NN) Too-Good: Gammon >25% + Win >80% | ≥ 25% Gewinnchance (NN) |
| Hard | 66–82% (NN) Too-Good: Gammon >25% + Win >80% | ≥ 25% Gewinnchance (NN) |
Admin-konfigurierbare Parameter
Diese Parameter können unter Einstellungen → KI angepasst werden:
| Parameter | Standard | Wirkung |
|---|---|---|
| easy_noise | 0.30 | Stärke des Zufalls bei Easy (0 = perfekt, 1 = chaotisch) |
| max_doubles_per_player | 3 | Max. Pasche pro Spieler pro Spiel |
Zusammenfassung
| Easy | Medium | Hard | |
|---|---|---|---|
| Bewertung | gnubg-NN | gnubg-NN | gnubg-NN |
| Vorfilter | — | 0-Ply Top 5 | 0-Ply Top 15 |
| Ply-Tiefe | 0-Ply | 1-Ply | 2-Ply |
| Rauschen | Ja | — | — |
| Rechenzeit | ~0.1ms | ~0.5ms | ~285ms |