EStrategy

class negmas.elicitation.EStrategy(strategy: str, resolution=0.0001, stop_at_cost: bool = True)[source]

Bases: object

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

Parameters

strategy – a string specifying the elicitation strategy or a callable.

Remarks:

  • Supported string elicitation_strategies can be found using the supported_strategies class method

  • If a callable is passed then it must receive four float numbers indicating the lower and upper boundaries of the current Negotiator distribution, the true Negotiator and a threshold (resolution). It must return a new lower and upper values. To stop eliciting and return an exact number, the callable should set lower to the same value as upper

Methods Summary

apply(user, outcome)

Do the elicitation and incur the cost.

next_query(outcome)

on_enter(ami[, ufun])

supported_strategies()

until(outcome, user, dist)

utility_estimate(outcome)

Gets a probability distribution of the Negotiator for this outcome without elicitation.

Methods Documentation

apply(user: User, outcome: Outcome)Tuple[Optional[Union[negmas.helpers.Distribution, float]], Optional[QResponse]][source]

Do the elicitation and incur the cost.

Remarks:

  • This function returns a uniform distribution whenever it returns a distribution

  • Can return None which indicates that elicitation failed

  • If it could find an exact value, it will return a float not a UtilityDistribution

next_query(outcome: Union[negmas.outcomes.OutcomeType, Tuple[Union[int, float, str, list]], Dict[Union[int, str], Union[int, float, str, list]]])Optional[negmas.elicitation.Query][source]
on_enter(ami: negmas.common.AgentMechanismInterface, ufun: Optional[negmas.utilities.IPUtilityFunction] = None)None[source]
classmethod supported_strategies()[source]
until(outcome: Outcome, user: User, dist: Union[List[Union[negmas.helpers.Distribution, float]], negmas.helpers.Distribution, float])Union[negmas.helpers.Distribution, float][source]
utility_estimate(outcome: Union[negmas.outcomes.OutcomeType, Tuple[Union[int, float, str, list]], Dict[Union[int, str], Union[int, float, str, list]]])Union[negmas.helpers.Distribution, float][source]

Gets a probability distribution of the Negotiator for this outcome without elicitation. Costs nothing