Пример #1
0
        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);
        }
Пример #2
0
        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);
        }