SAOMetaNegotiatorController

class negmas.sao.SAOMetaNegotiatorController(*args, meta_negotiator: Optional[negmas.sao.SAONegotiator] = None, **kwargs)[source]

Bases: negmas.sao.SAOController

Controls multiple negotiations using a single meta negotiator.

Parameters

meta_negotiator (-) – The negotiator used for controlling all negotiations.

Remarks:

  • The controller will use the meta-negotiator to handle all negotiations by first setting its AMI to the current negotiation then calling the appropriate method in the meta negotiator.

  • If no meta-negotiator is given, an AspirationNegotiator will be created and used (with default parameters).

  • The meta-negotiator should not internally store information between calls to propose and respond about the negotiation because it will be called to propose and respond in multiple negotiations. The AspirationNegotiator can be used but SimpleTitForTatNegotiator cannot as it stores the past offer.

Methods Summary

propose(negotiator_id, state)

Uses the meta negotiator to propose

respond(negotiator_id, state, offer)

Uses the meta negotiator to respond

Methods Documentation

propose(negotiator_id: str, state: negmas.common.MechanismState)Optional[Union[negmas.outcomes.OutcomeType, Tuple[Union[int, float, str, list]], Dict[Union[int, str], Union[int, float, str, list]]]][source]

Uses the meta negotiator to propose

respond(negotiator_id: str, state: negmas.common.MechanismState, offer: Union[negmas.outcomes.OutcomeType, Tuple[Union[int, float, str, list]], Dict[Union[int, str], Union[int, float, str, list]]])negmas.outcomes.ResponseType[source]

Uses the meta negotiator to respond