negmas.negotiators Package

This module defines the interfaces to all negotiation agents (negotiators) in negmas.

Classes

NegotiatorInfo(negotiator, context)

The return type of negmas.negotiators Package member of Controller.

Negotiator([name, preferences, ufun, ...])

Abstract negotiation agent.

Controller([default_negotiator_type, ...])

Controls the behavior of multiple negotiators in multiple negotiations.

ControlledNegotiator([name, preferences, ...])

A negotiator that can be used to pass all method calls to a parent (Controller).

Component(negotiator)

A component that can be added to a ModularNegotiator

EvaluatorNegotiator(*args, **kwargs)

A negotiator that can be asked to evaluate outcomes using its internal ufun.

RealComparatorNegotiator(*args, **kwargs)

A negotiator that can be asked to evaluate outcomes using its internal ufun.

BinaryComparatorNegotiator(*args, **kwargs)

A negotiator that can be asked to compare two outcomes using is_better.

NLevelsComparatorNegotiator(*args[, thresholds])

A negotiator that can be asked to compare two outcomes using compare_nlevels which returns the strength of the difference between two outcomes as an integer from [-n, n] in the C compare sense.

RankerNegotiator(*args, **kwargs)

A negotiator that can be asked to rank outcomes.

RankerWithWeightsNegotiator(*args, **kwargs)

A negotiator that can be asked to rank outcomes returning rank and weight.

SorterNegotiator(*args, **kwargs)

A negotiator that can be asked to rank outcomes returning rank without weight.

TimeCurve(*args, **kwargs)

Models a time-curve mapping relative timge (going from 0.0 to 1.0) to a utility range to use

Aspiration(*args, **kwargs)

A monotonically decreasing time-curve

PolyAspiration(max_aspiration, aspiration_type)

A polynomially conceding curve

ExpAspiration(max_aspiration, aspiration_type)

An exponential conceding curve

ModularNegotiator(*args, components[, ...])

A generic modular negotiator that can combine multiple negotiation Component s.

Class Inheritance Diagram

digraph inheritanced3b4475eed { bgcolor=transparent; fontsize=11; randkir=TB; rankdir=LR; size=""; "ABC" [URL="https://docs.python.org/3/library/abc.html#abc.ABC",fillcolor=white,fontname="Vera Sans, DejaVu Sans, Liberation Sans, Arial, Helvetica, sans",fontsize=11,height=0.25,shape=box,style="setlinewidth(0.5),filled",target="_top",tooltip="Helper class that provides a standard way to create an ABC using"]; "Aspiration" [URL="../api/negmas.negotiators.Aspiration.html#negmas.negotiators.Aspiration",fillcolor=white,fontname="Vera Sans, DejaVu Sans, Liberation Sans, Arial, Helvetica, sans",fontsize=11,height=0.25,shape=box,style="setlinewidth(0.5),filled",target="_top",tooltip="A monotonically decreasing time-curve"]; "TimeCurve" -> "Aspiration" [arrowsize=0.5,style="setlinewidth(0.5)"]; "Protocol" -> "Aspiration" [arrowsize=0.5,style="setlinewidth(0.5)"]; "BinaryComparatorNegotiator" [URL="../api/negmas.negotiators.BinaryComparatorNegotiator.html#negmas.negotiators.BinaryComparatorNegotiator",fillcolor=white,fontname="Vera Sans, DejaVu Sans, Liberation Sans, Arial, Helvetica, sans",fontsize=11,height=0.25,shape=box,style="setlinewidth(0.5),filled",target="_top",tooltip="A negotiator that can be asked to compare two outcomes using is_better. By default is just consults the ufun."]; "Negotiator" -> "BinaryComparatorNegotiator" [arrowsize=0.5,style="setlinewidth(0.5)"]; "Component" [URL="../api/negmas.negotiators.Component.html#negmas.negotiators.Component",fillcolor=white,fontname="Vera Sans, DejaVu Sans, Liberation Sans, Arial, Helvetica, sans",fontsize=11,height=0.25,shape=box,style="setlinewidth(0.5),filled",target="_top",tooltip="A component that can be added to a `ModularNegotiator`"]; "ControlledNegotiator" [URL="../api/negmas.negotiators.ControlledNegotiator.html#negmas.negotiators.ControlledNegotiator",fillcolor=white,fontname="Vera Sans, DejaVu Sans, Liberation Sans, Arial, Helvetica, sans",fontsize=11,height=0.25,shape=box,style="setlinewidth(0.5),filled",target="_top",tooltip="A negotiator that can be used to pass all method calls to a parent (Controller)."]; "Negotiator" -> "ControlledNegotiator" [arrowsize=0.5,style="setlinewidth(0.5)"]; "Controller" [URL="../api/negmas.negotiators.Controller.html#negmas.negotiators.Controller",fillcolor=white,fontname="Vera Sans, DejaVu Sans, Liberation Sans, Arial, Helvetica, sans",fontsize=11,height=0.25,shape=box,style="setlinewidth(0.5),filled",target="_top",tooltip="Controls the behavior of multiple negotiators in multiple negotiations."]; "Rational" -> "Controller" [arrowsize=0.5,style="setlinewidth(0.5)"]; "EvaluatorNegotiator" [URL="../api/negmas.negotiators.EvaluatorNegotiator.html#negmas.negotiators.EvaluatorNegotiator",fillcolor=white,fontname="Vera Sans, DejaVu Sans, Liberation Sans, Arial, Helvetica, sans",fontsize=11,height=0.25,shape=box,style="setlinewidth(0.5),filled",target="_top",tooltip="A negotiator that can be asked to evaluate outcomes using its internal ufun."]; "Negotiator" -> "EvaluatorNegotiator" [arrowsize=0.5,style="setlinewidth(0.5)"]; "ExpAspiration" [URL="../api/negmas.negotiators.ExpAspiration.html#negmas.negotiators.ExpAspiration",fillcolor=white,fontname="Vera Sans, DejaVu Sans, Liberation Sans, Arial, Helvetica, sans",fontsize=11,height=0.25,shape=box,style="setlinewidth(0.5),filled",target="_top",tooltip="An exponential conceding curve"]; "Aspiration" -> "ExpAspiration" [arrowsize=0.5,style="setlinewidth(0.5)"]; "Generic" [URL="https://docs.python.org/3/library/typing.html#typing.Generic",fillcolor=white,fontname="Vera Sans, DejaVu Sans, Liberation Sans, Arial, Helvetica, sans",fontsize=11,height=0.25,shape=box,style="setlinewidth(0.5),filled",target="_top",tooltip="Abstract base class for generic types."]; "ModularNegotiator" [URL="../api/negmas.negotiators.ModularNegotiator.html#negmas.negotiators.ModularNegotiator",fillcolor=white,fontname="Vera Sans, DejaVu Sans, Liberation Sans, Arial, Helvetica, sans",fontsize=11,height=0.25,shape=box,style="setlinewidth(0.5),filled",target="_top",tooltip="A generic modular negotiator that can combine multiple negotiation `Component` s."]; "Negotiator" -> "ModularNegotiator" [arrowsize=0.5,style="setlinewidth(0.5)"]; "NLevelsComparatorNegotiator" [URL="../api/negmas.negotiators.NLevelsComparatorNegotiator.html#negmas.negotiators.NLevelsComparatorNegotiator",fillcolor=white,fontname="Vera Sans, DejaVu Sans, Liberation Sans, Arial, Helvetica, sans",fontsize=11,height=0.25,shape=box,style="setlinewidth(0.5),filled",target="_top",tooltip="A negotiator that can be asked to compare two outcomes using compare_nlevels which returns the strength of"]; "Negotiator" -> "NLevelsComparatorNegotiator" [arrowsize=0.5,style="setlinewidth(0.5)"]; "NamedObject" [fillcolor=white,fontname="Vera Sans, DejaVu Sans, Liberation Sans, Arial, Helvetica, sans",fontsize=11,height=0.25,shape=box,style="setlinewidth(0.5),filled",tooltip="The base class of all named entities."]; "Negotiator" [URL="../api/negmas.negotiators.Negotiator.html#negmas.negotiators.Negotiator",fillcolor=white,fontname="Vera Sans, DejaVu Sans, Liberation Sans, Arial, Helvetica, sans",fontsize=11,height=0.25,shape=box,style="setlinewidth(0.5),filled",target="_top",tooltip="Abstract negotiation agent. Base class for all negotiators"]; "Rational" -> "Negotiator" [arrowsize=0.5,style="setlinewidth(0.5)"]; "Notifiable" -> "Negotiator" [arrowsize=0.5,style="setlinewidth(0.5)"]; "ABC" -> "Negotiator" [arrowsize=0.5,style="setlinewidth(0.5)"]; "NegotiatorInfo" [URL="../api/negmas.negotiators.NegotiatorInfo.html#negmas.negotiators.NegotiatorInfo",fillcolor=white,fontname="Vera Sans, DejaVu Sans, Liberation Sans, Arial, Helvetica, sans",fontsize=11,height=0.25,shape=box,style="setlinewidth(0.5),filled",target="_top",tooltip="NegotiatorInfo(negotiator, context)"]; "Notifiable" [URL="../api/negmas.events.Notifiable.html#negmas.events.Notifiable",fillcolor=white,fontname="Vera Sans, DejaVu Sans, Liberation Sans, Arial, Helvetica, sans",fontsize=11,height=0.25,shape=box,style="setlinewidth(0.5),filled",target="_top",tooltip="An object that can be notified"]; "PolyAspiration" [URL="../api/negmas.negotiators.PolyAspiration.html#negmas.negotiators.PolyAspiration",fillcolor=white,fontname="Vera Sans, DejaVu Sans, Liberation Sans, Arial, Helvetica, sans",fontsize=11,height=0.25,shape=box,style="setlinewidth(0.5),filled",target="_top",tooltip="A polynomially conceding curve"]; "Aspiration" -> "PolyAspiration" [arrowsize=0.5,style="setlinewidth(0.5)"]; "Protocol" [URL="https://docs.python.org/3/library/typing.html#typing.Protocol",fillcolor=white,fontname="Vera Sans, DejaVu Sans, Liberation Sans, Arial, Helvetica, sans",fontsize=11,height=0.25,shape=box,style="setlinewidth(0.5),filled",target="_top",tooltip="Base class for protocol classes."]; "Generic" -> "Protocol" [arrowsize=0.5,style="setlinewidth(0.5)"]; "RankerNegotiator" [URL="../api/negmas.negotiators.RankerNegotiator.html#negmas.negotiators.RankerNegotiator",fillcolor=white,fontname="Vera Sans, DejaVu Sans, Liberation Sans, Arial, Helvetica, sans",fontsize=11,height=0.25,shape=box,style="setlinewidth(0.5),filled",target="_top",tooltip="A negotiator that can be asked to rank outcomes. By default is just consults the ufun."]; "Negotiator" -> "RankerNegotiator" [arrowsize=0.5,style="setlinewidth(0.5)"]; "RankerWithWeightsNegotiator" [URL="../api/negmas.negotiators.RankerWithWeightsNegotiator.html#negmas.negotiators.RankerWithWeightsNegotiator",fillcolor=white,fontname="Vera Sans, DejaVu Sans, Liberation Sans, Arial, Helvetica, sans",fontsize=11,height=0.25,shape=box,style="setlinewidth(0.5),filled",target="_top",tooltip="A negotiator that can be asked to rank outcomes returning rank and weight. By default is just consults the ufun."]; "Negotiator" -> "RankerWithWeightsNegotiator" [arrowsize=0.5,style="setlinewidth(0.5)"]; "Rational" [fillcolor=white,fontname="Vera Sans, DejaVu Sans, Liberation Sans, Arial, Helvetica, sans",fontsize=11,height=0.25,shape=box,style="setlinewidth(0.5),filled",tooltip="A rational object is an object that can have preferences."]; "NamedObject" -> "Rational" [arrowsize=0.5,style="setlinewidth(0.5)"]; "RealComparatorNegotiator" [URL="../api/negmas.negotiators.RealComparatorNegotiator.html#negmas.negotiators.RealComparatorNegotiator",fillcolor=white,fontname="Vera Sans, DejaVu Sans, Liberation Sans, Arial, Helvetica, sans",fontsize=11,height=0.25,shape=box,style="setlinewidth(0.5),filled",target="_top",tooltip="A negotiator that can be asked to evaluate outcomes using its internal ufun."]; "Negotiator" -> "RealComparatorNegotiator" [arrowsize=0.5,style="setlinewidth(0.5)"]; "SorterNegotiator" [URL="../api/negmas.negotiators.SorterNegotiator.html#negmas.negotiators.SorterNegotiator",fillcolor=white,fontname="Vera Sans, DejaVu Sans, Liberation Sans, Arial, Helvetica, sans",fontsize=11,height=0.25,shape=box,style="setlinewidth(0.5),filled",target="_top",tooltip="A negotiator that can be asked to rank outcomes returning rank without weight."]; "Negotiator" -> "SorterNegotiator" [arrowsize=0.5,style="setlinewidth(0.5)"]; "TimeCurve" [URL="../api/negmas.negotiators.TimeCurve.html#negmas.negotiators.TimeCurve",fillcolor=white,fontname="Vera Sans, DejaVu Sans, Liberation Sans, Arial, Helvetica, sans",fontsize=11,height=0.25,shape=box,style="setlinewidth(0.5),filled",target="_top",tooltip="Models a time-curve mapping relative timge (going from 0.0 to 1.0) to a utility range to use"]; "Protocol" -> "TimeCurve" [arrowsize=0.5,style="setlinewidth(0.5)"]; }