EStrategy

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

Bases: object

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

Parameters

strategy (str) – 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)

rtype

Optional[Query]

on_enter(nmi[, preferences])

rtype

None

supported_strategies()

until(outcome, user, dist)

rtype

Value

utility_estimate(outcome)

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

Methods Documentation

apply(user, outcome)[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 Distribution

Return type

Tuple[Optional[Value], Optional[‘QResponse’]]

next_query(outcome)[source]
Return type

Optional[Query]

on_enter(nmi, preferences=None)[source]
Return type

None

classmethod supported_strategies()[source]
until(outcome, user, dist)[source]
Return type

Value

utility_estimate(outcome)[source]

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

Return type

Value