Wednesday, October 21, 2009

Simulating Group Joining Behavior Project Post

The social sciences frequently attempt to codify underlying characteristics of individuals and groups (frequently for the purpose of quantitative analysis). This general ontology, and I suspect the pressures of the tenure track, results in a temptation to create a state/trait of a group, invent a scale that measures it and publish all over the place. This subsequently has lead to a, what at times seems superfluous, number of qualities that a group might possess. Do we really need a Bonding Scale, a Community Bonding Scale and a Group Cohesion Scale?

Stepping off my soapbox for a moment, this project attempts to answer a question of theoretical simplification: “Can the observed behavior of groups be simulated using a minimum number of rules and attributes?” I define the observed qualities of a group as the computable properties of a
graph that represents a social network using individuals as nodes and relationships as edges. For example an observable property might be the average number of outgoing edges from an individual. As a result of the desire for simplistic rules, the goal of matching complex real world structures and the nature of the statistics associated with a graph representation the edge should be considered the unit of analysis for the simulation.

The current version of the simulation uses three rules to model the relationships between individuals. I suggest that there should be a deterministic rule that creates edges C(), a deterministic rule that destroys edges D() and a rule that introduces random behavior R(). Though the exact details of the functions are not mandated in this general understanding for modeling purposes they should be thought of as translating some number into a relative strength of the edge. Modeling the existence of an edge involves summing the values of the three functions, if the value is greater than zero then an edge is said to exist.

Implementation of the functions currently implements the random function as a simple probability using the computers provided random function and the creation/destruction functions as polynomials. The construction function C(X) takes as its input X=number of mutual friends between the current node and the destination node. The random function R(X) takes as its input X=desired probability an edge will spontaneously occur in one timestep. The destruction function D(X) takes as its input X=number of edges of the current node. The actual operations of each function are dynamically constructed based on inputs to the simulation. This implies there are infinite instantiations of the simulation based on different polynomial equations for these two functions. Each instantiation will have a unique set of physical properties associated with the state that the nodes arrive in. Empirically the simulation seems to reach a relatively stable state after approximately thirty considerations of every possible edge. I think of the simulation itself then as a function S(R(), C(), D()) that results in the values associated with the stabilized model.

The graph below is the thirtieth time step, after the network has stabilized, based on S (R() , C(), D() ) where R(2/25), C(X) = 1X^1, and D(X) = -.5X^1 + 45 X^0.

The above graph clearly has condensed into observable clusters or groups. Qualitatively, I consider social networks to be a little more connected. A second example shows the ability to dynamically alter the models parameters in order to create a slightly more realistic looking graph.

The graph below is the thirtieth time step, after the network has stabilized, based on S (R() , C(), D() ) where R(2/25), C(X) = .2X^2, and D(X) = -.5X^3 + 45 X^0.

These representations of simulated social networks as graphs show that qualitatively the simulation can produce relationships that appear to mimic actual social networks using very simple rules. More importantly, as a proof of concept, they demonstrate that the simulation can be thought of as a function that accepts rules in the forms of functions and then generatively creates a simulated social network. Ideally this model, as a function, could then be optimized to map as closely as possible to actual social networks. This project can be considered a prelude for identifying generative functions that describe social groups.


1 comment:

  1. this is yet another think to read-- But Kleinberg and Easley from Cornell have a new book coming out based around the issues they address in their networks class. has several sections that will be of interest to you.