Online Voting Tool

Logo

Voting with Maximal Lotteries and many other voting rules

View My GitHub Profile

Welcome to the Online Voting Tool

The Online Voting Tool presented by the Computational Social Choice research group at Technical University of Munich (TUM) offers an easy-to-use tool to compute maximal lotteries and other voting rules. You can test it under voting.ml and learn more about social choice here.


Main Features

  • Pairwise Social Choice Functions: Borda, Nanson, Baldwin, Black, MaxiMin, Tideman, Copeland, Uncovered Set, Essetinal Set, and Bipartisan Set

  • Rank-Based Social Choice Functions: Plurality, Plurality with Runoff, Instant Runoff, Anti-Plurality, Bucklin, and Coombs

  • Social Decision Schemes: Maximal Lottery, Random Dictatorship, and Proportional Borda

  • Social Welfare Functions: Kemeny, Schulze, and Ranked Pairs

  • Random voting instances: Generation of random preference profiles with or without Condorcet winners, and of random majority matrices with bounded weights

  • Minimal profiles: Generation of preference profiles with minimal number of voters for a given majority matrix

  • Profile import and export via URL query string

  • Examination for (weak) Condorcet winner(s), Pareto-dominated alternatives, and components in the weighted majority graph

Maintenance

Theoretical Details

Majority Margins

The majority margin \(M_{x,y}\) between a pair of alternatives \(x\) and \(y\) is the the number of voters in \(N\) who strictly prefer \(x\) to \(y\) minus the number of voters who strictly prefer \(y\) to \(x\):

\[ M_{x,y} = \vert\{i \in N: x \succ_i y\}\vert - \vert\{i \in N: y \succ_i x\}\vert. \]

The majority margins between all pairs of alternatives for a given preference profile \(R\) are represented by a skew-symmetric matrix \(M^R\) whose rows and columns are indexed by alternatives. Voting rules which only depend on \(M^R\) are called pairwise or, following a proposal by Fishburn, C2 rules.

You can directly manipulate the majorty margin matrix \(M^R\) by clicking on Edit or any entry in the matrix. After you Save the matrix again, a corresponding preference profile is computed. For easy instances, Integer Linear Programming is used and returns a preference profile with a minimal number of voters. A green notification indicates the minimality. Otherwise, a heuristics computes a good approximation with few voters.

Maximal Lotteries

Maximal lottery schemes return an optimal mixed strategy of the symmetric zero-sum game induced by the (\(\tau\)-scaled) majority margins. Formally, the set of maximal lotteries in the preference profile \(R\) with respect to \(\tau\) among the set of all lotteries \(\Delta(A)\) over the alternatives \(A\) is as follows: \[ \mathit{ML}^{\tau} (R) = \{p\in\Delta(A)\colon\ p^t{\tau(M^R)}\ge 0\}, \] where \( {\tau}\colon\mathbb Z\rightarrow \mathbb R \), \({\tau(1)} = 1 \) is odd and monotone.

The default option for \(\tau\) is the identity function. However, you can choose another \(\tau\) in the form of \(\tau(x)=x^k\) by modifying the majority margin exponent \(k\) in the settings.

Further references: