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()
示例#2
0
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)])
示例#4
0
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()
示例#6
0
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()