Gamasutra: The Art & Business of Making Gamesspacer
Modeling Opinion Flow in Humans Using Boids Algorithm & Social Network Analysis
View All     RSS
November 15, 2018
arrowPress Releases
November 15, 2018
Games Press
View All     RSS
  • Editor-In-Chief:
    Kris Graft
  • Editor:
    Alex Wawro
  • Contributors:
    Chris Kerr
    Alissa McAloon
    Emma Kidwell
    Bryant Francis
    Katherine Cross
  • Advertising:
    Libby Kruse






If you enjoy reading this site, you might also want to check out these UBM Tech sites:


 

Modeling Opinion Flow in Humans Using Boids Algorithm & Social Network Analysis


September 28, 2006 Article Start Previous Page 6 of 8 Next
 

Optimizing the Calculation

There are three aspects that can be optimized; the realisticness of the simulation, the speed at which the simulation runs, and the amount of memory consumed.

Realisticness

We 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.

Speed

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
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.

Article Start Previous Page 6 of 8 Next

Related Jobs

Deep Silver Volition
Deep Silver Volition — Champaign, Illinois, United States
[11.15.18]

Mid/Senior Multiplayer Programmer
YAGER Development GmbH
YAGER Development GmbH — Berlin, Germany
[11.15.18]

Senior Backend Engineer (f/m)
NEXON M
NEXON M — Emeryville, California, United States
[11.14.18]

Software Engineer
NEXON M
NEXON M — Emeryville, CA, California, United States
[11.14.18]

Data Engineer





Loading Comments

loader image