示例#1
0
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();
	}