kalai_points

negmas.preferences.kalai_points(ufuns, frontier, ranges=None, outcome_space=None, issues=None, outcomes=None, eps=1e-12, subtract_reserved_value=True)[source]

Calculates the all Kalai bargaining solutions on the Pareto frontier of a negotiation which is the most Egaliterian solution ref: Kalai, Ehud (1977). “Proportional solutions to bargaining situations: Intertemporal utility comparisons” (PDF). Econometrica. 45 (7): 1623–1630. doi:10.2307/1913954. JSTOR 1913954.

Parameters:
  • ufuns (Sequence[UtilityFunction]) – A list of ufuns to use

  • frontier (Sequence[tuple[float, …]]) – a list of tuples each giving the utility values at some outcome on the frontier (usually found by pareto_frontier) to search within

  • outcome_space (OutcomeSpace | None) – The outcome-space to consider

  • issues (Sequence[Issue] | None) – The issues on which the ufun is defined (outcomes may be passed instead)

  • outcomes (Sequence[Outcome] | None) – The outcomes on which the ufun is defined (outcomes may be passed instead)

Return type:

tuple[tuple[tuple[float, …], int], …]

Returns:

A tuple of three values (all will be None if reserved values are unknown)

  • A tuple of utility values at the nash point

  • The index of the given frontier corresponding to the nash point

Remarks:

  • The function searches within the given frontier only.