Über das Projekt
Hierbei handelt es sich um einen KI-Client für ein abgeändertes Reversi (ReversiXT) Strategiespiel. Das Projekt wurde im Team entwickelt und kombiniert Spieltheorie, künstliche Intelligenz und objektorientierte Programmierung. Unser Ziel war es, einen KI-Gegner zu entwickeln, der strategisch kluge Entscheidungen trifft und gegen konkurrierende KI-Gegner anderer Gruppen behaupten kann.
Technologien & Tools
KI-Features
- Minimax-Algorithmus mit Alpha-Beta-Pruning
- Heuristische Bewertungsfunktion für Spielzüge
- Tiefensuche mit konfigurierbarer Suchtiefe
- Optimierte Zugbewertung basierend auf Positionswerten
- Endspiel-Erkennung und -Optimierung
- Effiziente Spielbaumsuche
Technische Umsetzung
Der KI-Client nutzt den Minimax-Algorithmus mit Alpha-Beta-Pruning, um den optimalen Zug zu finden. Die Bewertungsfunktion berücksichtigt strategisch wichtige Positionen auf dem Spielfeld, wie Ecken (sehr wertvoll) und Randpositionen. Durch die Alpha-Beta-Optimierung konnten wir die Anzahl der zu evaluierenden Spielzustände deutlich reduzieren und so eine höhere Suchtiefe erreichen.
Spieltheorie & Strategie
- Eckenkontrolle als höchste Priorität
- Vermeidung von C- und X-Feldern (Sonderfelder)
- Mobilitätsbewertung (Anzahl möglicher Züge)
- Steinanzahl-Bewertung im Endspiel
- Dynamische Gewichtung je nach Spielphase
Teammitglieder
- Cornelius Gruber
- Lennart Frenzel
- Marlene Stegmann
Ein besonderer Dank gilt meinen Teammitgliedern für die hervorragende Zusammenarbeit und den gegenseitigen Austausch von Wissen und Ideen während der Entwicklung.
Herausforderungen
- Balance zwischen Rechenzeit und Suchtiefe
- Entwicklung einer effektiven Bewertungsfunktion
- Optimierung des Alpha-Beta-Pruning
- Koordination im Team bei komplexer Codebasis
- Debugging von KI-Entscheidungslogik
Was ich gelernt habe
- Implementierung von KI-Algorithmen (Minimax, Alpha-Beta)
- Spieltheorie und strategische Bewertungsfunktionen
- Teamwork und Code-Koordination mit Git
- Performance-Optimierung in Java
- Objektorientiertes Design für komplexe Systeme
- Debugging und Testing von KI-Verhalten