election

Implements many different methods for determining the winner of an election given voter preferences.
946 download
Aggiornato 20 ago 2010

Visualizza la licenza

Voting theory is a branch of mathematics with lots of interesting paradoxes. For example, the candidate with the most primary votes might also be at the bottom of the most voters preferences. It is also possible for a candidate with no primary votes to be more preferred pairwise than any other candidate. Pairwise majority preferences can also be cyclic.

Many different election systems have been proposed over the years, some of them nontrivial to compute. This function implements over 20 different election methods.

Example (vector result implies a tie):

[winner,method]=election([1,2,3; 1,2,3; 2,3,1; 3,2,1],'all');
fmt = '%-20s%s\n';
fprintf(1,fmt,'Method:','Winner(s):');
for i=1:numel(winner)
fprintf(1,fmt,method{i},mat2str(winner{i}));
end;

Method: Winner(s):
dictator 1
hat 1
FPP 1
runoff [1 2 3]
exhaustive 1
pref 1
contingent [1 2 3]
Coombs 2
Borda 2
Nanson [1 2]
Baldwin [1 2]
Bucklin 2
Smith [1 2 3]
Schwartz [1 2]
Landau [1 2 3]
Copeland 2
minimaxwinvote [1 2]
minimaxmargin [1 2]
minimaxvote [1 2]
Kemeny-Young [1 2]
rankedpairs [1 2]
Schulze [1 2]

For more information, see the help file or the article at http://www.math4realworld.com.

Cita come

Ben Petschel (2024). election (https://www.mathworks.com/matlabcentral/fileexchange/28521-election), MATLAB Central File Exchange. Recuperato .

Compatibilità della release di MATLAB
Creato con R2010a
Compatibile con qualsiasi release
Compatibilità della piattaforma
Windows macOS Linux
Categorie
Scopri di più su Graph and Network Algorithms in Help Center e MATLAB Answers

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!
Versione Pubblicato Note della release
1.0.0.0