ks_points

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

Calculates the all Kalai-Somordinsky bargaining solutions on the Pareto frontier of a negotiation which is the bargaining solution that maximizes minimum advantage ratio ref: Kalai, Ehud, and Meir Smorodinsky. “Other solutions to Nash’s bargaining problem.” Econometrica: Journal of the Econometric Society (1975): 513-518.

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)

  • exponent (float) – The exponent used for evaluating distance to the optimal KS solution as the degree of the L-norm used. The default is infinity which indicates the maximum difference. Currently not used

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.