random_discrete_scenarios

negmas.tournaments.random_discrete_scenarios(issues, partners, n_negotiators=2, positions=None, normalized=True, ufun_type=<class 'negmas.preferences.crisp.linear.LinearUtilityFunction'>, roles=None, partner_extraction_method='round-robin')[source]

Generates an infinite sequence of random discrete scenarios

Parameters:
  • issues (list[Issue | int | tuple[int, int]]) – A list defining the issue space. Each element can be an Issue object, an integer (defining the number of outcomes) or a tuple of two integers (defining the minimum and maximum number of outcomes for the issue).

  • partners (list[type[Negotiator]] | tuple[type[Negotiator], ...]) – A list of Negotiator types from which partners are extracted. The system will extract n_negotiators - 1 partners for each scenario.

  • n_negotiators – The number of negotiators in each negotiation.

  • positions (Union[tuple[int, int], int, None]) – The positions at which the competitors will be added in all negotiations.

  • normalized – Will the ufuns generated by normalized

  • ufun_type – Type of the utility function to use.

  • roles (Optional[tuple[str, ...]]) – The roles of the n_negotiators (including the competitor) in negotiations

  • partner_extraction_method

    The method used to create partners for negotaitions from the given partners list:

    • round-robin: will extract overalapping n_negotiators - 1 sets

    • permutations: Will use all n_negotaitors - 1 permutations

    • random: Will sample randm sets of n_negotiators - 1 partners

    • compinations: Will use all n_negotiators - 1 combinations

Return type:

Generator[NegScenario, None, None]