Figure 1.
Evolution under Fixed Goals (FG) and Modularly Varying Goals (MVG).
Examples of data from a series of studies [18],[19] that suggest that modularity spontaneously evolves when goals change over time in a modular fashion (modularly varying goals or MVG). (A) Logic circuits made of NAND gates evolved under a constant goal (fixed goal, abbreviated FG) that does not vary over time, G1 = (x XOR y) AND (w XOR z). The circuit is composed of 10 NAND gates. Evolution under a constant goal typically yields compact non-modular circuits. (B) Circuits evolved under MVG evolution, varying every 20 generations between goal G1 and goal G2 = (x XOR y) OR (w XOR z). Note that these two goals share the same sub-goals, namely two XOR functions. Connections that are rewired when the goal switches are marked in red. Evolution under MVG typically yields modular circuits that are less compact, composed in this case of 11 gates. The circuits are composed of three modules: two XOR modules and a third module that implements an AND/OR function, depending on the goal.
Figure 2.
Speedup of evolution under MVG.
(A) A schematic view of fitness as a function of generations in evolution under MVG and fixed (constant) goal (FG). Evolution time (TMVG and TFG) is defined as the median number of generations it takes to achieve the goal (i.e. reach a perfect solution) starting from random initial genomes. (B) Speedup of evolution under MVG based on simulations of logic circuits with goals of increasing complexity (see [19]). The speedup is defined as evolution time under a fixed goal, divided by evolution time under MVG that switches between the same goal and other modularly related goals: S = TFG/TMVG. Shown is the speedup S versus the evolution time under fixed goal (TFG). Speedup scales approximately as a power law S∼(TFG) α with an exponent α = 0.7±0.1. Thus, the harder the goal the larger the speedup.
Figure 3.
Modularity of matrices and their corresponding networks.
The NxN matrix A can be represented as a directed network of weighted interactions between the inputs and the outputs (with 2N nodes). Modularity is measured using normalized measure of community structure of the interaction network, Qm (see Text S1) [18]. (A) Examples of two modular matrices and their corresponding modularity measure Qm. Modular matrices typically show Qm>0.2, with a maximal value of Qm = 1 for a diagonal matrix. (B) An example of a non-modular matrix. Non-modular matrices have Qm around 0.
Figure 4.
Dynamics of evolution under a constant goal.
(A) Matrix elements are portrayed in a two dimensional space defined by a11 and a12, the first row elements of the matrix A. The goal is G1 = [v = (1,1), u = (1,1)], empty circle: optimal non-modular solution (0.5, 0.5). Full circle: modular solution (1,0). The line a12 = 1−a11 represents all configurations that satisfy the goal (satisfy Av = u). (B) A typical trajectory under the constant goal G1. Black dots display the dynamics at 100/r time unit resolution, where r is the rate in Eq. 4. (C) Same as (B) for the goal G2 = [v = (1,−1), u = (1,−1)].
Figure 5.
Evolutionary dynamics under modularly varying goals (MVG) converges to the modular solution.
Goals are switched between G1 = [v = (1,1), u = (1,1)] and G2 = [v = (1,−1), u = (1,−1)] every t = 100/r time units. A typical trajectory of the matrix elements is shown, where small black dots represent the dynamics of the system in 100/r time steps resolution. Empty and full circles represent the optimal and modular solutions respectively.
Figure 6.
Fitness landscape illustration (a two dimensional system).
Goals G1, G2 are as described in Figures 4,5. The fitness landscapes are presented as a projection on the hyper-surfaces (a21, a22) of the optimal solution [i.e. (0.5,0.5) for G1, (−0.5, 0.5) for G2, and (0, 1) for MVG]. A typical trajectory is shown under MVG, switching between G1 and G2 as described in Figure 5. red/blue: dynamics under fitness landscape G1 and G2 respectively. Fitness is presented in log scale. Full/empty circle represents the modular/non-modular solutions. The fitness landscapes under constant goals are characterized by a single ridge (with slow dynamics as shown in Figures 4B and 4C). Under MVG the effective fitness landscape forms a steep peak where a solution that solves both goals resides (the modular solution). To ease comprehension, we chose a different viewing angle from the one of Figures 4,5. Switching time is E = 100/r.
Figure 7.
Dynamics on a 3-dimensional system (A = 3×3 matrix).
Presented is the three dimensional space defined by a11, a12, and a13, the first row elements of the matrix A. The goal is defined by two pairs of input-output vectors. Empty circle: optimal non-modular solutions. Full circle: modular solutions. A typical trajectory is shown for a number of different cases. Lines represent all configurations that achieve the goal (satisfy Av1 = u1 and Av2 = u2). (A) A Constant goal G1 = { [v11 = (1,−1,−1.4), u11 = (1,−2.4,0.4)]; [v12 = (0.5,1.2,−1.9), u12 = (0.5,−0.7,3.1) ] }. (B) Modularly varying goals. G1 as above, and G2 = { [ v11 = (1,1.7,−0.7), u11 = (1,1,2.4) ]; [ v12 = (−0.7,−2.3,−1.1), u12 = (−0.7,−3.4,−1.2) ] }. Switching rate is E = 100/r time steps. (C) Modularly varying goals with nearly identical modules: G1 = { [ (1,1.7,−0.7), (1,1,2.4) ]; [ (−0.7,−2.3,−1.1), (−0.7,−3.4,−1.2) ] } and G2 = { [ (1,−1,−1.4), (1+η,−2.4,0.4) ]; [ (0.5,1.2,−1.9), (0.5+0.5η,−0.7,3.1) ] }. The distance between the two modular solutions for each of the goals is η = 0.1. Zoom in: adaptation dynamics between the modular solutions. (D) Random non-modular varying goals: G1 = { [ (−2.5,1,1), (0,1,1) ]; [ (5.4,−1,1), (3,−1,1) ] }, G2 = { [ (1.1,1,1), (1.1,1,1) ]; [ (0.6,−1,1), (0.6,−1,1) ] }. E = 100/r time steps. There is no solution that solves both goals well, and therefore the dynamics lead to ‘confusion’, a situation where none of the goals are achieved.
Figure 8.
Modularity rises under MVG, and drops when goals stop varying over time.
Modularity of the system measured by normalized community structure Qm (see Text S1). (A) MVG and FG scenarios. Mean±SE is of 20 different goals each with 20 different random initial conditions; E = 10/r (B) Starting from initial modular matrix A = [(1,0,0);(0,1,1);(0,1,−1)] evolved under MVG, at time t = 0 the goals stopped changing (i.e. evolution under FG conditions from time t = 0). Mean±SE is of 20 different goals.
Figure 9.
(A) Speedup as a function of goal switching times E. Speedup is presented for the goal G1 with MVG between the nearly modular pair of goals G1 and G2 : G1 = { [ (−0.4,−1.6,0.7), (−0.4,−1,−2.3) ]; [ (0,0.9,−0.3), (0,0.7,1.2) ] }, G2 = { [ (2,−1.9,1.7), (2.9,−0.3,−3.6) ];[ (0.3,0.3,0.3), (0.4,0.6,−0.1) ] }, . High speedup S is found for a wide range of goal switching times. (B) Speedup under MVG is greater the harder the goal (the more time it takes to solve the goal in FG evolution starting from random initial conditions). The Speedup S = TFG / TMVG as a function of goal complexity, defined as the time to solve the goal under fixed goal evolution, TFG. The speedup scales linearly with TFG. Goals are as in (a).
and E = 10/r.