CardinalProb

class negmas.preferences.CardinalProb(*args, **kwargs)[source]

Bases: negmas.preferences.protocols.Ordinal, Protocol

Differences between outcomes are meaningfull but probabilistic.

Remarks:

Inheriting from this class adds is_not_worse implementation that is extremely conservative. It declares that first is not worse than second only if any sample form first is ALWAYS not worse than any sample from second.

Attributes Summary

base_type

Returns the utility_function base type ignoring discounting and similar wrappings.

type

Returns the preferences type.

Methods Summary

difference_prob(first, second)

Returns a numeric difference between the utility of the two given outcomes

is_better(first, second)

Compares two offers using the ufun returning whether the first is strictly better than the second

is_equivalent(first, second)

Compares two offers using the ufun returning whether the first is strictly equivelent than the second

is_not_better(first, second)

Compares two offers using the ufun returning whether the first is worse or equivalent than the second

is_not_worse(first, second)

Compares two offers using the ufun returning whether the first is better than the second

is_session_dependent()

Does the utiltiy of an outcome depend on the NegotiatorMechanismInterface?

is_state_dependent()

Does the utiltiy of an outcome depend on the negotiation state?

is_stationary()

Is the ufun stationary (i.e.

is_volatile()

Does the utiltiy of an outcome depend on factors outside the negotiation?

is_worse(first, second)

Compares two offers using the ufun returning whether the first is strictly worse than the second

Attributes Documentation

base_type

Returns the utility_function base type ignoring discounting and similar wrappings.

Return type

str

type

Returns the preferences type.

Return type

str

Methods Documentation

abstract difference_prob(first, second)[source]

Returns a numeric difference between the utility of the two given outcomes

Return type

Distribution

abstract is_better(first, second)

Compares two offers using the ufun returning whether the first is strictly better than the second

Parameters
  • first (Outcome | None) – First outcome to be compared

  • second (Outcome | None) – Second outcome to be compared

Remarks:

  • Should raise ValueError if the comparison cannot be done

Return type

bool

abstract is_equivalent(first, second)

Compares two offers using the ufun returning whether the first is strictly equivelent than the second

Parameters
  • first (Outcome | None) – First outcome to be compared

  • second (Outcome | None) – Second outcome to be compared

Remarks:

  • Should raise ValueError if the comparison cannot be done

Return type

bool

abstract is_not_better(first, second)

Compares two offers using the ufun returning whether the first is worse or equivalent than the second

Parameters
  • first (Outcome) – First outcome to be compared

  • second (Outcome | None) – Second outcome to be compared

Remarks:

  • Should raise ValueError if the comparison cannot be done

Return type

bool

abstract is_not_worse(first, second)

Compares two offers using the ufun returning whether the first is better than the second

Parameters
  • first (Outcome | None) – First outcome to be compared

  • second (Outcome | None) – Second outcome to be compared

  • state – The negotiation state at which the comparison is done

Remarks:

  • Should raise ValueError if the comparison cannot be done

Return type

bool

abstract is_session_dependent()

Does the utiltiy of an outcome depend on the NegotiatorMechanismInterface?

Return type

bool

abstract is_state_dependent()

Does the utiltiy of an outcome depend on the negotiation state?

Return type

bool

abstract is_stationary()

Is the ufun stationary (i.e. utility value of an outcome is a constant)?

Return type

bool

abstract is_volatile()

Does the utiltiy of an outcome depend on factors outside the negotiation?

Remarks:
  • A volatile preferences is one that can change even for the same mechanism state due to outside influence

Return type

bool

abstract is_worse(first, second)

Compares two offers using the ufun returning whether the first is strictly worse than the second

Parameters
  • first (Outcome | None) – First outcome to be compared

  • second (Outcome | None) – Second outcome to be compared

Remarks:

  • Should raise ValueError if the comparison cannot be done

Return type

bool