endolith / elsim

Election Simulator 3000: Simulates a variety of elections and voting methods

Home Page:https://endolith.github.io/elsim

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Create a nice API

endolith opened this issue · comments

My plan is to create a bunch of example scripts reproducing papers in computational social choice theory, and then after getting a bunch of features implemented, figure out the best way to package them all up in a nice API. I have no clue what it would look like, though.

  • Should be able to specify a number of voters, or a set/list of numbers of voters
  • Should be able to specify a number of candidates, or a set/list of numbers of candidates
  • Should be able to specify a single voting system or a set of them
  • Should be able to support strategies
  • Should it always calculate the Cartesian product of the above sets? No, because of examples like https://github.com/endolith/elsim/blob/master/examples/merrill_1984_table_2.py
    • But it should be easy to specify that you want the Cartesian product of the input sets...
  • Parallelization should be automatic, but user should be able to override the backend to turn it off, compute it on a cluster, or whatever
  • etc.