RevXT - KI-Client für Strategiespiel

Künstliche Intelligenz mit Java für Reversi

2024 | Teamprojekt (3 Personen)

Ü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

Java KI-Algorithmen Spieltheorie OOP Git Teamwork

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