I am toying with the idea of constructing a virtual social network of artificial persons. It should have a population of artificial people each having a believable friends and family.
How do I go about making a believable social graph?
Start from a random graph, then simulate relationship dynamics. People who know each other are more likely to be at the same location, and people who are at the same location have some likelihood of getting to know each other, creating circles of friends. Some people eventually have children together and if they have more, it's likely to be with the same person. Iterate for a few generations and you should get a reasonable graph of friends and family.
The harder part is probably procedurally generating believable social activity to communicate those relationships to an observer with enough variety to be interesting.
How do I go about making a believable social graph?