UncertainOpponentModel

class negmas.models.acceptance.UncertainOpponentModel(outcomes, opponents, uncertainty=0.5, adaptive=False, rejection_discount=0.95, rejection_delta=0.0, constant_base=True, accesses_real_acceptance=False)[source]

Bases: AggregatingDiscreteAcceptanceModel

A model for which the uncertainty about the acceptance probability of different negotiators is controllable.

This is not a realistic model but it can be used to experiment with effects of this uncertainty on different negotiation related algorithms (e.g. elicitation algorithms)

Parameters:
  • outcomes (Collection[tuple]) – The list of possible outcomes

  • uncertainty (float) – The uncertainty level. Zero means no uncertainty and 1.0 means maximum uncertainty

  • adaptive (bool) – If true then the random part will learn from experience with the opponents otherwise it will not.

  • rejection_discount (float) – Only effective if adaptive is True. See AdaptiveDiscreteAcceptanceModel

  • rejection_delta (float) – Only effective if adaptive is True. See AdaptiveDiscreteAcceptanceModel

Methods Summary

acceptance_probabilities()

rtype:

ndarray

probability_of_acceptance(outcome)

probability_of_acceptance_indx(outcome_index)

rtype:

float

update_accepted(outcome)

update_offered(outcome)

update_offered_indx(outcome_index)

update_rejected(outcome)

update_rejected_indx(outcome_index)

Methods Documentation

acceptance_probabilities()
Return type:

ndarray

probability_of_acceptance(outcome)
probability_of_acceptance_indx(outcome_index)
Return type:

float

update_accepted(outcome)
update_offered(outcome)
update_offered_indx(outcome_index)
update_rejected(outcome)
update_rejected_indx(outcome_index)