Source code for negmas.gb.negotiators.cab

from __future__ import annotations
from ..components.acceptance import (
    AcceptAnyRational,
    AcceptBetterRational,
    AcceptNotWorseRational,
)
from ..components.offering import CABOfferingPolicy
from .modular.mapneg import MAPNegotiator

__all__ = ["CABNegotiator", "CARNegotiator", "CANNegotiator"]


[docs] class CANNegotiator(MAPNegotiator): """ Conceding Accepting Not Worse Strategy (optimal, complete, but not an equilibirum) Args: name: Negotiator name parent: Parent controller if any preferences: The preferences of the negotiator ufun: The ufun of the negotiator (overrides prefrences) owner: The `Agent` that owns the negotiator. """ def __init__(self, *args, **kwargs): kwargs["acceptance"] = AcceptNotWorseRational() kwargs["offering"] = CABOfferingPolicy() super().__init__(*args, **kwargs)
[docs] class CABNegotiator(MAPNegotiator): """ Conceding Accepting Better Strategy (optimal, complete, but not an equilibirum) Args: name: Negotiator name parent: Parent controller if any preferences: The preferences of the negotiator ufun: The ufun of the negotiator (overrides prefrences) owner: The `Agent` that owns the negotiator. """ def __init__(self, *args, **kwargs): kwargs["acceptance"] = AcceptBetterRational() kwargs["offering"] = CABOfferingPolicy() super().__init__(*args, **kwargs)
[docs] class CARNegotiator(MAPNegotiator): """ Conceding Accepting Rational Strategy (neither complete nor an equilibrium) Args: name: Negotiator name parent: Parent controller if any preferences: The preferences of the negotiator ufun: The ufun of the negotiator (overrides prefrences) owner: The `Agent` that owns the negotiator. """ def __init__(self, *args, **kwargs): kwargs["acceptance"] = AcceptAnyRational() kwargs["offering"] = CABOfferingPolicy() super().__init__(*args, **kwargs)