<div dir="auto">Kristofer,<div dir="auto"><br></div><div dir="auto">It seems to me that it might be worth the cost of an extra pass through the ballots (after the pairwise wins have been ascertained) to fix the "no-first-preference" problem: just use, in place of the number (or percentage) of the ballots on which candidate X is ranked in first place, the number (or percentage) of the ballots on which X covers every candidate ranked ahead of it.</div><div dir="auto"><br></div><div dir="auto">We could call such a candidate X the minimal prudent compromise (MPC) candidate for the ballot, since if X covers all of the candidates ranked ahead of it, none of those stand a snowflake's proverbial chance in comparison.</div><div dir="auto"><br></div><div dir="auto">In any case, for me it would be interesting to see if this MPC substitution for First Place Votes preserves the burial resistance of fpA-SumfpC, while lessening the need for actual voter favorite betrayal on the ballots ... i.e. alleviating the tension between compromise and burial resistance.</div><div dir="auto"><br></div><div dir="auto">-Forest</div></div><br><div class="gmail_quote"><div dir="ltr" class="gmail_attr">On Tue, Nov 22, 2022, 4:02 PM Kristofer Munsterhjelm <<a href="mailto:km_elmet@t-online.de">km_elmet@t-online.de</a>> wrote:<br></div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">So I finally wrote something quick (and hopefully less messy than my <br>
previous manipulability checker) to determine strategy susceptibility <br>
for a few voting methods. It's still very unoptimized and thus quite <br>
slow, but I've attached the Python source to my post. PDFs showing <br>
results can be found here: <br>
<a href="https://munsterhjelm.no/km/python_vote_strats/" rel="noreferrer noreferrer" target="_blank">https://munsterhjelm.no/km/python_vote_strats/</a> and the Python source is <br>
available there as well.<br>
<br>
This should both give some ideas as to where to take fpA-fpC, as well as <br>
the relative proportion of compromise vs burial for some Condorcet <br>
methods. (However, as my figures seem somewhat different from Daniel <br>
Carrera's, there may still be bugs. So take this with a pinch.)<br>
<br>
I'll first note some observations, then explain how to use the Python <br>
code, and then how to read the bar charts.<br>
<br>
For impartial culture, the observations seem to be:<br>
<br>
- The two simple fpA-fpC generalizations are not robustly strategy <br>
resistant the way IRV is. While they do well with three candidates, as <br>
the number of candidates increases, the susceptibility increases; and at <br>
10 candidates, it's up at Minmax level.<br>
<br>
- That said, even Contingent vote (which is a quick proxy for IRV) gets <br>
more susceptible to strategy as the number of candidates increases. I <br>
suspect that for any voting method in impartial culture, and any <br>
susceptibility level, there exists a sufficiently large number of voters <br>
and candidates where that method is vulnerable to strategy at least that <br>
often.<br>
<br>
- The simple generalizations also lose strategy resistance when the <br>
number of voters is increased for more than four candidates, whereas <br>
Contingent vote and its Smith,Plurality version both seem to level off <br>
for a fixed number of candidates. See e.g. the contingent 99 voters 5 <br>
candidates graph.<br>
<br>
- fpA-max fpC is more resistant than fpA-sum fpC, both in terms of total <br>
susceptibility and in how much can be accomplished by just burial or <br>
compromise vs having to do both at once.<br>
<br>
- There seems to be a baseline compromise level that all the depicted <br>
Condorcet methods follow -- see the sum of the blue plus purple bars for <br>
Copeland, Minmax, and the two fpA-fpC methods. If this really is <br>
universal, it might be possible to derive results about what that level <br>
is for *any* Condorcet method as number of voters approaches infinity. <br>
But I'd need to implement something known to be strategy resistant and <br>
Condorcet, e.g. Smith//IRV, to know whether the pattern is real or just <br>
a fluke.<br>
<br>
- On some of the graphs, Contingent has a lower susceptibility than <br>
Smith-Contingent, even for three candidates. On the face of it, this <br>
shouldn't be possible since there's a proof that "Condorcet else X" is <br>
never less resistant than X alone, assuming certain majority-based <br>
criteria hold for X. I think the answer is that my simulation doesn't <br>
take more complex strategies into account, which means that Contingent <br>
has quite a few strategies that are neither full compromise nor full <br>
burial nor both at the same time.<br>
<br>
- Smith-Contingent vote is both summable and robust to strategy with the <br>
number of candidates fixed in IC. This shows that summability and <br>
robustness is compatible. Furthermore, the method is vulnerable to my <br>
"nobodies ranked first" problem: if every voter ranked himself first, it <br>
would be unable to call a winner. So neither ISDA nor (the weaker) <br>
immunity to the nobodies ranked first problem is required for a method <br>
to be strategically robust in IC.<br>
<br>
("Strategically robust" here would probably mean something close to: 1. <br>
the method starts at a low susceptibility level for modest number of <br>
candidates in IC. 2. With not too many candidates, the limit of <br>
strategic susceptibility as number of voters goes to infinity is not one.)<br>
<br>
Note that this is all under impartial culture, which in a sense is the <br>
most tie-prone of them all. Spatial models might show much less <br>
potential for strategy.<br>
<br>
---<br>
<br>
Usage:<br>
<br>
The Python code can be used by starting an interactive interpreter (e.g. <br>
python3 or ipython3), importing the strategy and generators modules, and <br>
then calling plot_MC_proportions, for instance like this:<br>
<br>
strategy.plot_MC_proportions(election_space=generators.strict_ordinal_elections(99, <br>
5))<br>
<br>
Note that burial doesn't yet work with the truncated ballot generators, <br>
as the burial function doesn't check if the candidate is unranked. And, <br>
as mentioned, it is very slow. Implementing a cache (for things like the <br>
current election's Condorcet matrix) would help a lot, as would reusing <br>
elections, e.g. drawing just 1000 and testing the same 1000 on each <br>
method instead of drawing 1000 * num methods elections in the <br>
Monte-Carlo simulator.<br>
<br>
The code may understate nonmonotone methods' strategic susceptibility <br>
because it's possible that e.g. upranking a compromise all the way to <br>
first may not work but upranking it to second place does, as a <br>
consequence of pushover. But I don't have any nonmonotone methods <br>
implemented yet, so that shouldn't be a problem :-)<br>
<br>
----<br>
<br>
Reading the bar charts:<br>
<br>
These are stacked charts, so the total height of a method's bar gives <br>
how often simple (compromise, burial, or minmaxing/two-sided <br>
maipulation) strategies work. It doesn't check for more complex <br>
strategies or coordinated arbitrary-ballot ones, so the total bar may <br>
still understate susceptibility slightly. But as Daniel Carrera noted <br>
back in January, most methods' strategy vulnerability can be exploited <br>
with simple strategies.<br>
<br>
The "burial only" bar corresponds to elections where burial worked, but <br>
compromising didn't. The "compromise only" bar similarly corresponds to <br>
elections where compromising worked but burial didn't. The "burial and <br>
compromise" bar is for elections where either strategy worked, and <br>
"two-sided only" is for elections where two-sided strategy worked but <br>
neither burial nor compromising worked.<br>
<br>
Two-sided strategy is simply putting the candidate you're trying to win <br>
first and the candidate who used to win last, i.e. doing both burial and <br>
compromising at once. Burial is putting the winner last, and <br>
compromising is putting a favored candidate first.<br>
<br>
When an election is tested, it's tested for the possibility that the <br>
group that prefers A to the current winner W can get A elected by <br>
employing strategy, for any other candidate A. If there exists any such <br>
A, then the strategy is considered to be successful. In the case of <br>
ties, what is counted is whether the A>W voters are able to insert A <br>
into the set of winners.<br>
<br>
-km----<br>
Election-Methods mailing list - see <a href="https://electorama.com/em" rel="noreferrer noreferrer" target="_blank">https://electorama.com/em</a> for list info<br>
</blockquote></div>