Beitrag von Roger Lorenz;
Ende letzten Jahres hat AlphaZero, ein autodidaktisches Computer Schachprogramm, für großes Aufsehen gesorgt. Das Programm hat sich selber das Schachspielen beigebracht und war nach kurzer Zeit in der Lage, das starke Schachprogramm Stockfisch zu besiegen. Die Partien waren teilweise sehr spektakulär und wurden weltweit in diversen Schachzeitschriften veröffentlich. Sehr interessant sind die Analysen von Jan Gustafsson, in denen er die Damenindisch Partien gründlich analysiert (https://chess24.com/de/learn/advanced/video/alphazero-damenindisch/einfuhrung-zur-alphazero-damenindisch-serie; die Videos kann man sich allerdings nur als Premium User ansehen).
Roger Lorenz möchte die Geheimnisse eines selbst lernenden Schachprogrammes erforschen und sucht mit diesem Aufruf Mitstreiter für das Projekt:
Insgesamt ist wenig darüber bekannt, wie AlphaZero trainiert wurde und wie die Algorithmen funktionieren. Die beteiligten Forscher haben ein Dokument veröffentlicht (https://arxiv.org/pdf/1712.01815.pdf), das aber kaum Details enthält. Klar ist, dass hinter AlphaZero ein großes Team steht, viele Jahre Arbeit investiert wurden und für das Trainieren eine Menge Hardware zur Verfügung stand.
Ich würde gerne versuchen, ein wenig nachzuvollziehen, wie ein selbstlernendes Schachprogramm funktioniert und suche für so ein Projekt Mitstreiter. Eins ist dabei ganz klar. Ich habe nicht vor, es mit Alphabet/Google aufzunehmen und träume nicht davon, ein ähnlich starkes Programm zu entwickeln. Entsprechend würde ich auch die Ziele für so ein Projekt deutlich weniger ambitioniert festlegen. Aus meiner Sicht wäre es schon ein (erster) schöner Erfolg, ein Programm zu entwickeln, das mit König und Turm gegen König mattsetzt. Ein entsprechendes Schachprogramm mit Table Bases oder AlphaBeta Algorithmus zu entwickeln wäre trivial. Aber für ein selbstlernendes Programm wird das schon eine echte Herausforderung sein.
Voraussetzungen:
- Schachkenntnisse: Man muss die Schachregeln beherrschen und mit Turm und König mattsetzen können
- Programmierkenntnisse (in mindestens einer der folgenden Programmiersprachen): Javascript, GO, Python, Java, C#; zusätzlich wären Erfahrungen mit GIT wünschenswert
- KI / Maschine Learning Know How: Wäre natürlich super, ist aber keine Voraussetzung. Auch ich muss mich da erst einarbeiten. Aktuell plane ich die Maschine Learning Plattform von Microsoft (https://azure.microsoft.com/de-de/services/machine-learning-studio/) zu verwenden; ganz einfach aus dem Grund, dass Microsoft Testzugänge zu dieser Plattform zur Verfügung stellt. Aber ich lasse mich auch gerne von der Vorzügen anderer Plattformen überzeugen.
- Englischkenntnisse: Die meisten Dokumente zu dem Thema werden in Englisch sein.
Auch Interessenten, die (noch) keine Mitglieder beim SC Bonn Beuel sind willkommen. Das gilt auch, wenn man nicht im Bonner Raum zu Hause ist.
Wer Interesse hat kann sich bei mir (Roger Lorenz) unter kischach.projekt@gmail.com melden.