mggg / VoteKit

A Swiss Army Knife for computational social choice research
https://votekit.readthedocs.io/en/latest/
MIT License
10 stars 12 forks source link

Ballot Generator Tutorials #103

Closed cdonnay closed 9 months ago

cdonnay commented 10 months ago

Add a tutorial notebook for the ballot generator models, with the exception of Alternating Crossover and Cambridge Sampler. In creating the tutorial, I found that the PL and BT models could not handle the case when a candidate had 0 support from a bloc. I added code to handle this case. I also fixed how PreferenceProfiles are printed so that you can see ties.

cdonnay commented 10 months ago

@jamesturk @drdeford @jgibson517 @jennjwang @ziglaser

cdonnay commented 10 months ago

The PL and BT models do not always generate the exact number of ballots specified by the user due to rounding errors. To correct this, I implement Huntington Hill apportionment, which uses the apportionment package. I added that package to the pyproject.yml file

cdonnay commented 9 months ago

Alright, addressed those comments and pulled in the updates @jgibson517 . Thanks!