Didn't do a great job with this the first time. The patches are in brackets.
Wednesday, August 14, 2019
Agent-based simulations and horse-race journalism
(This was never my area of expertise, and what little I once knew I've
mostly forgotten. Since lots of our regular readers are experts on this
sort of things, I welcome criticism but I hope you'll be gentle.)
I tried a little project of my own back in the early 2000s. One of these
days, I'd like to revisit the topic here and talk about what I had in
mind and how quixotic the whole thing was, but for now there's one
aspect of it that has become particularly relevant so here's a very
quick overview so I can get to the main point.
Imagine you have
an agent-based simulation with a fixed number of iterations and a fixed
number of runs. You randomly place the agents on a landscape with
multiple dimensions and multiple optima and have them each perform
gradient searches. Now we add one wrinkle. Each agent is aware of the
position of at least one other agent and will move toward either the
highest point in its search radius unless another searcher it is in
communication with has a higher position in which case it heads toward
that one.
[Let's explain this in a bit more detail. Say we have fifty agents, one hundred iterations, and two maxima (A with height 10 and B with height 5) and that agent 1 shares with agent 2, agent 2 shares with agents 1 and 3, and so forth. At the beginning of each iteration, each agent looks around a radius of one unit then shares the results with whatever other agents it is in communication with. Agents move toward the highest point they are aware of. If 1 found h=0.4, 2 found h=0.2 and 3 found h=0.3, 1 would move in the direction of the sharpest gradient, 2 would move in the direction of the the highest point 1 found and 3 would move in the direction of its sharpest gradient.
[After one hundred iterations, some agents will be at A, some will be at B and some will be in transit. At the end of one hundred iterations, we measure the height of each agent's endpoint and take the average. -- MP]
What happens to average height when we add lines of
communication to the matrix? At one extreme where each searcher is only
in contact with one other, you are much more likely to have one of them
find the global optimum but most will be left behind. [If we greatly increase the number of iterations, all of the agents will hit the global optimum almost all the time -- MP] At the other
extreme, if everyone is in contact with everyone, there is a far greater
chance of converging on a substandard local optimum [In other words, given enough iterations, minimal communication consistently beats maximal. -- MP]. Every time I ran a
set of simulations, I got the same [lopsided] U-shaped curve with the best results
coming from a high but not too high level of communication.
It is
always dangerous to extend these abstract ideas derived from artificial
scenarios to the real world, but there are some fairly obvious
conclusions we can draw. What if we think of the primary process in
similar terms? Each voter is doing an optimization search, bringing in
information on their own and trying to determine the best choice, but at
the same time, they are also weighing the opinions of others performing
the same search.
Given this framework, what is the optimal level
of communication between voters via the polls? At what point does the
frequency of polling reach a level where it makes it more likely for
voters to converge on a sub-optimal choice? I'm pretty sure we've passed
it.
No comments:
Post a Comment