Praktikum aus Künstlicher Intelligenz

Praktikum aus Künstlicher Intelligenz (6 CP)

Learning to Play Bughouse

News

 

Zeit und Ort

Das erste Treffen findet am Mittwoch, 24.04.2019 um 17:10h in E202 statt. Eine Teilnahme an dieser Vorbesprechung ist notwendig, da in diesem Treffen die Plätze vergeben werden.

Weitere Treffen werden ebenfalls Mittwochs um 17:10h in E202 stattfinden, jedoch nicht notwendigerweise jede Woche.

Die momentane Termin-Planung ist wie folgt:

In­halt

Im Zuge dieses Praktikums werden wir versuchen, in Gruppen eine KI für Bughouse zu entwickeln. Bughouse, zu Deutsch auch Tandem-Schach genannt, ist eine Schach-Variante, in der Teams von jeweils 2 Spielern gegeneinander antreten, wobei ein Spieler die weißen und sein Partner die schwarzen Steine führt. Die Besonderheit des Spiels liegt darin, dass jeder Spieler einen von seinem Partner geschlagenen Stein an Stelle eines Zugs auf seinem Brett einsetzen kann.

Sieger ist das Team, das als erstes eine der beiden Partien gewinnt, entweder durch Schachmatt oder durch Zeitüberschreitung des Gegners. Dadurch erhält das Spiel auch eine besondere Dynamik, da ein Spieler, der ein Matt im nächsten Zug nicht mehr verhindern kann, keinen Zug mehr machen wird und darauf hofft, dass sein Partner gewinnen kann bevor die eigene Bedenkzeit ausläuft.

Hintergrund der Aufgabenstellung ist, dass 2018 ein Team von Studenten der TU Darmstadt einen Bot entwickelt hat, der in der verwandten Schach-Variante Crazyhouse den Bot CrazyAra entwickelt hat, der in einem Wettkampf den Weltmeister besiegen konnte. Crazyhouse ist die Ein-Personen-Variante von Bughouse, in der die Figuren, die man selbst schlägt, die Farbe wechseln und auf der eigenen Seite wieder eingesetzt werden können. Im Gegensatz zu Crazyhouse kommen bei Bughouse durch das Spiel auf 2 Brettern gleichzeitig noch Kooperationsaspekte hinzu, wie z.B. das Handling der beschränkten Bedenkzeit oder ggf. auch Kommunikation mit dem Partner.

Vorkenntnisse

Um an diesem Praktikum teilzunehmen, sollten Sie mitbringen

  • Vorkenntnisse in Künstlicher Intelligenz, insbesondere Suchalgorithmen wie Monte-Carlo Tree Search (z.B. Absolvierung der Vorlesung "Einführung in die Künstliche Intelligenz")
  • Grundkenntnisse in Deep Learning (z.B. Absolvierung der Vorlesung "Deep Learning: Methods & Architectures")
  • Elementare Kenntnisse in Schach (zumindest die Grundregeln), sowie Begeisterung für Brettspiele im allgemeinen

Literatur

Sie sollten sich insbesondere mit den AlphaGo sowie AlphaZero vertraut machen.

  • David Silver, Aja Huang, Chris J. Maddison, Arthur Guez, Laurent Sifre, George van den Driessche, Julian Schrittwieser, Ioannis Antonoglou, Vedavyas Panneershelvam, Marc Lanctot, Sander Dieleman, Dominik Grewe, John Nham, Nal Kalchbrenner, Ilya Sutskever, Timothy P. Lillicrap, Madeleine Leach, Koray Kavukcuoglu, Thore Graepel, Demis Hassabis: Mastering the game of Go with deep neural networks and tree search. Nature 529(7587): 484-489 (2016).
  • David Silver, Thomas Hubert, Julian Schrittwieser, Ioannis Antonoglou, Matthew Lai, Arthur Guez, Marc Lanctot, Laurent Sifre, Dharshan Kumaran, Thore Graepel, Timothy P. Lillicrap, Karen Simonyan, Demis Hassabis:
    Mastering Chess and Shogi by Self-Play with a General Reinforcement Learning Algorithm. CoRR abs/1712.01815 (2017)

Software und Tools

Es gibt einige inoffizielle AlphaZero-Implementierungen im Netz. Die Auflistung hier ist nicht vollständig, bietet aber einen guten Einstiegspunkt insbesondere in die benötigte Programmierumgebung (Python, Tensorflow, ...).

Es gibt auch einige Schach-Programme, die Bughouse spielen können, wie z.B.

Die Programme sind in Bughouse meist bedeutend schwächer als im regulären Schach.
 

Ablauf

Die Studenten werden das Praktikum in Teams bearbeiten, die jeweils eigenständige Lösungen erarbeiten, wobei natürlich ein Austausch erwünscht ist. 

Als Lösungsweg ist angedacht, einen Grundspieler mittels Deep Learning aus menschlichen Spielen und/oder aus Spielen gegen sich selbst lernen zu lassen, und diesen dann um entsprechende Funktionalitäten zur Koordination mit dem Partner zu erweitern.

Als Trainingsmaterial steht zum Beispiel eine Datenbank von auf einem Schach-Server gespielten Bughouse-Spielen zur Verfügung. Die darin verwendete standardisierte Notation von Bughouse-Spielen ist hier beschrieben.

Beurteilung

Die Lösun­g wird in Kleingruppen erstellt werden.​ Der Fortschritt der Arbeit wird in den regelmäßigen Treffen diskutiert und bewertet. Am Ende des Semesters ist ein schriftlicher Bericht, der die in der Gruppe erarbeitete Lösung beschreibt, zu erstellen (in Englisch), der ebenfalls in die Bewertung einfließen wird.

Beurteilt wird Ihr En­gage­ment für das Prak­tikum und die Qualität Ihres Lösungsweges (nicht unbe­d­ingt die Qualität der Lösung selb­st, d.​h.​ das Ab­schnei­den in Vergleichskämpfen mit anderen Lösungen ist nicht noten­rel­e­vant).

Kontakt

Johannes Fürnkranz, Tobias Joppen, Markus Zopf

Kontakt

small ke-icon

Knowledge Engineering Group

Fachbereich Informatik
TU Darmstadt

S2|02 D203
Hochschulstrasse 10

D-64289 Darmstadt

Sekretariat:
Telefon-Symbol+49 6151 16-21811
Fax-Symbol +49 6151 16-21812
E-Mail-Symbol info@ke.tu-darmstadt.de

 
A A A | Drucken | Impressum | Sitemap | Suche | Mobile Version
zum Seitenanfangzum Seitenanfang