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)
示例#2
0

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)