Esempio n. 1
0
 public override void Update(EGameFinalStatus status)
 {
     this.visits++;
     if (status == EGameFinalStatus.GameWon)
     {
         this.wins++;
     }
 }
Esempio n. 2
0
 public override void Update(EGameFinalStatus status)
 {
     Interlocked.Increment(ref this.visits);
     if (status == EGameFinalStatus.GameWon)
     {
         Interlocked.Increment(ref this.wins);
     }
 }
Esempio n. 3
0
 private static void Backpropagate(INode node, EGameFinalStatus status)
 {
     // Backpropagate
     while (node != null)
     {
         node.Update(status);
         node = node.Parent;
     }
 }
Esempio n. 4
0
 private static void Backpropagate(INode node, EGameFinalStatus status)
 {
     // Backpropagate
     while (node != null)
     {
         node.Update(status);
         node = node.Parent;
     }
 }
Esempio n. 5
0
 public void NimsMctsV2(int token, EGameFinalStatus status)
 {
     Action<string> print = s => Console.WriteLine(s);
     var firstPlayer = new NimPlayer(1);
     var nims = new NimState(token) as IGameState;
     while (nims.GetMoves().Any())
     {
         print(nims.ToString());
         IMove move = SingleThreaded.ComputeSingleThreadedUCT(nims, 1000, true, print, 0.7F);
         print(move.Name);
         nims = move.DoMove();
     }
     print(nims.GetResult(firstPlayer).ToString());
     Assert.IsTrue(nims.GetResult(firstPlayer) == status);
 }
Esempio n. 6
0
        public void NimsMctsV1(int token, EGameFinalStatus status)
        {
            Action <string> print       = s => Console.WriteLine(s);
            var             firstPlayer = new NimPlayer(1);
            var             nims        = new NimState(token) as IGameState;

            while (nims.GetMoves().Any())
            {
                print(nims.ToString());
                IMove move = SingleThreaded.ComputeSingleThreadedUCT(nims, 1000, true, print, 0.7F);
                print(move.Name);
                nims.DoMove(move);
            }
            print(nims.GetResult(firstPlayer).ToString());
            Assert.IsTrue(nims.GetResult(firstPlayer) == status);
        }
Esempio n. 7
0
 public override void Update(EGameFinalStatus status)
 {
     this.visits++;
     if(status == EGameFinalStatus.GameWon)
     {
         this.wins++;
     }
 }
Esempio n. 8
0
 public abstract void Update(EGameFinalStatus status);
Esempio n. 9
0
 public abstract void Update(EGameFinalStatus status);
Esempio n. 10
0
 public override void Update(EGameFinalStatus status)
 {
     Interlocked.Increment(ref this.visits);
     if (status == EGameFinalStatus.GameWon)
     {
         Interlocked.Increment(ref this.wins);
     }
 }