UncertainOpponentModel

class negmas.models.acceptance.UncertainOpponentModel(outcomes: Collection[Outcome], opponents: SAONegotiator | Collection[SAONegotiator], uncertainty: float = 0.5, adaptive: bool = False, rejection_discount: float = 0.95, rejection_delta: float = 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 – 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 – Only effective if adaptive is True. See AdaptiveDiscreteAcceptanceModel

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

Methods Summary

acceptance_probabilities()

probability_of_acceptance(outcome)

probability_of_acceptance_indx(outcome_index)

update_accepted(outcome)

update_offered(outcome)

update_offered_indx(outcome_index)

update_rejected(outcome)

update_rejected_indx(outcome_index)

Methods Documentation

acceptance_probabilities() ndarray
probability_of_acceptance(outcome: tuple)
probability_of_acceptance_indx(outcome_index: int) float
update_accepted(outcome)
update_offered(outcome)
update_offered_indx(outcome_index: int)
update_rejected(outcome: tuple)
update_rejected_indx(outcome_index: int)