The plot shows the number of unique transporters and enzymes, network fitness (relative to final fitness), and the average fitness of a knockout (i.e. robustness) over generations. Initially robustness is high because the ancestral network contains enzymes with broad specificity, which can compensate for each other. As enzymes specialize fitness increases and robustness decreases in general. Whenever an enzyme or transporter duplicates (as at generation 120, 170 and 190 for the M1 run), the robustness increases because the two copies initially cover the same reactions. As the copies diverge in function, their contribution to robustness becomes smaller and smaller. The simulation of evolution in the fluctuating environment (lower panel) shows that although robustness over all environments decreases over time, robustness is maintained to a considerable degree on each of the three media, in particular the rich one. The resulting networks from these simulations are shown in Figure 3.