wiki.neuro.tu-berlin.de

Nested Monte Carlo Search

Allgemeines

Nested Monte Carlo Search (NMCS)[1] ist ein rekursiver Suchalgorithmus, der primär zur Lösung von Optimierungsproblemen und Einpersonenspielen (Puzzles) eingesetzt wird.

Grundidee

nmcs_overview.png
Abb. 1 Überblick über die verschachtelte Suche bei NMCS

Die Grundidee von NMCS ist die Rekursion. Anstatt in einer Simulation nur völlig zufällige Züge zu machen, oder eine Heuristik zu nutzen die auf Domänenwissen basiert, nutzt NMCS eine Suche auf niedrigerer Ebene, um die Suche auf der aktuellen Ebene zu leiten.

Ein NMCS-Algorithmus wird durch ein Level n definiert:

Durch diese Verschachtelung „lernt“ der Algorithmus bereits während eines einzelnen Durchgangs, welche Pfade vielversprechend sind, da jede Ebene die Ergebnisse der darunterliegenden Ebene zur Entscheidungsfindung nutzt.

Suchprozess

Im Gegensatz zu Monte Carlo Tree Search baut NMCS keinen expliziten, persistenten Suchbaum im Speicher auf, der über viele Iterationen wächst. Stattdessen konzentriert sich NMCS darauf, die beste Sequenz von Zügen zu finden.

Merkmale

Der NMCS-Algorithmus weist spezifische Merkmale auf, die ihn für bestimmte Problemstellungen ideal machen:

Anwendungsbereich

NMCS wird primär dort eingesetzt, wo eine optimale Pfadsuche in großen Zustandsräumen erforderlich ist. Dazu gehören kombinatorische Optimierungen wie beim Scheduling und Einpersonenspiele (Puzzles) wie Sudoku, Morpion Solitaire und Kakuro.

Weiterentwicklung

Die wichtigste Weiterentwicklung von NMCS ist Nested Rollout Policy Adaption (NRPA)[2]. Während NMCS die Züge auf Level 0 rein zufällig wählt, lernt NRPA während der Suche eine Policy (eine Strategie), um die Rollouts zu steuern.

Grundidee von NRPA

NRPA kombiniert die verschachtelte Suche von NMCS mit dem Lernen einer Aktionsbewertung. Auf jedem Level der Rekursion passt der Algorithmus eine Gewichtstabelle für Züge an. Wenn eine Sequenz von Zügen zu einem neuen Rekordergebnis führt, werden die Gewichte dieser Züge erhöht (Reinforcement Learning Prinzip).

Dadurch werden „gute“ Züge in zukünftigen Simulationen auf derselben Ebene mit höherer Wahrscheinlichkeit gewählt.

Referenzen


  1. Cazenave, Tristan. "Nested Monte-Carlo Search." IJCAI. Vol. 9. 2009. ↩︎

  2. Rosin, Christopher D. "Nested rollout policy adaptation for Monte Carlo tree search." Ijcai. Vol. 2011. 2011. ↩︎