sample_issues

negmas.outcomes.sample_issues(issues, n_outcomes, with_replacement=True, fail_if_not_enough=True)[source]

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

Parameters:
  • issues (Sequence[Issue]) – list of issues to sample from

  • n_outcomes (int) – The number of outcomes required

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

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

Return type:

Iterable[tuple]

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