pbvoting / pabutools

A complete set of tools to work with participatory budgeting elections.
https://pbvoting.github.io/pabutools/
GNU General Public License v3.0
7 stars 12 forks source link

Ideas for undergraduate student projects #21

Open erelsgl opened 5 months ago

erelsgl commented 5 months ago

Following this issue on abcvoting and Dominik's reply, I am looking for ideas for contributions that can be completed by students during a research programming course. Ideally, this would be a PB algorithm that appears in a paper but has not been implemented yet.

Simon-Rey commented 5 months ago

Hey Erel,

Thanks for reaching out, I can think of couple of things:

Theses are few ideas. If you need more I can think further, notably in terms of checking properties of the outcome (like priceability for instance).

Simon.

erelsgl commented 5 months ago

Great suggestions, thanks! The course ends in about 3 months, so if you end up implementing any of these before that, please tell me.

Is this the reference for the Maximin Support Rule?

Simon-Rey commented 5 months ago

Your link is the reference for multi-winner elections. For PB, I would use the survey: https://arxiv.org/pdf/2303.00621.pdf page 21. The actual reference is https://arxiv.org/abs/1911.00864 but they (mis)-named it Phragmèn (as noted in https://arxiv.org/abs/2302.03672).

DominikPeters commented 5 months ago

And worth being aware of this: https://arxiv.org/abs/2309.15104

erelsgl commented 4 months ago

Hi @Simon-Rey. You mention this article in the context of ordinal ballots, but as far as I see (in Section 5), they handle ordinal ballots by converting them to cardinal ballots lexicographically. Did I miss something?

Simon-Rey commented 4 months ago

No I think you're right. I didn't remember what they were doing exactly.

Still, I think that their notion of lexicolgraphic scores based on ranking ballots is not yet in the pabutools.

erelsgl commented 4 months ago

Do you plan to add algoritms for divisible budget allocation --- portioning or budget-proposal aggregation?

Simon-Rey commented 4 months ago

There are no plans in motion at the moment but that could definitely be added. It would require to think a bit about the structure of the package, but I'm definitely willing to do that.

DominikPeters commented 4 months ago

Would there be any useful code overlap if those were implemented? This seems more sensible as a separate package, or one could consider the pref_voting package which implements some probabilistic methods.

Simon-Rey commented 4 months ago

I guess it should be wherever users would first look for it. So maybe in that sense it could make sense to put it in the pabutools. But I also agree that the code overlap isn't so big: instances and profiles.