class svvamp.GeneratorProfileLadder(n_v, n_c, n_rungs, sort_voters=False)[source]

Profile generator using the ‘Ladder’ model.

Parameters:
  • n_v (int) – Number of voters.

  • n_c (int) – Number of candidates.

  • n_rungs (int) – Number of rungs of the ladder.

  • sort_voters (bool) – This argument is passed to Profile.

Notes

Each utility preferences_ut[v, c] is drawn independently and uniformly between n_rungs values that divide the interval [-1, 1] equally. For example, if n_rungs = 21, then values in {-1, -0.9, …, 1} are used.

The ordinal part of this distribution is not the Impartial Culture. Indeed, weak orders of preference come with non-zero probability. This model is interesting the study the effect of voters’ ties.

Examples

>>> generator = GeneratorProfileLadder(n_v=10, n_c=3, n_rungs=5)
>>> profile = generator()
>>> profile.preferences_rk.shape
(10, 3)