|
Post by Steve Draper on Jan 27, 2014 14:50:36 GMT -8
It occurs to me that for games that factor into 2 or more factors which are themselves the SAME game as one another (up to an isomorphism), you can do even better than simply considering them to be separate problems and 'gluing' the moves together. Specifically, if you can identify the isomorphic mapping between the propositions in the factors, then you can map both onto a unitary representation (i.e. - re-label the props in each factor to those of the props in the actual logical game which each factor is isomorphic to), and use a single search graph (with multiple roots, one per factor). If you do that then MCTS expansion of states in one sub-game provides statistical information to the search in the other sub-game (since it's the same game tree). Thus, provided your search space of reachable states overlaps to a good extent (which it will at least at the start of the game), computational effort spent on one factor informs the other.
If you are already using an MCTS representation hat allows explicitly for transpositions (so it's a DAG not just a tree) then the chances are that your existing data structure can already handle this (simply alternate action selection from the root nodes of each 'tree' - i.e. - start expansion selection from each current state in the sub-games in turn).
I'm a long way from being able to perform that structural analysis in my own player currently, but in principal it's applicable to many of the factored games on Tiltyard (C4 simultaneous, Chinook, Breakthrough with walls, ...)
|
|
|
Post by Andrew Rose on Aug 13, 2014 12:07:25 GMT -8
I take it that this is still "on the list" (rather the implemented)? Or have you tried it and found that it doesn't work for some reason?
|
|
|
Post by Steve Draper on Aug 13, 2014 12:26:40 GMT -8
I take it that this is still "on the list" (rather the implemented)? Or have you tried it and found that it doesn't work for some reason? On the list as you say (and rather distantly TBH - whereas the factorization itself is an exponential gain, sharing trees is at best linear)
|
|