Voting System Development Project: String Voting

Hi everyone! A while ago I decided to try to develop my own voting system as a personal project, and I’m wondering what any of you think of it if you’re interested in looking it over and have the time, just for curiosity’s sake. I explain the system and some of my own thoughts about voting in this PDF:

https://documentcloud.adobe.com/link/review?uri=urn:aaid:scds:US:98363db2-4792-44c0-a12d-606cdb7d39e5

If you’re curious and have questions about how it works I can also clarify. It’s mostly theoretical I suppose, but I’m just hoping it might spark some new ideas and/or that somebody will poke a big hole in it. Thanks!

I’m having trouble wrapping my head around the reasoning for it.

To me, a ballot is at its best when it allows a voter to express their preferences regarding the candidates in a way that feels natural and straightforward, and that doesn’t require them to, essentially, “play a voting game.”

This is one reason I have big reservations about Approval, which only will feel straightforward for people who are a) black and white thinkers and b) think in terms of “absolute utility.” Otherwise, for people like me (who are the opposite of that) it is a less-than-straightforward game to convert my preferences – and my predictions at how others might vote – into a ballot that best carries out my wishes. Approval may get good results in the end, but it fails in the sense of seeming intuitive and straightforward… at least to everything-is-relative-and-in-shades-of-gray thinkers like me.

Your system seems like a strategic game, but a complex one where the strategy is obscure. I would like a simple explanation of “how you should vote” using this system that a 6 year old can understand.

If I misinterpreted it… well that’s probably because my eyes glaze over at a big wall of text. I need some diagrams or something. But after a first pass, sorry, I don’t get it.

That’s totally fair, it’s a lot of text for sure lol. The process is actually easy to explain on a piece of paper, but in text without drawings it’s more difficult, for example maybe the explicit algorithm is hard to follow, I’m not sure if it was clear to you how it works. Basically my goal was to make strategy difficult, to give voters clear incentives to indicate their “honest” preferences, and to minimize vote-splitting simultaneously. It is a “voting game,” but the way I imagine people voting is basically, if a voter would rank A>B>C>D, say, and N=10, then they have strong incentive to indicate a string something like AAAAAABBBC. A voter who wants to invest more in B might indicate something like AAABAABBBC, or AAABAAABBC.

The idea was that a voter would indicate their marginal utility for votes in each candidate with their string. For example, if a voter indicates AAABAAABBC, they are basically saying that if they had to lose one vote, they would get rid of their vote for C. And if they had to lose three votes, they would get rid of one vote for C and two for B. Obviously with strategies it becomes more complicated than that, but strategies are only very clear for 3 or fewer candidates.

The way that works is that when candidates are eliminated, strings are shortened, and only the number of characters in the shortest nonempty string are counted from each string for the next round.

It’s hard for me to explain how one ought to vote using this system to a 6 year old, but that’s basically the purpose I was intending. There are general guidelines that make sense, but the particulars are hazy. A voter knows that putting one more B improves the chances that B wins the election, but by how much? It kind of comes down to what feels right.

It’s similar to distributed voting, but it also introduces an element of ordinal preference.

Yeah, see I don’t understand why someone would mix up the A’s and B’s like that. What does that actually mean? Do I gain an advantage by doing that rather than putting all my A’s at the beginning?

Well range/score ballots, assuming high enough granularity, provides ordinal preference too.

But this is something different. You are putting A before B, and then B before A. For reasons I don’t understand.

I’m afraid nothing would for me. I just don’t get how to use it, whether or not I am trying to be strategic or purely honest.

2 Likes

Imagine it like this. You are given some unknown, finite number of discrete voting credits. You can distribute them one at a time to a single candidate. In what order would you distribute your votes?

That’s the model I would like to use, but it doesn’t seem feasible. So I tried to construct something that seemed more reasonable.

Basically, no matter how few votes from the left are read from your string, you want the string to serve your interests. Putting something like AAABAAABBC means that, in the event that some other voter indicates something like DDDDDDCCCC, and D gets eliminated, and then their string CCCC is the shortest nonempty string, you will still have the first four characters of your string, of the shape AAAB, counted toward the next tally.

Ok. I guess I have to understand the algorithm to know what is likely to be eliminated? While trying to do mass mind reading?

Yeah, sorry. I like being able to simply express my preferences, and have the tabulation do the thinking and strategizing for me. This just feels like a game, and a very frustrating one.

Not trying to shoot you down or anything, but I think I should just let others comment and see if it strikes anyone differently.

That’s fair man, I appreciate your comments and the fact that you took a look at all!

The difficulty in strategizing is a part of the purpose of the system, but I can understand why that might be frustrating. The goal is to make people give up and go with what they think might be reasonable enough. I get what you’re saying though 100%. I guess it kind of brings to the forefront the arbitrary nature of ballot format.

1 Like

It’s a good representation of interests in contexts such as online sites.
Ex. You tube can outline the interests of a user by observing the sequence in which they view the videos. The length covered by A would be the watch time (rather than the view itself).
In this context the sequence would be very honest overall and would give a good representation of interests (better than range or rank).

In my opinion, however, this representation of interests is too complicated for a voter, to the point of being unusable. This complexity makes me immediately discard this method (without evaluating other aspects).

1 Like

That’s also fair. I’m not sure how complicated it actually is though. The space of possible sequences is very large, but the space of sequences that are reasonable for somebody with a certain preference profile is fairly small.

For example, the string ABBBBBAABC doesn’t really make any sense. If the voter prefers B to A, they should have put B as the first character in their string, because it’s possible for only their first character to count in one of the rounds, and they definitely would not want to support A over B. Also, ABBBAAAAAA doesn’t make any sense, because the first four characters grossly misrepresent the remainder of the string. Again, they wouldn’t want to support B over A. Maybe a guy with dissociative identity disorder would do something like that. I can’t see any strategic advantage to doing it, and there are obvious disadvantages. They would basically be contributing to their own vote splitting.

Basically, more preferred candidates should tend to clump leftward and be more abundant, and less preferred candidates should clump rightward and be less abundant. The least preferred candidate should never appear in the string. Overall, any truncation of the string should be a decent representation of any longer truncation. I explain that in the PDF, but it is kind of wordy so I can absolutely understand if you preferred not to read it lol.

Maybe if consecutive characters could be represented with a number the ballot would be less annoying to fill out, like

AAAAABAAC=A[5]BAAC

But in any case, based on simulations I’ve done (not very extensive) it is essentially impossible for a single voter to gain undue influence over the election by strategizing. Even if coalitions form, the coalitions are only stable if they are in alignment with the individual interests of the voters who are a part of it. Voters have strong incentives to defect from a coalition that would push them to support a less preferred candidate over a more preferred candidate. If they think a secondary candidate has sufficient support elsewhere, they have more incentive to invest support in their top choice—essentially they have nothing to lose and a lot to gain. Coalition formation is basically a prisoner’s dilemma. That means voters will tend to be selfish and construct strings that are intended to serve their own primary, local/greedy interests, which in terms of voting is a good thing.

AAAAABAAC = A [5] BAAC

This is just a small improvement that doesn’t undo the big complexity problems like:

  • each candidate must be associated with a symbol (letter) to be used in the string, and this can generate errors.
  • the string must have a suitable length. If there are 6 or more candidates, 10 letters alone are not enough (complexity increases).
  • a voter could get the number of letters wrong (like 9 or 11).
  • since it is partly a rank method, there is also the problem of how unclassified candidates are treated; all in last position as equals? and if one candidate is appreciated on par with another, how can this be indicated in the vote?

These problems, in themselves, don’t concern voting strategies.

1 Like

Thank you again.

If one candidate is appreciated on par with another, then it doesn’t matter how they order them. If they want to be strategic, they should choose the one they think has a better chance of winning and support them. If they aren’t sure what candidates have the best chance of winning, they should distribute their characters as evenly as possible.

Also why aren’t 10 letters enough for 6 candidates? Enough for what exactly? It only forces voters to hone their priorities, but other voting systems do the same thing. Every voter is given the same playing field, and I think it’s unlikely for voters to have strong preferences about every possible pair of candidates. With 6 candidates there are 15 pairs to consider, and probably very few people would support more than half of the candidates anyway. Also candidates that are absent from a string are not counted.

But you’re right, if you wanted to make the system always allow voters to indicate every possible preference by virtue of the total number of characters allocated to each candidate in their string alone, you would need C(C-1)/2 characters for an election with C candidates. But probably you wouldn’t need as many, if you took into account ordinal positions.

And just to clarify I’m not championing this system here, just trying to provide counter-arguments. I think it’s interesting.

To me it is complicated because “expressing preferences” is not what the voter is doing, they are intermixing some kind of expressing preferences, and some kind of trying to be strategic.

I think “rank the candidates between 0 and 100” (or any max, higher allows more accuracy at the expense of ballot complexity) is sufficient for fully expressing preferences. Especially if voters understand that they should give their least liked candidate a 0, and most liked candidate a 100. [1]

Whether or not the tabulation method incentives insincere voting is a different issue. Let’s pretend for a moment that the voters all feel assured that the best strategy is to vote sincerely.

Here’s a question: given your string method, could you take a set of score ballots, as described above, and algorithmically convert them into strategically optimal string ballots? (and, could you do it before looking at the preferences of other voters? Could you do it after looking at other voters’ preferences? Would it help to do it iteratively?)

If I had answers to these questions, I think I could better see what benefits this method may have.

  1. if they don’t, it is more ambiguous what their ballot actually means. This has been the topic of lengthy (and somewhat painful) discussions here. The best way to think about it is, in a hypothetical cardinal-ballot presidential election, you would expect many left-leaning voters to give Joe Biden a lower score in the primary (such as if they prefered Warren, Sanders, O’Rourke, Harris, Bloomberg, Buttigieg, Klobuchar, Yang and Booker to Biden) than they would give him in the general election against Trump. This is true even if they don’t actually change their opinion on Biden… they simply consider their vote relative to a different field of candidates.

Isn’t a voter always going to be strategizing to serve their honest preference? I think voters are expressing their preferences. In fact, given a string vote, you can pretty faithfully convert it into a ranked choice ballot.

For example, AAAAAABBABC is pretty clearly indicative of A>B>C>D. You can see it at a glance, and it functions that way in the system in that it does serve the interests of that preference profile—such a voter invested their most valuable slots in A, a few of their less valuable slots to B, and their single least valuable slot to C.

One of the interesting things I’ve noticed about this system (again, based on just preliminary analysis) is that it is fairly robust against strategizing. That is, it’s very unlikely for a voter to gain anything by indicating AAAAAABBBC rather than AAAAAAABBC, even when the electorate is very small. The winner of the election is almost always clear.

I don’t know if voting strategies would change much at all if voters were able to see the preferences of other voters after the election, it’s too much information to take in. That’s something to experiment with.

I don’t think it’s feasible to even consider what an optimally strategic ballot is without knowing the preferences of other voters, other than that a good ballot should follow some general strategic guidelines.

There are many voting systems that cannot be converted into score systems. Distributed voting is one, ranked choice can’t either. In the other direction it would be similar to compressing the score ballot into ranked choice.

But yeah, I personally don’t want voters trying to strategize. I think they should do whatever they think makes sense. For example, if I were to vote using the system, and I liked A>B>C>D, I would probably vote as something like AAAABAABBC. And eventually I wouldn’t care one way or another if it were changed a bit, and would just submit it. But as for what is strategic, you as the voter would have to decide. I don’t know the answer.

I think the point of good voting methods is to make it so attempting to strategize so makes it unlikely to give them any benefit at all. I know that I, as much as I have studied this stuff for ~20 years, would not bother trying to be strategic in an election that was using what I consider a “good” method. For instance one that allowed me to rate them 0-100, always chose the Condorcet winner if there was one, and if not, did a normalized-ballot Smith set score runoff. I cannot conceive of a way to strategize effectively in such a scenario… I would just express honest preferences, regardless of who I thought was likely to be a front runner.

That’s not to say that no one will try to strategize. I’m not even going to claim that they can’t gain a benefit by doing so. I just think the VAST majority of voters would either not bother, or gain no benefit by attempting to be strategic.

You say you don’t want voters to strategize, but your method seems – at least to me – to be having voters give information that is beyond simply their honest preferences. So I am wondering what that information means if it isn’t some form of “strategic hints.”

I’ve posted this before: https://pianop.ly/voting/median.html
This shows a hypothetical vote where there is exactly zero incentive to strategize. It’s not a vote for discrete candidates, but still, on a conceptual level it explains what I mean when I speak of voting methods that are perfectly immune to strategic voting, and therefore provide no benefit to knowing how others are likely to vote. This example is always in the back of my mind when discussing this stuff.

1 Like

I don’t think they are strategic hints. I think you can look at any two strings indicating the same ranked choice ordering and gather information on the relative strengths of the preferences for each pair of candidates.

For example,

Voter 1: AAAAAAABBC
Voter 2: AAAAABAABC

It seems as though Voter 2 shows a stronger preference for candidate B relative to the other candidates than Voter 1—i.e. if we assume both prefer A “with the same strength” (whatever that means) then A>B is slightly weaker for Voter 2. They are more willing to invest a more valuable slot in candidate B to improve the chances that B wins the election at the expense of A. All else equal, the second string gives B a better chance of winning than the first string, and gives A a lesser chance. The voter is forced to face that only one candidate will win in their ballot, since they are forced to allocate A to the right to make room for B. Essentially they have to balance their preferences.

The “strategizing” is more about security against risk. The voters don’t want their less preferred candidates eliminated out of turn so that they have an optimal fallback in case their first choice is eliminated. Basically, it’s like a slab of A doped with some B and a little bit of C.

My hope in making this system would be that it might generalize ranked choice just enough so that Arrow’s theorem doesn’t apply, but still maintain the spirit of ranking. Basically a “loose” ranking system.

I saw that about median voting and it’s cool and makes sense.

Well, I still don’t get it. I suspect you are conflating strategy and preference somehow, but when I say that I don’t mean it as a passive aggressive way of saying you are confused and therefore you must be incapable of holding a conversation with a seasoned expert. (haha, sorry couldn’t resist… )

Seriously, though, I just don’t see what this provides beyond rated ballots, if it isn’t strategic hints.

You may be chasing after a perpetual motion machine there. I mean, you can keep making it more complicated so it isn’t clear where Arrow’s theorem applies, but it’s still there, hiding in the shadows. (this is actually what Approval voting does as well, in my opinion)

The good news is that Arrow’s theorem is, in my opinion, overrated. The counter theorem to Arrow is “perfect is the enemy of good enough”. :slight_smile:

1 Like

It could be that there is some conflation. That’s a difficult philosophical issue. It’s hard to distinguish those two things, especially because absent time and effort constraints, a vote is always going to be strategically designed to serve the preferences of the voter. So I think you may be right about constraints and arbitrariness. And perhaps also about good-enoughness, and the shadows lol.

The concept about preference versus strategy reminds me of a little quip by Alan Watts about preferences. Basically he says (paraphrasing) that saying people will choose what they prefer is just a mixed up way of saying that people will choose what they choose.

Maybe I’ll make an illustration of how the system operates and some examples and election simulations, just because. I can’t help but feel like there is a way to compromise between range and rank without compartmentalizing them.

1 Like

I think the problem is that while it might be clear that that ballot is indicative of A>B>C>D, the preference order A>B>C>D doesn’t indicate that a voter should submit that particular ballot. I think it would be very confusing for a voter to know how to vote.

Also:

  1. Set n to be the length of the shortest remaining non-empty string.

Is this bit right? If my vote is ABBBBBBBBB, and B is eliminated in the first round, it then just becomes plurality based on what this one ballot did? It will always be possible for someone to force it into being a plurality election by putting a non-entity from second place onwards, and with enough voters, it might happen every time!

1 Like

You are partially correct, in that you are on the right track about how the algorithm works. It might happen that somebody does something like that, sure, although that particular kind of ballot is actually a horrible idea. I examine a more reasonable strategy that is similar in concept in the PDF under Preliminary Analysis. But first of all, it doesn’t actually become plurality unless there are only two candidates remaining anyway, since candidates are eliminated in turn, not chosen as winners. Second of all, by doing that sort of thing, their top choice candidate is not likely to win the whole election at all. In fact, based on their own ballot, their candidate is very likely to be eliminated in the first or second round.

Each round eliminates a candidate, and if all of a voter’s candidates are eliminated, their string is empty and no longer counts. So they are being exceedingly risky—splitting their own vote, engaging in a risky anti-plurality elimination, wagering on which candidate is likely to be eliminated early and even counterbalancing that prediction with their own ballot. Additionally, if it were a reasonable strategy, you would expect many people to do something like that, but the strategy requires having a rare ballot because otherwise the whole strategy destroys its own precondition of knowing which candidate is likely to be eliminated.

For example, let’s say there were 3 candidates, A, B, and C. Let’s just do a small electorate with like five people. Say the votes are like

ABBBBBBBBB
AAAAAAAAAB
CCCCCCCCCC
CCCCCCCCCB
BBBBBBBBBA

Well, now A is eliminated the first round. The counted characters in the next round then look like

B
B
C
C
B

then C is eliminated, and B wins, contrary to the preference of the first voter.

Now let’s say that voter is instead more reasonable, and votes like AAAAAAAAAB. Then we will find

AAAAAAAAAB
AAAAAAAAAB
CCCCCCCCCC
CCCCCCCCCB
BBBBBBBBBA

Now B is eliminated first, and then C, and A wins.

Do you see how that works? Let me make an example where B does get eliminated first:

ABBBBBBBBB
AAAAAAAAAA
CCCCCCCCCC
CCCCCCCCCB
AAAAAABBBB

Well now, when it comes to plurality, there are only two candidates anyway, and A is a reasonable winner for the election. But the first voter would have given A an even better chance of victory with a string like AAAAAAAABB or something. Instead he has basically contributed to his own vote-splitting and made it more likely for C to win over A. For example, the votes could have instead been like

ABBBBBBBBB
AAAAAAAAAA
CCCCCCCCCC
CCCCCCCCCB
CCCCCCBBBB

And A gets eliminated in the first round again. Another example to illustrate the more reasonable strategy:

AAAAAAAAAB
AAAAAAAAAA
CCCCCCCCCC
CCCCCCCCCB
CCCCCCBBBB

Now B is eliminated the first round instead of A. A still doesn’t win the election, but you can see that A was carried further. Making it to round 1 is a prerequisite to round 2, and round 2 is a prerequisite to victory.

You can try out your own little simulations with this, they aren’t too difficult to do by hand with small electorates.

Perhaps four candidates are necessary to illustrate why that strategy doesn’t work well. I’ll work on that a bit more when I’m somewhat less busy.

OK. Say we have A,B,C,D. Let the votes be like

ABBBBBBBBB
AAAAAAABBC
BBBBBCBCCA
DDDDDDDDDC
CCCCCCCAAB
CCCCCCAAAB

In this case, D is eliminated first, and we find

A
A
B
C
C
C

Now B is eliminated, and we find

A
A
C
C
C
C

And C wins. Now let the first voter be more reasonable:

AAAAAAAAAB
AAAAAAABBC
BBBBBCBCCA
DDDDDDDDDC
CCCCCCCAAB
CCCCCCAAAB

D is still the first eliminated. And we find

A
A
B
C
C
C

Now B is eliminated, and we find

A
A
C
C
C
C

The end result was the same in this case. We can see about this one:

BBBBBBBBBA
AAAAAAABBC
BBBBBCBCCA
DDDDDDDDDC
CCCCCCCAAB
CCCCCCAAAB

It becomes

B
A
B
C
C
C

Now A is eliminated, and it becomes

BBBBBBBBB
BBC
BBBBBCBCC
C
CCCCCCCB
CCCCCCB

A tiebreaker is needed. C: 3+4+1=8, B: 1+4+4=9. So B wins the election in this case.

But let’s see what happens if many people try that strategy. Let’s say B and C are small potatoes, and A and D are big party guys. Trying to force the election to turn into a plurality, the voters indicate their major party and then a “throwaway” candidate as you suggest. Some of them vote as I imagine is reasonable:

ABBBBBBBBB
DCCCCCCCCC
ABBBBBBBBB
ABBBBBBBBB
DCCCCCCCCC
BBBBBBBBBA
CCCCCCBBBA
DDDDDDDDDC

Let’s see what happens. A is off the bat eliminated:

BBBBBBBBB
DCCCCCCCCC
BBBBBBBBB
BBBBBBBBB
DCCCCCCCCC
BBBBBBBBB
CCCCCCBBB
DDDDDDDDDC

Now D is eliminated.

BBBBBBBBB
CCCCCCCCC
BBBBBBBBB
BBBBBBBBB
CCCCCCCCC
BBBBBBBBB
CCCCCCBBB
C

And B wins the tiebreaker. So actually, even the threat of that tactic gives supporters of third parties more incentive to indicate the third party candidate as their top choice, since “pluralists” will shower them with votes for the sake of…something.