<div dir="ltr"><div dir="ltr"><div class="gmail_default" style="font-family:trebuchet ms,sans-serif;font-size:small"><span style="font-family:Arial,Helvetica,sans-serif">On Mon, Jan 10, 2022 at 11:27 AM Kristofer Munsterhjelm <<a href="mailto:km_elmet@t-online.de">km_elmet@t-online.de</a>> wrote:</span><br></div></div><div class="gmail_quote"><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">On 10.01.2022 01:14, Daniel Carrera wrote:<br>
<br>
> Hmm... The numbers I'm getting are a lot smaller than those in the<br>
> paper. I'm using Benham, V=99, N=1, C=6 and the voters and candidates<br>
> follow a standard normal, just as in the paper. I chose those parameters<br>
> because Table 1 gives a strategic susceptibility of 0.622 which should<br>
> be easy to detect, but I'm only getting 0.00196; so off by over two<br>
> orders of magnitude. I don't have as many iterations (numiter =<br>
> 100, strategy_iters = 100) but that should not change the overall scale.<br>
<br>
Try using impartial culture (every preference order is equally likely;<br>
just do a standard shuffle on the order of candidates to get the ballot<br>
order) and both iter counts = 1000. This should be easier to test than<br>
Gaussian; I remember I got different results than JGA on Gaussian myself.<br>
<br>
For comparison purposes, here are some results from quadelect for<br>
Condorcet,IRV. The ranges are a 95% c.i.:<br>
<br>
Gaussian, sigma = 0.2: 15 voters, 3 candidates: 0.0784-0.0862<br>
Gaussian, sigma = 0.2: 30 voters, 3 candidates: 0.0784-0.0862<br>
Gaussian, sigma = 0.2: 100 voters, 3 candidates: 0.0404-0.0462<br>
Gaussian, sigma = 0.2: 1000 voters, 3 candidates: 0.0256-0.0303<br>
<br>
<span class="gmail_default" style="font-family:"trebuchet ms",sans-serif;font-size:small"></span>Impartial culture: 15 voters, 3 candidates: <span class="gmail_default" style="font-family:"trebuchet ms",sans-serif;font-size:small"></span>0.1101-0.1191<br>
Impartial culture: 30 voters, 3 candidates: 0.1491-0.1593<br>
Impartial culture: 100 voters, 3 candidates: 0.2428-0.2550<br>
Impartial culture: 1000 voters, 3 candidates: 0.1588-0.1692<br>
<br>
And to try to reproduce JGA's results under impartial culture:<br>
<br>
29 voters, 3 candidates: 0.1363-0.1461 (JGA: 0.099)<br>
29 voters, 4 candidates: 0.2838-0.2967 (JGA: 0.188)<br>
29 voters, 5 candidates: 0.3936-0.4074 (JGA: 0.282)<br>
29 voters, 6 candidates: 0.5065-0.5206 (JGA: 0.355)<br>
29 voters, 7 candidates: 0.5761-0.5901<br>
<br>
The JGA figures aren't entirely comparable because they're for Benham,<br>
Woodall, and Smith-IRV, while one would expect Condorcet-IRV to be<br>
slightly more manipulable. I probably get higher values because I'm not<br>
restricted to a single ballot for the strategizers' choice.<br>
<br>
And 99 voters:<br>
<br>
3 candidates: 0.1353-0.1451 (JGA: 0.088)<br>
4 candidates: 0.261-0.2735  (JGA: 0.180)<br>
5 candidates: 0.3779-0.3916 (JGA: 0.255)<br>
6 candidates: 0.4602-0.4743 (JGA: 0.312)<br>
7 candidates: 0.5245-0.5386<br>
<br>
This is with numiters=1000, strategy_iters=512.<br>
<br>
> It's hard to see how randomly shuffling ballots would be a strategy. I<br>
> tried changing the strategy: after the random ballot is generated,<br>
> candidate c_k is moved to the top and w_A to the bottom.<br>
<br>
It sounds like you interpreted my "random preference order" to mean<br>
"some other random ballot in that election"... I mean just a random<br>
preference order (drawn from impartial culture).</blockquote><div><br></div><div><div class="gmail_default" style="font-family:"trebuchet ms",sans-serif;font-size:small">No, I understood that part. However, looking at your pseudocode again, I just realized that you choose the random ballot once per strategy_iters and reuse that ballot for every single voter that did not prefer w_A:</div></div><div class="gmail_default" style="font-family:"trebuchet ms",sans-serif;font-size:small"><br></div><div class="gmail_default" style="font-family:"trebuchet ms",sans-serif;font-size:small"><span style="font-family:Arial,Helvetica,sans-serif">for 1...strategy_iters:</span><br style="font-family:Arial,Helvetica,sans-serif"><span style="font-family:Arial,Helvetica,sans-serif">        e_B = e_A</span><br style="font-family:Arial,Helvetica,sans-serif"><span style="font-family:Arial,Helvetica,sans-serif">        b_B = random preference order</span><br style="font-family:Arial,Helvetica,sans-serif"><span style="font-family:Arial,Helvetica,sans-serif">        for every ballot B in e_B:</span><br style="font-family:Arial,Helvetica,sans-serif"><span style="font-family:Arial,Helvetica,sans-serif">                if B ranks c_k ahead of w_A:</span><br style="font-family:Arial,Helvetica,sans-serif"><span style="font-family:Arial,Helvetica,sans-serif">                        B = b_B</span><br style="font-family:Arial,Helvetica,sans-serif"><span style="font-family:Arial,Helvetica,sans-serif">        w_B = winner of e_B according to method M</span><br style="font-family:Arial,Helvetica,sans-serif"><span style="font-family:Arial,Helvetica,sans-serif">                if w_B = c_k:</span><br style="font-family:Arial,Helvetica,sans-serif"><span style="font-family:Arial,Helvetica,sans-serif">                        then strategy successful</span><span class="gmail-im" style="color:rgb(80,0,80);font-family:Arial,Helvetica,sans-serif"><br></span></div></div><div class="gmail_default" style="font-family:"trebuchet ms",sans-serif;font-size:small"></div><div class="gmail_default" style="font-family:"trebuchet ms",sans-serif;font-size:small"><br></div><div class="gmail_default" style="font-family:"trebuchet ms",sans-serif;font-size:small">That makes a lot more sense now. Now I see what the paper means when it says that it gets every voter in the strategic coalition to cast the same ballot. When I read your first pseudocode I thought it meant that every single voter with c_k > w_A would draw a different random permutation. So you see why I was confused and why it didn't work. So I fixed this, and fixed other bugs. I also followed your advice and switched to "impartial culture".</div><div class="gmail_default" style="font-family:"trebuchet ms",sans-serif;font-size:small"><br></div><div class="gmail_default" style="font-family:"trebuchet ms",sans-serif;font-size:small">Impartial culture: 15 voters, 3 candidates:<br></div><div class="gmail_default" style="font-family:"trebuchet ms",sans-serif;font-size:small"><br></div><div class="gmail_default" style="font-family:"trebuchet ms",sans-serif;font-size:small">Your result:  <span class="gmail_default"></span><span style="font-family:Arial,Helvetica,sans-serif">0.1101-0.1191</span></div><div class="gmail_default" style="font-family:"trebuchet ms",sans-serif;font-size:small"><span style="font-family:Arial,Helvetica,sans-serif">My result:  ~0.06</span></div><div class="gmail_default" style="font-family:"trebuchet ms",sans-serif;font-size:small"><br></div><div class="gmail_default" style="font-family:"trebuchet ms",sans-serif;font-size:small">So I'm still off by a fair bit, but at least now I'm in the correct magnitude range. I'm going to look around to see if I find another bug.</div><div class="gmail_default" style="font-family:"trebuchet ms",sans-serif;font-size:small"><br></div><div class="gmail_default" style="font-family:"trebuchet ms",sans-serif;font-size:small">Cheers,</div>-- <br><div dir="ltr" class="gmail_signature"><div dir="ltr"><div><div dir="ltr"><div dir="ltr"><div dir="ltr"><div dir="ltr"><div dir="ltr"><div dir="ltr"><div dir="ltr"><font face="trebuchet ms, sans-serif">Dr. Daniel Carrera</font></div><div dir="ltr"><font face="trebuchet ms, sans-serif">Postdoctoral Research Associate</font></div><div><font face="trebuchet ms, sans-serif">Iowa State University</font></div></div></div></div></div></div></div></div></div></div></div>