DOI: 10.5061/dryad.dv41ns24r
title: The emergence of division of labor through decentralized social sanctioning

description: Human ecological success relies on our characteristic ability to flexibly
 self-organize into cooperative social groups, the most successful of which
 employ substantial specialization and division of labor. Unlike most other
 animals, humans learn by trial and error during their lives what role to
 take on. However, when some critical roles are more attractive than
 others, and individuals are self-interested, then there is a social
 dilemma: each individual would prefer others take on the critical but
 unremunerative roles so they may remain free to take one that pays better.
 But disaster occurs if all act thusly and a critical role goes unfilled.
 In such situations learning an optimum role distribution may not be
 possible. Consequently, a fundamental question is: how can division of
 labor emerge in groups of self-interested lifetime-learning individuals?
 Here we show that by introducing a model of social norms, which we regard
 as emergent patterns of decentralized social sanctioning, it becomes
 possible for groups of self-interested individuals to learn a productive
 division of labor involving all critical roles. Such social norms work by
 redistributing rewards within the population to disincentivize antisocial
 roles while incentivizing prosocial roles that do not intrinsically pay as
 well as others.
description: The data is generated by the computational models that aim to
 model the cultural evolutionary process of social norms on a groups of
 individuals. The individuals are able to learn during their lifetime by
 maximizing their payoffs. However, in this situation, a group level
 cooperation could not emerge. This is because in some tasks, the
 individuals would be required to select actions to maximize the group
 level payoff that may not be necessarily the best for them. Social norms,
 in forms of peer-to-peer social sanctioning rule through rewards and
 punisments, emerged through the cumulative cultural process to allow group
 of individuals to coopearte. The data provides the code
 and the raw data generated by the algorithms. The results of the social
 sanctioning rules are shown in Supplementary Material.
description: # The emergence of division of labor through decentralized social
 sanctioning
 [https://doi.org/10.5061/dryad.dv41ns24r](https://doi.org/10.5061/dryad.dv41ns24r) ## Code/Software The files contains the code used for the model and experiments in paper entitled as: The emergence of division of labor through decentralized social sanctioning authored by Yaman, A., Leibo, J. Z., Iacca, G., & Lee, S. W. The code is based on Matlab. We provide implementation of two games we refer as settlement maintenance and common pasture. Main files runs the evolutionary processes for the social sanctioning rules 30 times on these games and generates the results. Below, you can find a short description of \*.m files that are included into the software. There are two folders named as "settlement maintenance" and "common pasture" that includes the implementations of the algorithm for these two game scenarios. For instance, in case of settlement maintenance, the code is implemented with the following structure: \- main\_settlement\.m: Launches 30 independent runs for each problem variations and records the results\. \- GA\_settlement\.m: Executes the cultural evolution process of a single evolutionary run of social norms\. \- evalIndGAS\.m: Evaluates a single social norm on the problem\. \- game\_settlement\.m: Simulates the specified problem\. \- plotFitnessTrend\.m: Script for visualization of the results in terms of learning processes on the problem\. \- visualizeAgents\.m: Script for visualization of the agent role distributions in a group\. \- sanction2string\.m: Script for parsing the results to a string form of social sanctioning rules\. \- visualizeFinalSelections\.m: Visualization of the final selection of the agent roles of the best social sanctions \(this script selects the best social sanctioning rule\, so sanction2string first\)\. Subfolders: Data-social-sanctions provides the results of the algorithm for 30 runs. Please see Data section for the explanation of the data. Centralized-optimization: provide the centralized implementation of the game. In this case, the individuals do not have lifetime learning but their roles are defined and fixed in the group. The goal is to find the role distribution that can maximize the average group payoff. \- mainCentralized\.m: Launches 30 independent runs of the game and records the results\. \- GAcentralized\.m: Execute a genetic algorithm process for a single run\. \- evalIndCentralized\.m: Evaluates a role distribution in a group\. \- gameCentralized\.m: Simulates the game for the centralized case\. selfish-altruists: provides the implementation for the selfish and altruist cases. \- main\.m: runs the learning process of different levels of selfish or altruist cases on a defined game environment and visualizes the average results of that case\. The selfishness of the agents are defined as: self = \[1 0\.5 0\]; where 1 means that the agents are 100% selfish\, 0\.5 50% selfish and 0 is 0% selfish and 100% altruist\. The environmental parameters were set by envInx = 5; where 5 refers to a particular environment and can take a value from 1 to 5\. \- evalInd\.m: Evaluates a particular scenario on the game and selfish/altruist case\. \- game\.m: Runs the simulation of the game for the specified scenario\. The same structure of subfolders and files is used for common pasture folder. ## Data Raw data generated on two problems (settlement maintenance and common pasture) are provided under respective folders under Data-social-sanctions in form of .mat files (i.e. resultsFinalCost0.mat). The last part of the filename "Cost0" specifies the results of the complexity regularization parameter that can be 0, 0.05, 0.1, 0.2. Each column in resultsFinalCost0.mat provides the results of a version of the problem with different environmental parameters. When the data (in \*.mat file) is loaded, it provides the results on 5 different environment cases given in columns and for 30 runs each in rows. Thus each cell provides a struct corresponds to an independent run in an environment case. The struct data structure consists of the parameters regarding the run. For instance, it is possible to access the settings of the run that defines the run parameters such as environment type. Other variables provide fitnessTrend that is the average fitness achieved during that particular run, and bestInd that provides the data of the best social sanctioning rule found during this evolutionary process. Here, phi encodes the learning process of the group, SI social sanctioning matrix. The final results presented in paper are the average of these independent runs. For more information, please see the paper. If you have any questions, please contact: a.yaman [at] vu.nl