PrefLib is a reference library of preference data and links assembled by Nicholas Mattei, Toby Walsh and lately Simon Rey. This site and library is proudly supported by the Algorithmic Decision Theory group at Data61 and the The COMSOC Group at the University of Amsterdam.

We want to provide a comprehensive resource for the multiple research communities that deal with preferences, including computational social choice, recommender systems, data mining, machine learning, and combinatorial optimization, to name just a few.

For more information on PrefLib and some helpful tips on using it, please see Nick's Tutorial Slides and Code from EXPLORE 2014. Check out the data type page to learn more about the kind of data we provide.

Please see the about page for information about the site, contacting us, and our citation policy. We rely on the support of the community in order to grow the usefulness of this site. To contribute, please contact Nicholas Mattei at: nsmattei{at}gmail or Simon Rey at: s.j.rey{at}uva{dot}nl.

ED-00004-00000105.wmg from the Netflix Prize Data dataset

In Brief

We currently host:

  • 11 types of data
  • 39 datasets
  • 3669 data files
  • More than 3.37 Gb. of data

Other Links

Here are some links that you might find relevant as well.

  • DEMOCRATIX: A Declarative Approach to Winner Determination
  • Pnyx: An Easy to Use Aggregation Tool
  • Whale4: Which Alternative is Elected?
  • VoteLib: A Library of Voting Behavior
  • Pabulib: A Library of Participatory Budgeting Instances
  • CRISNER: A Qualitative Preference Reasoner
  • Spliddit: Quick and Easy Solutions to Fair Division Problems
  • RoboVote: AI Driven Decisions

To find more data check these websites.

These Papers are Using PrefLib

Below is a list of papers that have made use of or directly referenced data stored here at PrefLib. The papers have been automatically added from Google Scholar, if there is a problem with a paper or if you want to add one paper, please contact us.

Even more references, papers, and tutorials can be found in the proceedings of the EXPLORE Workshops:

Some Tools to Work with Preferences

Empirical experiments with real data are becoming a more fundamental part of work in computational social choice. In addition to a lightweight set of tools for working with data from PrefLib we also host documentation for several of these project. Please contact Nick if you have code that you would like to share with the community.

Iterative Voting Simulator

This is a voting simulator built for the paper A Local-Dominance Theory of Voting Equilibria. We are releasing its source code to be expanded and enhanced by the community. However, it is quite versatile in its current construction, and can be used for various simulations "as is".

Learn more.

Kidney Dataset Generator

Kidney failure is a life-threatening health issue that affects hundreds of thousands of people worldwide. In the US alone, the waitlist for a kidney transplant has over 100,000 patients. This list is growing: demand far outstrips supply.This codebase includes: structural elements of kidney exchange like "pools", "hospitals", and "pairs", a couple of kidney exchange graph generators, a couple of kidney exchange solvers (max weight, failure-aware, fairness-aware, individually rational), and a dynamic kidney exchange simulator.

Learn more.

CRISNER: A Qualitative Preference Reasoner for CP-nets, TCP-nets, CP-Theories

CRISNER stands for Conditional and Relative Importance Statement Network PrEference Reasoner. It can reason about ceteris paribus preference languages such as CP-nets, TCP-nets and CP-theories. Given a preference specification (a set of preference statements) in one of these languages, CRISNER succinctly encodes its induced preference graph (IPG) into a Kripke structure model in the language of the NuSMV model checker. This Kripke model is reachability-equivalent to the induced preference graph. CRISNER generates the model only once, and then translates each query posed against this preference specification into a temporal logic formula in computation-tree temporal logic (CTL) such that the formula is verified in the Kripke model if and only if the query holds true according to the ceteris paribus semantics of the preference language. The model checker either affirms the query or returns with a counterexample. For answering queries related to equivalence and subsumption checking of two sets of preferences, CRISNER constructs a combined IPG and uses temporal queries in CTL to identify whether every dominance that holds in one also holds in the other, and vice-versa.

Learn more.