negmas.mt

Implements single text negotiation mechanisms

class negmas.mt.VetoMTMechanism(*args, epsilon: float = 1e-06, n_texts: int = 10, initial_outcomes: list[tuple | None] | None = None, initial_responses: tuple[tuple[bool]] | None = None, initial_state: MTState | None = None, **kwargs)[source]

Bases: Mechanism[NegotiatorMechanismInterface, MTState, MechanismAction, BinaryComparatorNegotiator]

Base class for all muti-text mechanisms

Parameters:
  • *args – positional arguments to be passed to the base Mechanism

  • **kwargs – keyword arguments to be passed to the base Mechanism

  • n_texts – Number of current offers to keep

  • initial_outcomes – initial set of outcomes outcome. If None, it will be selected by next_outcome which by default will choose it randomly.

  • initial_responses – Initial set of responses. One list per outcome in initial_outcomes.

Remarks:

  • initial_responses is only of value when the number of negotiators that will join the negotiation is less then or equal to its length. By default it is not used for anything. Nevertheless, it is here because next_outcome may decide to use it with the initial_outcome

initial_outcomes[source]

The initial offer

initial_responses[source]

The initial set of responses. See the remarks of this class to understand its role.

last_responses[source]

The responses of all negotiators for the last offer

next_outcome(outcome: tuple | None) tuple | None[source]

Generate the next outcome given some outcome.

Parameters:

outcome – The current outcome

Returns:

a new outcome or None to end the mechanism run

on_negotiation_end() None[source]

Used to pass the final offer for agreement between all negotiators