Table of Contents
Fetching ...

Fast Schulze Voting Using Quickselect

Arushi Arora, David Eppstein, Randy Le Huynh

TL;DR

The paper tackles the problem of efficiently determining the Schulze voting winner from a weighted majority graph by developing a randomized algorithm that runs in $O(m^2\log m)$ expected time. It adapts the classical quickselect paradigm to a top-heavy Schulze order, using maxmin-weight-path computations as pivot comparisons, backed by dense-graph single-source/destination maxmin-path subroutines running in $O(m^2)$ time. The main contributions are a simpler, faster winner-finding method and a scheme to enumerate all maximal Schulze elements in $O(k m^2\log m)$ expected time, along with a rigorous analysis of expected time and high-probability bounds. The work also clarifies barriers to further improvements, such as tiebreak handling and subgraph restrictions, highlighting both practical speedups and fundamental limits in this problem domain.

Abstract

The Schulze voting method aggregates voter preference data using maxmin-weight graph paths, achieving the Condorcet property that a candidate who would win every head-to-head contest will also win the overall election. Once the voter preferences among $m$ candidates have been arranged into an $m\times m$ matrix of pairwise election outcomes, a previous algorithm of Sornat, Vassilevska Williams and Xu (EC '21) determines the Schulze winner in randomized expected time $O(m^2\log^4 m)$. We improve this to randomized expected time $O(m^2\log m)$ using a modified version of quickselect.

Fast Schulze Voting Using Quickselect

TL;DR

The paper tackles the problem of efficiently determining the Schulze voting winner from a weighted majority graph by developing a randomized algorithm that runs in expected time. It adapts the classical quickselect paradigm to a top-heavy Schulze order, using maxmin-weight-path computations as pivot comparisons, backed by dense-graph single-source/destination maxmin-path subroutines running in time. The main contributions are a simpler, faster winner-finding method and a scheme to enumerate all maximal Schulze elements in expected time, along with a rigorous analysis of expected time and high-probability bounds. The work also clarifies barriers to further improvements, such as tiebreak handling and subgraph restrictions, highlighting both practical speedups and fundamental limits in this problem domain.

Abstract

The Schulze voting method aggregates voter preference data using maxmin-weight graph paths, achieving the Condorcet property that a candidate who would win every head-to-head contest will also win the overall election. Once the voter preferences among candidates have been arranged into an matrix of pairwise election outcomes, a previous algorithm of Sornat, Vassilevska Williams and Xu (EC '21) determines the Schulze winner in randomized expected time . We improve this to randomized expected time using a modified version of quickselect.

Paper Structure

This paper contains 15 sections, 11 theorems, 7 equations, 2 figures, 2 tables, 5 algorithms.

Key Result

Lemma 1

The Schulze order is a strict partial order.

Figures (2)

  • Figure 1: Weighted Majority Graph for Example 1
  • Figure 2: Weighted Majority Graph for Example 2

Theorems & Definitions (26)

  • Definition 1
  • Definition 2
  • Definition 3
  • Lemma 1: Schulze Sch-SCW-11, Section 4.1
  • Lemma 2: Schulze Sch-SCW-11, Section 4.2.1
  • Lemma 3
  • proof
  • Lemma 4
  • proof
  • Lemma 5
  • ...and 16 more