[EM] simulating an Approval campaign/election

Russ Paielli 6049awj02 at sneakemail.com
Mon Jan 31 00:35:44 PST 2005


Well, here I am following up on my own post again.

Yesterday I presented an outline of effects that need to be considered 
in testing the stability and convergence of an Approval campaign and 
election.

I got to thinking about how to do the simplest, most idealized possible 
simulation test. I programmed a quick and dirty version of it in about 
two or three pages of Python code that took me perhaps two to three 
hours to develop. The code could still have a bug or two, so my results 
are preliminary. I have found that instability and non-convergence can 
occur in a significant percentage of cases.

Here's what I modeled. I have three candidates only. I randomly generate 
votes, with equal probabilities for all six possible preference orders. 
The only control variable for each vote is where the voter "draws the 
line." In this case, that amounts to whether or not the voter approves 
the middle candidate of his preference list. I initialized the 
middle-candidate state of each vote randomly, with an expected mean of 
half approved and half not.

Then I started an iterative simulation of polling cycles and voter 
re-evaluation of his vote. I simply assumed that complete and perfect 
polling data is available to every voter. Then I have each voter 
re-evaluate his approval/disapproval of his middle candidate based on 
Forest Simmons elegant strategy rule (special case for three candidates 
only): if the voters first choice has more votes than his third (last) 
choice, the middle candidate does not get approved, but if the third 
choice has more votes than the first choice, the middle candidate gets 
approved (if they are equal I leave it unchanged).

I then let the system iterate until the vote counts stabilize (i.e., 
repeat without changing).

I varied the number of votes from 100 to 10,000. The program runs very 
fast, and I could increase the number of votes much higher eventually. 
If the counts do not converge within 100 iterations, I arbitrarily 
declare non-convergence (for now).

The first few runs I tried showed rapid convergence within a cycle or 
two. Then I wrapped the whole thing in another loop to simulate many 
separate elections. I found that most of them converged within 2 or 3 
iterations. However, roughly 1 in 10 fails to converge either to a 
stable vote count or a stable winner. That figure probably depends on 
parameters that I have not yet controlled, but this is just a first cut.

So the bottom line is that, even in the simplest, most idealized case, 
Approval Voting can be unstable. In such cases, the ultimate winner 
would essentially be a random function of when the election happened to 
be held. A sort of random lottery. And many voters would regret their 
decision.

Assuming my code has no major bug, the next question is why some cases 
are unstable and non-convergent. I suspect that it has to do with 
Condorcet cycles, but I haven't yet tested that hypothesis.

If this kind of test has been done before, someone please let me know. 
Thanks. Darn, I need to get to bed!

--Russ


Russ Paielli 6049awj02-at-sneakemail.com |EMlist| wrote:
> As a followup to my post this morning, I'd like to make a few 
> suggestions about effects to consider in simulating the dynamics of an 
> Approval campaign and election. I'd consider writing a simplified 
> simulation myself if I had time, but I don't. I have developed aerospace 
> control systems and simulated them in the past (and published journal 
> papers on them), but I've never simulated anything involving elections. 
> If what I am about to suggest has already been done, please let me know.
> 
> In plurality elections, the polls may have an effect on turnout, and 
> they may have an effect on how many voters decide to case "protest" 
> votes for a minor party. If the race between the big two is not close, 
> then fewer voters will bother to vote and more will cast protest votes. 
> However, if the race between the two major parties is close, the poll 
> results themselves are unlikely to cause voters to switch from one side 
> to the other.
> 
> Approval Voting differs from plurality in that voting strategy is much 
> more dependent on expectations of candidate support. As you all know, a 
> voter's optimal "cutoff point" will often depend strongly on those 
> expectations. Those expectation are obviously very dependent, in turn, 
> on pre-election polling results.
> 
> That dependence creates very complicated feedback loop. Voter 
> preferences affect poll results, then the poll results affect voter 
> preferences. Even if we assume that all voters maintain a stable 
> preference order throughout the entire campaign and merely adjust their 
> cutoff point in response to poll results, the dynamics of this feedback 
> loop is high-dimensional and could be extremely complicated.
> 
> To simulate the dynamics of this feedback system, one must first realize 
> that polling itself will be very different from what we are currently 
> accustomed to. Pollsters now simply ask potential voters which 
> party/candidate they intend to vote for. But when Approval comes along, 
> they will need to ask which parties/candidates (plural) they intend to 
> vote for. Aside from the massive general confusion, condsider that the 
> smart voter can't really make that decision until he has some idea what 
> other voters will do.
> 
> So we have a potential catch-22 here. The question then becomes whether 
> the poll results will stabilize and converge to the actual election 
> results (at least approximately) before the actual election occurs. In 
> other words, do the polling results tend to converge to the actual 
> election results, do they converge to the wrong result, or do they 
> oscillate wildly (and perhaps chaotically) so nobody has a clue by 
> election time what to expect from the other voters?
> 
> For any simulation of Approval Voting to be significant, several key 
> effects need to be modeled beyond the standard models of voter positions 
> on a political spectrum. For example, a model is needed for how voters 
> reply to pre-election polls. That could vary depending on how close the 
> actual election is. Even if we assume that all voters maintain a stable 
> preference order throughout, a model is needed for where voters draw the 
> cutoff line when responding to a poll. How this should be done would be 
> largely a matter of guesswork since voters have no incentive to think 
> hard about what their actual cutoff point will be. And even if they do 
> think hard, it is bound to change as new poll results come in. The 
> "strategy" for answering a pollster is certainly not the same as it is 
> for actual voting.
> 
> OK, now assume that a poll-response model is available. Voter strategies 
> then need to be assigned. Strategies have been discussed at length on 
> this forum, but that is a relatively small part of the simulation 
> problem. The harder part will be to determine what percentage of voters 
> will use each particular strategy. That will perhaps require a study in 
> itself. As a first cut, each strategy can simply be tried separately for 
> all voters, of course. If they all yield similar results, than that part 
> of the problem simplifies. But if they don't, it becomes more complicated.
> 
> OK, now we have models for (a) voter replies to pollsters, and (b) 
> actual voter strategies for the real election. To run the simulation, we 
> need to simulate a series of pre-election polls leading up to the actual 
> election.
> 
> As a baseline test, this could all be done assuming absolutely no 
> uncertainty in the polling results (except the indecision already 
> discussed about where respondents draw their cutoff line). This might 
> give a clue about stability in the absence of other uncertainties.
> 
> After that, things start to get more interesting. Now we need to model 
> uncertainties in the poll results. Remember, polls only sample a tiny 
> fraction of the electorate. Also, some percentage of respondants lie 
> just for kicks, and something like 40% either never answer the phone or 
> tell the pollster where to shove it.
> 
> OK, so how do we model the polling error? That could be a study in 
> itself, of course, but we'll keep it relatively simple with a guassian 
> model, characterized by a mean and variance. Many different combinations 
> need to be tried. I think a random mean error of up to, say, 5% needs to 
> be tried (in many different combinations, of course).
> 
> After all that (if we haven't retired yet) we can think about modeling 
> actual changes in voter preference order due to something really radical 
> such as ... a candidate saying something? Oh, yes, I almost forgot that 
> candidates sometimes try to change voter's minds! That "extra" dynamics 
> needs to be thrown in on top of all the other underlying dynamics 
> discussed above. This is comparable to the natural and forced dynamics 
> of an aircraft, I suppose.
> 
> Does anyone still think this problem is simple? Does anyone think they 
> can prove that the polling results will always be stable, or under what 
> conditions they will be stable? If so, I'd like to see the proof. I'm 
> not claiming it can't be done. I'm just wondering if anyone really 
> understands the problem.
> 
> --Russ
> 
> 
> ----
> Election-methods mailing list - see http://electorama.com/em for list info
> 





More information about the Election-Methods mailing list