[EM] Quick and Clean Burial Resistant Smith, compromise

Daniel Carrera dcarrera at gmail.com
Tue Jan 11 16:26:47 PST 2022


On Tue, Jan 11, 2022 at 4:44 PM Kristofer Munsterhjelm <km_elmet at t-online.de>
wrote:

> On 11.01.2022 21:32, Daniel Carrera wrote:
> > On Mon, Jan 10, 2022 at 11:27 AM Kristofer Munsterhjelm
> > <km_elmet at t-online.de <mailto:km_elmet at t-online.de>> wrote:
> >
> >     On 10.01.2022 01:14, Daniel Carrera wrote:
>
> > 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:
> >
> > for 1...strategy_iters:
> >         e_B = e_A
> >         b_B = random preference order
> >         for every ballot B in e_B:
> >                 if B ranks c_k ahead of w_A:
> >                         B = b_B
> >         w_B = winner of e_B according to method M
> >                 if w_B = c_k:
> >                         then strategy successful
> >
> > 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".
>
> Oh, I don't do that; I make each strategic voter's ballot a different
> random permutation. I was just saying that if you would like to be more
> true to JGA's results, then he chose one common ballot for every
> strategist, and you should do the same.
>

Gotcha. Since I want to compare with the paper, I'll do it the way JGA did
it. I also realized that for JGA's method you can use a combinatorics
package, so instead of running the "strategy_iters" loop you can literally
test every possible ballot. For V=99,C = 3 it's really fast, and for C = 6
it takes me 30min for 10,000 elections.


My impartial culture results are slightly higher than JGA's, which I am
> guessing comes from that I don't restrict the strategic voters in that way.
>

Your method sounds expensive. My intuition is that it must take a great
deal of luck to find a random assignment of ballots for each voter that
changes the election result. I mean... it's an enormous parameter space:

(num candidates) x (num voters that prefer c_k > w_A)^( (num candidates)! )

What value do you use for `strategy_iters`? One obvious optimization is to
first check if JGA's method works before doing the expensive loop.


(In addition, impartial culture is not particularly realistic, but it
> makes for a good test case for reproducibility.)
>

Yeah. I ignored impartial culture at first for that reason, but for the
purpose of testing the code I think it was helpful.

Cheers,
-- 
Dr. Daniel Carrera
Postdoctoral Research Associate
Iowa State University
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.electorama.com/pipermail/election-methods-electorama.com/attachments/20220111/20deb9fe/attachment.html>


More information about the Election-Methods mailing list