Optimizing the Calculation
are three aspects that can be optimized; the realisticness of the
simulation, the speed at which the simulation runs, and the amount of
will continue to develop this method and formulate ways to increase its
realisticness. Since this method does rely upon emergent behavior, it
is good to consider all of the different places it can be tweaked.
These are listed below. Fortunately, we have found that it is not too
hard to get the types of results shown in the ‘Results’ section above.
Areas where this method can be tweaked.
- Number of random linkages an actor has (to members of his group or to other groups).
- Strength of linkages between actors.
- Alignments of the actors.
- Proportionality constant use to determine if actor changes opinion.
- Amount the actor changes their opinion when they do so.
- Strength of alignment of News Sources.
- Random connections to a News Source.
Several methods have already been used to speed up the calculations.
- Use Thresholds
If the average force on an individual is below a certain value, one may
dismiss the chance of changing alignment (or do the alignment change
check at a reduced frequency.) This saves in computation, and reflects
the reality that people don’t like changing their minds.
- Normalize Connection Strengths First.
We normalize (set the combined weights equal to 1) the connections
around an actor from the start. This makes it so we don't have to
calculate the average weights each time step. Of course if the
connections around an actor do change (for example if an actor they are
connected to is killed) then we will have to re-normalize.
As we come up with more they will be posted on the web site accompanying this method, along with sample code implementing them.
Memory is highly dependent upon the number of actors, and the average
number of linkages that each actor has. It is also the place much
future optimization will be done. Below are some preliminary figures.
- 5,000 person objects each with an average of 20 connections, 40 Megabytes were allocated
- 10,000 person objects each with an average of 20 connections, 54 Megabytes were allocated.