Self-organization and Hierarchy in Open Source Social Networks. Sergi Valverde1 and Ricard V. Solé1,2 ... esting example, where software is developed through dis- ... social groups [3] in constrast with more hierarchical, top-down organized ...
Self-Organization and Hierarchy in Open Source Social Networks Sergi Valverde Ricard V. Solé
SFI WORKING PAPER: 2006-12-053
SFI Working Papers contain accounts of scientific work of the author(s) and do not necessarily represent the views of the Santa Fe Institute. We accept papers intended for publication in peer-reviewed journals or proceedings volumes, but not papers that have already appeared in print. Except for papers by our external faculty, papers must be based on work done at SFI, inspired by an invited visit to or collaboration at SFI, or funded by an SFI grant. ©NOTICE: This working paper is included by permission of the contributing author(s) as a means to ensure timely distribution of the scholarly and technical work on a non-commercial basis. Copyright and all rights therein are maintained by the author(s). It is understood that all persons copying this information will adhere to the terms and constraints invoked by each author's copyright. These works may be reposted only with the explicit permission of the copyright holder. www.santafe.edu
SANTA FE INSTITUTE
APS/123-QED
Self-organization and Hierarchy in Open Source Social Networks Sergi Valverde1 and Ricard V. Sol´e1,2 1
ICREA-Complex Systems Lab, Universitat Pompeu Fabra, Dr. Aiguader 80, 08003 Barcelona, Spain 2 Santa Fe Institute, 1399 Hyde Park Road, New Mexico 87501, USA Complex networks emerge under different conditions including design (i.e., top-down decisions) through simple rules of growth and evolution. Such rules are typically local when dealing with biological systems and most social webs. An important deviation from such scenario is provided by communities of agents engaged in technology development, such as open source (OS) communities. Here we analyze their network structure, showing that it defines a complex weighted network with scaling laws at different levels, as measured by looking at e-mail exchanges. We also present a simple model of network growth involving non-local rules based on betweenness centrality. Our analysis suggests that a well-defined interplay between the overall goals of the community and the underlying hierarchical organization play a key role in shaping its dynamics. PACS numbers: 87.23.Kg
I.
INTRODUCTION
Networks predate complexity, from biology to society and technology [1]. In many cases, large-scale, systemlevel properties emerge from local (bottom-up) interactions among network components. This is consistent with the general lack of global goals that pervade cellular webs or acquaintance networks. However, when dealing with large-scale technological designs, the situation can be rather different. Top-down decisions would dominate the structure and function of a hierarchical system. But how to distinguish between the two scenarios? This is specially relevant for some communities of designers working together in a decentralized manner. Open source (OS) communities [2], in particular, provide the most interesting example, where software is developed through distributed cooperation among many agents. These communities are known to display a large amount of distributed, bottom-up organization. Specifically, large groups of programmers are involved in building, assembling and specially maintaining large-scale software structures. The community plays multiple roles as a design system but also as a distributed intelligence able to accept or reject changes introduced by agents. As described, it looks like we are talking about a largely self-organized entity. Given the quality of the information available on their internal structure, OS organizations offer a unique opportunity to test if they are fully self-organized social groups [3] in constrast with more hierarchical, top-down organized companies. One possible test to these potential modes of community organization involves using the network of interaction between programmers working in a given software system. Software systems are themselves complex networks [4], which have been shown to display small world and scale-free architecture. Since the topological organization of software designs is scale-free, we might suspect that the community organization also displays common traits with the underlying software architecture. Previous work on engineering problem-solving networks involved in product development [5] revealed that these
groups define a complex network. These product development groups define small world communities with heterogeneous link distributions. However, these networks are unweighted and largely dominated by top-down constraints. Here, we consider a different type of engineering community where relations among agents are weighted and change in time without previously defined hierarchies. As we will shown here, the OS network (OSN) displays both scaling laws on a well-defined core of main programmers defining a special subset of agents. Such finding suggests that, even in these distributed groups of individuals, emergence of hierarchy might be inevitable. Our analysis reveals the interplay between bottom-up, distributed decision making periphery in the OSN involving many agents and a top-down, centralized small core of agents. This core having strong links and effectively controlling the OSN dynamics. Such rich-club structure seems to place some limits in the degree of distributedness achievable by multiagent-based technological design.
II.
EMAIL NETWORKS OF OPEN-SOURCE COMMUNITIES
Following [6], we have analyzed the structure and modeled the evolution of social interaction in OS communities [7] . Here e-mail is an important vehicle of communication and we can recover social interactions by analyzing the full register of e-mails exchanged between community members [8, 9]. From this dataset, we have focused on the subset of e-mails describing new software errors (i.e., bug tracking) and in the subsequent e-mail discussion on how to solve the error (i.e., bug fixing). Nodes vi ∈ V in the OS network Ω = (V, L) represent community members while directed links (i, j) ∈ L denote e-mail communication whether the member i replies to the member j. At time t, a member vi discovers a new software error (bug) and sends a notification e-mail. Afterwards, other members investigate the origin of the software bug and eventually reply to the message, either
2
A
B
5
10
A
B
3
10
C
0.97
2
10
1
10
1
10
1.59
3
10
10
0
10 1
0
0
2
10
10
10
1
explaining the solution or asking for more information. Here Eij (t) = 1 if developer i replies to developer j at time t and is zero otherwise. From Eij we define link weight eij as the total amount of e-mail traffic flowing from developer i to developer j:
eij =
T X
Eij (t)
2
10
10
3
10
k
k
FIG. 1: Social networks of e-mail exchanges in open source communities. Line thickness represents the number of e-mails flowing from the sender to the receiver. Dark colors depict active members and frequent communication. (A) Social network GAmavis for the Amavis open-source community. (B) Social network GT CL for the TCL open-source community with N = 215 members and hki ≈ 3. In both networks, a few strong, well-interconnected hubs (center nodes) route the bulk of information generated by many peripherical nodes.
0.57
P>(b)
4
P>(k)
2
10
10
0
10
2
4
10
10
FIG. 2: (A) Average betweeness centrality scales with degree hb(k)i ∼ kη with η ≈ 1.59 for the Python OS community. This exponent is close to the theoretical prediction ηBA ≈ (γ − 1)/(δ − 1) = 1.70 (see text). (B) Cumulative distribution of undirected degree P> (k) ∼ k−γ+1 with γ ≈ 1.97. (C) Cumulative distribution of betweeness centrality P> (b) ∼ b−δ+1 with δ ≈ 1.57 for b > 102 . Project Python Gaim Slashcode PCGEN TCL
N 1090 1415 643 579 215
L 3207 2692 1093 1654 590
ρw 0.98 0.98 0.98 0.98 0.98
hki 2.94 1.9 1.69 2.85 2.74
γ 1.97 1.97 1.88 2.04 1.97
δ 1.57 1.8 1.58 1.67 1.33
η (γ − 1)/(δ − 1) 1.59 1.70 1.24 1.21 1.42 1.51 1.54 1.55 2.34 2.93
TABLE I: Topological measures performed over large OS weighted nets. The two last columns at left compare the observed η exponent with the theoretical prediction η = (γ − 1)/(δ − 1) (see text).
(1)
t=0
where T is the timespan of software development. We have found that e-mail traffic is highly symmetric, i. e. eij ≈ eji . In order to measure link symmetry, we introduce a weighted measure of link reciprocity [10] namely the link weight reciprocity ρw , defined as P ρw =
(eij − e¯)(eji − e¯) P ¯)2 i=j e (eij − e
i=j e
si =
X j
wij
(3)
i. e. the total number of messages exchanged between node i and the rest of the community. This definition will be used below in our analysis of the weighted OS network.
(2)
P where e¯ = i=j e eij /N (N − 1) is the average link weight. This coefficient enables us to differentiate between weighted reciprocal networks (ρw > 0) and weighted antireciprocal networks (ρw < 0). The neutral case is given by ρw ≈ 0. All systems analyzed here display strong symmetry, with ρw ≈ 1. This pattern can be explained in terms of fair reciprocity [11], where any member replies to every received e-mail. Thus, we can make the simplifying assumption that the network is undirected. However, we do not restrict our study to purely topological links. Instead, their weighted structure is also taken into account. The edge weight (interaction strength) is defined as wij = eij + eji , which provides a measure of traffic exchanges between any pair of members. From this weighted matrix we can measure node strength [14] as a local measure defined like
6
10
b
III.
STRUCTURE OF OS NETWORKS
Figure 1 shows two social networks recovered with the above method. We can appreciate an heterogeneous pattern of e-mail interaction, where a few members handle the largest fraction of e-mail traffic generated by the OS community. The undirected degree distribution is roughly a power-law P (k) ∼ k −γ with γ ≈ 2 (see fig. 2B). However, P (k) displays a hump at some intermmediate degree k (see fig. 2B), suggesting that important hubs are much more densely interconnected than peripheral members are. This desviation might be an indication of a rich-club ordering in the OS network (see below). In order to understand the role played by hubs in OS networks, we have measured the betweeness centrality bi (i.e., node load [13]) or the number of shortest paths passing through the node i [12]. Betweeness centrality displays a long tail P (b) ∼ b−δ with an exponent δ between
3 3
A 10
B 0
10 w
,
2
Φ(k)
1.3 and 1.8 (see table I and also fig. 2C). It was shown that betweeness centrality scales with degree in the Internet autonomous systems and in the Barab´ asi-Albert network [15], as b(k) ∼ k −η . From the cumulative degree distribution, i. e.
10
-1
10
2
-2
10
0.75 1
Z
10
∞
P (k)dk ∼ k
P> (k) =
1−γ
(4)
k
0
10
C
1
2
10
10 k
0
10
1
2
10
10 k
and the corresponding integrated betweenness, with P> (b) ∼ b1−δ , it follows that η = (γ − 1)/(δ − 1) [16]. The social networks studied here display a similar scaling law with an exponent η slightly departing from the theoretical prediction (see fig. 2A and table I). The strong correlation between node load and large degree indicates that hub nodes tend to dominate e-mail discussions in the OS community.
IV. CORRELATIONS AND RICH-CLUB PHENOMENON IN OS NETWORKS
The previous measures provide a global picture of OSN but also suggest the presence of a two-level underlying structure. In order to reveal its organization, we need to consider correlation measures among agents displaying different numbers of links. We can detect the presence of node-node correlations by measuring the average nearestneighbors degree: knn (k) =
X k0
k 0 P (k|k 0 )
(5)
where P (k|k 0 ) is the conditional probability of having a link attached to nodes with degree k and k 0 . Here, the average nearest-neighbors degree decays as a power-law, hknn i ∼ k −θ with θ ≈ 0.75 for k > 10 (see fig. 3A ). This decreasing behaviour of hknn (k)i denotes that, on average, hubs tend to be connected to low degree nodes (see fig. 1A). That is, OS networks are good instances of dissasortative networks. Moreover, the hierarchical nature of these graphs is well illustrated from the scaling exhibited by the clustering C(k) against k, which scales as C(k) ∼ 1/k (not shown), and consistently with theoretical predictions[17]. Following [14], we define the weighted average nearestneighbors degree,
w knn,i =
k 1 X wij kj si j=1
(6)
where neighbor degree kj is weighted by the ratio w (wij /si ). According to this definition, knn,i > knn if strong edges point to neighbors with large degree and w knn,i < knn otherwise. This measure captures more precisely the level of affinity between community members.
FIG. 3: Correlations and rich-club phenomenon in the Python OS community. (A) Average degree of nearest neighbors vs degree hknn i ∼ kθ where θ ≈ 0.75 (open circles). Weighted average nearest-neighbors degree is almost constant (solid circles). (B) Rich-club coefficient Φ(k) scales with degree, Φ(k) ∼ k2 , for k < kc ≈ 10 while it is constant, Φ(k) ≈ 1, for k > kc . The crossover kc is consistent with the point of decreasing behaviour of hknn (k)i. (C) Visualization of the rich-club in the Python OS community, where yellow balls depict hubs with k > kc . Peripherical nodes with k < kc (blue balls) are mainly connected to hubs.
Here, weighted average nearest-neighbors degree is almost uncorrelated with node degree, that is, knn,i ≈ constant (see fig. 3A). Low connected nodes have weak edges w because knn,i (k) is only slightly larger than knn (k) for w small k. On the other hand, knn,i (k) > knn (k) for large degrees, indicating that hubs have the strongest edges. The above observations reveal the presence of rich-club ordering [26], where an elite of highly connected and mutually communicating programmers control the flow of information generated by the OS community. For instance, during the development of the web-server software Apache, a closely-knit and small group of developers contributed about 90 percent of key changes, whereas the majority of developers contributed to marginal software features [25]. As we will show below, such core set of developers leaves a characteristic structural pattern in the social network. The rich-club coefficient Φ has been used to assess the presence of the rich-club phenomenon in the Internet [26]. This coefficient is defined as follows,
4
Φ(k) =
2E>k N>k (N>k − 1)
(7)
where E>k depicts the number of edges between the N>k nodes with degree higher than k. Φ(k) indicates the ratio of observed number of links out of all possible links between N>k nodes. This coefficient is an alternative measure of correlations that is non-trivially related to the average nearest-neighbors degree (see eq. (5)). In OS networks, Φ(k) increases for k < kc and saturates for k > kc . The presence of a rich-club is often associated to monotonic increase in Φ(k) with k (cite). However, we argue that a better criteria to detect the rich-club is the existence of a crossover kc in Φ(k) characterizing the rich nodes. The crossover is consistent with the small hump in P (k) for large degrees (see section III). For example, in the Python OS community, kc ≈ 10 (see fig. 3B). Fig. 3C highlights rich members in the OS Python community or hub nodes having more than k > 10 links. In conclusion, the OS network displays a rich-club structure associated to a dissassortative topology. This peculiar social organization has not been previously observed in traditional social networks. Instead, social networks are often assortative and weak links act like bridges connecting relatively dense sub-communities [27].
V.
NONLOCAL EVOLUTION OF OS NETWORKS
A very simple model predicts the evolution and dynamics of the OS social network, including the shape of its undirected degree distribution P (k) and their measurements of local correlations (see fig.4C, fig.4D, and fig.4E). The model is motivated by two observations. First, there is a non-lineal relation between strength and degree [28]. In a related paper, this non-linear relation has been explained with a similar model [18]. And second, agents in a large-scale software community exploit social cues to evaluate one another’s social status [21]. A natural surrogate of social status is the number of messages posted by the member or node strength si (see section 2). Members earning high social status are arguably the most visible and thus, they will be accessed much more frequently [22]. Such members are actually those having a mean global picture of the whole system, instead of being aware of just some specific parts of it. Members having a deeper knowledge of the overall system’s architecture are likely to process high amounts of information. If we think in terms of agents in a network, we should expect them to canalize information flowing from many different parts of the network [23]. Taking into account the above, the algorithm for evolving the (undirected) social network Ω = (V, L) consists of the following stages: (i) The system starts (as in real OS systems) from a small fully-connected network of m0 members. (ii) A new member j joins the social network
at each time step. The new member reports a small number of an average hmi new e-mails (describing new software bugs). (iii) For each new e-mail, we determine the target node by a non-local preferential attachment rule. The probability that new member j sends an e-mail to an existing member i is proportional to node load bi , or alternatively, to the node strength si (see below) α
(bi (t) + c) Π [bi (t)] = P α (bj (t) + c)
(8)
j
where c is a constant (in our experiments, c = 1) and node load bi is recalculated before attaching the new link, that is, before evaluating the above equation. The exponent α varies from project to project (see below an empirical method to estimate this exponent from available data). Once the target node i is selected, we place the new edge in Ω, {i, j} ∈ L. Repeat steps (ii) to (iii) until the network reaches the target size of N m0 nodes. The networks generated with the previous model are remarkably close to real OS networks. For example, fig.4 compares our model with the social network of TCL software community. The target social network has N = 215 members and m = hki ≈ 3. A simple modification to a known algorithm for measuring preferential attachment in evolving networks [19] enables us to estimate the exponent α driving the attachement rate of new links (described in eq. (8)). Due to limitations in available network data we have computed the attachment kernel depending on node strength si instead of node load bi . Indeed, we have observed that strength si and betweeness centrality bi of software communities are linearly correlated (see fig. 4A). In order to measure Π [si (t)] we compare two network snapshots of the same software community at times T0 and T1 where T0 < T1 . Nodes in the T0 and T1 network are called ”T0 nodes” and ”T1 nodes”, respectively. When a new i ∈ T1 node joins the network we compute the node strength sj of the j ∈ T0 node to which the new node i links. Then, we estimate the attachment kernel as follows P Π [s, T0 , T1 ] =
mij θ(s − sj )
i∈T1 ,j∈T0
P
θ(s − sj )
(9)
j∈T0
where θ(z) = 1 if z = 0 and θ(z) = 0 otherwise, and mij is the adjacency matrix of the social network. In order to reduce the impact of noise fluctuations, we have estimated the α exponent from the cumulative function Zs A(s) =
Π(s)ds. 0
(10)
5
A
B 10
other systems (not shown). In addition, we have estimated the αBA exponent with a preferential attachment kernel, Π(k) ∼ k αBA , as in the original algorithm by Jeong et al. [19]. The evolution of the social networks cannot be described by a linear preferential attachment mechanism because the observed exponent is αBA > 1.4 (not shown).
3
2
200000
r = 0.99
2
150000 b
A(s)
10
100000
1
10
101.8
1.75
50000 0
10 0 0
C
500 1000 1500 2000 s
1
D
10
2
10
s
VI.
knn
P>(k)
100
10
1
10
1 1
E
10 k
100
DISCUSSION
2
10
0
10
1
10 k
2
10
FIG. 4: Social network simulation (A) Linear correlation between node strength si and betweeness centrality (or node load) bi in the Python community. The correlation coefficient is 0.99. This trend has been observed in all communities studied here (B) Estimation of α in the TCL project (see text). (C) Cumulative degree distribution in the simulated network (open circles) and in the real community (closed squares). All parameters estimated from real data: N = 215, m0 = 15, hmi = 3 and α = 0.75. (D) Scaling of average neighbors degree vs degree in the simulated network (open circles) and in the real social network (closed squares). There is very good overlap between model and data for large k. (E) Rendering of the simulated network Ω to be compared with the social network GT CL displayed in fig. 1B.
Under the assumption of eq. 8 the above function scales with node strength, A(s) ∼ sα+1 . Figure 4B displays the cumulative function A(s) as measured in the TCL software community with T0 = 2003 and T1 = 2004. In this dataset, the power-law fitting of A(s) predicts an exponent α = 0.75. A similar exponent is observed in
Our analysis shows that open source communities are closer to the Internet and communication networks than to other social networks (e.g., the network of scientific collaborations ). The social networks analyzed here are dissasortative from the topological point of view and assortative when edge weights are taken into account. A distinguished feature of OS networks is the presence of the rich-club phenomenon. We have shown that OS communities are elitarian clubs where strong hubs control the global flow of information generated by many peripherical individuals. Our conclusions are consistent with qualitative observations done by researchers of the opensource phenomenon [24]. This is, as far as we know, the first time that quantitative evidence of elitism in technological communities has been provided. The rich-club phenomenon in OS networks seems to be related to a pattern of non-local evolution. Such a nonlocal component appears to be related with the presence of a core of programmers that make decisions based on a global view of the system. These programmers would both introduce a top-down control and receive a large amount of e-mail trafic. Based on these ideas, we have presented a model that predicts many global and local social network measurements of the OS network. Our model assumes that reinforcement is nonlocal, that is, future e-mails are not independent of past communications. Our conclusions must be contrasted with the local reinforcement mechanism proposed by Caldarelli et. al. [11] for e-mail communication. In their model, any pair of members can increase the strength of their link with independence of the global activity. Several features of software communities preclude the application of their model. For example, fixing a software bug is a global task which requires the coordination of several members in the community. Any e-mail response requires to consider all the previous communications regarding the specific subject under discussion. In addition, their model does not consider a sparse network structure and every individual is connected with everybody else, which is not the case of OS communities. A similar model to ours was presented in [18], where node load bi is recalculated only after the addition of the new node and its hmi links. Here, recalculation of node loads represents a global process of information diffusion. The total amount of e-mail traffic through any node correlates with both past experience and social importance, which suggests that the amount of e-mail traf-
6 fic handled by any node is a nonlocal quantity [18]. This motivates our choice of a betweeness-based preferential attachment rule (eq. (8)). We can conceive other alternatives instead of computing betweeness centralities in eq.(8). An interesting approach includes the discrete simulation of e-mails tracing shortest paths in the social network, as in some models of internet routing [20]. Packet transport-driven simulations can provide good estimations of the number of e-mails received by any node. Nevertheless, the present model enables us to explain remarkably well the OS network dynamics. Another extension of the model is the addition of new links between existing nodes, which can provide better fittings to local correlation measures (see sect. IV). On a more general view, our study is the first quantitative evidence for the emergence of hierarchy in distributed networks of interacting agents. Different outcomes of the OS evolution process would have been expected, including the formation of a purely hierarchical tree of relations among developers or a purely SF system. The observed community organization indicates that even distributed systems develop internal hierarchies, thus suggesting that some amount of centralized, global knowledge might be inevitable.
Our results might be of interest towards future explorations on the dynamics of so called computational ecologies [29, 30] . Computational ecology was defined as the study of the interactions that determine the behavior and resource utilization of computational agents in an open system. Early work by Huberman and Hogg in this area revealed that the collective behavior of such information-exchanging networks of agents can be very complex. The type of organization displayed by OSN seems to fit well with the goals of computational ecology theory. An important advantage is the explicit consideration of the real network topology reported here, which could help expanding previous work on agent network dynamics.
[1] Dorogovtsev, S. N. & Mendes, J. F. F., Evolution of Networks: From Biological Nets to the Internet and WWW, Oxford University Press, New York (2003); Boccaletti, S., Latora, V., Moreno, Y., Chavez, M., and Hwang, D.U., Physics Reports, 424 (2006) 175; Newman, M. E. J., SIAM Review 45, (2003), 167-256; Albert, R., and Barabsi, A.-L., Rev. of Mod. Phys. 74 , (2002) 47. [2] Raymond, E. S., First Monday, 3 (1998). [3] Ball, P., Critical Mass: How one thing leads to another, Arrow Books, (2004). [4] Valverde, S., Ferrer-Cancho, R. & Sol´e, R. V. Europhys. Lett. 60 (2002) 512-517; Myers, C. R., Phys. Rev. E 68, 046116 (2003); Valverde, S. and Sol´e, R. V., Phys. Rev. E , 72, 026107 (2005); Valverde, S., and Sol´e, R. V., Europhys. Lett., 72, 5, pp. 858–864 (2005). [5] Braha, D., and Bar-Yam, Y., P hys. Rev. E., 69, 016113, (2004). [6] Crowston, K. and Howison, J., First Monday, 10, 2 (2005). [7] Krishnamurthy, S., First Monday 7, 6, (2002). [8] Ebel, H., Mielsch, L.-I., & Bornholdt, S., Phys. Rev. E, 66, 035103(R), (2002). [9] Huberman, B. A., and Adamic, L. A., in Complex Networks; E. Ben-Naim et al. editors, Lecture Notes in Physics 650, 371-358. [10] Garlaschelli, D., and Loffredo, M. I., Phys. Rev. Lett., 93, 268701 (2004). [11] Caldarelli, G., Coccetti, F., and de Los Rios, P., Phys. Rev. Lett., 70, 027102 (2004). [12] Brandes, U., Journal of Mathematical Sociology, 25, 2, pp. 163–177 (2001). [13] Goh, K.-I., Kahng, B., and Kim, D., Phys. Rev. Lett., 87, 278701 (2001).
[14] Barrat, A., Barth´elemy, M., Pastor-Satorras, R., and Vespignani, A., Proc. Natl. Acad. Sci. USA, 101, 3747 (2004). [15] Barab´ asi, A.-L., and Albert, R., Science, 286, 509 (1999). [16] Vazquez, A., Pastor-Satorras, R., and Vespignani, A., Phys. Rev. Lett., 65, 066130 (2002). [17] Dorogovtsev, S. N., Goltsev, A. V., Mendes, J. F. F., Phys. Rev. E, 65, 066122 (2002). [18] Goh, K.-I., Kahng, B., and Kim, D., Phys. Rev. E., 72, 017103 (2005). [19] Jeong, H., N´eda, Z., and Barab´ asi, A.-L., Europhys. Lett., 61, 4, 567 (2003). [20] Sol´e, R. V., and Valverde, S., Physica A, 289, pp. 595695 (2001). [21] Stewart, D., American Sociological Review, 70, pp. 823842 (2005). [22] Watts, D. J., Sheridan Dodds, P., and Newman, M. E. J., Science, 296, 5571, (2002) 1302 - 1305. [23] Sheridan Dodds, P., Watts, D. J., and Sabel, C. F., PNAS 100 (21), (2003) 12516-1252. [24] Lerner, J., and Tirole, J., Journal of Industrial Economics, 52, pp. 197-234, (2002). [25] Mockus, A., Fielding, A., Herbsled, J., in Proc. Int. Conf. Soft. Eng., Limerick, Ireland, pp. 263-272, (2002). [26] Zhou, S. and Mondragon, R.J., IEEE Comm. Lett., 8, pp. 180182, (2004). [27] Csermely, P., Weak Links: Stabilizers of Complex Systems from Proteins to Social Networks, Springer-Verlag, New York, (2006). [28] Valverde, S., Theraulaz, G., Gautrais, J., Fourcassi´e, V., and Sol´e, R. V., I EEE Intelligent Systems, 21,2, pp. 3640, (2006).
Acknowledgments
We thank Vincent Anton for useful discussions. This work has been supported by grants FIS2004-05422, by the EU within the 6th Framework Program under contract 001907 (DELIS) and by the Santa Fe Institute.
7 [29] Huberman, B., The Ecology of Computation, Elsevier Science Ltd., (1988). [30] Huberman, B. A., and Hogg, T., Artificial Intelligence
37 (1987) 155-171.