The purpose of the model described in this chapter is to simulate and explain the causes of differentiation of human populations into groups distinctly defined by shared cultural trait variants and observable external markers, and the clustering of such groups in social and physical space. Specifically, the model is designed to test the hypothesis that the phenomenon of cultural clustering and the emergence of meaningful cultural signs is caused in part by the conjuction of two mechanisms: (1) The vertical (parent to child) transmission of cultural trait variants indirectly biased by the possession of certain external markers, and (2) the guided variation of partner selection strategies based on past experience.
Transmission of genetic trait variants is said to be indirectly biased when it is driven by preferences for unrelated phenotypic traits. Guided variation is the process of individual in-life adaptation based on the evaluation of self-generated and self-explored trials. We hypothesize that these two mechanisms are important to cultural evolution in human populations and they crucially contribute to the emergence of cultural clusters and cultural signs. To determine what kinds of macro-scale phenomena these mechanisms produce in different qualitative types of human societies we develop and analyze an agent-based model where individuals enter into dyadic interactions with others based on co-evolving preferences for external markers and attempt to solve simple coordination problems. Crucially, we assume that the strategies for solving these problems are selectively neutral, while their interactions are not. In other words each strategy is equally good, but the collaborating individuals will only succeed when their strategies are the same. This is a common occurrence in the realm of culture.
The main model function is 'culture.m'. The code is well-commented; in the comments you will find instructions on how to run the model from the MATLAB command line with the desired parameters. The 'matrices.mat' file contains two sample matrices (networks) that need to passed to the 'culture' function as parameters. The user can generate other networks (matrices) with the use of the included 'adjmats' (for random networks) and 'small_world_batch' (for small-world networks) scripts. A complete description of the model can be found in the attached documentation PDF.