BestResponsePlurality

class poisson_approval.BestResponsePlurality(tau, ranking)[source]

Best response for a given ordinal type of voter in Plurality.

The main objective of this class is to compute utility_threshold.

For the sake of consistency with BestResponseApproval, it provides the string justification, indicating which sub-algorithm was used. But since there are no actual sub-algorithms for plurality, the justification is always the same: 'Plurality analysis'.

Parameters
  • tau (TauVector) – A tau-vector.

  • ranking (str) – Voter’s ranking, e.g. 'abc'.

i, j, k

The first (resp. second, third) candidate in ranking. E.g. a.

Type

str

ij, ik, jk

The ballots with two candidates. E.g. ab.

Type

str

tau_i, tau_j, tau_k, tau_ij, tau_ik, tau_jk

The values of the tau-vector.

Type

Number

property ballot

This can be a valid ballot or 'utility-dependent'.

Type

str

property duo_ij

The duo ij.

Type

EventDuo

property duo_ik

The duo ik.

Type

EventDuo

property duo_ji

The duo ji.

Type

EventDuo

property duo_jk

The duo jk.

Type

EventDuo

property duo_ki

The duo ki.

Type

EventDuo

property duo_kj

The duo kj.

Type

EventDuo

property is_ordinal

Whether the best response is purely ordinal (or utility-dependent).

Type

bool

property justification

How the program computed the utility threshold.

Type

str

property pivot_ij_easy_or_tight

True if the pivot ij is easy or tight, False if it is difficult.

Type

bool

property pivot_ik_easy_or_tight

True if the pivot ik is easy or tight, False if it is difficult.

Type

bool

property pivot_ji_easy_or_tight

True if the pivot ji is easy or tight, False if it is difficult.

Type

bool

property pivot_jk_easy_or_tight

True if the pivot jk is easy or tight, False if it is difficult.

Type

bool

property pivot_ki_easy_or_tight

True if the pivot ki is easy or tight, False if it is difficult.

Type

bool

property pivot_kj_easy_or_tight

True if the pivot kj is easy or tight, False if it is difficult.

Type

bool

property pivot_strict_ij

The strict pivot ij.

Type

EventPivotStrict

property pivot_strict_ik

The strict pivot ik.

Type

EventPivotStrict

property pivot_strict_ji

The strict pivot ji.

Type

EventPivotStrict

property pivot_strict_jk

The strict pivot jk.

Type

EventPivotStrict

property pivot_strict_ki

The strict pivot ki.

Type

EventPivotStrict

property pivot_strict_kj

The strict pivot kj.

Type

EventPivotStrict

property pivot_tij

The personalized pivot between candidates i and j. This is just another notation for pivot_tij_ijk.

Type

EventPivotTij

property pivot_tij_ijk

The first personalized pivot for voters ijk.

Type

EventPivotTij

property pivot_tij_ikj

The first personalized pivot for voters ikj.

Type

EventPivotTij

property pivot_tij_jik

The first personalized pivot for voters jik.

Type

EventPivotTij

property pivot_tij_jki

The first personalized pivot for voters jki.

Type

EventPivotTij

property pivot_tij_kij

The first personalized pivot for voters kij.

Type

EventPivotTij

property pivot_tij_kji

The first personalized pivot for voters kji.

Type

EventPivotTij

property pivot_tjk

The personalized pivot between candidates j and k. This is just another notation for pivot_tjk_ijk.

Type

EventPivotTjk

property pivot_tjk_ijk

The second personalized pivot for voters ijk.

Type

EventPivotTjk

property pivot_tjk_ikj

The second personalized pivot for voters ikj.

Type

EventPivotTjk

property pivot_tjk_jik

The second personalized pivot for voters jik.

Type

EventPivotTjk

property pivot_tjk_jki

The second personalized pivot for voters jki.

Type

EventPivotTjk

property pivot_tjk_kij

The second personalized pivot for voters kij.

Type

EventPivotTjk

property pivot_tjk_kji

The second personalized pivot for voters kji.

Type

EventPivotTjk

property pivot_weak_ij

The weak pivot ij.

Type

EventPivotWeak

property pivot_weak_ik

The weak pivot ik.

Type

EventPivotWeak

property pivot_weak_ji

The weak pivot ji.

Type

EventPivotWeak

property pivot_weak_jk

The weak pivot jk.

Type

EventPivotWeak

property pivot_weak_ki

The weak pivot ki.

Type

EventPivotWeak

property pivot_weak_kj

The weak pivot kj.

Type

EventPivotWeak

property results

Tuple (utility_threshold, justification). Cf. utility_threshold and justification.

Type

tuple

property trio

The 3-candidate tie.

Type

EventTrio

property trio_1t

The first personalized trio. This is just another notation for trio_1t_i.

Type

EventTrio1t

property trio_1t_i

The first personalized trio (where candidate i has one vote less).

Type

EventTrio1t

property trio_1t_j

The first personalized trio (where candidate j has one vote less).

Type

EventTrio1t

property trio_1t_k

The first personalized trio (where candidate k has one vote less).

Type

EventTrio1t

property trio_2t

The second personalized trio. This is just another notation for trio_2t_ij.

Type

EventTrio1t

property trio_2t_ij

The second personalized trio (where candidates i and j have one vote less).

Type

EventTrio2t

property trio_2t_ik

The second personalized trio (where candidates i and k have one vote less).

Type

EventTrio2t

property trio_2t_ji

The second personalized trio (where candidates j and i have one vote less).

Type

EventTrio2t

property trio_2t_jk

The second personalized trio (where candidates j and k have one vote less).

Type

EventTrio2t

property trio_2t_ki

The second personalized trio (where candidates k and i have one vote less).

Type

EventTrio2t

property trio_2t_kj

The second personalized trio (where candidates k and j have one vote less).

Type

EventTrio2t

property utility_threshold

The threshold value of the utility for the second candidate (where the optimal ballot changes).

Type

Number