negmas.elicitation Package

” The interface to all negotiators capable of eliciting user preferences before , and during negotiations.



Returns the lower bound of a UtilityValue


Returns the lower bound of an iterable of UtilityValue(s)


Returns the difference between the upper and lower bounds of a UtilityValue


Returns the upper bound of a UtilityValue


Returns the upper bounds of an Iterble of UtilityValues


Returns the index of the maximum


Returns the index of the minimum


Returns the index of the minimum

next_query(strategy, user[, outcome])

Gets the possible outcomes for the next ask with its cost.

possible_queries(ami, strategy, user[, outcome])

Gets all queries that could be asked for that outcome until an exact value of ufun is found.

weitzman_index_uniform(loc, scale, cost[, …])

Implements Weitzman’s 1979 Bandora’s Box index calculation.


EStrategy(strategy[, resolution])

A proxy for a user that have some true utilities which can be elicited.

User(ufun, cost[, ami])

Abstract base class for all representations of users used for elicitation

ElicitationRecord(cost, query, answer_index, …)

Constraint(full_range, float]], Tuple[float, …)

Some constraint on allowable utility values for given outcomes.

MarginalNeutralConstraint(full_range, …)

Constraints that do not affect the marginals of any outcomes.

RankConstraint(rankings, full_range, …)

Constraints the utilities of given outcomes to be in ascending order

ComparisonConstraint(op, …)

Constraints the utility of given two outcomes (must be exactly two) to satisfy the given operation (e.g.

RangeConstraint(rng, full_range, float]], …)

Constraints the utility of each of the given outcomes to lie within the given range

Answer(outcomes, Tuple[Union[int, float, …)

Query(answers, probs, cost, name)

QResponse(answer, indx, cost)


BaseElicitor(user, *, strategy, …[, …])

DummyElicitor(user, *, strategy, …[, …])

A dummy elicitation algorithm that does not do any elicitation.

FullKnowledgeElicitor(user, *, strategy, …)

An elicitor that does not need to do any elicitation because it has full access to the user ufun.

BasePandoraElicitor(user, strategy, *, …)

The base class of all Pandora’s box based algorithms.

PandoraElicitor(strategy, user, **kwargs)

Implements the original [Baarslag and Gerding]_’s Pandora’s box based elicitation algorithm (when used with the default parameters).

OptimalIncrementalElicitor(strategy, user, …)

Same as FastElicitor but uses incremental elicitation which simply means that it only updates the index for outcomes that are affected by changes in the opponent model.

FullElicitor(strategy, user[, epsilon, …])

Does full deep elicitation in the first call to elicit.

RandomElicitor(strategy, user[, …])

Uses a random index instead of the optimal z-index used by the Pandora’s box solution.

FastElicitor(*args, **kwargs)

Same as PandoraElicitor but does not use deep elicitation.

MeanElicitor(strategy, user, **kwargs)

Same as OptimalIncrementalElicitor using MeanExpector for estimating utilities

BalancedElicitor(strategy, user, **kwargs)

Same as OptimalIncrementalElicitor using MeanExpector for estimating utilities

AspiringElicitor(strategy, user, *, …)

Same as OptimalIncrementalElicitor using aspiration level for estimating utilities.

PessimisticElicitor(strategy, user, **kwargs)

Same as OptimalIncrementalElicitor using the minimum to estimate utilities.

OptimisticElicitor(strategy, user, **kwargs)

Same as OptimalIncrementalElicitor using the maximum to estimate utilities.

BaseVOIElicitor(strategy, user, *[, …])

Base class for all value of information (VOI) elicitation algorithms

VOIElicitor(strategy, user, *[, …])

The Optimal Querying Agent (OQA) proposed by [Baarslag and Kaisers]_

VOIFastElicitor(strategy, user, *[, …])

FastVOI algorithm proposed by Mohammad and Nakadai [MN2018]

VOINoUncertaintyElicitor(strategy, user, *)

A dummy VOI Elicitation Agent.

VOIOptimalElicitor(user, *, base_negotiator)

Optimal VOI elicitor proposed by [Mohammad and Nakadai]_


An Alias for VOIElicitor

SAOElicitingMechanism(priors, …[, …])

Class Inheritance Diagram

Inheritance diagram of negmas.elicitation.strategy.EStrategy, negmas.elicitation.user.User, negmas.elicitation.user.ElicitationRecord, negmas.elicitation.queries.Constraint, negmas.elicitation.queries.MarginalNeutralConstraint, negmas.elicitation.queries.RankConstraint, negmas.elicitation.queries.ComparisonConstraint, negmas.elicitation.queries.RangeConstraint, negmas.elicitation.queries.Answer, negmas.elicitation.queries.Query, negmas.elicitation.queries.QResponse, negmas.elicitation.queries.CostEvaluator, negmas.elicitation.base.BaseElicitor, negmas.elicitation.baseline.DummyElicitor, negmas.elicitation.baseline.FullKnowledgeElicitor, negmas.elicitation.pandora.BasePandoraElicitor, negmas.elicitation.pandora.PandoraElicitor, negmas.elicitation.pandora.OptimalIncrementalElicitor, negmas.elicitation.pandora.FullElicitor, negmas.elicitation.pandora.RandomElicitor, negmas.elicitation.pandora.FastElicitor, negmas.elicitation.pandora.MeanElicitor, negmas.elicitation.pandora.BalancedElicitor, negmas.elicitation.pandora.AspiringElicitor, negmas.elicitation.pandora.PessimisticElicitor, negmas.elicitation.pandora.OptimisticElicitor, negmas.elicitation.voi.BaseVOIElicitor, negmas.elicitation.voi.VOIElicitor, negmas.elicitation.voi.VOIFastElicitor, negmas.elicitation.voi.VOINoUncertaintyElicitor, negmas.elicitation.voi.VOIOptimalElicitor, negmas.elicitation.voi.VOIElicitor, negmas.elicitation.mechanism.SAOElicitingMechanism