sample_issues

negmas.outcomes.sample_issues(issues: Sequence[Issue], n_outcomes: int, with_replacement: bool = True, fail_if_not_enough=True) Iterable[Outcome][source]

Samples some outcomes from the outcome space defined by the list of issues.

Parameters:
  • issues – list of issues to sample from

  • n_outcomes – The number of outcomes required

  • with_replacement – Whether sampling is with replacement (allowing repetition)

  • fail_if_not_enough – IF given then an exception is raised if not enough outcomes are available

Returns:

a list of outcomes

Examples

>>> from negmas.outcomes import make_issue
>>> issues = [
...     make_issue(name="price", values=(0.0, 3.0)),
...     make_issue(name="quantity", values=10),
... ]

Sampling outcomes as tuples

>>> samples = sample_issues(issues=issues, n_outcomes=10)
>>> len(samples) == 10
True
>>> type(samples[0]) == tuple
True