The emergence of division of labor through decentralized social sanctioning
Data files
Oct 02, 2023 version files 252.17 MB
Abstract
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.
README: The emergence of division of labor through decentralized social sanctioning
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
Methods
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.