Ricerca dell'albero di Monte Carlo: che tipo di mosse si possono trovare facilmente e quali tipi creano problemi?


10

Voglio iniziare con uno scenario che mi ha fatto pensare a quanto bene MCTS può eseguire: supponiamo che ci sia una mossa che non è ancora stata aggiunta alla struttura di ricerca. È alcuni strati / si muove troppo in profondità. Ma se giochiamo a questa mossa, il gioco è sostanzialmente vinto. Comunque supponiamo anche che tutte le mosse che potrebbero essere prese invece nello stato di gioco dato siano molto cattive. Per ragioni di argomento, supponiamo che ci siano 1000 mosse possibili e solo una di esse è buona (ma molto buona) e il resto è molto male. MCTS non riuscirebbe a riconoscerlo e non a farlofar crescere l'albero di ricerca verso questa mossa e valutare molto male anche questa sottostruttura? So che MCTS alla fine converge in minimax (e alla fine costruirà l'intero albero se c'è abbastanza memoria). Quindi dovrebbe sapere che la mossa è buona anche se ci sono molte cattive possibilità. Ma suppongo che in pratica non si possa fare affidamento su questo. Forse qualcuno può dirmi se questa è una valutazione corretta da parte mia.

Oltre a questo scenario speciale, vorrei anche sapere se ci sono altri scenari in cui MCTS si esibirà male (o straordinariamente bene).


MCTS è probabilistico. Come tale ha bisogno di indizi o non troverà nulla. Ad esempio: cercare l'ago nel pagliaio. Prova questo e fallirai. Sarebbe bello se potessi trovare un esempio più realistico e chiedere quale sarebbe la strategia ottimale per quell'esempio. Questo potrebbe dare un suggerimento su come trovare meglio gli aghi nel pagliaio.
Trilarion,

Risposte:


2

Se la mossa viene trovata e la velocità con cui viene trovata dipende da alcune cose. Se ho capito bene, c'è una sequenza di molte mosse "cattive" che portano alla mossa "big win" e hai paura che l'algoritmo MCTS non raggiungerà la mossa "big win" perché selezionerà più promettenti si sposta più in alto sull'albero. Alcune cose a cui pensare (leggi anche l' articolo MCTS di Wikipedia ):

  • quando fai i playout, puoi giocare solo per qualche mossa in più o fino alla fine del gioco. Giocare solo poche mosse è ovviamente più veloce, ma nel caso estremo che hai descritto non sarebbe la scelta migliore. Se conosci l'esistenza di tali scenari, assicurati di giocare fino alla fine nei playout.

  • durante i playout, puoi scegliere le tue mosse / azioni in modo casuale o sulla base di alcune euristiche semplici, golose (rapide) su misura per il tuo problema. Esistono forse euristiche avide progettate per trovare o tenere conto di tali scenari per il tuo gioco / problema? Se sì, implementali. Viene quindi chiamato "playout pesante". Confronta i risultati con i playout usando mosse casuali.

  • Se si scelgono le azioni utilizzando UCT (limite di confidenza superiore applicato agli alberi), la prima parte dell'espressione è responsabile dello sfruttamento. Sono preferite le mosse con un elevato rapporto di vincita medio. La seconda parte corrisponde però all'esplorazione. Se il parametro di esplorazione è impostato abbastanza in alto (test empiricamente per il tuo problema), saranno preferiti gli spostamenti con poche simulazioni. Un'alta esplorazione sarebbe un altro modo per trovare la tua mossa d'oro, a scapito dello sfruttamento (leggi sul dilemma esplorazione / sfruttamento).

Se descrivi un gioco realistico o uno scenario problematico, potremmo essere in grado di aiutarti a elaborare una strategia adeguata.

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.