Over the weekend I sat down and did some high level modeling of community social structures. I wasn’t making a descriptive or predictive model, but more of a generative model. That is to say, I was trying to grow a culture of simple fictional people the way I might grow a culture of mold in my fridge. And I hit upon some peculiar and interesting snags.
First, to build my Tribe, I envisioned a collection of Person objects with some predefined characteristics such as age and gender, and some relationships to other Person objects. The obvious ones that are mechanically necessary to ensure the tribe can grow are mating/coupling relationships and the resulting parent-child relationships. It seems reasonable that each Person object should have a mother and a father when it is instantiated.
However, in modeling the progenitors of my tribe, the initial population that I’d use to seed the growth of the rest of the tribe, I didn’t have any forbears to reference during instantiation, so I decided to assign null values to the parents of these progenitors. It made me think recursively all the way back to the beginning and origins of life, which was … outside the scope of my exercise. Still, it was a bit fun to run into such a thought provoking snag so early in the development of this culture model.
Then I started thinking about whether couples would separate, so that there were half sibling relationships, and what that would entail. I started thinking about whether people would remarry if one of them were removed from the Tribe. Suddenly, my naïve notion of tribes and families was tossed into disarray. Should I put the methods that govern mate selection, remarrying after death, and other vital concepts into the Tribe object? Or should it be some sort of cultural context in which a Tribe operates? Or, should it be a concept that applies to each Person individually? Is culture a top-town phenomena or an emergent phenomena that grows from individual choices?
Other snags were soon to follow. I considered whether to represent each Person’s age as a value, or as a birthdate. It seems intuitive that the simulation should keep track of time, so assigning each Person an age value would require constantly updating the value with each tick of the clock. Thus, it’s best to assign each person a “time of birth” value and reference it only when necessary to calculate age.
But should time be a part of each Tribe? How does time get determined? Is it part of some broader environmental state? Is there a World object outside of the Tribe? Are there other Tribe objects in this World?
Suddenly, I started to question the assumptions of my model. Can a Person belong to more than one Tribe? Can a Tribe exist on more than one World? How does time translate between Worlds?
I went out on a Saturday afternoon to build a simple model of tribal culture. Instead of a neat and tidy model of people banding together and procreating to grow neat and discrete tribal cultures, my interests shifted in just a few hours to thinking about how to represent the shifting and vaporous social organizations that exist in complex, pluralistic cultures and contextually overlapping social spheres.
As far as thought experiments go, it was a fruitful and invigorating one.




