## Election Math

One cluster of reasons people sometimes give for not voting is that
“none of the candidates represent my views, and I’m tired of voting
for the lesser of two evils.”

(Another, of course, is plain old apathy. A coworker of mine is very
he’ll catch shit from the rest of us if we catch him complaining about
the government that he didn’t bother to help elect, and he doesn’t.
For people like him but who aren’t quite out of the closet, here are
some tips on
pretending to give a shit about the election.)

Meanwhile, this is you, the interested voter trying to figure out
which unappealing candidate to vote for:

Actually, this is you as a political entity, boiled down to just a
vector of issues that’ll influence your decision. i0
might be abortion, or the war in Iraq, or education, or whatever it is

Of course, not every issue is of equal weight to you. Maybe you think
that space exploration and funding for the arts are important, but not
as important as ending the war in Iraq. So here’s W, your issue
weights matrix:

Multiplying one by the other gives your weighted issue vector:

It probably would’ve been easier to use a vector for the issue
weights, but a) I don’t remember enough linear algebra to remember how
to multiply one vector by another to get the weighted issue vector,
and b) you can do some cool stuff with matrixes, so representing it
that way probably allows you to do represent things like “I want a
president who’ll introduce healthcare reform, fix the mortgage
crisis, and lower taxes, but I’ll settle for two out of three, and he
has to balance the budget as well.”

Now all you need to do is calculate the issues vector for each of the
candidates, and do a
dot product
with your weighted issues vector to
see how well that candidate’s views align with yours:

If you’re running for office, then the candidate whose views most
closely align with yours is you, obviously. A candidate you mostly
agree with will have a dot product close to the length of your vector.
A candidate who campaigns only on issues that you care absolutely
nothing about will be orthogonal to you, and have a dot product of
zero. And a candidate you disagree with will have a negative dot
product.

Note that the weights can be negative. That way, you can define
yourself as being against something, without necessarily being for
something else.

Also, the weights can be as large as you like, to the point of
overwhelming everything else. Let’s say that you’re for increased
military spending (w0 = 1.0), against the death
penalty (w1 = -0.9), and for immediate troop
withdrawal from Iraq (w2 = 2.5). One of the
candidates agrees with you on all of these issues, but also wants to
put all kittens in a blender. You’re strongly against blending
kittens: that’s a deal breaker (w3 = -10,000,000).
So that candidate still gets a negative dot product, and doesn’t get

Oh, and one of the red vectors is marked “fringe candidate”. This is
the guy whose views are even more radical than yours; i.e., you’d
agree with him if he were more moderate.

I include this one because in the last election, I was unhappy with my
representative, and wanted to vote him out of office. But all of the
other candidates were even worse than he was. Except for one guy whose
policies I liked, except that he was too extreme even for me. Given
these choices, I wound up voting for the incumbent, who is at least
the devil I know.

I’ve been regretting that decision, for the simple reason that
government has inertia: if the “fringe” candidate had been elected, he
would have tried to pull the government in the direction I wanted, but
would have been held back by others in Congress, and prevented from
taking things too far.