Hierarchical organization—the recursive composition of sub-modules—is ubiquitous in biological networks, including neural, metabolic, ecological, and genetic regulatory networks, and in human-made systems, such as large organizations and the Internet. To date, most research on hierarchy in networks has been limited to quantifying this property. However, an open, important question in evolutionary biology is why hierarchical organization evolves in the first place. It has recently been shown that modularity evolves because of the presence of a cost for network connections. Here we investigate whether such connection costs also tend to cause a hierarchical organization of such modules. In computational simulations, we find that networks without a connection cost do not evolve to be hierarchical, even when the task has a hierarchical structure. However, with a connection cost, networks evolve to be both modular and hierarchical, and these networks exhibit higher overall performance and evolvability (i.e. faster adaptation to new environments). Additional analyses confirm that hierarchy independently improves adaptability after controlling for modularity. Overall, our results suggest that the same force–the cost of connections–promotes the evolution of both hierarchy and modularity, and that these properties are important drivers of network performance and adaptability. In addition to shedding light on the emergence of hierarchy across the many domains in which it appears, these findings will also accelerate future research into evolving more complex, intelligent computational brains in the fields of artificial intelligence and robotics.
Adaptability Experiment Data
Network information from the four adaptability experiments. There are a separate sub-folders for each of the adaptability experiment. A sub-folder has all networks evolved in the new environment, and for each network there is the individual.log file that contains the performance, modularity, hierarchy, and connection cost values.
Adaptability_Experiment_Data.zip
AND-EQU-AND Experiment Data
All the PA and P&CC networks from the AND-EQU-AND experiment are included. For both treatments, the data package contains network descritptions (in XML format) at generations 0 and 2500. Futhermore, for each network, the individual.log file provides the performance, modularity, hierarchy, and connection cost values of that networks. The solvent.txt file indicate the percentage of sub-problems that the network solves.
AndEqualsAnd_Experiment_Data.zip
Main Experiment Data
The main experimental data contains all evovled networks from PA and P&CC treatments. Network description at the 0th and 2500th generations are provided in XML format. For both final PA and P&CC networks, the individual.log file contains the performance, modularity, hierarchy, and connection cost values, and solvent.txt file has the value for the percentage of sub-problem solved.
AndXorAnd_Main_Experiment_Data.zip
Long Range Connection Experiment Data
All the PA and the P&CC networks from the experiment that allows connections to skip layers are included. In XML format, we provide network descritptions at the 0th and 2500th generations.
Long_Range_Connections_Experiment_Data.zip
Map-elites Exeriment Data
This data package contains a data file containing the performance, modularity, hierarchy of networks evolved via the map-elites algorithm. The data was dipicted in Fig.7 in the main manuscript.
Map_Elites_Experiment_Data.zip
Non-Modular Experiment Data
The modular but, hierarchical networks from the Non-Modular experiment are included, in this data package. For each network, there are the 0th and 2500th generation XML files containing the are serialized version of the network. Network's performance, modularity, hierarchy, and connection cost are given in the individual.log file, and the percentage of sub-problems the network solves is in solvent.txt file.
Non_Modular_But_Hierarchal_Experiment_Data.zip
OR-XOR-EQU Experiment Data
This data package contains PA and P&CC networks from the OR-XOR-EQU experiment. The two XML files contain the serialization of each network at the 0th and 2500th generations. In the individual.log file, the performance, modularity, hierarchy, and connection cost of a network are provided. The percentage of sub-problems that a network solves is in solvent.txt file.
OR_XOR_EQU_Experiment_Data.zip
Three_Outputs_Problem_Experiment_Data
Network data from the experiment that evovled networks to solve the three-output problem. These data contain XML serialized PA and P&CC networks at the 0th and 2500th generations.
Two-Output Experiment Data
Network data from the experiment that involved three outputs problem. These data contain XML serialized PA and P&CC networks at the 0th and 2500th generations.
Two_Outputs_Problem_Experiment_Data.zip
Python Plotting Scripts
Python written plotting scripts, which are used to generate the figures in the paper.
Python_Plottng_Scripts.zip
https://github.com/henokyen/EOH
The source code that we used to do our experiments can be found at: https://github.com/henokyen/EOH