DiscreteCartesianOutcomeSpace
- class negmas.outcomes.DiscreteCartesianOutcomeSpace(issues, name=None)[source]
Bases:
CartesianOutcomeSpace
A discrete outcome-space that is generated by the cartesian product of a tuple of
Issue
s (i.e. with finite number of outcomes).Attributes Summary
The space cardinality = the number of outcomes
Returns an ordered list of issue names
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[, ...])- rtype:
Cheks that the given issue is in the tuple of issues constituting the outcome space (i.e. it is one of its dimensions).
contains_os
(x)Checks whether an outcome-space is contained in this outcome-space
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. discrete space) or returns
max_cardinality
different outcomes otherwise.enumerate_or_sample_rational
(preferences[, ...])Enumerates all outcomes if possible (i.e. discrete space) or returns
max_cardinality
different outcomes otherwise.from_dict
(d)from_genius
(file_name, **kwargs)Imports a utility function from a GENIUS XML file.
from_outcomes
(outcomes[, numeric_as_ranges, ...])from_xml_str
(xml_str[, safe_parsing, name])Imports a utility function from a GENIUS XML string.
Checks whether all issues are discrete
Checks whether all issues are complete ranges
Checks whether there are no continua components of the space
Checks whether the space is finite
is_float
()Checks whether all issues are real
Checks whether all issues are integer
Checks whether all issues are discrete
Checks whether all issues are numeric
is_valid
(outcome)- rtype:
limit_cardinality
([max_cardinality, levels])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, ...])to_dict
()to_discrete
(*args, **kwargs)Discretizes the outcome space by sampling
Logging Levels
values for each continuous issue.to_genius
(file_name, **kwargs)Exports a utility function to a GENIUS XML file.
to_largest_discrete
(levels[, max_cardinality])to_single_issue
([numeric, stringify])Creates a new outcome space that is a single-issue version of this one
Exports a utility function to a well formatted string
Attributes Documentation
- cardinality
- issue_names
Returns an ordered list of issue names
Methods Documentation
- are_types_ok(outcome)
Checks if the type of each value in the outcome is correct for the given issue
- Return type:
- contains_issue(x)
Cheks that the given issue is in the tuple of issues constituting the outcome space (i.e. it is one of its dimensions)
- Return type:
- contains_os(x)
Checks whether an outcome-space is contained in this outcome-space
- Return type:
- ensure_correct_types(outcome)
Returns an outcome that is guaratneed to have correct types or raises an exception
- 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
- enumerate_or_sample_rational(preferences, levels=inf, max_cardinality=inf, aggregator=<built-in function any>)
Enumerates all outcomes if possible (i.e. discrete space) or returns
max_cardinality
different outcomes otherwise.- Parameters:
preferences (Iterable[HasReservedValue | HasReservedOutcome]) – A list of
Preferences
that is used to judge outcomeslevels (int | float) – The number of levels to use for discretization if needed
max_cardinality (int | float) – The maximum cardinality allowed in case of discretization
aggregator (Callable[[Iterable[bool]], bool]) – A predicate that takes an
Iterable
of booleans representing whether or not an outcome is rational for a givenPreferences
(i.e. better than reservation) and returns a single boolean representing the result for all preferences. Default is any but can be all.
- Return type:
Iterable[Outcome]
- classmethod from_dict(d)
- classmethod from_genius(file_name, **kwargs)
Imports a utility function from a GENIUS XML file.
- static from_outcomes(outcomes, numeric_as_ranges=False, issue_names=None, name=None)
- Return type:
- classmethod from_xml_str(xml_str, safe_parsing=True, name=None)
Imports a utility function from a GENIUS XML string.
- Parameters:
xml_str (str) – The string containing GENIUS style XML utility function definition
- Return type:
- Returns:
A utility function object (depending on the input file)
- limit_cardinality(max_cardinality=inf, levels=inf)[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:
- random_outcome()
- to_dict()
- to_discrete(*args, **kwargs)[source]
Discretizes the outcome space by sampling
Logging Levels
values for each continuous issue.The result of the discretization is stable in the sense that repeated calls will return the same output.
- Return type:
- to_genius(file_name, **kwargs)
Exports a utility function to a GENIUS XML file.
- Remarks:
See
to_xml_str
for all the parameters
- to_single_issue(numeric=False, stringify=True)[source]
Creates a new outcome space that is a single-issue version of this one
- Parameters:
numeric – If given, the output issue will be a
ContiguousIssue
otherwise it will be aCategoricalIssue
stringify – If given, the output issue will have string values. Checked only if
Numeric and Mathematical Modules
isFalse
- Return type:
- Remarks:
maps the agenda and ufuns to work correctly together
Only works if the outcome space is finite