GBNMI
- class negmas.gb.GBNMI(id, n_outcomes, outcome_space, time_limit, pend, pend_per_second, step_time_limit, negotiator_time_limit, n_steps, dynamic_entry, max_n_negotiators, _mechanism, annotation=<class 'dict'>)[source]
Bases:
NegotiatorMechanismInterface
Attributes Summary
Gets the IDs of all agents owning all negotiators
Gets the names of all agents owning all negotiators
An arbitrary annotation as a
dict[str, Any]
that is always available for all negotiatorsReturns the
outcome_space
as aCartesianOutcomeSpace
or raises aValueError
if that was not possible.Whether it is allowed for negotiators to enter/leave the negotiation after it starts
Gets the Java IDs of all negotiators (if the negotiator is not a GeniusNegotiator, its normal ID is returned)
Mechanism session ID.
Maximum allowed number of negotiators in the session.
Gets the ID of the mechanism
Syntactic sugar for state.n_negotiators
Number of outcomes which may be
float('inf')
indicating infinityThe allowed number of steps for this negotiation.
Gets the IDs of all negotiators
The time limit in seconds to wait for negotiator responses of this negotiation session.
Negotiation agenda as as an
OutcomeSpace
object.All outcomes for discrete outcome spaces or None for continuous outcome spaces.
Returns the parameters used to initialize the mechanism.
The probability that the negotiation times out at every step.
The probability that the negotiation times out every second.
The protocol requirements
Access the current state of the mechanism.
The time limit in seconds for each step of ;this negotiation session.
The time limit in seconds for this negotiation session.
Methods Summary
asdict
()Converts the object to a dict containing all fields
discrete_outcome_space
([levels, max_cardinality])Returns a stable discrete version of the given outcome-space
discrete_outcomes
([max_cardinality])A discrete set of outcomes that spans the outcome space
genius_id
(id)Gets the Genius ID corresponding to the given negotiator if known otherwise its normal ID
keys
()log_critical
(nid, data)Logs at critical level
log_debug
(nid, data)Logs at debug level
log_error
(nid, data)Logs at error level
log_info
(nid, data)Logs at info level
log_warning
(nid, data)Logs at warning level
negotiator_index
(source)Returns the negotiator index for the given negotiator.
A single random outcome.
random_outcomes
([n])A set of random outcomes from the outcome-space of this negotiation
values
()Attributes Documentation
- agent_ids
Gets the IDs of all agents owning all negotiators
- agent_names
Gets the names of all agents owning all negotiators
- annotation: dict[str, Any]
An arbitrary annotation as a
dict[str, Any]
that is always available for all negotiators
- cartesian_outcome_space
Returns the
outcome_space
as aCartesianOutcomeSpace
or raises aValueError
if that was not possible.Remarks:
Useful for negotiators that only work with
CartesianOutcomeSpace
s (i.e.GeniusNegotiator
)
- dynamic_entry: bool
Whether it is allowed for negotiators to enter/leave the negotiation after it starts
- genius_negotiator_ids
Gets the Java IDs of all negotiators (if the negotiator is not a GeniusNegotiator, its normal ID is returned)
- id: str
Mechanism session ID. That is unique for all mechanisms
- issues
- max_n_negotiators: int | None
Maximum allowed number of negotiators in the session. None indicates no limit
- mechanism_id
Gets the ID of the mechanism
- n_negotiators
Syntactic sugar for state.n_negotiators
- n_outcomes: int | float
Number of outcomes which may be
float('inf')
indicating infinity
- n_steps: int | None
The allowed number of steps for this negotiation. None indicates infinity
- negotiator_ids
Gets the IDs of all negotiators
- negotiator_time_limit: float
The time limit in seconds to wait for negotiator responses of this negotiation session. None indicates infinity
- outcome_space: OutcomeSpace
Negotiation agenda as as an
OutcomeSpace
object. The most common type isCartesianOutcomeSpace
which represents the cartesian product of a list of issues
- outcomes
All outcomes for discrete outcome spaces or None for continuous outcome spaces. See
discrete_outcomes
- params
Returns the parameters used to initialize the mechanism.
- participants
- pend: float
The probability that the negotiation times out at every step. Must be less than one. If <= 0, it is ignored
- pend_per_second: float
The probability that the negotiation times out every second. Must be less than one. If <= 0, it is ignored
- requirements
The protocol requirements
- Returns:
A dict of str/Any pairs giving the requirements
- state
Access the current state of the mechanism.
Remarks:
Whenever a method receives a
AgentMechanismInterface
object, it can always access the current state of the protocol by accessing this property.
- step_time_limit: float
The time limit in seconds for each step of ;this negotiation session. None indicates infinity
- time_limit: float
The time limit in seconds for this negotiation session. None indicates infinity
Methods Documentation
- asdict()
Converts the object to a dict containing all fields
- discrete_outcome_space(levels=5, max_cardinality=10000000000)
Returns a stable discrete version of the given outcome-space
- Return type:
- discrete_outcomes(max_cardinality=inf)
A discrete set of outcomes that spans the outcome space
- genius_id(id)
Gets the Genius ID corresponding to the given negotiator if known otherwise its normal ID
- keys()
- negotiator_index(source)
Returns the negotiator index for the given negotiator. Raises an exception if not found
- Return type:
- random_outcomes(n=1)
A set of random outcomes from the outcome-space of this negotiation
- values()