by Abby Nussey
Social networks are the graphs of connections between us and others, with respect to context. A simple example of a social network is the “friends” network generated when “friending” someone through Facebook or MySpace.
There are, of course, other contexts through which people may be connected. For instance, suppose you have a Facebook friends network — the graph of which is called a “sociogram” — of 100 friends. 70 of your 100 friends list movie interests. Therefore, a contextual network exists — another network that can be made into a sociogram — of those friends who are interested in movies. Contextual networks have also been called “granular” social networks by Thomas Vander Wal.
See the “Social Networking” Demonstration on the Wolfram Demonstrations site for a great illustration of this concept.
“Social Networking” Demonstration by Michael Trott
![]()
One could imagine that there is much complexity inherent in interactions on a social network which takes its contextual networks into account when updating the state of each person. When you’re interested in seeing a movie, do the decisions of those who are most like you in movie tastes effect or correlate to which movie you pick? Do those who share many contextual connections (for example, those who are connected by college major, interests in knitting and movies, and relationship status) have similar behavior?
A way one could represent the updating of contextual networks (which change over time), is to represent each agent by an array of values, with the positions in the array corresponding to particular tastes. In the interest of simplicity, we can restrict the choices to values between 0 and 3, with 0 being “not interested” — i.e., not a member of that particular contextual network.
As an example, suppose consider the following contexts: income, relationship status, and political affiliation.
The “income” context is delineated thusly:
- i0 -> income = not available/Other
- i1 -> $0 =< income < $20,000
- i2 -> $20,000 < income < $75,000
- i3 -> income > $75,000
The “relationship status” context is delineated thusly:
- r0 -> status = not available/Other
- r1 -> status = single
- r2 -> status = dating
- r3 -> status = married
The “political affiliation” context is delineated thusly:
- p0 -> not available/Other
- p1 -> Democrat
- p2 -> Republican
- p3 -> Libertarian
Then suppose an agent makes $35,000/yr, is single, and a Republican. Then her state is { i2, r1, p2 }.
What would be the update rule? That is, how would we determine to which state she evolves from her current state?
It is simpler than it seems. One need only take into account her contextual networks individually, and then update each contextual value with respect to the update rules for each contextual network. So each value of the state updates as usual, on its contextual network, with her new state being the updated values for each context.
One can imagine each contextual network updating as in the following Demonstration, my “Four-Color Outer Median Rules on Graphs”
“Four-Color Outer Median Rules on Graphs” by Abigail Nussey
![]()
One could represent it by simply generating the agent (node) evolutions for each context and placing them side-by-side, or one could define some more complex color rules for agents with particular combinations of context values, and watch the evolution of the whole states taken together.
Traditionally, these kinds of social evolutions were represented by placing agents on a grid, and updating their state values based on interactions with neighbors (determined by using different neighborhood definitions, depending on your particular model). The model I introduced above is a similar, network-based approach.