Paul Johnson       June 2, 1998 updated March 31, 1999, Feb. 10, 2000
Dept of Poltical Science
University of Kansas
pauljohn@ukans.edu

This application compiles against Swarm-2.0.  It simulates the
movement of only one agent, an "agenda setter", who repeatedly makes
proposals to a group of voters.  The agenda setter takes a step only
if his proposal is accepted by a majority of the voters. In the
ModelSwarm.m file, there is a place where the simulation can be set to
show only the path of a winning proposals in green or to add the
losing proposals in red.

The policy space in which the agenda setter moves is built on the
standard political science "spatial model".  A voter has an ideal
point, shown as a white spot in the simulation, and that voter prefers
the closer of two policy alternatives that are offered.

The agenda setter in this model does not use any intelligence in
making proposals. Instead, the setter has (parametrically controlled)
tendencies to search within a certain angle and within a certain
distance (backward, or forward, or both).  The process exhibits
interesting dynamics, depending on the width of the search and the
size of the steps.

I'm offering this as an example for discussion purposes.  Teachers can talk
about something besides heatbugs for a change.

This simulation uses current position and the angle and distance to
make new proposals. The longest direction allowed is a runtime choice,
as is the width of the angle. Distances are equally likely between 0
and the max you set in the probe. The angle is chosen from a truncated
normal distribution, which has a mean of 0. This means a new proposal
is likely to go in the same direction, but it may veer to the sides.
The angle's value of 2 means "2 pi", the full circle.

This simulation has some research interest because it has been shown
that there is no equilibrium point in a multidimensional spatial model
for almost all arrangements of voters.  Research has shown further
that majority rule can wander anywhere in space if the agenda is
designed "just so".  Results about that are tied into results that are
referred to as the "chaos theorems" in the literature (a literature
that predates the modern field of chaos theory and uses the term in a
slightly different way).  I have a little book coming out with Sage in
July, 1998 called Social Choice that summarizes that research.

UPDATE COMMENTS

This had to be slammed around a bit to compile against new editions of
Swarm, but now it does. The default compile uses the pixmap "P" to
show current policy position.  This can be changed, however, if you
compile with
   make EXTRACPPFLAGS=-DNO_PIXMAP 

If you use that option, then the policy options will appear as red and
green dots, depending on whether you choose in ModelSwarm to show only
the winners (green) or losing proposals (red).  There is a comment in
the file to tell you where to make that change.

As usual, I bear no responsibility for the hours you waste trying to
make this work the way you want and the damage you cause to your
hardware.

