Probabilistic Methods

Random Dictator

pref_voting.probabilistic_methods.random_dictator(profile, curr_cands=None)[source]

Returns lottery over the candidates that is proportional to the Plurality scores.

Parameters:
  • profile (Profile) – A Profile object.

  • curr_cands (list) – A list of candidates to restrict the ranking to. If None, then the ranking is over the entire domain of the profile.

Returns:

A dictionary mapping candidates to probabilities.

Return type:

dict

Proportional Borda

pref_voting.probabilistic_methods.pr_borda(profile, curr_cands=None)[source]

Returns lottery over the candidates that is proportional to the Borda scores.

Parameters:
  • profile (Profile) – A Profile object.

  • curr_cands (list) – A list of candidates to restrict the ranking to. If None, then the ranking is over the entire domain of the profile.

Returns:

A dictionary mapping candidates to probabilities.

Return type:

dict

Maximal Lottery

pref_voting.probabilistic_methods.maximal_lottery(edata, curr_cands=None)[source]

Returns the maximal lottery over the candidates. See http://dss.in.tum.de/files/brandt-research/fishburn_slides.pdf.

Parameters:
  • edata (Profile, MarginGraph) – A Profile object.

  • curr_cands (list) – A list of candidates to restrict the ranking to. If None, then the ranking is over the entire domain of the profile.

Returns:

A dictionary mapping candidates to probabilities.

Return type:

dict

C1 Maximal Lottery

pref_voting.probabilistic_methods.c1_maximal_lottery(edata, curr_cands=None)[source]

Returns the C1 maximal lottery over the candidates. See http://dss.in.tum.de/files/brandt-research/fishburn_slides.pdf.

Parameters:
  • edata (Profile, MarginGraph) – A Profile object.

  • curr_cands (list) – A list of candidates to restrict the ranking to. If None, then the ranking is over the entire domain of the profile.

Returns:

A dictionary mapping candidates to probabilities.

Return type:

dict