OutcomeSpace

class negmas.outcomes.OutcomeSpace(*args, **kwargs)[source]

Bases: Container, Protocol

The base protocol for all outcome spaces.

Attributes Summary

cardinality

The space cardinality = the number of outcomes

Methods Summary

are_types_ok(outcome)

Checks if the type of each value in the outcome is correct for the given issue

cardinality_if_discretized(levels[, ...])

Returns the cardinality if discretized the given way.

ensure_correct_types(outcome)

Returns an outcome that is guaratneed to have correct types or raises an exception

enumerate_or_sample([levels, max_cardinality])

Enumerates all outcomes if possible (i.e.

is_discrete()

Checks whether there are no continua components of the space

is_finite()

Checks whether the space is finite

is_float()

Checks whether all values in all outcomes are real

is_integer()

Checks whether all values in all outcomes are integers

is_numeric()

Checks whether all values in all outcomes are numeric

is_valid(outcome)

Checks if the given outcome is valid for that outcome space

sample(n_outcomes[, with_replacement, ...])

Samples up to n_outcomes with or without replacement

to_discrete([levels, max_cardinality])

Returns a stable finite outcome space.

to_largest_discrete(levels[, max_cardinality])

rtype

DiscreteOutcomeSpace

Attributes Documentation

cardinality

The space cardinality = the number of outcomes

Return type

int | float

Methods Documentation

abstract are_types_ok(outcome)[source]

Checks if the type of each value in the outcome is correct for the given issue

Return type

bool

cardinality_if_discretized(levels, max_cardinality=inf, **kwargs)[source]

Returns the cardinality if discretized the given way.

Return type

int

abstract ensure_correct_types(outcome)[source]

Returns an outcome that is guaratneed to have correct types or raises an exception

Return type

tuple

enumerate_or_sample(levels=inf, max_cardinality=inf)[source]

Enumerates all outcomes if possible (i.e. discrete space) or returns max_cardinality different outcomes otherwise

Return type

Iterable[Outcome]

is_discrete()[source]

Checks whether there are no continua components of the space

Return type

bool

is_finite()[source]

Checks whether the space is finite

Return type

bool

abstract is_float()[source]

Checks whether all values in all outcomes are real

Return type

bool

abstract is_integer()[source]

Checks whether all values in all outcomes are integers

Return type

bool

abstract is_numeric()[source]

Checks whether all values in all outcomes are numeric

Return type

bool

abstract is_valid(outcome)[source]

Checks if the given outcome is valid for that outcome space

Return type

bool

abstract sample(n_outcomes, with_replacement=False, fail_if_not_enough=False)[source]

Samples up to n_outcomes with or without replacement

Return type

Iterable[tuple]

abstract to_discrete(levels=5, max_cardinality=inf, **kwargs)[source]

Returns a stable finite outcome space. If the outcome-space is already finite. It shoud return itself.

Parameters
  • levels (int | float) – The levels of discretization of any continuous dimension (or subdimension)

  • max_cardintlity – The maximum cardinality allowed for the resulting outcomespace (if the original OS was infinite). This limitation is NOT applied for outcome spaces that are alredy discretized. See limit_cardinality() for a method to limit the cardinality of an already discrete space

If called again, it should return the same discrete outcome space every time.

Return type

DiscreteOutcomeSpace

to_largest_discrete(levels, max_cardinality=inf, **kwargs)[source]
Return type

DiscreteOutcomeSpace