public Dictionary <Move, double> GetProbs(Gamestate g) { Update(g); var weights = model.GetProbs(g); var selectionWeights = DynamiteAdjust(WinWeights(weights)); //var choice = GameLength < order+10 ? Choose(MovesRPS) : ChooseWeighted(selectionWeights); return(GameLength < order + 5 ? model.GetInitial() : selectionWeights); }
public Dictionary <Move, double> GetProbs(Gamestate g) { Update(g); var weights = model.GetProbs(g); var tot = weights.Values.Sum(); var dRate = AdjustTheirDynamite(weights[Move.D] / tot); weights[Move.D] = tot * dRate; var selectionWeights = DynamiteAdjust(WinWeights(weights)); //var choice = GameLength < order+10 ? Choose(MovesRPS) : ChooseWeighted(selectionWeights); return(GameLength < order + 5 ? model.GetInitial() : selectionWeights); }