Word order is fixed: ACTION-COLOR-SHAPE-DIRECTION """ num_agents = 10 env_size = 8 num_objects = 60 num_games = 50 max_attempts = 20 if __name__ == "__main__": results = [] for i in range(max_attempts): print("group: ", i agents = [AgentWithStrategy(StrategyTypes.MIXED, architecture='matrix', max_tries=i+1) for i in range(num_agents)] grid_env = get_new_environment(env_size, num_objects) game = CooperationGame(grid_env, agents, "cooperation-game-test", umpire="fixed_word_order") is_game_finished = False time_steps = [] for j in range(num_games): print("game: ", j num_timesteps = 0 while not is_game_finished: is_game_finished = game.consume_time_step() num_timesteps += 1 time_steps.append(num_timesteps) game.set_new_environment(get_new_environment(env_size, num_objects)) is_game_finished = False results.append((game.umpire, time_steps, agents)) with open('/Users/mariano/developing/repos/phdnotebooks/results/20_groups_umpires_fixed_order.pkl', 'w') as f: pickle.dump(results, f)
num_agents = 20 num_games = 5 env_size = 8 num_objects = 60 if __name__ == "__main__": learners = [AgentWithStrategy(StrategyTypes.EXHAUSTIVE, architecture='counting_variable_word_order', role=Role.LISTENER) for i in range(num_agents/2)] teachers = [AgentWithStrategy(StrategyTypes.EXHAUSTIVE, architecture='matrix_3D_fixed_word_order', role=Role.SPEAKER) for i in range(num_agents/2)] language_matrix = get_stochastic_permutation_matrix(len(AgentKnowledge.symbols), len(meanings), Categories.get_number_of_categories()) for teacher in teachers: teacher.architecture.language_matrix = language_matrix env = get_new_environment(env_size, num_objects) game = CooperationGameWithTeachersAndLearners(env, teachers, learners, "teachers_learners_game") time_steps = [] num_timesteps = 0 is_game_finished = False for i in range(num_games): while not is_game_finished: if game.status.number_of_attempts == 6: pass is_game_finished = game.consume_time_step() num_timesteps += 1 time_steps.append(num_timesteps) env = get_new_environment(env_size, num_objects) game.env = env num_timesteps = 0 game.umpire.compare_agents_grammar(learners)