negmas.preferences Package
Models basic types of utility functions.
Utility functions are at the core of negotiation. Agents engage in negotiations with the goal of maximizing some utility function. In most cases, these utility functions are assumed to be known a-periori and static for the duration of a single negotiations.
Notes
We try to allow for applications that do not necessary have these two assumptions in the following ways:
A utility_function value (
Value
) can always represent represent a utility_function distribution over all possible utility_function values (Distribution
) or aKnownValue
which is a real number.The base class of all utility_function functions is
UtilityFunction
and is assumed to map outcomes (Outcome
objects) to the aforementioned generic utility values (Value
objects).Utility functions can be constructed using any
Callable
which makes it possible to construct them so that they change depending on the context or the progression of the negotiation.
Functions
|
Finds all pareto-optimal outcomes in the list. |
|
Finds the pareto-frontier of a set of utils (i.e. utility values). |
|
|
|
Finds the pareto-frontier of a set of points. |
|
Calculates all the Nash Bargaining Solutions on the Pareto frontier of a negotiation. |
|
Calculates the all Kalai bargaining solutions on the Pareto frontier of a negotiation which is the most Egaliterian solution ref: Kalai, Ehud (1977). |
|
Calculates the all Kalai-Somordinsky bargaining solutions on the Pareto frontier of a negotiation which is the bargaining solution that maximizes minimum advantage ratio ref: Kalai, Ehud, and Meir Smorodinsky. |
|
Calculates all the points with maximum relative welfare (i.e. sum of improvements above reserved value) on the Pareto frontier of a negotiation. |
|
Calculates all the points with maximum relative welfare (i.e. sum of improvements above reserved value) on the Pareto frontier of a negotiation. |
|
|
|
Normalizes a utility function to the given range. |
|
Normalizes a utility function to the given range. |
|
Gets one outcome within the given utility range or None on failure. |
|
Finds the best and worst outcomes. |
|
Finds the range of the given utility function for the given outcomes. |
|
Finds the conflict level in these two ufuns. |
|
Finds the opposition level of the two ufuns defined as the minimum distance to outcome (1, 1) |
|
Finds the win-win level in these two ufuns. |
|
|
|
|
|
|
|
|
|
|
|
Returns an ordered list of utility values and outcomes for the given ufun |
|
Calculates a reserved value that keeps the given fraction of outcomes (saturated between nmin and nmax). |
|
Tests whether the given point in utility space is dominated by any in the given points (eps is the tolerance). |
|
Classes
|
A protocol representing a probability distribution |
Indicates that the ufun is volatile |
|
Indicates that the ufun is session-dependent (i.e. utility value of outcomes depend on the NMI). |
|
Indicates that the ufun is state-dependent (i.e. utility value of outcomes depend on the mechanism state). |
|
Indicates that the ufun is stationary which means that it is not session or state dependent and not volatile. |
|
|
Base Protcol for all preferences in NegMAS. |
|
Can be ordered (at least partially) |
|
Differences between outcomes are meaningfull but probabilistic. |
|
Differences between outcomes are meaningfull and crisp (i.e. real numbers). |
|
Can be called to map an |
|
Can be called to map an |
|
Can be called to map an |
|
Outcomes can be ranked. |
|
Implements ranking of outcomes with meaningful differences (i.e. each rank is given a value and nearer values are more similar). |
|
In case of disagreement, the value of |
|
In case of disagreement, |
|
In case of disagreement, a value sampled from |
|
Random Preferences of this type can be created using a |
|
Can be scaled by a constant amount (i.e. utility values are all multiplied by this amount). |
|
Can be shifted by a constant amount (i.e. utility values are all shifted by this amount). |
|
Can be shifted by a constant amount for a specific part of the outcome space |
|
Can be scaled by a constant amount for a specific part of the outcome space |
|
Can be normalized to a given range of values (default is 0-1) |
|
Has a defined range of utility values (a minimum and a maximum) and defined best and worst outcomes |
|
Can be used to get one or more outcomes at a given range |
|
The utility value depends on each |
|
Can be serialized to XML format (compatible with GENIUS) |
|
A value function mapping values from a single issue to a real number |
|
A value function mapping values from multiple issues to a real number |
|
Base class for all preferences. |
|
Base class for all utility functions in negmas |
|
Base for all crisp ufuns |
|
A probablistic utility function. |
|
A utility function inverter that uses pre-sorting. |
|
A utility function inverter that uses sampling. |
|
A utility function with linear discounting based on some factor of the negotiation |
|
A discounted utility function based on some factor of the negotiation |
|
Base class for all discounted ufuns |
|
A utility function that returns the same value for all outcomes. |
alias of |
|
|
A linear aggregation utility function for multi-issue negotiations. |
|
A special case of the |
|
An affine utility function for multi-issue negotiations. |
|
Outcome mapping utility function. |
|
A nonlinear utility function. |
|
A utility function defined as a set of hyper-volumes. |
A utility function defined as a set of outcome_ranges. |
|
|
A random utility function for a discrete outcome space |
|
A utility function that keeps trak of outcome order onlyself. |
|
Outcome mapping utility function. |
|
Independent Probabilistic Utility Function. |
|
A utility function which represents the loc and scale deviations as any crisp ufun |
|
A utility function which represents the loc and scale deviations as any crisp ufun |
|
A random utility function for a discrete outcome space |
|
|
|
|
|
|
|
A utility function composed of linear aggregation of other utility functions |
|
A utility function composed of nonlinear aggregation of other utility functions |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|