Ricerca Monte Carlo Tree in connect 5 tree design

0

Sto cercando di creare un IA mcts per l'algoritmo di connessione 5. Tuttavia, sono confuso nel progettare l'albero. Ecco una breve descrizione dell'algoritmo:

Lo stato iniziale, S0 è lo stato della scheda in cui l'intelligenza artificiale pone la pietra o, in altre parole, il turno dell'IA. È corretto che ogni nodo debba essere il turno dell'IA, non gli umani?

Nella fase di espansione, è necessario "creare nodi figlio". Nel mio gioco, i nodi figli sarebbero entrambi un luogo in cui un'intelligenza artificiale può fare una mossa. Tuttavia, se voglio selezionare la prossima mossa AI disponibile , ho bisogno di sapere dove il nemico, o l'umano, pone la pietra prima della prossima mossa AI disponibile. Ho improvvisato rendendolo a 2 strati: per ogni mossa umana disponibile, aggiungi tutte le mosse di IA disponibili dopo i giochi umani. È questo il modo corretto per farlo?

Questa è la mia attuale struttura ad albero in un Esempio: ogni stato ha informazioni su dove sono posizionate le "pietre" in bianco e nero. l'intelligenza artificiale gioca in bianco e Human gioca in nero. Il nero gioca per primo lo stato S0 sarebbe la prima mossa del gioco.

                   S0(black stones:[(2,2)],
                      white stones:[])
                        /           \
                       /             \
    S1(black stones:[(2,2)],    S2(black stones:[(2,2)],
       white stones:[(1,1)])       white stones:[(1,2)])      
                   /                     \
                  /                       \
S3(black stones:[(2,2),(2,1)],      S4(black stones:[(2,2),(2,3)],
   white stones:[(1,1)])               white stones:[(1,2)])
    
posta Dashadower 10.06.2017 - 15:24
fonte

0 risposte

Leggi altre domande sui tag