Navigation

    Voting Theory Forum

    • Register
    • Login
    • Search
    • Recent
    • Categories
    • Tags
    • Popular
    • Users
    • Groups
    1. Home
    2. culi
    • Profile
    • Following 0
    • Followers 1
    • Topics 3
    • Posts 25
    • Best 4
    • Groups 0

    culi

    @culi

    4
    Reputation
    10
    Profile views
    25
    Posts
    1
    Followers
    0
    Following
    Joined Last Online
    Website votevote.page

    culi Unfollow Follow

    Best posts made by culi

    • RE: STAR-like method ("reverse STAR"?)

      @rob Very late to this conversation but what you're describing is exactly the Dasgupta-Maskin method[1] which is just Copeland with a Borda tie breaker. This method has actually been used in figure skating competitions under the name of "one by one"[2]

      There are different version of Copeland depending on how you wanna score wins, ties, and losses. Most commonly used is probably the 1/½/0 (1 point for wins, 0.5 points for ties, 0 for losses) method but Lull proposed a 1/1/0 method and 3/1/0 is commonly used in sports. But it seems like you're just using a 1/0/0 Copeland here

      This system can also be compared to Black's which is essentially just Condorcet with Borda tiebreaker

      [1] https://scholar.harvard.edu/files/maskin/files/voting.pdf
      [2] https://sci-hub.se/10.1287/opre.2014.1269

      posted in Single-winner
      culi
      culi
    • RE: Kemeny Young example problems

      For Condorcet, I would have thought Ranked Pairs and Schulze would be included. Maybe River too.

      They are planned. Condorcet algorithms are complicated to implement. This is the second iteration of this project. The first one had some more, but the main goal with this is to cache parts of results for easy re-use. E.g. we shouldn't have to calculate the borda results 3 times for Borda, Black, and STAR. Same principle for pairwise matrices, etc. Instead if we cache that result we can reuse some of the calculations. So it'll take some time to implement a lot of the more complex Condorcet algorithms efficiently. The code repository has a more thorough run-down of the planned additional algorithms. It's open source so feel free to contribute or open an issue

      But anyways, that's not really the point of my post. I'm just asking if someone knows of resources where I can find more test case examples instead of having to work them out by hand. Got any?

      posted in Simulations
      culi
      culi
    • RE: votevote.page is live

      @keith-edmonds Sorry, but I don't really understand this criticism. The initial voting system blocks were Plurality (fptp the default) and Runoff (IRV the default). IMO these are the two most popular voting systems. I'm not sure if you've read the "explanation" texts, but I feel like there's a very clear and natural progression for all of them. I introduced the 2 most popular methods and then slight variations on them. Yes "coombs" is much less known than "approval" but if someone has already put in the effort to understand IRV, it's really easy to say "coombs is the same thing but instead you drop the most hated candidate each round" than to introduce an entirely new voting system. After FPTP and IRV, I wrote contingency (along with some of its variations) which I'd also say is extremely popular given that the primary/general system is widely used and its an abstraction of that so it's easy to explain.

      The whole pattern here is:

      1. introduce some popular voting system
      2. show them some ways you can modify it and see how that'd change the outcome
      3. introduce another voting system (and maybe explain what it does that the previous block didn't)

      But anyways, if you MUST know why I really wrote them in the way that I did, it's actually because I've done this project twice. The first time (what I call the prototype) I did it pretty much exactly as you were saying where I started off writing only the most well known voting methods first. It eventually got to the point of 26 voting methods. One major thing I realized is that if I cached the results of other methods, I could make some massive efficiency gains. E.g. no need to calculate the Borda score twice for STAR and Borda when I could reuse the results of the calculation

      So the central realization behind this new project is that I could make a really efficient "SuperSystem" that entangles all of these methods at once and calculates all of these results in one go and avoids repeat calculations as much as possible. Organizing the methods into "blocks" makes sense not just as an educational toy, but for the sake of developing this SuperSystem in a way that similar blocks of logic are grouped together.

      Anyways, other than STAR, I feel like the latest update includes all the "canonical" popular voting methods so I hope your concerns are alleviated. I'd definitely like to implement STAR and some more Condorcet methods soon though

      posted in Tech development
      culi
      culi
    • RE: votevote.page is live

      @rob said in votevote.page is live:

      To be clear, I wasn't suggesting limiting to basic colors like that because that defeats the whole purpose. My suggestion would be pick the colors purely visually from a palette (a small 8x8 palette for 64 colors would be perfect), or using a color picker.

      Oh gotchu. Yeah not a bad idea

      Expecting people to set up a custom dataset is fine, if it's that kind of app.

      Oh no, that's not actually what I meant. What I envision is that the default is to use the current color data. But there's a drop down to use other stuff.

      For example, in Wikipedia there's a common example given of cities in Tennessee trying to elect a new capital. Each city's preferences are based on their X,Y coordinates and distance from each other. I could totally add this as a dataset as well (with even more cities probably)

      And then at that point I think the logical next step is to make one of the drop down options "custom" where the user can enter arbitrary data. This might also actually make this toy somewhat useful. Like if someone already has votes from a scored election and is wondering how the outcome would've differed under a different scoring method, they can enter that data here simulate it all

      But the default would still be color-based unless the user specifically decides they wanna go with something else.

      posted in Tech development
      culi
      culi

    Latest posts made by culi

    • RE: Opportunity to either significantly improve this forum, or just let it go peacefully into the night

      Inconsistent user here. So is this forum dead, orrr...?

      posted in Meta Discussion
      culi
      culi
    • RE: Kemeny Young example problems

      For Condorcet, I would have thought Ranked Pairs and Schulze would be included. Maybe River too.

      They are planned. Condorcet algorithms are complicated to implement. This is the second iteration of this project. The first one had some more, but the main goal with this is to cache parts of results for easy re-use. E.g. we shouldn't have to calculate the borda results 3 times for Borda, Black, and STAR. Same principle for pairwise matrices, etc. Instead if we cache that result we can reuse some of the calculations. So it'll take some time to implement a lot of the more complex Condorcet algorithms efficiently. The code repository has a more thorough run-down of the planned additional algorithms. It's open source so feel free to contribute or open an issue

      But anyways, that's not really the point of my post. I'm just asking if someone knows of resources where I can find more test case examples instead of having to work them out by hand. Got any?

      posted in Simulations
      culi
      culi
    • RE: Kemeny Young example problems

      @jack-waugh Yes I have already turned that Tennessee into a test across multiple algorithms. I was looking for more examples. Perhaps a chapter in a textbook with exercises

      In short, each voter voter's preference for each candidate is based on their distance in the RGB color space. Under the hood, each voter assigns each candidate a score from 0 to 100%.

      We use these scores to derive all possible ballot types. Ordinal is easy to derive; for approval we say anything above 50%; for FPTP we take the highest scoring candidate, etc.

      This is the first I heard of Kemeny-Young. It sounds impractical to tally without computers.

      There are various ways to optimize the algorithm. And many shortcuts you can take. In practice you wouldn't actually have to fully calculate every single path's score.

      posted in Simulations
      culi
      culi
    • RE: Kemeny Young example problems

      All 27 methods btw are:

      • plurality: fptp, veto, signed, vfa
      • contingent: contingency, supplementary, sri_lanka
      • runoff: irv, coombs, fab_irv
      • positional: borda, nauru, eurovision, dabagh, binary_positional
      • evaluative: approval, disapproval, cav, score, range
      • condorcet: copeland, lull, kemeny_young
      • budgetary: cumulative, fractional, quadratic, equal_even

      lemme know if you want me to explain any of these in more detail, but there's a short explanation for each on the website I linked.

      posted in Simulations
      culi
      culi
    • Kemeny Young example problems

      Hello, I am working on a project called VoteVote which attempts to simulate a single election across (now 27) different methods all at once. I am implementing Kemeny Young currently and have been having a lot of trouble finding example problems for writing tests to ensure my implementation is sound. I've looked at numerous published papers and only found one example so far. Of course I could do it by hand, but that is error prone and not a good way to write a lot of tests.

      Does anyone have a good resource (or even their own personal examples) they can share? I'm particularly interested in Kemeny Young currently, but examples from any of the other 26 methods are also welcome

      posted in Simulations
      culi
      culi
    • RE: votevote.page is live

      @jack-waugh At the bottom of all my projects is a "Steal This" button that takes you to the source code. It's up on GitHub:

      https://github.com/tif-calin/votevote/

      Though I must warn you I haven't yet cleaned it up to make it easy to contribute to (planning on it when I get some free time).

      All the logic happens inside this SuperElection class. The main motivation behind this is making a lot of use of cacheing to optimize these calculations. I.e. why calculate the borda score twice for Borda and for STAR when you can just calculate it once and reuse it.

      So it's quite tangled up right now and not as documented as it should be

      posted in Tech development
      culi
      culi
    • RE: A Municipality in Latvia Provides Equal Votes

      Not sure about the specific implementation, but at least mathematically it's also equivalent to combined approval voting (i.e. -1, 0, 1).

      posted in Current Events
      culi
      culi
    • RE: votevote.page is live

      @rob said in votevote.page is live:

      To be clear, I wasn't suggesting limiting to basic colors like that because that defeats the whole purpose. My suggestion would be pick the colors purely visually from a palette (a small 8x8 palette for 64 colors would be perfect), or using a color picker.

      Oh gotchu. Yeah not a bad idea

      Expecting people to set up a custom dataset is fine, if it's that kind of app.

      Oh no, that's not actually what I meant. What I envision is that the default is to use the current color data. But there's a drop down to use other stuff.

      For example, in Wikipedia there's a common example given of cities in Tennessee trying to elect a new capital. Each city's preferences are based on their X,Y coordinates and distance from each other. I could totally add this as a dataset as well (with even more cities probably)

      And then at that point I think the logical next step is to make one of the drop down options "custom" where the user can enter arbitrary data. This might also actually make this toy somewhat useful. Like if someone already has votes from a scored election and is wondering how the outcome would've differed under a different scoring method, they can enter that data here simulate it all

      But the default would still be color-based unless the user specifically decides they wanna go with something else.

      posted in Tech development
      culi
      culi
    • RE: votevote.page is live

      @rob Fair, but I still don't see why it's an issue. You can remove/add whatever candidates and/or voters you'd like. If you want to limit yourself to red/green/blue/other basic colors you totally can!

      Anyways all these concerns should be resolved once I have it set up so anyone can add their own custom dataset 🙂

      posted in Tech development
      culi
      culi
    • RE: votevote.page is live

      @rob The color names are based on XKCD's average from their survey of thousands of people. I'd say the results are, by design, much closer to how people map color names to colors than what some paint company decides

      posted in Tech development
      culi
      culi