def main(): tester = GameTester("Caching Nodes threshold", same_agents=False) game_params = {"size": 8, "turns_left": 60, "turn_time_limit": 12.0, "setup_time_limit": 5.0} for threshold in threshold_LIST: a1_params = { "caching": True, "init_max_depth": 2, "depth_delta": 100, "use_iterative": ITERATIVE, "evaluator": WeightedEvaluatorH(0.3, 0.0, 0.05, 0.25), "max_states_in_cache": threshold, } a1 = AnytimeSmartAlphaBetaPrintAgentParams a2_params = { "caching": False, "init_max_depth": 2, "depth_delta": 100, "use_iterative": ITERATIVE, "evaluator": WeightedEvaluatorH(0.3, 0.0, 0.05, 0.25), } a2 = AnytimeSmartAlphaBetaPrintAgentParams tester.run_game_pair(a1, a1_params, a2, a2_params, game_params) # check hit rate # number of node / times print "===========================" print tester.result() tester.save_result()
def main(): tester = GameTester("Caching Effectiveness",same_agents=False) a1_params = { 'caching':True, 'init_max_depth': 2, 'depth_delta':1, 'use_iterative' : ITERATIVE, 'evaluator' : WeightedEvaluatorH(0.3, 0.0, 0.05, 0.25) } a1 = AnytimeSmartAlphaBetaPrintAgentParams a2_params = { 'caching':False, 'init_max_depth': 2, 'depth_delta':1, 'use_iterative' : ITERATIVE, 'evaluator' : WeightedEvaluatorH(0.3, 0.0, 0.05, 0.25) } a2 = AnytimeSmartAlphaBetaPrintAgentParams for turns in TURNS_LIST: game_params = { 'size' : 8, 'turns_left' : turns, 'turn_time_limit' : 10.0, 'setup_time_limit' : 5.0 } tester.run_game_pair(a1,a1_params,a2,a2_params,game_params) print tester.result() tester.save_result()
def main(): tester = GameTester("Heuristic Params") rand = Random() NUMBER_OF_GAME_PAIRS = 20 game_params_arr = [None]*NUMBER_OF_GAME_PAIRS for i in range(0,NUMBER_OF_GAME_PAIRS): board_size = rand.randint(5,15) turns = rand.randint(10,70) turn_time_limit = rand.uniform(0.5,12.0) game_params_arr[i] = { 'size' : board_size, 'turns_left' : turns, 'turn_time_limit' : turn_time_limit, 'setup_time_limit' : 10.0 } a1_params = { 'caching':True, 'init_max_depth': 2, 'depth_delta':1, 'use_iterative' : ITERATIVE, 'evaluator' : WeightedEvaluatorH(0.3, 0.0, 0.05, 0.25) } a2_params = { 'caching':True, 'init_max_depth': 2, 'depth_delta':1, 'use_iterative' : ITERATIVE, 'evaluator' : WeightedEvaluatorH(0.3, 0.0, 0.05, 0.0) } a3_params = { 'caching':True, 'init_max_depth': 2, 'depth_delta':1, 'use_iterative' : ITERATIVE, 'evaluator' : WeightedEvaluatorH(0.4, 0.05, 0.1, 0.0) } a = AnytimeSmartAlphaBetaPrintAgentParams ar = RandomAgent for _ in range(0,50): tester.run_game_pair(a,a1_params,ar,{},game_params_arr[rand.randint(0,10)]) for _ in range(0,50): tester.run_game_pair(a,a2_params,ar,{},game_params_arr[rand.randint(0,10)]) for _ in range(0,50): tester.run_game_pair(a,a3_params,ar,{},game_params_arr[rand.randint(0,10)])
def main(): a3_params = { 'caching':True, 'init_max_depth': 2, 'depth_delta':1, 'use_iterative' : ITERATIVE, 'evaluator' : WeightedEvaluatorH(0.3, 0.0, 0.01, 0.25) } tester = GameTester("My Test Name") a1 = AnytimeSmartAlphaBetaPrintAgentParams a2 = RandomAgent for size in [15]: game_params = { 'size' : size, 'turns_left' : 20, 'turn_time_limit' : 10.0, 'setup_time_limit' : 1.0 } tester.run_game_pair(a1,a3_params,a2,{},game_params)
def main(): tester = GameTester("Heuristic Params3") game_params_arr = load_games() a1_params = { 'caching':True, 'init_max_depth': 2, 'depth_delta':1, 'use_iterative' : ITERATIVE, 'evaluator' : WeightedEvaluatorH(0.4, 0.05, 0.1, 0.0) } a = AnytimeSmartAlphaBetaPrintAgentParams ar = RandomAgent for game_params in game_params_arr: tester.run_game_pair(a,a1_params,ar,{},game_params) print tester.result() tester.save_result()
def main(): tester = GameTester("Caching Nodes Explored", same_agents=False) game_params = { 'size' : 8, 'turns_left' : 60, 'turn_time_limit' : 12.0, 'setup_time_limit' : 5.0 } for init_depth in init_depth_LIST: a1_params = { 'caching':True, 'init_max_depth': init_depth, 'depth_delta':100, 'use_iterative' : ITERATIVE, 'evaluator' : WeightedEvaluatorH(0.3, 0.0, 0.05, 0.25) } a1 = AnytimeSmartAlphaBetaPrintAgentParams a2_params = { 'caching':False, 'init_max_depth': init_depth, 'depth_delta':100, 'use_iterative' : ITERATIVE, 'evaluator' : WeightedEvaluatorH(0.3, 0.0, 0.05, 0.25) } a2 = AnytimeSmartAlphaBetaPrintAgentParams tester.run_game_pair(a1,a1_params,a2,a2_params,game_params) # check hit rate # number of node / times print "===========================" print tester.result() tester.save_result()