News for hackers. Stuff that matters.
Re:Terrorist watchlist exposed via misconfigured Elasticsear... by dane-pgp on Thursday August 19, 2021 @07:38AM (#28232610)
> most European systems are working under a parliamentary system which causes this proportionate representation.

Could you clarify what you mean here? There is nothing about a parliamentary system which inherently requires or leads to proportional representation, as the UK system shows. Similarly it would be possible in the US congressional system to have proportional representation by having multi-member districts (as was allowed[0] before 1967) and using a system like STV, also called multi-winner ranked-choice voting.[1]

> cardinal systems are resistant to both strong and weak spoilers.

While I support any serious alternative to FPTP, it's worth being aware of the deficiencies of Approval voting. Firstly, it can confront voters with difficult questions about whether they support a certain candidate enough to approve of them. For example, a Democrat voter might hedge their bets by voting for a moderate Republican to prevent a more extreme Republican winning, while hoping that enough Republicans approve of a moderate Democrat.

Secondly, though, I think that an important goal for a voting systems is that it doesn't increase (and ideally decreases) the dependence on voting machines. As recent events have shown, every additional element to a voting system is just expanding the attack surface for people to target FUD at, and a voting machine is a complex system which is very hard for the average voter to reason about (even if the purported hardware designs and source code were publicly available).

While it is still feasible to count Approval ballots by hand, and the process can be split between districts to produce sub-totals which can be summed, the fact that a given ballot can have multiple marks on it does increase the complexity for human counters, which makes the counting slower and more expensive. In particular, if there are N candidates in an election, then a FPTP ballot can be placed onto one of N piles, whereas 2^N piles are needed to group all possible Approval votes physically together.

I don't know how much that complexity would actually slow down the counting, but in a world where election workers are being threatened with violence for doing their job, even an extra hour of counting is hard to justify. Fortunately, though, there is a voting system which satisfies the above criteria, namely Asset Voting.[2] In its single-winner variant, the election proceeds just like a FPTP one, with the same ballot papers, instructions, and counting process, but after the count is complete, the candidates from fewest to most votes get to reassign their share to a remaining candidate, until one candidate has a majority. This removes the spoiler problem, and relies on the fact that voters are choosing someone to represent them and who can therefore be entrusted with the job of assigning their votes to the ultimate winner if necessary.

[0] https://www.amacad.org/ourcommonpurpose/recommendation-1-3

[1] https://en.wikipedia.org/wiki/Single_transferable_vote

[2] https://en.wikipedia.org/wiki/Proportional_representation#As...

Re:Terrorist watchlist exposed via misconfigured Elasticsear... by godelski on Thursday August 19, 2021 @01:20PM (#28236617)
> it's worth being aware of the deficiencies of Approval voting. Firstly, it can confront voters with difficult questions about whether they support a certain candidate enough to approve of them.

I'm sorry, but I find this concern a bit in bad taste. This type of strategic voting exists in every voting system. In ordinal systems (such as IRV, STV, etc) you artificially rank candidates higher than what your actual preference is. The same thing about the second concern (you add the Republican to your ranking). It's a pretty universal strategy in voting so I'm not sure why this is a problem specific to Approval, and thus why it it is being brought up. This can easily be mitigated by using score voting. In addition, I would like to point out that the benefit of STAR is that is is extremely resistant to strategies. AFAIK it is the most resistant voting system.

> As recent events have shown, every additional element to a voting system is just expanding the attack surface for people to target FUD at, and a voting machine is a complex system which is very hard for the average voter to reason about (even if the purported hardware designs and source code were publicly available).

I'm confused by this comment. I see Arizona as the prime example of why we would NOT want an ordinal system. Ordinal systems like STV and IRV have multi rounds. Let's look at the two algorithms (at an abstract level. This will be fine for STV/IRV/Approval/Score)

Ordinal:

Count tallies of all ranked candidates. If top candidate >50% declare winner else remove argmin from list and goto top.

Cardinal:

Sum scores of all rated candidates. Declare argmax as winner.

I don't know about you, but summing columns and taking argmax seems way easier to me than the multi-round system. We've seen that in many ranked elections that you have many many rounds. The NYC Mayoral race had 8 rounds FWIW. Approval is one round (like FPTP) and STAR is at most 2 rounds (it is always 2 rounds in fact). I do not know how anyone can argue that the counting of cardinal systems are more complex. You note that even an extra hour is difficult and I'll note that IRV takes days to count, as seen in NYC and others.

I should highlight, again, that the US has had STV in the past and then many of those cities went back to FPTP because it was complicated and didn't solve the issues they wanted to.

> In its single-winner variant, the election proceeds just like a FPTP one, with the same ballot papers, instructions, and counting process, but after the count is complete, the candidates from fewest to most votes get to reassign their share to a remaining candidate, until one candidate has a majority. This removes the spoiler problem

I'm not sure why you felt it was important to explain this to me when I've already demonstrated a working knowledge and at this point I also feel that you ignored a good portion of my previous post that was about strong and weak spoilers. Where I talked about how ordinal systems prevent weak spoilers but not strong spoilers. Maybe a source would help?[0] Weak spoilers aren't a concern. Strong spoilers, aka a favorite betrayer, are. Solving weak spoilers allow third parties to exist, but it doesn't allow them to win.

As for Asset voting I'm extremely against this. That's just making collusion rings easier. Again, let's look at the 2016 and 2020 elections. That's just letting the parties dictate who can run in the elections. This is a major problem in our system.

[0] https://electionscience.org/library/the-spoiler-effect/

Re:Terrorist watchlist exposed via misconfigured Elasticsear... by dane-pgp on Thursday August 19, 2021 @02:54PM (#28237775)
> I'm sorry, but I find this concern a bit in bad taste.

And I'm sorry that you feel this way, as I was not trying to insult Approval Voting (which, as I indicated, I would strongly support over FPTP) nor trying to detract from the positive contribution you have made to this discussion.

> The same thing about the second concern (you add the Republican to your ranking).

I think that, at least conceptually, it is easier for a voter to say "I support Hillary more than Romney" or even to give those candidates different scores out of 10, than to say "My 'approval threshold' is calibrated such that Romney is below it and Hillary is above it".

You're probably right that in (some?) ordinal systems there are counter-intuitive outcomes that can result from ranking a less preferred candidate too highly, or even from ranking them at all (if the system doesn't require an exhaustive ranking of all candidates), but the question being asked of the voter at least doesn't require them to pick a parameter for which there doesn't appear to be a "correct" value even assuming they have perfectly formed opinions of each candidate.

> the benefit of STAR is that is is extremely resistant to strategies.

I would have difficulty predicting what would happen if I under/over-voted a candidate I grudgingly accepted, so my instinct would be to vote honestly (which is probably the best outcome of a voting system given the impossibility of a strategy-free system), but my objection to STAR is that it is harder to fill in and count by hand (requiring 2^6N piles, or the use of N calculators).

> Ordinal systems like STV and IRV have multi rounds.

Agreed. From that perspective, Approval Voting is clearly preferable.

> I should highlight, again, that the US has had STV in the past and then many of those cities went back to FPTP because it was complicated and didn't solve the issues they wanted to.

I know of examples of IRV being abandoned, which I assume is what you're referring to here. (Voting system terminology probably differs around the world, but I tend to think of STV as being a multi-winner system and IRV being single-winner).

For me, the most important property of a voting system is for it to have a strong chance of being adopted, which is the only reason I support more US jurisdiction adopting IRV, but you're right that there is a potential "well-poisoning" effect where a reform gets adopted and then quickly abandoned, harming future reform efforts. This risk has to be balanced, though, against that of a less popular reform being proposed and failing to be adopted, which is likely to be portrayed as a lack of support for any reform, and that could be just as harmful.

> I'm not sure why you felt it was important to explain this to me when I've already demonstrated a working knowledge and at this point I also feel that you ignored a good portion of my previous post that was about strong and weak spoilers.

I'm again really sorry that you seem to have taken this so personally, as I do respect your position. What I was explaining was how Asset Voting works, since I suspect most readers of this discussion would not have heard of it and I didn't know that you were familiar with it. The reason I didn't include anything in my reply about strong and weak spoilers is that I agreed with you and didn't have anything to add. You, on the other hand, completely skipped over the direct question at the start of my comment, asking you to clarify your point on parliamentary systems, but it seems that wasn't important to you.

> That's just making collusion rings easier. Again, let's look at the 2016 and 2020 elections. That's just letting the parties dictate who can run in the elections.

Asset Voting doesn't require the existence of parties at all, and I'm not sure how you think a collusion ring would work, or how the 2016 and 2020 US elections are relevant to Asset Voting. There would be no harm in voting for Kasich in the Republican primaries because he would have been able to assign his votes to Cruz, for example, if he had come third.

Re:Terrorist watchlist exposed via misconfigured Elasticsear... by godelski on Thursday August 19, 2021 @04:52PM (#28239220)
> but my objection to STAR is that it is harder to fill in and count by hand (requiring 2^6N piles, or the use of N calculators).

I honestly encourage you to attempt it. Create a fake election and test ballot counting with IRV, Approval, Score, and STAR. The last 3 you can actually use the same ballots so you only need two sets, one ranked and one rated (approval would be scores above a threshold).

I am absolutely certain if you do this exercise you will see that the cardinal systems are far easier. Remember, you are doing many of the same operations in both ordinal and cardinal, but in ordinal systems you have a longer outer loop. In cardinal systems you don't have that outer loop (i.e. dropping candidates). The issue is that you're not considering this into your complexity calculations.

Let's look at the algo again, but in a bit more detail.

While > 2 candidates: # This loop cannot be parallelized

- For each ballot: # This can be parallelized by prefix sum

--preference = argmin(ballot) # The highest ranked. This is a lookup on all rows btw

--preference += 1

--update table of candidate score list

- pop argmin candidate score list

We'll probably make this computationally easier by first sorting each ballot's preference. This will reduce the complexity of argmin

Now Cardinal

For each ballot: # This can be parallelized by prefix sum

- for each candidate: # This loop is trivially parallelized (prefix sum again)

-- candidate score += ballot candidate score

argmax candidate score list # You're doing this on the final score (row), not per ballot.

The second is far easier to do by hand and far more easily done by computers. You're just summing columns. Anyone with an excel spreadsheet can do this. Anyone with the spreadsheet can easily read and verify this too. I would not argue that the same can be said for ordinal systems. Take a look at the NYC Mayoral race[0]. Now imagine if Rounds 2-8 didn't exist. Easier to read and compute, right? What's happening inside each round is pretty similar. The difference is if you're doing += 1 or += score. And with cardinal systems you don't have to sort or determine who the preference is before doing the increment.

I'm not sure where the confusion is here.

[0] https://vote.nyc/sites/default/files/pdf/election_results/20...

Re:Terrorist watchlist exposed via misconfigured Elasticsear... by dane-pgp on Friday August 20, 2021 @07:00AM (#28244715)
Thanks for the detailed analysis of the different systems. I think that the way you are viewing things differently to me is that you are considering the ballots as abstract entities in a data structure. For example you say "Anyone with an excel spreadsheet can do this", but my point is that people don't cast their votes in Excel, they cast them either on opaque voting machines (which you have to trust is running the firmware that your auditors approved), or ideally they are casting them on paper.

To give an example of an easy paper-based algorithm, for FPTP you can group each ballot based on the candidate marked and store those as separate piles, and then whichever candidate has the biggest pile wins. Alternatively the piles can be weighed (using a non-electronic set of balance scales if necessary). Also note that the ballot counters only need to decide on the presence/absence/location of a single mark on each ballot, and not decide, for example, whether two marks are "approvals" of two different candidates, or an approval and a crossing out of an approval. These are the sorts of factors which your Excel spreadsheet model overlooks.

I do completely agree with you, though, that IRV/STV in practice tends to be slower than both FPTP and ordinal systems, and its counting process can't be run in parallel, so I would only support it in the circumstance where it was the only reform being offered, and where I was confident that its failure modes wouldn't cause it to be quickly abandoned and used as an excuse to stick with FPTP over better alternatives. Where there is a choice of reform, I support Asset Voting because it retains all the simplicity benefits of FPTP while being resistant to the spoiler effect.