private static void train() { var dealer = new RandomDealer(); var trainer = new TexasHoldemTrainer(dealer); int numberOfTrainings = 10000; int handsPerTraining = 100; int handsCounter = 0; int numberOfTotalhands = numberOfTrainings * handsPerTraining; var trainedTree = loadSnapShot(); if (trainedTree != null) { trainer.GameNodes = trainedTree; } var stopwatch = new Stopwatch(); for (int i = 0; i < numberOfTrainings; i++) { stopwatch.Restart(); trainer.Train(handsPerTraining); double duration = stopwatch.Elapsed.TotalSeconds; handsCounter += handsPerTraining; var msg = string.Format("{0}/{1} hands trained in {2}s. ", handsCounter, numberOfTotalhands, duration); takeSnapShot(trainer.GameNodes, "cfr-tree.proto"); log(msg); } }
public void Start() { this.sessionEntity.State = SessionState.Running; var players = new List <Player>(); players.Add(player1); players.Add(player2); var dealer = new RandomDealer(); game = new HeadsupGame(players, dealer); while (sessionEntity.PlayedHandsCount < sessionEntity.TotalHandsCount && State == SessionState.Running) { var playedHand = game.PlayHand(); playedHand.SessionId = this.sessionEntity.Id; playedHand.Timestamp = DateTime.Now; playedHandRepository.Insert(playedHand); this.sessionEntity.PlayedHandsCount++; sessionRepository.Update(sessionEntity); } this.sessionEntity.State = SessionState.Completed; sessionRepository.Update(sessionEntity); }