Frage

Für ein ai-Klasse-Projekt Ich brauche eine Verstärkung Lernalgorithmus zu implementieren, die ein einfaches Spiel von tetris schlägt. Das Spiel ist in Java geschrieben und wir haben den Quellcode. Ich kenne die Grundlagen der Verstärkung Theorie lernen, aber frage mich, ob jemand in der Gemeinde SO hatte die Hände auf Erfahrung mit dieser Art der Sache.

  1. Was wäre Ihre empfohlene Lesungen sein für eine Implementierung von verstärkten Lernen in einem Tetris-Spiel?
  2. Gibt es gute Open-Source-Projekte, die ähnliche Dinge zu erreichen, die Check-out lohnen würde?

Edit:. Je genauer, desto besser, aber allgemeine Ressourcen über das Thema ist willkommen

Follow-up:

Ich dachte, es wäre schön, wenn ich ein Followup geschrieben.

Hier ist die Lösung (Code und Zuschreibung) Ich für zukünftige Studenten endete:)

.

Papier / -Code

War es hilfreich?

Lösung

Werfen Sie einen Blick auf die 2009 RL-Wettbewerb . Einer der Problembereiche ist ein tetris Spiel . Es war ein tetris Problem, bevor auch das Jahr. Hier ist der 52-seitige Abschlussbericht von jenem fünften Platz Finalisten des Jahres, die in vielen Detail geht, wie der Agent gearbeitet.

Andere Tipps

Die Heaton Forschung ebook ist recht gut bei neuralen Netzkonzepte erläutern (mit Code). Kapitel 4 ist maschinelles Lernen gewidmet und die verschiedenen Trainingsmethoden für Ihre Netzwerke. Es ist eine herunterladbare Bibliothek und Beispielanwendungen für Sie suchen.

Hier ist ein gutes Buch zum Thema:

Machine Learning und Data Mining: Einführung in die Prinzipien und Algorithmen
von Igor Kononenko, Matjaz Kukar (Juni 2007)

Werfen Sie auch einen Blick auf diese Open-Source-Projekte:

TD-Gammon , gnubackgammon oder ein anderes ähnliches Projekt waren massiv Erfolge in Spielen.

Sutton & Barto Buch "Reinforcement Learning: Eine Einführung" hat auch einige andere Case Studies .

Dies ist auf verstärktes Lernen nicht spezifisch, aber Stanford hat eine große Reihe von Vorträgen über maschinelles Lernen rel="nofollow auf Youtube und iTunes.

Der Link ist auf die erste Vorlesung, die etwa 30 Minuten dauert, in den Inhalt zu tauchen.

Burlap ist eine neue Java-Bibliothek, die als Implementierungen vieler gängiger Verstärkung Lernalgorithmen und bietet einige Umgebungen und nützliche Tools.

Diese Frage ist wirklich alt, aber für alle, dies im Jahr 2018 zu lesen, ich Sie OpenAI Baselines verwenden sehr empfehlen, wenn Sie in fester Referenzen von bestehenden RL Algorithmen interessiert sind. Diese Algorithmen, die von einer Gruppe von Mitarbeitern an OpenAI umgesetzt werden, das wirklich das Zeug wissen, und haben ausgiebig fein abgestimmt und ausgetestet worden.

Um fair zu sein, müssen Sie diese nicht für Tetris, aber heutzutage vermuten, dass ich Hausaufgaben Fragen können einige anspruchsvollere Umgebungen umfassen.

https://github.com/openai/baselines

Ich würde vorschlagen, RL4J zu lernen, die Java-basiert. Ich war mit diesem und ich war erstaunt, wie es funktioniert reibungslos und Sie können sogar LSTM Netzwerke in einer Verstärkung lernen, mit Schauspielern Critic Algorithmus (genannt A3C)

Lernalgorithmus

Hier ist der Link: https://github.com/deeplearning4j/dl4j-examples/blob / Master / rl4j-Beispiele /

bemerkte ich, dass diese Frage ziemlich veraltet ist (10 Jahre alt) und eine Sammlung modernen RL-Frameworks und Umgebungen könnte nützlich hier sein. Ich habe GitHub Repo für diese und die Absicht, sie regelmäßig zu aktualisieren.

https://github.com/TheMTank/RL-code-resources

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top