DiscreteOutcomeSpace
- class negmas.outcomes.DiscreteOutcomeSpace(*args, **kwargs)[source]
Bases:
negmas.outcomes.protocols.OutcomeSpace
,Collection
,Protocol
The base protocol for all outcome spaces with a finite number of items.
This type of outcome-space acts as a standard python
Collection
which means that its length can be found usinglen()
and it can be iterated over to return outcomes.Attributes Summary
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
Enumerates the outcome space returning all its outcomes (or up to max_cardinality for infinite ones)
enumerate_or_sample
([levels, max_cardinality])Enumerates all outcomes if possible (i.e.
Checks whether there are no continua components of the space
Checks whether the space is finite
is_float
()Checks whether all values in all outcomes are real
Checks whether all values in all outcomes are integers
Checks whether all values in all outcomes are numeric
is_valid
(outcome)Checks if the given outcome is valid for that outcome space
limit_cardinality
([max_cardinality])Limits the cardinality of the outcome space to the given maximum (or the number of levels for each issue to
Logging Levels
)sample
(n_outcomes[, with_replacement, ...])Samples up to n_outcomes with or without replacement.
to_discrete
(*args, **kwargs)Returns a stable finite outcome space.
to_largest_discrete
(levels[, max_cardinality])- rtype
DiscreteOutcomeSpace
to_single_issue
([numeric, stringify])- rtype
Attributes Documentation
Methods Documentation
- abstract are_types_ok(outcome)
Checks if the type of each value in the outcome is correct for the given issue
- Return type
- cardinality_if_discretized(levels, max_cardinality=inf, **kwargs)
Returns the cardinality if discretized the given way.
- Return type
- abstract ensure_correct_types(outcome)
Returns an outcome that is guaratneed to have correct types or raises an exception
- Return type
- abstract enumerate()[source]
Enumerates the outcome space returning all its outcomes (or up to max_cardinality for infinite ones)
- Return type
- enumerate_or_sample(levels=inf, max_cardinality=inf)
Enumerates all outcomes if possible (i.e. discrete space) or returns
max_cardinality
different outcomes otherwise- Return type
Iterable[Outcome]
- abstract is_valid(outcome)
Checks if the given outcome is valid for that outcome space
- Return type
- abstract limit_cardinality(max_cardinality=inf, **kwargs)[source]
Limits the cardinality of the outcome space to the given maximum (or the number of levels for each issue to
Logging Levels
)- Parameters
- Return type
- sample(n_outcomes, with_replacement=False, fail_if_not_enough=True)[source]
Samples up to n_outcomes with or without replacement.
This methor provides a base implementation that is not memory efficient. It will simply create a list of all outcomes using
enumerate()
and then samples from it. Specific outcome space types should override this method to improve its efficiency if possible.
- to_discrete(*args, **kwargs)[source]
Returns a stable finite outcome space. If the outcome-space is already finite. It shoud return itself.
- Parameters
levels – 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
- to_largest_discrete(levels, max_cardinality=inf, **kwargs)
- Return type