random_discrete_domains

negmas.tournaments.random_discrete_domains(issues: List[Union[negmas.outcomes.Issue, int, Tuple[int, int]]], partners: List[negmas.negotiators.Negotiator], n_negotiators=2, positions: Optional[Union[int, Tuple[int, int]]] = None, normalized=True, ufun_type=<class 'negmas.utilities.linear.LinearUtilityFunction'>, roles: Optional[List[str]] = None, partner_extraction_method='round-robin')Generator[negmas.situated.NegDomain, None, None][source]

Generates an infinite sequence of random discrete domains

Parameters
  • issues – 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 – A list of Negotiator types from which partners are extracted. The system will extract n_negotiators - 1 partners for each domain.

  • n_negotiators – The number of negotiators in each negotiation.

  • positions – 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 – 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