anac2019_sabotage

scml.scml2019.anac2019_sabotage(competitors, competitor_params=None, agent_names_reveal_type=False, n_configs=5, max_worlds_per_config=1000, n_runs_per_world=5, n_agents_per_competitor=5, min_factories_per_level=5, tournament_path=None, total_timeout=None, parallelism='parallel', scheduler_ip=None, scheduler_port=None, tournament_progress_callback=None, world_progress_callback=None, non_competitors=None, non_competitor_params=None, name=None, verbose=False, configs_only=False, compact=False, **kwargs)[source]

The function used to run ANAC 2019 SCML tournament (collusion track).

Parameters
  • name (Optional[str]) – Tournament name

  • competitors (Sequence[Union[str, Type[FactoryManager]]]) – A list of class names for the competitors

  • competitor_params (Optional[Sequence[Dict[str, Any]]]) – A list of competitor parameters (used to initialize the competitors).

  • agent_names_reveal_type – If true then the type of an agent should be readable in its name (most likely at its beginning).

  • n_configs (int) – The number of different world configs (up to competitor assignment) to be generated.

  • max_worlds_per_config (Optional[int]) – The maximum number of worlds to run per config. If None, then all possible assignments of competitors within each config will be tried (all permutations).

  • n_runs_per_world (int) – Number of runs per world. All of these world runs will have identical competitor assignment and identical world configuration.

  • n_agents_per_competitor (int) – Number of agents per competitor

  • min_factories_per_level (int) – Minimum number of factories for each production level

  • total_timeout (Optional[int]) – Total timeout for the complete process

  • tournament_path (Optional[str]) – Path at which to store all results. A scores.csv file will keep the scores and logs folder will keep detailed logs

  • parallelism – Type of parallelism. Can be ‘serial’ for serial, ‘parallel’ for parallel and ‘distributed’ for distributed

  • scheduler_port (Optional[str]) – Port of the dask scheduler if parallelism is dask, dist, or distributed

  • scheduler_ip (Optional[str]) – IP Address of the dask scheduler if parallelism is dask, dist, or distributed

  • world_progress_callback (Optional[Callable[[Optional[SCML2019World]], None]]) – A function to be called after every step of every world run (only allowed for serial evaluation and should be used with cautious).

  • tournament_progress_callback (Optional[Callable[[Optional[WorldRunResults]], None]]) – A function to be called with WorldRunResults after each world finished processing

  • non_competitors (Optional[Sequence[Union[str, Type[FactoryManager]]]]) – A list of agent types that will not be competing in the sabotage competition but will exist in the world

  • non_competitor_params (Optional[Sequence[Union[str, Type[FactoryManager]]]]) – parameters of non competitor agents

  • verbose (bool) – Verbosity

  • configs_only – If true, a config file for each

  • compact – If true, compact logs will be created and effort will be made to reduce the memory footprint

  • kwargs – Arguments to pass to the world_generator function

Return type

Union[TournamentResults, PathLike]

Returns

TournamentResults The results of the tournament or a PathLike giving the location where configs were saved

Remarks:

Default parameters will be used in the league with the exception of parallelism which may use distributed processing