void AI_vs_AI() { // EasyAIPlayer black; // EasyAIPlayer white; // Look1AIPlayer black; // Look1AIPlayer white; // Look2AIPlayer black; Look2AIPlayer white; // RandomAIPlayer black; // RandomAIPlayer white; // MonteCarloAIPlayer black; // MonteCarloAIPlayer white; // CachedMonteCarloAIPlayer black; // CachedMonteCarloAIPlayer white; LookNAIPlayer black; // LookNAIPlayer white; // NeuralNetworkAIPlayer black; // NeuralNetworkAIPlayer white; // CompoundAIPlayer black; // CompoundAIPlayer white; // RandomWithEndingSearchAIPlayer black; // RandomWithEndingSearchAIPlayer white; uint total = 1 / TOTAL_THREADS; // cin>>total; log_warn("start "<<total<<" games ..."); uint win[4] = { 0, 0, 0, 0 }; int total_diff = 0; //比赛,多比几盘 timer begin; for_n(i, total) { // if (i%10==0) // log_warn("progress: "<<i<<"/"<<total<<" in "<<i<<" games: black:white="<<win[BLACK]<<":"<<win[WHITE] // <<" draw="<<win[DRAW]<<" diff="<<total_diff<<" avg="<<float(total_diff)/(i+1)<<" time=" // <<begin.elapsed()<<" speed="<< i/begin.elapsed()); Game game(black, white); Score score = game.start(); win[score.winner] += 1; total_diff += score.diff(); }