CartesianOutcomeSpace
- class negmas.outcomes.CartesianOutcomeSpace(issues, name=None)[source]
Bases:
XmlSerializable
An outcome-space that is generated by the cartesian product of a tuple of
Issue
s.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 all issues are discrete
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:
sample
(n_outcomes[, with_replacement, ...])to_dict
()to_discrete
([levels, max_cardinality])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 discretizing it as needed
Exports a utility function to a well formatted string
Attributes Documentation
- cardinality
The space cardinality = the number of outcomes
- issue_names
Returns an ordered list of issue names
Methods Documentation
- are_types_ok(outcome)[source]
Checks if the type of each value in the outcome is correct for the given issue
- Return type:
- contains_issue(x)[source]
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)[source]
Checks whether an outcome-space is contained in this outcome-space
- Return type:
- ensure_correct_types(outcome)[source]
Returns an outcome that is guaratneed to have correct types or raises an exception
- Return type:
- 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
- enumerate_or_sample_rational(preferences, levels=inf, max_cardinality=inf, aggregator=<built-in function any>)[source]
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_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)[source]
- Return type:
- classmethod from_xml_str(xml_str, safe_parsing=True, name=None)[source]
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)
- to_discrete(levels=10, max_cardinality=inf)[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, levels=5, max_cardinality=inf)[source]
Creates a new outcome space that is a single-issue version of this one discretizing it as needed
- Parameters:
numeric – If given, the output issue will be a
ContiguousIssue
otberwise it will be aCategoricalIssue
stringify – If given, the output issue will have string values. Checked only if
Numeric and Mathematical Modules
isFalse
levels (
int
) – Number of levels to discretize any continuous issuemax_cardinality (
int
|float
) – Maximum allowed number of outcomes in the resulting issue.
- Return type:
- Remarks:
Will discretize inifinte outcome spaces