public void Backpropagation(MCTSTree nodeToExplore, PlayState playoutResult) { while (nodeToExplore.parentnode != null) { nodeToExplore.visits++; nodeToExplore.wins++; nodeToExplore = nodeToExplore.parentnode; } }
public void ExpandNode(MCTSTree nodetoexpand) { List <PlayerTask> options = nodetoexpand.poGame.CurrentPlayer.Options(); foreach (PlayerTask option in options) { MCTSTree newchild = new MCTSTree(); nodetoexpand.childnodesList.Add(newchild); newchild.parentnode = nodetoexpand; } }
public MCTSTree GetRootNode() { MCTSTree node = this; while (node.parentnode != null) { ; } node = node.parentnode; return(node); }
public MCTSTree GetChildWithMaxScore() { MCTSTree node = new MCTSTree(); return(node); }
public MCTSTree GetPromisingNode(MCTSTree rootnode) { MCTSTree node = this; return(node); }