Skip to main content
Philosophical Transactions of the Royal Society B: Biological Sciences logoLink to Philosophical Transactions of the Royal Society B: Biological Sciences
. 2020 Feb 24;375(1796):20190325. doi: 10.1098/rstb.2019.0325

Evolving complexity: how tinkering shapes cells, software and ecological networks

Ricard Solé 1,2,3,4,, Sergi Valverde 4,5
PMCID: PMC7061959  PMID: 32089118

Abstract

A common trait of complex systems is that they can be represented by means of a network of interacting parts. It is, in fact, the network organization (more than the parts) that largely conditions most higher-level properties, which are not reducible to the properties of the individual parts. Can the topological organization of these webs provide some insight into their evolutionary origins? Both biological and artificial networks share some common architectural traits. They are often heterogeneous and sparse, and most exhibit different types of correlations, such as nestedness, modularity or hierarchical patterns. These properties have often been attributed to the selection of functionally meaningful traits. However, a proper formulation of generative network models suggests a rather different picture. Against the standard selection–optimization argument, some networks reveal the inevitable generation of complex patterns resulting from reuse and can be modelled using duplication–rewiring rules lacking functionality. These give rise to the observed heterogeneous, scale-free and modular architectures. Here, we examine the evidence for tinkering in cellular, technological and ecological webs and its impact in shaping their architecture. Our analysis suggests a serious consideration of the role played by selection as the origin of network topology. Instead, we suggest that the amplification processes associated with reuse might shape these graphs at the topological level. In biological systems, selection forces would take advantage of emergent patterns.

This article is part of the theme issue ‘Unifying the essential concepts of biological networks: biological insights and philosophical foundations’.

Keywords: complexity, Network Science, tinkering, selection, evolution, spandrels

1. Introduction

The fabric of complexity is made of networks. The presence of collective-level, system properties necessarily requires a description grounded in a map of connections between individual parts. Such a view has been around for much longer than is usually acknowledged within the field of Network Science. Long before small worlds and scale-free structures were identified, the importance of interactions and their embodiment within graphs were already in place in ecology and neuroscience. Classic studies on trophic webs and their stability had an enormous impact on our understanding of communities [16]. Similarly, since Ramon y Cajal [7] the realization that cognition was associated with complex webs has been percolating through the entire field [8,9].

Why to care about interactions among the units? Why is the network level relevant in seeking explanations for the origins of complexity? A main avenue that largely precluded the rise of Network Science early provided the answers. It was the field of phase transitions [1013]. Phase transitions are a common phenomenon that we know well: water freezes or boils and completely different, homogeneous macroscopic properties can be seen in each phase (liquid, solid and gas) separated by characteristic transition temperatures. But how do these phase transitions happen? How can we use a microscopic theory that incorporates the properties and interactions among components and explain the completely different qualitative properties displayed by each phase? In searching for theories, physicists found that very simple models, incorporating a toy description of the interactions (and paying very little attention to the structure of the components) can fully explain them. The nature of the interactions, and not the components, is what matters.

The insignificant role played by the details of the units is deeply tied to the presence of emergent patterns arising on the larger scale [2,14,15] and the failure of the reductionist programme [16,17]. Emergence became a central concept and the cornerstone of a view of systems where system-level properties could not be reduced to the properties of their component units. One particularly interesting problem that received considerable attention (and that will be relevant here) was the phenomenon of percolation [18]: the sudden shift from a disconnected to a connected system that is experienced by a set of N elements that are connected with pairwise threads with a given probability p. If 〈k〉 indicates the average number of connections displayed by a randomly chosen element of this system, for a random connection rule we have 〈k〉 = pN and it can be shown that the critical condition 〈kc = 1 defines an abrupt (topological) phase transition [19]. It provides a powerful illustration of emergence and had a tremendous impact in very diverse domains, from molecular biology to social dynamics [1924].

With the turn of this century, the combination of available datasets associated with social, technological and biological systems and a new generation of theoretical models triggered a revolution that spread across all disciplines. Network Science became the basis for both new concepts and statistical methods. Classical graph theory [25] had been mainly associated with the study of homogeneous webs, including in particular all kinds of lattices, trees and random graphs. Because of the lack of knowledge about the architecture of real networks, most early models of genetic, neural and ecological systems used homogeneous graphs. Everything changed once the mapping of Internet, social webs or -omic data provided the first solid picture of real networks. They confirmed an old sociological study [26] indicating that the number of degrees of separation between two randomly chosen individuals is very low, providing a very elegant mathematical framework to explain the phenomenon [27]. Second, an unexpectedly general finding was the realization that real networks are heterogeneous. Instead of previously assumed regular, Gaussian or exponential distributions of connections, long-tailed ones were found to be the rule: most elements are connected with a few others, whereas a small number of them include units connected to many others (the hubs).

It has been suggested [28] that inspecting the organization of complex networks can reveal the evolutionary design or evolutionary principles that shaped them. In a nutshell, identifying the generative rules responsible for their topology could be used to find their origins and the contributions of randomness, architectural constraints or self-organization. In other words, the paths followed by each system (either through evolutionary dynamics, developmental processes or technological design protocols) can be deeply limited by fundamental principles of a mathematical nature. Very often, this reveals the failure of some standard assumptions and explanations involving selection or optimization.

In this paper, we will review the existing evidence for tinkering and its deep implications for our understanding of network complexity. This includes: (1) the presence of mechanisms of network growth that are dominated by extensive reuse of extant components. (2) Structural constraints limit the repertoire of potential forms of network complexity that can be found. (3) Some particular structures (at different scales) display robust statistical patterns that could be attributed to optimal or efficient design principles: they are by-products of the heterogeneities created by generative rules. These results have to be taken as one aspect of network complexity, namely the topological patterns emerging from simple growth rules. Such choice does not rule out other components of evolutionary change nor other alternative models, including those used in modelling coevolutionary networks [29,30].

The importance of reuse or ‘tinkering’ was early suggested by the French biologist Francois Jacob and has enormous importance in evolution. As discussed in [31], there is a major difference between the ways that an engineer and evolutionary processes work. The first has a goal and thus foresees what needs to be designed. To do so, the engineer can completely replace previous components and ignore previous protocols to build an artefact. In this way, novelties can emerge as a result, for example, of adopting a new material (such as liquid crystal). In stark contrast, evolution does not foresee what solution is required for a given problem. Moreover, there is no way that evolutionary processes ignore those components and structures that are already in place: reuse of previous parts is crucial. Surprisingly, as discussed in this paper, reuse leads to network heterogeneities that strongly constrain the local and global properties of the resulting graphs.

2. Evolutionary tinkering in cellular networks

An example of the implications of tinkering rules can be found in models of protein interaction networks. As with other non-directed graphs, we define a network Ω as a pair (V, E). Here V stands now for the set of nodes and E the matrix of interactions between pairs of nodes. If we take a given protein vjV it will have a given number of links with other proteins in our graph. These networks are characterized by the presence of degree distributions following a truncated power law shape, i.e.

P(k)(k+k0)γek/kc, 2.1

where P(k) is the probability distribution of having a protein interacting with k other proteins with an exponent γ ≈ 2.5 [3234]. Here kc is a cut-off (indicating some intrinsic limit to the maximum number of links of a given protein).

Consider the following model from Solé and co-workers [28,35]. The protein network is now reduced to a graph defined by a collection of vertices V = {vk} and a matrix of connections provided by the adjacency matrix A = (aij), where aij = 1 if the two proteins interact and zero otherwise. Let us indicate by |V| the size of the network at a given step. We start from a set m0 of connected nodes, and at each time step we perform the following operations (figure 1a): (i) one node of the graph is selected at random and duplicated; (ii) the links emanating from the newly generated node are removed with probability δ; and (iii) new links (not previously present after the duplication step) are created between the new node and any other node with probability α. Although available data indicate that new interactions are more likely between more connected proteins, we ignore this constraint.

Figure 1.

Figure 1.

Modelling tinkered evolution in complex cellular networks. Simple rules of reuse (a) generate heterogeneous networks closely similar to those found in cells, such as the human transcription factor network shown in (b), described in [36]. DUP, duplication; DE, deletion; NEW, addition. Here hubs include key transcription factors (TFs) (such as the tumour supressor P53) associated with proliferation diseases. Most measurable network properties found in proteomes can be replicated, such as the distribution of network motifs. In (c), we display the observed frequencies (ordered from or three different protein networks), namely the human interactome (HI, filled triangles), yeast proteome (YP, filled circles) and the subset of human transcription factors (HTF, open squares). For comparison we display the predicted subgraph census from the duplication–rewiring model (d, [37]). By tuning the removal rate of links associated with divergence, it can be shown that a transition from connected to disconnected occurs close to a critical value δc = 1/2, as shown, for example, from the estimation of the average network size against δ (e). Here, two different models [28,38] have been used, indicated as A and B, respectively. (Online version in colour.)

Step (i) implements gene duplication (the tinkering component) in which both the original and the replicated proteins retain the same set of interactions. The rewiring steps (ii) and (iii) implement mutations that translate into the deletion or addition of interactions with different proteins. The process is repeated until N proteins have been obtained. An example of a network obtained from this process is shown in (figure 1b), closely resembling the protein maps found in cells. This network fits the heterogeneous degree distributions very well, with a robust γ ≈ 2.5 exponent, but it also fits other distributions associated to correlation profiles [39]. Concerning small-scale patterns, such as the abundance of three- and four-component (figure 1c) network motifs [40] that naturally result from our tinkering process, the model correctly reproduces the observed data (figure 1d).

In general, this model (indicated as A in figure 1e) and the work by Vespignani (indicated as B in figure 1e) and co-workers [32,38,41] provide very similar results. In the latter, duplication is also followed by two probabilistic rules that operate independently. For each of the nodes vj linked to the duplicated node and its duplicate, we choose randomly one of the two redundant links and remove it with probability δ. Additionally, a new interaction connecting the two proteins (the parent and the duplicated) is introduced with probability ρ. The last rule will naturally increase the number of triangles in the system and thus provide a source of high clustering. The same results are gathered from duplication models involving gene regulation [42]. Sole’s model in particular successfully explains the architecture of protein maps [43,44].

The network shown in figure 1b is sparse, but the model described above can give highly connected or even totally disconnected graphs. Deletion rate in particular needs to be tuned. What can the model say about this? It is not difficult to show [35] that the rate of link removal defines two phases separated by a critical value δc. This is obtained from an average (mean field) description that gives a dynamical equation for the average degree:

dK(n)dn=2αn+12δαnK(n), 2.2

where n is the proteome size (acting as a time scale). By solving this equation, a steady-state K* is obtained, namely:

K=limnK(n)=2α2δ1. 2.3

One phase, associated with deletion rates δ > δc, involves a disconnected proteome (fragmented into different parts), and there is another phase where it becomes rapidly hyperconnected. At the critical point separating these two phases (figure 1e), we see the emergence of a sparse, but connected graph associated with a percolation transition. In other words, there is a point where the protein interaction network becomes a true system (with paths connecting all elements) at a low cost. This is the region where the model fits the data in the two main models of duplication and divergence very well.

Perhaps more surprising, the networks resulting from tinkering also display modularity: they appear organized in subsets whose elements are more connected among themselves than with the rest of the web [37]. This was unexpected, since modularity is considered one of the most important patterns associated with adaptive, functional traits of biological complexity [4547]. Multiple cellular functions are carried by subsets of proteins, including developmental modules. In general, biological modularity provides the right trade-off between specialization and integration [4850]. Against that intuition, it was shown that modularity can emerge for free. As it occurs with other network patterns to be discussed below, it might be the inevitable outcome of reuse. Similarly, a common statistical pattern is also found at the level of the so-called network motifs [40], which were already known from early work on social and ecological webs [51]. Importantly, since modularity is considered an important component of evolvability, the topological modularity emerging from the tinkered dynamics would have an immediate impact on adaptability.

The topological structure of protein nets, as discussed above, might be largely a by-product of the network construction process. Tinkering is an inevitable constraint in the process of increasing complexity through genome expansion. This is of course one part of the whole range of possible changes affecting evolving genomes. Other processes such as de novo gene formation or whole-genome duplications would influence the outcome [52], but the main driver shaping the interaction network is tinkering [53].

There is an important consequence of these results within the context of evolutionary theory. The observed patterns, as mentioned above, describe a set of correlations that require an explanation. The network organization found in these graphs includes structural traits that could be interpreted as resulting from selective pressures. But sometimes structural patterns have no adaptive meaning [1]. They are actually examples of what Stephen Jay Gould and Richard Lewontin called spandrels [54]. The term spandrel, borrowed from the vocabulary of architecture by these authors, defines the space between two arches or between an arch and a rectangular enclosure. In evolutionary biology, a spandrel is a phenotypic characteristic that evolved as a side effect of a true adaptation [55].

The defining traits of evolutionary spandrels can be summarized as follows. (a) They are the by-product of building rules. They have intrinsic, well-defined, non-random features. (b) Their structure reveals some of the underlying rules of the system’s construction. This is also consistent with previous studies [56] showing that stochastic fluctuations in random graphs can display statistically significant modularity, even when no preferential attachment rules are involved. Evolutionary models (involving very small neural or genetic networks with feed-forward discrete dynamics) have shown that modularity can result from selection pressures [57]. The scale of the networks considered here (the protein maps) is much larger and purely topological. Future models of proteome evolution should contain a dynamical description in order to properly weight the potential roles played by reuse versus functionality.

The findings described above support the idea that the proteome map contains a considerable number of independent (or early-independent) statistical correlations that can be explained by the duplication–rewiring model. Although an alternative model including growth (an inevitable part of genome growth) along with functional traits would also fit all these topological trends, it is important to realize that it would necessarily require a more sophisticated description. We believe that an important implication is that the specific values of the network measures, along with the presence of modularity or non-random distributions of motifs, do not require selection. This finding, as shown below, is far from accidental.

3. Software networks: human tinkering

Technology, as we mentioned above, is different from biology in a fundamental way. Jacob’s conjecture about this seems very well established. There is no intentional design in evolution, but it turns out that the limitations imposed by technological complexity impose an effective design barrier to engineers. To illustrate this idea, we will use the field of software engineering. The reason for this choice is twofold. On the one hand, software projects allow the extraction of a network of interactions among different parts in a meaningful way, Second, software has become increasingly relevant since its inception in the 1950s and has become, even more than the Internet and the power grid, the most important (but largely invisible) technology [5862].

Like many technologies, a software system consists of a large number of elements interacting with each other. Software is similar to a collection of linked pages in a website, but instead of being readable by humans, it is written in a programming language meant for computer processors [63]. Consider the so-called dependency graph G = (V, E), where a vertex viV is a program file (e.g. written in a programming language like Java, C or C++). The links between files are described by a (directed) edge eijE, indicating a code dependency between source files vi and vj, which is encoded with the reserved keyword include [64]. No other information is considered by the network reconstruction algorithm, which means that we are not including any further information, such as functionality. We keep ourselves in the purely topological level. Figure 2b shows an example of a real software graph. Using this network reconstruction, it was shown that different large-scale software graphs shared a surprisingly universal set of traits.

Figure 2.

Figure 2.

Modelling tinkered evolution in software dependency graphs. (a) A simple growth model simulates tinkering in software development processes. A programmer creates a new file by inheriting source code (and their dependencies) from other, existing m source code files or targets (each target file is referred with probability p). Afterwards, code editing removes some dependencies from the new node with probability q. Our model generates networks that look like real dependency graphs. For example, in (b) the software architecture of XFree86 (a very popular Unix package developed since 1992) displays scale-free behaviour. In (c), the cumulative distributions associated with Pi(k) and Po > (k) are shown. The power-law fit of the cumulative in-degree distribution follows a power law with γic1, while the out-degree distribution is exponential. (d) From left to right, we show the temporal evolution of a software network generated with tinkering rules. In spite of not assuming any kind of function, duplication and rewiring rules predict the heterogeneity of real dependency graphs, the emergence of clusters of source code files and even the temporal evolution of the average connectivity. (Online version in colour.)

One in particular is the marked difference and statistical nature of the in- and out-degree distributions [59,60]. These distributions, to be indicated as Pi(k) and Po(k), respectively, indicate the probability of having k links coming to or leaving the node, respectively. They are very different: the first follows a power law, i.e. P>(k)kiγi, whereas the second follows an exponential decay, as displayed in figure 2c with the cumulative distributions. In order to compute them, we just need to integrate the degree distribution P(k), i.e.

P>(k)=kKmP(k)dk, 3.1

where Km is the largest degree value. If the original distribution is already a power law, i.e. P(k) = kγ, it is easy to show that

P>(k)=1γ1(kγ1Kmγ1)kγ1γ1, 3.2

where the last approximation is valid for Km ≫ 1. The fit to the exponent is particularly good for these fat-tailed distributions using the accumulated form. For the software graphs discussed here, the in-degree distribution has a characteristic value very close to γ ≈ 2 in all the analysed systems [60]. This is consistent with the pervasiveness of scaling laws in software graphs, which seems largely independent of the choice of programming languages and/or specific functional traits [58,6567].

What is the origin of these patterns? Why are they so close, despite the obvious dissimilarities to be expected from different engineering projects? The response is provided through two arguments. One is the known fact that software projects, as much as they are planned and serve to a given objective, are developed by engineers who create a system that grows over time. Diverse parts of the system are created by programmers with a good picture of the global organization and the different parts that need to be assembled, in principle, following well-defined principles [68]. But, as the network grows, that knowledge becomes less detailed and interactions among components are more unpredictable, leading to conflicts between subparts. A common strategy is to reuse extant parts of the network and use them as the starting point for a new component.

Code duplication in software projects is much more common than one would expect. Reuse is a natural process during development of complex software, where new code shares common traits with previously created elements. Duplicate code is reused at different scales, including large blocks containing millions of lines of code. Useful blocks deal with specific tasks and they are often encapsulated in well-defined software modules. Internally, these modules comprise sets of densely interconnected software elements [69,70]. Since they are sophisticated structures, once a block has been created, a large part of its structure is more likely to be reused in the future. As the system becomes more complex, programmers rely more frequently on duplication (also known as cloning), since they know from experience that these structures are quite stable and behave well. Empirical analysis of software evolution confirms that duplicate codes are more stable than non-duplicated codes [71]. In this way, the software dependency network grows in an increasingly complex and integrated way, and their interdependencies naturally lead to reuse (figure 2a).

The universal class of structural patterns obtained by duplication rules is consistent with the hierarchical architecture of software networks. Although human minds take part in the manufacturing of software technology (instead of the blind watchmaker) and software systems cannot repair themselves [72], tinkering appears to be the main driver for the large-scale software structure. In addition, software design principles include fault-tolerance and extensibility, and the latter is closely related to the capability of software to evolve. The fact that a simple growth model (figure 2d) is able to explain most of the statistical properties of software graphs [60] is an unexpected turn to Jacob’s views: even the engineer, who consciously plans for the future, cannot avoid tinkering when preserving software stability.

A simple model, known as the Growing Network with Copying [73], explains the asymmetric nature of the two degree distributions and the robust scaling exponents. The rules are summarized in figure 2a and include directed links. The network grows by introducing a single node at a time. This new node links to m randomly selected target node(s) with probability p, as well as to all ancestor nodes of each target, with probability q. Specifically, if we label each node with a number indicating its age (number one is the oldest), a new node (number 6) attaches to target node 4 with probability p. This new node inherits every link from the target node (dashed links), with probability q. The corresponding mathematical model for the average number of links L(n) is now

dL(n)dn=mp+mqLn. 3.3

Once solved, it gives us the average degree 〈Kn〉 = L(n)/n. Interestingly, the solution to this equation gives three main regimes: (a) a constant average degree

Knmp1mq,

when mq < 1, (b) a rapidly growing phase with accelerated increase

KnNmq1

(ending up in a fully connected web) when mq > 1 and (c) a marginal state given by mq = 1 that displays a logarithmic growth, i.e.

KnLnN.

Interestingly, software graphs seem to grow right at this critical point [59,60] separating no increase in the number of dependencies from a super-connected system. As shown by Kaprivski and Redner [73], the model predicts the previously described distributions at the marginal point, i.e. Pi(k) ∼ k−2 and an exponential decay for Po(k).

The universal class of structural patterns obtained by duplication rules is consistent with the hierarchical architecture of software networks. Although human minds take part in the manufacturing of software technology (instead of the blind watchmaker) and software systems cannot repair themselves [72], tinkering appears to be the main driver for the large-scale software structure. In addition, software design principles include fault-tolerance and extensibility, and the latter is closely related to the capability of software to evolve. The fact that a simple growth model is able to explain most of the statistical properties of software graphs [59,60] is an unexpected turn to Jacob’s views: even the engineer who consciously plans for the future cannot avoid tinkering when preserving software stability.

We can find common signatures of tinkering in the statistics of software subgraphs. As happened with network motifs for cellular networks, here too the distribution of motifs in dependency graphs is essentially a by-product of tinkering. Given a (sparse) subgraph motif Ω, the average number of occurrences 〈G〉 of this motif in an uncorrelated scale-free network scales with the subgraph size and the exponent of the in-degree distribution [74]:

GNng+sγi+1, 3.4

where s is the maximum in-degree in the motif and n and g are the numbers of nodes and links in the motif, respectively. This scaling is actually valid for 2 < γi < s + 1. Interestingly, this prediction is in very good agreement with the number of appearances of motifs in software networks [60].

It has been proposed that network features (e.g. motif abundances) reveal functions [40]. However, software and proteome networks display very similar structural features, including scaling exponents, motif distribution and modularity, which can be readily explained using duplication–rewiring mechanisms. The remarkable convergence between natural and artificial networks suggests that the origin of motif abundances is neutral to selection. Assigning specific functions to motifs does not take into account the plasticity of complex systems. Indeed, the same network motif can perform many different functions depending on global requirements [75]. In this context, the origin of universal network patterns might be largely independent of specific selection pressures, but this does not mean that they are not advantageous.

Many other relevant findings emerged from the first study of software maps [76]. One of them was the concept of breakdown of modularity [77]: because of a tendency of software projects to become more disordered (in terms of the pattern of dependencies), modules can become more interconnected. Because of this, changes propagate [78]. Within the context of software engineering, shortcuts among modules would allow changes made in one module to other, apparently distant parts. These kinds of phenomena were afterwards described within the context of brain networks, where nowadays the concept of disconnection disease has become a central concept. It would be key to understand faulty intermodule communication in, for example, Alzheimer’s disease or schizophrenia [7983].

4. Evolution of ecological tinkered networks

On a much larger scale, consider the large-scale organization of ecological systems, as described in terms of complex networks. There is a long tradition within ecology where networks of some kind have been studied. The reason is obvious when we realize that ecology has always been a systems science, with ecological interactions placed at the centre of any meaningful description of communities and their environments. However, the rise of Network Science provided a novel view of the fabric of nature. The early papers on ecological networks [8487] soon indicated that they shared the complexity–fragility trade-offs with other complex systems. A very important implication of that was the existence of network co-extinctions and cascades promoted by the propagation of species losses through the trophic structure [87]. Some simple, elegant models revealed, here too, that simple rules could help the understanding of the origins of food web graphs [8890].

Along with predator–prey interactions, which include carnivorous interactions that benefit one organism (predator) to the detriment of another (prey), another important class of exchanges deals with cooperative interactions. This is the case of mutualistic webs, which are associated with pairwise relations where the two species help each other [91,92]. This can occur through a diverse number of ways, including pollination (transfer of pollen from a male plant to a female plant by another agent, including animals, insects and birds) or through frugivory (dispersal of seeds along with the fruits consumed by an agent). In both cases, it is assumed that a long-term coevolutionary dynamics has been shaping these interactions. Some examples that are often mentioned illustrate this coevolutionary path with specialized pairs. But a more appropriate picture tells us that there is a range of possible patterns of interaction where generalists also abound.

The architecture of mutualistic webs has been shown to display well-defined, common structural regularities already discussed above. In contrast with previous examples, a bipartite organization is present: there are two distinct classes of organisms (such as plants and their pollinators). They are small worlds [27,85,93] and the distribution of connections is known to follow a truncated power-law shape:

P(k)kγexp(kkc), 4.1

where the exponent γ for this distribution has a value close to one. Moreover, several additional structural patterns have also been found. These include a highly asymmetric matrix of interactions [94] and, more importantly, the presence of nestedness [95]. In a nested network, both generalists and specialists are more likely to interact with generalists while interactions among specialists are rare. Nestedness has been shown to correlate positively with biodiversity [92,96].

We ask whether speciation and divergence rules alone can explain structural regularities of mutualistic networks. This approach makes strong assumptions. First, we assume that species are present or absent and their abundances (and other species-specific traits) do not play any part. Second, weighted links represent quantitative interactions among species. The strength of interactions evolves in time following a simple structural approach. The large-scale network structure is the combination of two processes taking place at evolutionary time scales: (a) new species are engendered from old ones through speciation and (b) environmental or stochastic factors vary the presence and the strength of species–species interactions.

Unlike our two previous examples involving unimodal networks, our model addresses bipartite graphs G = (A, P, E) now including two subsets A(t) and P(t) that correspond to different species. The time t needs to be understood as an evolutionary time step t. Bipartite networks only have links between species of different kinds, that is, when there is a mutualistic relationship. The quantitative impact of animals on plants is weighted through the matrix ωij = ω(AiPj), which gives the strength of interaction between animal species Ai and plant species Pj. The quantitative approach leads to the use of spectral radius ρ(ω), which is a more rigorous assessment of nestedness than previous studies [97,98]. From this weighted network, we can also limit ourselves to the topological network, where ωij = ωji = 1 when a positive interaction exists and zero otherwise.

A schematic in figure 3a illustrates the simple set of neutral rules used to evolve mutualistic networks [99]. During speciation events (denoted by S), a new animal species Ak inherits all the mutualistic interactions from its parent species, ωkj = ωij for all j = 1, …, |P| (see left branch in figure 3a). A similar speciation event takes place for plant species (see right branch in figure 3a). This splitting process derives two new species from their common ancestor. In the long term, the lineages diverge owing to the random redistribution of link weights between parent and daughter species. Link mutations (denoted by D) satisfy two additional requirements. First, there is a maximum value for the sum of weights attached to any species, i.e. jωji1. And second, links whose weight falls below a minimal threshold are always removed, which can lead to the eventual extinction of whole species, i.e. if jωji=0. This combination of rules represents natural resource constraints, e.g. too many animals feeding on the same plant would rapidly deplete it.

Figure 3.

Figure 3.

Modelling tinkering evolution in ecological networks. On a large scale, involving whole ecosystems, rules of tinkering can be understood in terms of species-level evolutionary events. (a) In particular, the large-scale organization of mutualistic webs can be obtained from a simple model where speciation (S) of extant species is the equivalent to duplication events, whereas species divergence (D) is here related to link weight redistribution over evolutionary time. Using this model, the resulting webs (b) display truncated power laws (c) fully consistent (in average and diversity) with observable ones. (d) The spectral radius ρ(ω) (a quantitative measure of nestedness) is plotted against the network size (S) for a large sample of random networks evolved by duplication and divergence (node colour represents the statistical significance of the measured nestedness; higher values are more significant). Open circles correspond to real networks, including the one displayed in panel (b), while the black line defines the analytical prediction for the random model. (Online version in colour.)

Speciation divergence reproduces the observed patterns of network architecture, and without assuming any kind of adaptive mechanism. To validate our predictions, a database (IWDB) of n = 25 weighted mutualistic webs (figure 3b is an example of real network) is compared against a large set of simulated bipartite networks randomly sampled from the full parameter space. The predicted degree distribution follows the truncated power-law found in empirical data (figure 3c) and analytical models. Not only degree heterogeneity emerges from the neutral model, but all other measurable network attributes, including among them nestedness (figure 3d). But nestedness has been shown to be a by-product of the heterogeneity [100]. Given the lack of a fitness function driving selection, the agreement between theory and data supports the non-adaptive nature of the observed architecture [99]. Macroevolutionary patterns shape the global architecture of mutualistic networks, while adaptation and selection work on top of universal features derived from general principles of network growth. Recent work further supports the importance of ecological spandrels in community assembly [101].

As a final point, let us mention that the model discussed above does not stand alone here. In [102], the authors show that nestedness and heterogeneous degree distributions (but not other features) can emerge from an optimization principle that maximizes species abundances. Their model, however, works over ecological time scales, whereas the question we pose here is to what extent simple evolutionary models can account for observed structural patterns. In this respect, [103] developed a quantitative genetic model that allows inference of network structure over evolutionary time. Their model is far more complex that the one presented here and matches some observations under much more restrictive conditions. A possible extension of our model, using some class of digital genome species description, could help to discover whether some coevolutionary patterns found in plant–pollinator webs [91] can be reproduced under our framework.

5. Discussion: tinkering and beyond

One specially important consequence of our proposal is that null models are fundamental in order to discard potential explanations to given phenomena based on optimization or selection. Too often, the observation of some particular pattern is interpreted in terms of optimal design or at least as evidence of some kind of adaptive trait. This is a traditional tendency among biologists while looking for explanations under the absence of solid arguments (the same can be said about many physicists with a limited understanding of biology and evolution). Instead, we suggest that the fundamental constraints imposed by extensive reuse pervades the presence of most network-level structures. However, they have to be interpreted as byproducts of the amplification process with no adaptive a priori functional meaning, i.e. they are spandrels. Heterogeneity, small-world patterns, nestedness, asymmetries and even modularity are instances of these non-adaptive features.

In this paper, we have reviewed three relevant examples illustrating this conceptual framework that show how duplication and rewiring inevitably occur either as evolutionary tinkering or as a consequence of a complexity design horizon. The latter provides an unexpected twist to Jacob’s proposal: the engineer can sometimes act as a tinkerer. This is a somewhat paradoxical situation: as a software project keeps growing, complexity also grows in a nonlinear fashion and individual understanding of the system decreases. However, emergent patterns also appear, such as scale-freeness or a well-defined distribution of motifs. Because of the inevitable tendency towards heterogeneous distributions of links resulting from the amplification process, several desirable properties emerge for free: the efficient connectivity associated with the presence of hubs, along with the sparse connectivity (and thus low-cost in terms of connections) guarantees efficient propagation of information among subparts. The modular or nested organization facilitates the development of specialized (but integrated) subparts. Here too, division of labour can be selected on top of the incipient modular structure. The tinkering scenario thus enhances the chances for natural selection to exploit an advantageous network topology. This idea is somewhat related to Kauffman’s concept of order for free [15] where dynamical attractors in randomly connected networks exhibit remarkable stability and robustness properties when average connectivity is tuned. Selection would take advantage of such favourable dynamical states. Both in our topological framework and in the Boolean network scenario, there is no need to use selective forces to explain the emergent phenomena, nor is selection irrelevant. But the latter would be operating on top of the emergent patterns, instead of generating them.

The architecture of these complex networks and our knowledge of the microscopic rules operating in each case study provide the basis for identifying the origins of web complexity. What about other systems, where tinkering might be less relevant? Optimality can certainly work in some cases, particularly in relation with tree-like structures where global optima can be reached through evolutionary search or energy minimization principles [104]. Most evolutionary paths towards optimality in networks, particularly spatial ones, require consideration of a conflict between efficient communication and wiring costs ([105107] and references therein) or conflicts between different subparts [108110]. In most cases, percolation and geometry constraints (along with graph heterogeneity) can play a crucial role in limiting the space of possible networks that can exist [111,112].

Optimization and emergence seem to belong to totally different domains. They are not when dealing with evolved biological nets, optimization processes involving a conflict between two (or more) constraints can lead to phase transitions where the conflict is resolved along with the emergence of some inevitable network organization features. An example is provided by an information theory model of emergence of language [106,113,114]. Language has been a great challenge to scholars from very different disciplines and remains one of the most difficult to explain as a major evolutionary transition [115]. Interestingly, here too a set of components (words) interact in complex ways and some striking statistical patterns seem to be universal. This is the case of the so-called Zipf’s Law. Imagine we count all words that appear within a text and rank them from the most to the least frequent. Zipf’s Law is a scaling law, common to all known languages, and says that the frequency of a word within a given (long) text decays with the inverse of its rank. In this way, most words are rare while a small number are very common. How is this connected with the way words interact?

One of the most successful examples of application of network science is the study of language as a web of connected words. Specifically, using diverse ways of relating words by their appearance within sentences [116], semantic relations [117119] or syntax [106,120], it was early shown that the resulting graphs shed light on the the functional and evolutionary aspects of their global organization [121]. A very simple illustration is provided by co-occurrence graphs obtained from written texts (figure 4a) from which two words are considered to be linked if they appear one after the other within (at least) one sentence (figure 4b). By using this definition, a scale-free network is obtained (figure 4c). Specifically, the frequency distribution of words having k co-occurrences with others was shown to scale as P(k)kγ. Several interesting properties can be detected—among others, very short path lengths, high clustering and the lack of links between prepositions and other words acting as hubs.

Figure 4.

Figure 4.

Language networks exhibit scale-free structure and several kinds of correlations. A simple way of generating a web of words is the use of co-occurrence links. Here, two words from a given text (a) are connected if they appear one after the other (at least once) within a given sentence (b). In (c), we display a zoom to the co-occurrence (purely topological) network obtained from the first paragraphs of Augie Wren's Xmas Tale by Paul Auster. The resulting web has some marked features, such as the lack of connections between hubs (disassortativity) and very short path lengths. (Online version in colour.)

It can be shown that some of these properties emerge for free from a simple model based on a conflict between cognitive efforts [106]. In a nutshell, language complexity would be the result of simultaneously reducing the cost of both speaker and hearer [122] by minimizing the error on both sides of the communication channel. Using two well-defined quantities from information theory as measures of efforts, it was shown that a phase transition takes place when both efforts are equal. At that point, Zipf’s Law emerges as a universal pattern and the underlying network of word–word interactions also displays robust properties shared with real language nets even at the syntax level [120,123126].

Tinkering processes are one major driving force in the historical and evolutionary dynamics of complex networks. If duplication-divergence rules are responsible for network growth, they deeply constrain the structural outcome, creating graph correlations that are measurable and largely universal. As a consequence, order comes for free: observable regularities are the expected result of amplification processes. Two important lessons are of relevance to evolutionary dynamics. The first is that convergent patterns found at the network level can be largely explained by the mathematics of network growth under reuse of parts. Second, a considerable amount of topological precursors required to develop adaptive traits and robustness are in place with no active selection.

These lessons can be extended to technological systems, where network organization has been shown to be irreducible to the individual-level decisions based on rational engineering practices [127,128]. This irreducible complexity is at the core of the structuralist view of evolution [1,129] that has been particularly relevant within the context of development. Structuralism holds the view that self-organization and constraints play a leading role in defining the space of the possible, sometimes as a consequence of physical constraints [130,131]. Our view is that topological constraints play a similar role in the context of network complexity.

Acknowledgements

We thank the members of the Complex Systems Lab for very stimulating and useful discussions. R.S. thanks Stuart Kauffman and the late Brian Goodwin for many conversations on evolution, complexity and networks. S.V. thanks Javier Salvador-Calvo, Francisco José García-Ojalvo and Jose Paredes for many discussions around the implications of software networks. Both authors acknowledge the inspiration of John Lokitis.

Data accessibility

This article has no additional data.

Authors' contributions

Both authors wrote the paper.

Competing interests

We declare we have no competing interests.

Funding

This work has been supported by the Botín Foundation by Banco Santander through its Santander Universities Global Division, a MINECO FIS2015-67616 fellowship and the Santa Fe Institute (RS) and by the Spanish Ministry of Economy and Competitiveness, grant no. FIS2016-77447-R MINECO/AEI/ FEDER and European Union (to S.V.). This work has also been supported by Secretaria d’Universitats i Recerca del Departament d’Economia i Coneixement de la Generalitat de Catalunya and by the ‘María de Maeztu’ Programme for Units of Excellence in R&D (MDM- 2014-0445), and the CERCA Programme of the Generalitat de Catalunya (R.S. and S.V.).

References

  • 1.Alberch P. 1989. The logic of monsters: evidence for internal constraint in development and evolution. Geobios 22, 21–57. ( 10.1016/S0016-6995(89)80006-3) [DOI] [Google Scholar]
  • 2.Gell-Mann M. 1995. The quark and the jaguar: adventures in the simple and the complex. New York, NY: Macmillan. [Google Scholar]
  • 3.Margalef R. 1968. Perspectives in ecological theory. Chicago, IL: University of Chicago Press. [Google Scholar]
  • 4.May RM. 1973. Stability and complexity in model ecosystems. Princeton, NJ: Princeton University Press. [Google Scholar]
  • 5.Solé RV, Bascompte J. 2006. Self-organization in complex ecosystems. Princeton, NJ: Princeton University Press. [Google Scholar]
  • 6.Pimm SL. 1984. The complexity and stability of ecosystems. Nature 307, 321–326. ( 10.1038/307321a0) [DOI] [Google Scholar]
  • 7.DeFelipe J. 2006. Brain plasticity and mental processes: Cajal again. Nat. Rev. Neurosci. 7, 811 ( 10.1038/nrn2005) [DOI] [PubMed] [Google Scholar]
  • 8.Bassett DS, Sporns O. 2017. Network neuroscience. Nat. Neurosci. 20, 353 ( 10.1038/nn.4502) [DOI] [PMC free article] [PubMed] [Google Scholar]
  • 9.Sporns O, Chialvo DR, Kaiser M, Hilgetag CC. 2004. Organization, development and function of complex brain networks. Trends Cogn. Sci. 8, 418–425. ( 10.1016/j.tics.2004.07.008) [DOI] [PubMed] [Google Scholar]
  • 10.Goldenfeld N. 2018. Lectures on phase transitions and the renormalization group. Boca Raton, FL: CRC Press. [Google Scholar]
  • 11.Stanley HE. 1971. Phase transitions and critical phenomena. Oxford, UK: Clarendon Press. [Google Scholar]
  • 12.Stein DL, Newman CM. 2013. Spin glasses and complexity. Princeton, NJ: Princeton University Press. [Google Scholar]
  • 13.Solé RV. 2011. Phase transitions. Princeton, NJ: Princeton University Press. [Google Scholar]
  • 14.Anderson PW. 1972. More is different. Science 177, 393–396. ( 10.1126/science.177.4047.393) [DOI] [PubMed] [Google Scholar]
  • 15.Kauffman SA. 1993. The origins of order: self-organization and selection in evolution. Oxford, UK: Oxford University Press. [Google Scholar]
  • 16.Goodwin B. 1994. How the leopard changed its spots: the evolution of complexity. Princeton, NJ: Princeton University Press. [Google Scholar]
  • 17.Solé R, Goodwin BC. 2001. Signs of life: how complexity pervades biology. New York, NY: Basic Books. [Google Scholar]
  • 18.Stauffer D, Aharony A.. 2018. Introduction to percolation theory. London, UK: Taylor & Francis. [Google Scholar]
  • 19.Albert R, Barabási AL. 2002. Statistical mechanics of complex networks. Rev. Mod. Phys. 74, 47 ( 10.1103/RevModPhys.74.47) [DOI] [Google Scholar]
  • 20.Barabási AL. 2016. Network science. Cambridge, UK: Cambridge University Press. [Google Scholar]
  • 21.Boccaletti S, Latora V, Moreno Y, Chavez M, Hwang DU. 2006. Complex networks: structure and dynamics. Phys. Rep. 424, 175–308. ( 10.1016/j.physrep.2005.10.009) [DOI] [Google Scholar]
  • 22.Dorogovtsev SN, Mendes JFF. 2002. Evolution of random networks. Adv. Phys. 51, 1079–1187. ( 10.1080/00018730110112519) [DOI] [Google Scholar]
  • 23.Estrada E. 2012. The structure of complex networks: theory and applications. Oxford, UK: Oxford University Press. [Google Scholar]
  • 24.Newman ME. 2003. The structure and function of complex networks. SIAM Rev. 45, 167–256. ( 10.1137/S003614450342480) [DOI] [Google Scholar]
  • 25.Gross JL, Yellen J. 2005. Graph theory and its applications. Boca Raton, FL: CRC Press. [Google Scholar]
  • 26.Milgram S. 1967. The small world problem. Psychol. Today 2, 60–67. [Google Scholar]
  • 27.Watts DJ, Strogatz SH. 1998. Collective dynamics of ‘small-world’ networks. Nature 393, 440–442. ( 10.1038/30918) [DOI] [PubMed] [Google Scholar]
  • 28.Solé RV, Ferrer-i-Cancho R, Montoya J, Valverde S. 2003. Selection, tinkering, and emergence in complex networks. Complexity 8, 20–33. ( 10.1002/cplx.10055) [DOI] [Google Scholar]
  • 29.Gross T, Blasius B. 2007. Adaptive coevolutionary networks: a review. J. R. Soc. Interface 5, 259–271. ( 10.1098/rsif.2007.1229) [DOI] [PMC free article] [PubMed] [Google Scholar]
  • 30.Perc M, Szolnoki A. 2010. Coevolutionary games—a mini review. BioSystems 99, 109–125. ( 10.1016/j.biosystems.2009.10.003) [DOI] [PubMed] [Google Scholar]
  • 31.Jacob F. 1977. Evolution and tinkering. Science 196, 1161–166. ( 10.1126/science.860134) [DOI] [PubMed] [Google Scholar]
  • 32.Colizza V, Flammini A, Maritan A, Vespignani A. 2005. Characterization and modeling of protein–protein interaction networks. Physica A 352, 1–27. ( 10.1016/j.physa.2004.12.030) [DOI] [Google Scholar]
  • 33.Jeong H, Mason SP, Barabási AL, Oltvai ZN. 2001. Lethality and centrality in protein networks. Nature 411, 41 ( 10.1038/35075138) [DOI] [PubMed] [Google Scholar]
  • 34.Stelzl U. et al. 2005. A human protein–protein interaction network: a resource for annotating the proteome. Cell 122, 957–968. ( 10.1016/j.cell.2005.08.029) [DOI] [PubMed] [Google Scholar]
  • 35.Pastor-Satorras R, Smith E, Solé RV. 2003. Evolving protein interaction networks through gene duplication. J. Theor. Biol. 222, 199–210. ( 10.1016/S0022-5193(03)00028-6) [DOI] [PubMed] [Google Scholar]
  • 36.Rodriguez-Caso MA, Medina C, Solé RV. 2005. Topology, tinkering and evolution of the human transcription factor network. FEBS J. 272, 6423–6434. ( 10.1111/j.1742-4658.2005.05041.x) [DOI] [PubMed] [Google Scholar]
  • 37.Solé RV, Valverde S. 2008. Spontaneous emergence of modularity in cellular networks. J. R. Soc. Interface 5, 129–133. ( 10.1098/rsif.2007.1108) [DOI] [PMC free article] [PubMed] [Google Scholar]
  • 38.Vázquez A, Flammini A, Maritan A, Vespignani A. 2003. Modeling of protein interaction networks. Complexus 1, 38–44. ( 10.1159/000067642) [DOI] [Google Scholar]
  • 39.Maslov S, Sneppen K. 2002. Specificity and stability in topology of protein networks. Science 296, 910–913. ( 10.1126/science.1065103) [DOI] [PubMed] [Google Scholar]
  • 40.Milo R, Shen-Orr S, Itzkovitz S, Kashtan N, Chklovskii D, Alon U. 2002. Network motifs: simple building blocks of complex networks. Science 298, 824–827. ( 10.1126/science.298.5594.824) [DOI] [PubMed] [Google Scholar]
  • 41.Vazquez A. 2003. Growing network with local rules: preferential attachment, clustering hierarchy, and degree correlations. Phys. Rev. E 67, 056104 ( 10.1103/PhysRevE.67.056104) [DOI] [PubMed] [Google Scholar]
  • 42.Teichmann SA, Babu MM. 2004. Gene regulatory network growth by duplication. Nat. Genet. 36, 492 ( 10.1038/ng1340) [DOI] [PubMed] [Google Scholar]
  • 43.Arabidopsis Interactome Mapping Consortium. 2011. Evidence for network evolution in an Arabidopsis interactome map. Science 333, 601–607. ( 10.1126/science.1203877) [DOI] [PMC free article] [PubMed] [Google Scholar]
  • 44.van Noort V, Snel B, Huynen MA. 2004. The yeast coexpression network has a small-world, scale-free architecture and can be explained by a simple model. EMBO Reports 5, 280–284. ( 10.1038/sj.embor.7400090) [DOI] [PMC free article] [PubMed] [Google Scholar]
  • 45.Raff RA. 1996. The shape of life. Chicago, IL: Chicago University Press. [Google Scholar]
  • 46.Wagner GP, Pavlicev M, Cheverud JM. 2007. The road to modularity. Nat. Rev. Genet. 8, 921–931. ( 10.1038/nrg2267) [DOI] [PubMed] [Google Scholar]
  • 47.Hartwell LH, Hopfield JJ, Leibler S, Murray AW. 1999. From molecular to modular cell biology. Nature 402, C47–C52. ( 10.1038/35011540) [DOI] [PubMed] [Google Scholar]
  • 48.Calabretta R, Nolfi S, Parisi D, Wagner GP. 2000. Duplication of modules facilitates the evolution of functional specialization. Artif. Life 6, 69–84. ( 10.1162/106454600568320) [DOI] [PubMed] [Google Scholar]
  • 49.Lipson H, Pollack JB, Suh NP. 2002. On the origin of modular variation. Evolution 56, 1549–1556. ( 10.1111/j.0014-3820.2002.tb01466.x) [DOI] [PubMed] [Google Scholar]
  • 50.Wagner GP. 1995. June Adaptation and the modular design of organisms. In European Conference on Artificial Life, Third European Conference on Artificial Life, Granada, Spain, 4–6 June 1995 (eds Morán F, Moreno A, Merelo JJ, Chacón P), pp. 315–328. Berlin, Heidelberg, Germany: Springer. [Google Scholar]
  • 51.Stone L, Simberloff D, Artzy-Randrup Y. 2019. Network motifs and their origins. PLoS Comput. Biol. 15, e1006749 ( 10.1371/journal.pcbi.1006749) [DOI] [PMC free article] [PubMed] [Google Scholar]
  • 52.Roth C, Rastogi S, Arvestad L, Dittmar K, Light S, Ekman D, Liberles DA. 2007. Evolution after gene duplication: models, mechanisms, sequences, systems, and organisms. J. Exp. Zool. B 308, 58–73. ( 10.1002/jez.b.21124) [DOI] [PubMed] [Google Scholar]
  • 53.Middendorf M, Ziv E, Wiggins CH. 2005. Inferring network mechanisms: the Drosophila melanogaster protein interaction network. Proc. Natl Acad. Sci. USA 102, 3192–3197. ( 10.1073/pnas.0409515102) [DOI] [PMC free article] [PubMed] [Google Scholar]
  • 54.Gould SJ, Lewontin RC. 1979. The spandrels of san marco and the Panglossian paradigm: a critique of the adaptationist programme. Proc. R. Soc. Lond. B 205, 581–598. ( 10.1098/rspb.1979.0086) [DOI] [PubMed] [Google Scholar]
  • 55.Solé RV, Valverde S. 2006. Are network motifs the spandrels of cellular complexity? Trends Ecol. Evol. 21, 419–422. ( 10.1016/j.tree.2006.05.013) [DOI] [PubMed] [Google Scholar]
  • 56.Guimera R, Sales-Pardo M, Amaral LAN. 2004. Modularity from fluctuations in random graphs and complex networks. Phys. Rev. E 70, 025101 ( 10.1103/PhysRevE.70.025101) [DOI] [PMC free article] [PubMed] [Google Scholar]
  • 57.Clune J, Mouret JB, Lipson H. 2013. The evolutionary origins of modularity. Proc. R. Soc. B 280, 20122863 ( 10.1098/rspb.2012.2863) [DOI] [PMC free article] [PubMed] [Google Scholar]
  • 58.Valverde S, Ferrer-i-Cancho R, Solé RV. 2002. Scale-free networks from optimal design. Europhys. Lett. 60, 512–517. ( 10.1209/epl/i2002-00248-2) [DOI] [Google Scholar]
  • 59.Valverde S, Solé RV. 2005. Network motifs in computational graphs: a case study in software architecture. Phys. Rev. E 72, 026107 ( 10.1103/PhysRevE.72.026107) [DOI] [PubMed] [Google Scholar]
  • 60.Valverde S, Solé RV. 2005. Logarithmic growth dynamics in software networks. Europhys. Lett. 72, 858–864. ( 10.1209/epl/i2005-10314-9) [DOI] [Google Scholar]
  • 61.Valverde S, Solé RV. 2015. Punctuated equilibrium in the large-scale evolution of programming languages. J. R. Soc. Interface 12, 20150249 ( 10.1098/rsif.2015.0249) [DOI] [PMC free article] [PubMed] [Google Scholar]
  • 62.Valverde S. 2016. Major transitions in information technology. Phil. Trans. R. Soc. B 371, 20150450 ( 10.1098/rstb.2015.0450) [DOI] [PMC free article] [PubMed] [Google Scholar]
  • 63.Friedman DP, Wand M, Haynes CT. 2008. Essentials of programming languages, 3rd edn New York, NY: MIT Press. [Google Scholar]
  • 64.Lakos J. 1996. Large scale C++ software design. New York, NY: Addison-Wesley. [Google Scholar]
  • 65.Concas G, Marchesi M, Pinna S, Serra N. 2007. Power-laws in a large object-oriented software system. IEEE Trans. Soft. Eng. 33, 687–708. ( 10.1109/TSE.2007.1019) [DOI] [Google Scholar]
  • 66.Louridas P, Spinellis D, Vlachos V. 2008. Power laws in software. ACM Trans. Soft. Eng. Meth. 18, 1–26. ( 10.1145/1391984.1391986) [DOI] [Google Scholar]
  • 67.Potanin A, Noble J, Frean M, Biddle R. 2005. Scale-free geometry in OO programs. Commun. ACM 48, 99–103. ( 10.1145/1060710.1060716) [DOI] [Google Scholar]
  • 68.Pressman RS. 2009. Software engineering: a practitioner’s approach, 7th edn Boston, MA: McGraw-Hill. [Google Scholar]
  • 69.Concas G, Marchesi M, Monni C, Orrù M, Tonelli R. 2017. Software quality and community structure in Java software networks. Int. J. Soft. Eng. 27, 1063–1096. ( 10.1142/s0218194017500401) [DOI] [Google Scholar]
  • 70.Subelj L, Bajec M. 2011. Community structure of complex software systems: analysis and applications. Physica A 390, 2968–2975. ( 10.1016/j.physa.2011.03.036) [DOI] [Google Scholar]
  • 71.Krinke J. 2008. Is cloned code more stable than non-cloned code? In SCAM 2008: Eighth IEEE International Working Conference on Source Code Analysis and Manipulation, Beijing, China, 28–29 September 2008 (eds Cordy JR, Zhang L), pp. 57–66. Los Alamitos, CA: IEEE; ( 10.1109/SCAM.2008.14) [DOI] [Google Scholar]
  • 72.Nehaniv CL, Hewitt J, Christianson B, Wernick P. 2006. What software evolution and biological evolution don’t have in common. In Second Int. IEEE workshop on software evolvability, pp. 58–65. London, UK: EEE Computer Society.
  • 73.Krapivsky PL, Redner S. 2005. Network growth by copying. Phys. Rev. E 71, 036118 ( 10.1103/PhysRevE.71.036118) [DOI] [PubMed] [Google Scholar]
  • 74.Itzkovitz S, Milo R, Kashtan N, Ziv G, Alon U. 2003. Subgraphs in random networks. Phys. Rev. E 6, 026127 ( 10.1103/PhysRevE.68.026127) [DOI] [PubMed] [Google Scholar]
  • 75.Widder S, Solé R, Macía J. 2012. Evolvability of feed-forward loop architecture biases its abundance in transcription networks. BMC Syst. Biol. 6, 7 ( 10.1186/1752-0509-6-7) [DOI] [PMC free article] [PubMed] [Google Scholar]
  • 76.Valverde S, Solé RV. 2007. Hierarchical small worlds in software architecture. Dynam. Cont. Discr. Impul. Syst. Ser. B 14, 1–11. [Google Scholar]
  • 77.Valverde S. 2017. Breakdown of modularity in complex networks. Front. Physiol. 8, 497 ( 10.3389/fphys.2017.00497) [DOI] [PMC free article] [PubMed] [Google Scholar]
  • 78.Valverde S. 2007. Crossover from endogenous to exogenous activity in open-source software development. Europhys. Lett. 77, 20002 ( 10.1209/0295-5075/77/20002) [DOI] [Google Scholar]
  • 79.Alexander-Bloch AF, Gogtay N, Meunier D, Birn R, Clasen L, Lalonde F, Lenroot R, Giedd J, Bullmore ET. 2010. Disrupted modularity and local connectivity of brain functional networks in childhood-onset schizophrenia. Front. Syst. Neurosci. 4, 147 ( 10.3389/fnsys.2010.00147) [DOI] [PMC free article] [PubMed] [Google Scholar]
  • 80.Bashan A, Bartsch RP, Kantelhardt JW, Havlin S, Ivanov PCh. 2012. Network physiology reveals relations between network topology and physiological function. Nat. Commun. 3, 702 ( 10.1038/ncomms1705) [DOI] [PMC free article] [PubMed] [Google Scholar]
  • 81.David AS. 1994. Dysmodularity: a neurocognitive model for schizophrenia. Schizophr. Bull. 20, 249–255. ( 10.1093/schbul/20.2.249) [DOI] [PubMed] [Google Scholar]
  • 82.Godwin D, Barry RL, Marois R. 2015. Breakdown of the brain's functional network modularity with awareness. Proc. Natl Acad. Sci. USA 112, 3799–3804. ( 10.1073/pnas.1414466112) [DOI] [PMC free article] [PubMed] [Google Scholar]
  • 83.Meunier D, Lambiotte R, Bullmore ET. 2010. Modular and hierarchically modular organization of brain networks. Front. Neurosci. 4, 200 ( 10.3389/fnins.2010.00200) [DOI] [PMC free article] [PubMed] [Google Scholar]
  • 84.Dunne JA, Williams RJ, Martínez ND. 2002. Food-web structure and network theory: the role of connectance and size. Proc. Natl Acad. Sci. USA 99, 12 917–12 922. ( 10.1073/pnas.192407699) [DOI] [PMC free article] [PubMed] [Google Scholar]
  • 85.Montoya JM, Solé RV. 2002. Small world patterns in food webs. J. Theor. Biol. 214, 405–412. ( 10.1006/jtbi.2001.2460) [DOI] [PubMed] [Google Scholar]
  • 86.Montoya JM, Pimm S, Solé RV. 2006. Ecological networks and their fragility. Nature 442, 259–264. ( 10.1038/nature04927) [DOI] [PubMed] [Google Scholar]
  • 87.Solé RV, Montoya JM. 2001. Complexity and fragility in ecological networks. Proc. R. Soc. Lond. B 268, 2039–2045. ( 10.1098/rspb.2001.1767) [DOI] [PMC free article] [PubMed] [Google Scholar]
  • 88.Camacho J, Guimerá R, Amaral LAN. 2002. Robust patterns in food web structure. Phys. Rev. Lett. 88, 228102 ( 10.1103/PhysRevLett.88.228102) [DOI] [PubMed] [Google Scholar]
  • 89.Camacho J, Guimera R, Amaral LAN. 2002. Analytical solution of a model for complex food webs. Phys. Rev. E 65, 030901 ( 10.1103/PhysRevE.65.030901) [DOI] [PubMed] [Google Scholar]
  • 90.Williams RJ, Martinez ND. 2000. Simple rules yield complex food webs. Nature 404, 180–183. ( 10.1038/35004572) [DOI] [PubMed] [Google Scholar]
  • 91.Bascompte J, Jordano P. 2007. Plant–animal mutualistic networks: the architecture of biodiversity. Annu. Rev. Ecol. Evol. Syst. 38, 567–593. ( 10.1146/annurev.ecolsys.38.091206.095818) [DOI] [Google Scholar]
  • 92.Bastolla U, Fortuna MA, Pascual-García A, Ferrera A, Luque B, Bascompte J. 2009. The architecture of mutualistic networks minimizes competition and increases biodiversity. Nature 458, 1018–1020. ( 10.1038/nature07950) [DOI] [PubMed] [Google Scholar]
  • 93.Olesen JM, Bascompte J, Dupont YL, Jordano P. 2006. The smallest of all worlds: pollination networks. Ecological networks and their fragility. J. Theor. Biol. 240, 270–276. ( 10.1016/j.jtbi.2005.09.014) [DOI] [PubMed] [Google Scholar]
  • 94.Bascompte J, Jordano P, Olesen JM. 2006. Asymmetric coevolutionary networks facilitate biodiversity maintenance. Science 312, 431–433. ( 10.1126/science.1123412) [DOI] [PubMed] [Google Scholar]
  • 95.Bascompte J, Jordano P, Melián CJ, Olesen JM. 2003. The nested assembly of plant–animal mutualistic networks. Proc. Natl Acad. Sci. USA 100, 9383–9387. ( 10.1073/pnas.1633576100) [DOI] [PMC free article] [PubMed] [Google Scholar]
  • 96.Saavedra S, Rohr RP, Olesen JM, Bascompte J. 2016. Nested species interactions promote feasibility over stability during the assembly of a pollinator community. Ecol. Evol. 6, 997–1007. ( 10.1002/ece3.1930) [DOI] [PMC free article] [PubMed] [Google Scholar]
  • 97.Fischer J, Lindenmayer DB. 2002. Treating the nestedness temperature calculator as a black box can lead to false conclusions. Oikos 99, 193–199. ( 10.1034/j.1600-0706.2002.990121.x) [DOI] [Google Scholar]
  • 98.Staniczenko PPA, Kopp JC, Allesina S. 2013. The ghost of nestedness in ecological networks. Nat. Commun. 4, 1391 ( 10.1038/ncomms2422) [DOI] [PubMed] [Google Scholar]
  • 99.Valverde S, Piñero J, Corominas-Murtra B, Montoya J, Joppa L, Solé RV. 2018. The architecture of mutualistic networks as an evolutionary spandrel. Nat. Ecol. Evol. 2, 94–99. ( 10.1038/s41559-017-0383-4) [DOI] [PMC free article] [PubMed] [Google Scholar]
  • 100.Jonhson S, Dominguez-Garcia V, Muñoz MA. 2013. Factors determining nestedness in complex networks. PLoS ONE 8, e74025 ( 10.1371/journal.pone.0074025) [DOI] [PMC free article] [PubMed] [Google Scholar]
  • 101.Maynard DS, Serván CA, Allesina S. 2018. Network spandrels reflect ecological assembly. Ecol. Lett. 21, 324–334. ( 10.1111/ele.12912) [DOI] [PubMed] [Google Scholar]
  • 102.Suweis S, Simini F, Banavar JR, Maritan A. 2013. Emergence of structural and dynamical properties of ecological mutualistic networks. Nature 500, 449–452. ( 10.1038/nature12438) [DOI] [PubMed] [Google Scholar]
  • 103.Nuismer SL, Jordano P, Bascompte J.. 2013. Coevolution and the architecture of mutualistic networks. Evolution 67, 338–354. ( 10.1111/j.1558-5646.2012.01801.x) [DOI] [PubMed] [Google Scholar]
  • 104.Rodriguez-Iturbe I, Rinaldo A. 2001. Fractal river basins: chance and self-organization. Cambridge, UK: Cambridge University Press. [Google Scholar]
  • 105.Colizza V, Banavar JR, Maritan A, Rinaldo A. 2004. Network structures from selection principles. Phys. Rev. Lett. 92, 198701 ( 10.1103/PhysRevLett.92.198701) [DOI] [PubMed] [Google Scholar]
  • 106.Ferrer-i-Cancho R, Solé R. 2003. Optimization in complex networks. In Statistical mechanics of complex networks (eds Pastor-Satorras R, Rubi M, Diaz-Guilera A), pp. 114–126. Berlin, Germany: Springer.
  • 107.Seoane LF, Solé R. 2015. Phase transitions in Pareto optimal complex networks. Phys. Rev. E 92, 032807 ( 10.1103/PhysRevE.92.032807) [DOI] [PubMed] [Google Scholar]
  • 108.Bruner E, Esteve-Altava B, Rasskin-Gutman D. 2019. A network approach to brain form, cortical topology and human evolution. Brain Struct. Func. 224, 2231–2245. ( 10.1007/s00429-019-01900-1) [DOI] [PubMed] [Google Scholar]
  • 109.Esteve-Altava B, Diogo R, Smith C, Boughner JC, Rasskin-Gutman D. 2015. Anatomical networks reveal the musculoskeletal modularity of the human head. Sci. Rep. 5, 8298 ( 10.1038/srep08298) [DOI] [PMC free article] [PubMed] [Google Scholar]
  • 110.Rasskin-Gutman D, Esteve-Altava B. 2014. Connecting the dots: anatomical network analysis in morphological EvoDevo. Biol. Theor. 9, 178–193. ( 10.1007/s13752-014-0175-x) [DOI] [Google Scholar]
  • 111.Avena-Koenigsberger A, Goñi J, Solé R, Sporns O. 2015. Network morphospace. J. R. Soc. Interface 12, 20140881 ( 10.1098/rsif.2014.0881) [DOI] [PMC free article] [PubMed] [Google Scholar]
  • 112.Corominas-Murtra B, Goñi J, Solé R, Rodriguez-Caso C. 2013. On the origins of hierarchy in complex networks. Proc. Natl Acad. Sci. USA 110, 13 316–13 321. ( 10.1073/pnas.1300832110) [DOI] [PMC free article] [PubMed] [Google Scholar]
  • 113.Solé RV, Seoane LF. 2015. Ambiguity in language networks. Linguist. Rev. 32, 5–35. [Google Scholar]
  • 114.Seoane LF, Solé R.. 2018. The morphospace of language networks. Sci. Rep. 8, 10465 ( 10.1038/s41598-018-28820-0) [DOI] [PMC free article] [PubMed] [Google Scholar]
  • 115.Szathmáry E, Smith JM. 1995. The major evolutionary transitions. Nature 374, 227 ( 10.1038/374227a0) [DOI] [PubMed] [Google Scholar]
  • 116.Ferrer-i-Cancho R, Solé RV, Köhler R. 2004. Patterns in syntactic dependency networks. Phys. Rev. E 69, 051915 ( 10.1103/PhysRevE.69.051915) [DOI] [PubMed] [Google Scholar]
  • 117.Motter AE, De Moura AP, Lai YC, Dasgupta P. 2002. Topology of the conceptual network of language. Phys. Rev. E 65, 065102 ( 10.1103/PhysRevE.65.065102) [DOI] [PubMed] [Google Scholar]
  • 118.Sigman M, Cecchi GA. 2002. Global organization of the Wordnet lexicon. Proc. Natl Acad. Sci. USA 99, 1742–1747. ( 10.1073/pnas.022341799) [DOI] [PMC free article] [PubMed] [Google Scholar]
  • 119.Steyvers M, Tenenbaum JB. 2005. The large-scale structure of semantic networks: statistical analyses and a model of semantic growth. Cogn. Sci. 29, 41–78. ( 10.1207/s15516709cog2901_3) [DOI] [PubMed] [Google Scholar]
  • 120.Solé R. 2005. Language: syntax for free? Nature 434, 289–290. ( 10.1038/434289a) [DOI] [PubMed] [Google Scholar]
  • 121.Solé RV, Corominas-Murtra B, Valverde S, Steels L. 2010. Language networks: their structure, function, and evolution. Complexity 15, 20–26. ( 10.1002/cplx.20305) [DOI] [Google Scholar]
  • 122.Zipf GK. 1949. Human behavior and the principle of least effort. Reading, MA: Addison-Wesley. [Google Scholar]
  • 123.Corominas-Murtra B, Valverde S, Solé R. 2009. The ontogeny of scale-free syntax networks: phase transitions in early language acquisition. Adv. Complex Syst. 12, 371–392. ( 10.1142/S0219525909002192) [DOI] [Google Scholar]
  • 124.Corominas-Murtra B, Fortuny J, Solé RV. 2011. Emergence of Zipf’s law in the evolution of communication. Phys. Rev. E 83, 036115 ( 10.1103/PhysRevE.83.036115) [DOI] [PubMed] [Google Scholar]
  • 125.Ferrer-i-Cancho R, Riordan O, Bollobás B. 2005. The consequences of Zipf’s law for syntax and symbolic reference. Proc. R. Soc. B 272, 561–565. ( 10.1098/rspb.2004.2957) [DOI] [PMC free article] [PubMed] [Google Scholar]
  • 126.Salge C, Ay N, Polani D, Prokopenko M. 2015. Zipf's law: balancing signal usage cost and communication efficiency. PLoS ONE 10, e0139475 ( 10.1371/journal.pone.0139475) [DOI] [PMC free article] [PubMed] [Google Scholar]
  • 127.McNerney J, Farmer JD, Redner S, Trancik JE. 2011. Role of design complexity in technology improvement. Proc. Natl Acad. Sci. USA 108, 9008–9013. ( 10.1073/pnas.1017298108) [DOI] [PMC free article] [PubMed] [Google Scholar]
  • 128.Solé RV, Valverde S, Casals MR, Kauffman SA, Farmer D, Eldredge N. 2013. The evolutionary ecology of technological innovations. Complexity 18, 15–27. ( 10.1002/cplx.21436) [DOI] [Google Scholar]
  • 129.Gould SJ. 2002. The structure of evolutionary theory. Cambridge, MA: Harvard University Press. [Google Scholar]
  • 130.Forgacs G, Newman SA. 2005. Biological physics of the developing embryo. Cambridge, UK: Cambridge University Press. [Google Scholar]
  • 131.Olle-Vila A, Duran-Nebreda S, Conde-Pueyo N, Montanez R, Sole R. 2016. A morphospace for synthetic organs and organoids: the possible and the actual. Integr. Biol. 8, 485–503. ( 10.1039/C5IB00324E) [DOI] [PubMed] [Google Scholar]

Associated Data

This section collects any data citations, data availability statements, or supplementary materials included in this article.

Data Availability Statement

This article has no additional data.


Articles from Philosophical Transactions of the Royal Society B: Biological Sciences are provided here courtesy of The Royal Society

RESOURCES