Gamasutra.com - Modeling Opinion Flow in Humans Using Boids Algorithm & Social Network Analysis
It's free to join Gamasutra!|Have a question? Want to know who runs this site? Here you go.|Targeting the game development market with your product or service? Get info on advertising here.||For altering your contact information or changing email subscription preferences.
Registered members can log in here.Back to the home page.

Search articles, jobs, buyers guide, and more.

By Skip Cole
[Author's Bio]
Gamasutra
September 26, 2006

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

arrowrightIntroduction

Brief Explanation of Boids algorithm

Elements of Social Network Analysis that we are Using

Element 1. Actors

Element 2. Connections

Element 3. Networks

Force Calculation


Example Force Calculation


Allowing Opinions to Change


Examples and Results


Small Population Example – Baron KingMaker


Large Population Results – Books and Battles.


Large Population Results – Schism


Optimizing the Calculation


Conclusion


For Further Information


Source Code


Continuing Work


References


The Missing Topics: Truth, Leadership and Expediency


Truth


Leadership


Expediency

 



Features

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


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.



join | contact us | advertise | write | my profile
news | features | companies | jobs | resumes | education | product guide | projects | store



Copyright © 2006 CMP Media LLC

privacy policy
| terms of service