This paper was converted on www.awesomepapers.org from LaTeX by an anonymous user.
Want to know more? Visit the Converter page.

Guiding the Self-organization of Cyber-Physical Systems

Carlos Gershenson1,2,3
1 Departamento de Ciencias de la Computación
Instituto de Investigaciones en Matemáticas Aplicadas y en Sistemas
Universidad Nacional Autónoma de México
A.P. 20-726, 01000 México CDMX México
cgg@unam.mx  http://turing.iimas.unam.mx/~cgg
2 Centro de Ciencias de la Complejidad
Universidad Nacional Autónoma de México
3 ITMO University, Russian Federation
Abstract

Self-organization offers a promising approach for designing adaptive systems. Given the inherent complexity of most cyber-physical systems, adaptivity is desired, as predictability is limited. Here I summarize different concepts and approaches that can facilitate self-organization in cyber-physical systems, and thus be exploited for design. Then I mention real-world examples of systems where self-organization has managed to provide solutions that outperform classical approaches, in particular related to urban mobility. Finally, I identify when a centralized, distributed, or self-organizing control is more appropriate.

1 Introduction

We are submerged in complexity. And this complexity is increasing. But what is complexity? There are dozens of definitions and measures in the literature (Lloyd, 2001; Gershenson and Heylighen, 2005), but not a definite one. Well, life is not properly defined either, and it is not a hindrance for biology. Still, to have an idea of what we refer to, let us go to its etymological root. Complexity comes from the Latin plexus, which means entwined. In other words, something complex is difficult to separate. This is because the interactions among its components are relevant (Gershenson, 2013b). Relevant because they co-determine the future of the system. Thus, if we do not consider such interactions, but study components in isolation, we will not be able to understand the system properly. Also, interactions can generate novel information, not present in initial nor boundary conditions. This novel information limits predictability (Gershenson, 2013a) and is the source of computational irreducibility (Wolfram, 2002), i.e. there is no shortcut to know the future: one must go through all intermediate steps, because the information produced in the process is required to reach/compute the future.

A recent collaborative effort produced this definition: “Complexity science, also called complex systems science, studies how a large collection of components — locally interacting with each other at small scales — can spontaneously self-organize to exhibit non-trivial global structures and behaviors at larger scales, often without external intervention, central authorities or leaders. The properties of the collection may not be understood or predicted from the full knowledge of its constituents alone. Such a collection is called a complex system and it requires new mathematical frameworks and scientific methodologies for its investigation.” (De Domenico et al., 2019)

One of the core concepts explained in De Domenico et al. (2019) is self-organization: “Interactions between components of a complex system may produce a global pattern or behavior. This is often described as self-organization, as there is no central or external controller. Rather, the “control” of a self-organizing system is distributed across components and integrated through their interactions. Self-organization may produce physical/functional structures like crystalline patterns of materials and morphologies of living organisms, or dynamic/informational behaviors like shoaling behaviors of fish and electrical pulses propagating in animal muscles. As the system becomes more organized by this process, new interaction patterns may emerge over time, potentially leading to the production of greater complexity.” Common examples of self-organizing systems (Camazine et al., 2003) include flocks of birds, schools of fishes, insect swarms, herds, crowds, and other collective phenomena (Vicsek and Zafeiris, 2012), although self-organization is not restricted to living systems (Nicolis and Prigogine, 1977; Haken, 1988; Gershenson and Heylighen, 2003).

There are many cases where self-organization has been used as an approach in engineering (Di Marzo Serugendo et al., 2004; De Wolf et al., 2005; Zambonelli and Rana, 2005). In this case, we can describe a system as self-organizing when elements interact to achieve dynamically a global function or behavior (Gershenson, 2007). In other words, instead of designing directly a solution, one regulates the potential interactions among elements. This is useful in non-stationary problems: when the situation changes, then the system adapts by itself. Since interactions in complex systems produce novel information, it is common that this information will change a complex problem. Not only its state, but also its state space. Thus, self-organization can be useful to face complexity by providing general adaptation mechanisms. Several methodologies using self-organization have been proposed (see Frei and Di Marzo Serugendo (2011) for an overview), although the approach has not been widely applied.

In a parallel effort, guided self-organization attempts to combine seemingly opposed processes: design to define and regulate the properties and behavior of a system, and self-organization that implies certain autonomy and adaptability (Prokopenko, 2009, 2014) Guided self-organization can be understood as “the steering of the self-organizing dynamics of a system towards a desired configuration” (Gershenson, 2012).

In this paper, I complie concepts and approaches useful for designing self-organizing systems in the physical realm. I illustrate these with case studies from urban mobility before concluding.

2 Concepts

Several concepts are useful to design and guide self-organizing systems. In this section, a non-exhaustive list is presented.

2.1 Adaptation

Adaptation can be defined as a change in an agent or system as a response to a state of its environment that will help the agent or system to fulfill its goals (Gershenson, 2007). Living systems naturally adapt to changes in their environment, and artificial systems can benefit from exhibiting adaptation (Holland, 1975; Steels and Brooks, 1995; Bedau et al., 2013).

If problems are stationary, i.e. do not change, then it is worthwhile attempting to predict the future of a system to control it. However, for non-stationary problems, predictability by definition is limited. Novel information generated by interactions in complex systems can lead to non-stationarity. In this case, adaptation is desirable to complement the unpredictable aspects of a problem (Gershenson, 2013a).

For example, city traffic is changing constantly: every time a red light switches to green, the number of vehicles waiting changes. Thus, the timing of the traffic lights should also change. Traditional adaptive traffic light control methods (e.g. Sydney, Dublin, Singapore) use sensors to shift phases depending on recent average demands. This is usually better than not having adaptation, where the best possible option would be to take average measurements, set fixed phases, and perhaps change the programs a few times per day. However, if traffic lights can adapt at the same timescale as the traffic demand does, i.e. every cycle, then the performance would be much improved (Goel et al., 2017).

2.2 Robustness

A system is robust if it continues to function in the face of perturbations (Wagner, 2005). As with adaptation, robustness is prevalent in living systems and desirable in artificial ones (Jen, 2005).

Robustness and adaptability are complementary: a system has to be robust enough to survive while it adapts, and adaptation can favor robustness.

For example, the Internet is quite robust. The TCP/IP protocol was designed to resist nuclear warfare. At the content level, self-organization has led to a scale-free topology (Barabási et al., 2000), which is also robust to random failures (although fragile to directed attacks).

2.3 Antifragility

A fragile system is damaged by perturbations. A robust system is unaffected by perturbations. An antifragile system benefits from perturbations (Taleb, 2012).

For example, the immune system is antifragile. Children who grow up in extremely sanitized conditions are not exposed to pathogens (perturbations), so their immune systems do not develop, leading to stronger infections in adulthood. Certainly, children should not be infected intentionally, but being exposed to a “normal” amount of pathogens and falling ill now and then helps train the immune system.

We have recently proposed a measure of antifragility (Pineda et al., 2019), which captures the idea of being positive when perturbations improve the performance of a system, is negative when perturbations decrease the performance (fragility), and is zero when perturbations do not affect the performance (robustness). An important aspect is that there is no “optimal” antifragility independent of an environment. A system should be as antifragile as its environment varies (this is related with requisite variety, discussed in Section 3).

2.4 Mediators

Interactions can be classified as positive, neutral, or negative, depending on the effect they have on the goals of a system (Gershenson, 2007, 2011b)

A mediator arbitrates among the elements of a system, to minimize conflict, interferences and frictions (negative interactions); and to maximize cooperation and synergy (positive interactions)(Michod, 2003; Heylighen, 2006; Gershenson, 2007).

For example, traffic rules aim at reducing conflict in urban mobility. Without these rules, we would need to decide constantly on which side of the streets to drive, how to give way, make turns, etc. Even when rules and norms vary from country to country, and in some cases from city to city, when everybody follows the same set of rules (mediators), conflicts tend to be reduced. If they were not, then the rules should be changed.

Designing mediators can be useful for regulating systems where the elements cannot be modified. Still, mediators can change the interactions between elements, leading to different systemic behavior and properties (See case study in Section 4.1).

2.5 Slower-is-faster effect

Probably this effect was first described less than twenty years ago (Helbing et al., 2000b, a) while modeling crowd dynamics. If people trying to evacuate a room are panicked (trying to exit faster), then they create friction which leads to a “turbulent” flow that is slower than if people exit calmly, thus with a “laminar” flow. The same effect has been studied in vehicular traffic, logistics, public transport, social dynamics, ecological systems, and adaptive processes (Gershenson and Helbing, 2015).

In general, the slower-is-faster effect occurs when a system performs worse as its components try to do better. This implies that a balance between doing “too few” and doing “too much” is necessary. However, in many cases this balance is dynamic. For example, the optimal speed for highway traffic (that maximizes flow) depends on the vehicular density. For this reason, systems that present a slower-is-faster effect, require constant adaptation, that can be achieved through self-organization.

The slower-is-faster effect may refer to any variable, not only speed. For example, growth or profits are not necessarily maximized in the long term with a short-term maximization strategy. Managing natural resources, such as fisheries, requires this understanding: if all resources are depleted, then in the near future there will be no profits. Maximizing profits requires a careful balance between short-term action and long-term planning. As with the case of highway traffic, usually this balance is non-stationary.

2.6 Heterogeneity

Most of our models of complex systems are homogeneous: all components have the same properties. This simplification is useful when we face computational limitations. However, increasing processing power and data availability have allowed us to make more realistic models, where different elements of a system have varying properties.

Perhaps the most studied heterogeneity in complex systems is the one of network topologies (Albert and Barabási, 2002; Newman et al., 2006; Gershenson and Prokopenko, 2011; Barabási, 2016). Different organizations of the same elements can lead to radically different functionalities. A classical example is different arrangements (allotropes) of carbon atoms, which can lead to charcoal, diamond, graphite, graphene, nanotubes, buckyballs, etc. The components are the same, but changing their organization leads to radically different properties of these materials. Many networks are heterogeneous, with few elements having lots of connections and many elements having few connections.

More recently, temporal heterogeneity has been also studied (Cocho et al., 2015; Morales et al., 2018). In a similar way, few elements change slower than most elements that change faster. This heterogeneity seems to lead to a balance where slow elements are robust and fast elements are adaptable. In homogeneous systems, this balance is achieved only in phase transitions, which can be characterized as “critical” (Balleza et al., 2008). However, heterogeneity seems to expand the balance beyond criticality, making it easier to search an unknown parameter space, simply because different components diversify any search procedure.

3 Approaches

How to implement the properties related to self-organization in cyber-physical systems? The concept of self-organizing systems originated within cybernetics (Ashby, 1947; von Foerster, 1960; Ashby, 1962), where useful approaches were already developed.

Ashby not only coined the term “self-organizing system”, but he also proposed the law of requisite variety (Ashby, 1956; Heylighen and Joslyn, 2001; Bar-Yam, 2004; Gershenson, 2015). Variety can be understood as the possible number of states that a system can have. This law states that a controller must have at least as much variety as the system it is trying to control. For example, if we want a robot at a manufacturing plant to deal with seven different types of boxes, then it should be able to distinguish and make the appropriate decisions to handle each type of box. A common problem is that complexity explodes variety and vice versa. Therefore, traditional approaches become limited. To handle the variety of a system, we can either reduce its variety (using mediators), or increase the variety of the controller, but then the latter will imply an increase in the complexity of the controller as well.

There is an interesting relationship between variety and heterogeneity. Heterogenous systems by definition have more variety, so in principle they should be able to control more situations than similar homogeneous systems. However, they might be less robust and more complicated to design and understand. For example, “if there is a system of ten agents each able to solve ten tasks, a homogeneous system will be able to solve ten tasks robustly (if we do not consider combinations as new tasks). A fully heterogeneous system would be able to solve a hundred tasks, but it would be fragile if one agent failed.” (Gershenson, 2007, p. 53). Thus, a balance between homogeneity and heterogeneity should also give us a balance between robustness and adaptability (Langton, 1990; Kauffman, 1993).

We can consider computers as telescopes of complexity (Pagels, 1989). In other words, without computers, our cognitive abilities are limited to studying models considering only two or three variables. To explore models with thousands or millions of variables, computer simulations are necessary (Gershenson, 2007) because of computational irreducibility (Wolfram, 2002). Complexity implies that new information is generated by interactions, so there is no “shortcut” to the future and all intermediate steps are necessary. This limits inherently the predictability of systems (Gershenson, 2013a).

Agent-based modeling (Bonabeau, 2002; Epstein, 2006; Wilensky and Rand, 2015) has been a useful approach to describe complex systems. Considering elements as agents, with states, goals, and rules allows us to study how changes at one scale lead to effects at another scale. The effects can go in both directions: changes in agents leading to changes in the system and vice versa.

Another approach that is becoming more and more popular as data availability and computing power increase is network science (Newman, 2003; Newman et al., 2006; Barabási, 2016). Networks have the benefit of being able to represent naturally elements (nodes) and interactions (links). The relationship between the structure and function of networks has been an intense area of study, where self-organization can play a relevant role (Gershenson, 2012).

Ethology — the study of animal behavior — has been taken as an inspiration to build adaptive systems (Beer, 1990; Maes, 1994; Steels and Brooks, 1995) and to study complex artificial systems (Rahwan et al., 2019). Animals have evolved to survive in complex environments, so adaptive strategies and self-organizing mechanisms found in nature have been used in cyber-physical systems. In this sense, living technology (Bedau et al., 2009; Gershenson et al., 2018) takes the advantageous properties of living systems and applies them in socio-technical systems, from protocells (Rasmussen et al., 2008) to cities (Gershenson, 2013c).

The robustness and antifragility of systems can be promoted through different mechanisms (Gershenson, 2012), such as redundancy (having several copies of the same element), degeneracy (having different elements perform the same function), modularity (short-range links stronger than long-range ones), and scale-free-like (heterogeneous) topologies (few elements with several links, several elements with few links) .

4 Case studies

In this section, I illustrate the previous concepts and approaches with case studies we have worked with in recent years, related to urban mobility.

4.1 Crowd control

More than a hundred million people use the hundred busiest metro systems in the world every day, a number that is growing fast as the urban population is increasing and cities develop. In the Mexico City Metro and other systems, people would normally push each other, not letting passengers exit trains, collapsing the systems. How to regulate passenger behavior, when a selfish approach might seem to bring individual benefit but lead to collective inefficiency? One can think of different mediators, but they can be costly to try in real systems. To explore alternatives, we first used crowd simulations (Helbing et al., 2000a) and then implemented a pilot study in the Balderas station of the Mexico City Metro on December, 2016 (Carreón et al., 2017). The pilot was a success and it has since been extended to several other busy stations.

The intervention consisted of “simple” signs that indicate passengers roughly where the train doors will be, asking them to leave free space for exiting passengers, as shown in Figure 1. What we did not expect nor suggest was that people would queue (Figure 2), and that these queues could even go upstairs as people respected them.

This intervention managed to change the behavior of the passengers and thus the crowd, without changing the elements of the system (where could we get different “educated” passengers from?). The signs mediated interactions between people. This is an example of a passive control, where interactions are regulated “simply” providing useful information.

Refer to caption
Figure 1: Signs installed to mediate passenger boarding and descent in Mexico City Metro (Carreón et al., 2017).
Refer to caption
Figure 2: Passengers queuing waiting for a train in Mexico City Metro during rush hour, San Lázaro metro station (Carreón et al., 2017).

4.2 Traffic light coordination

The coordination of traffic lights is an EXP-complete problem, meaning that in theory it takes exponentially more time to find a solution as more intersections are added to a street network. Also, the precise number of vehicles changes every cycle, so in practice the problem changes faster than it can be optimized. An active controller should adapt as fast as the controlled changes (requisite temporal variety), and for that sensors are required to provide relevant information to the controller.

With this in mind, we have proposed self-organizing algorithms that can coordinate traffic flows and adapt to constant changes in the demand as fast as it changes (Gershenson, 2005; Zapotecatl et al., 2017), achieving close-to-optimal performance (Gershenson and Rosenblueth, 2012). The main idea behind the algorithms is that streets with a higher demand get a preference. Thus, busier directions will wait less for a green light. This increases the probability that vehicles will aggregate behind red lights with few cars, leading to the formation of platoons. As platoons reach a certain size, they can request a green light before they even reach an intersection, so vehicles do not need to stop, unless there are other vehicles or pedestrians crossing. Platoons are easier to coordinate than individual vehicles, as they leave spaces between them that other platoons can use without interference. When densities are high, the preference is given to the street that has more space after the intersection, preventing gridlocks.

It is difficult to compare the performance of self-organizing traffic lights, as there are no benchmarks in traffic light coordination. However, they are close to optimal. Also, we have found that self-organizing traffic lights would improve traffic more than if all vehicles were autonomous but with traditional traffic lights. Nevertheless, autonomous vehicles and self-organizing traffic lights are even better.

By distributing control locally (we have made simulations with up to ten thousand intersections achieving efficient or optimal coordination), the requisite variety of the traffic light coordination can be tackled as conditions change, while the formation of platoons self-organizes the traffic flows and assists the coordination of intersection controllers at the city scale. In this way, the traffic lights are mediators of vehicles, but the vehicles are also mediators of traffic lights.

4.3 Public transport regulation

In theory, passengers in public transport are served optimally when vehicle headway — the time between arrivals at a station — is equal. However, as we have shown, an equal headway configuration is unstable by nature (Gershenson and Pineda, 2009), as delays become amplified by positive feedbacks. Thus, many approaches are taken by transportation engineers to prevent the “equal headway instability”, also known as the “bus bunching problem”.

To keep equal headways, all vehicles — trains, trams, buses — must wait the same time at each station. This time can vary from station to station, but it must be fixed or some vehicles will go faster than others, leading to unequal headways and potentially to the collapse of the system. Since the precise number of passengers varies each time a vehicle reaches a station, and thus the required waiting time, then either vehicles will require a margin and be idle, or they will depart before servicing all passengers when these are more than expected.

We proposed a self-organizing algorithm inspired by ant colony communication (Gershenson, 2011a; Carreón et al., 2017), where each vehicle “simply” tries to keep equal distance to the vehicles in front and behind, but is flexible enough to serve passengers at stations and at the same time prevent idling. Equal headways are not maintained, but the system does not collapse. Rather, its performance is even better than the case with equal headways, i.e. it is supraoptimal. This is because of the slower-is-faster effect: It is true that passengers minimize their waiting time at stations with equal headways (what theory says). But their total travel time is not independent of the equal headways, so idling will increase their total travel time. With the self-organizing algorithm, passengers wait more at stations, but once they board a vehicle, they will reach their destination faster, as there is no idling. Again, adaptation takes place at the scales at which the system changes.

5 Discussion

We cannot reduce the complexity of several systems we have to deal with. Novel information produced by interactions leads to changes, making problems non-stationary. Self-organization has been used in a broad variety of cyber-physical systems. It allows systems to adapt at the scales at which the problem they are solving changes in a robust fashion. In addition to the case studies mentioned in the previous section, dynamic road pricing in Singapore and variable parking cost in San Francisco are examples of self-organization being used to regulate urban mobility. We can see that the same principles apply in other cyber-physical systems, from telecommunications (Amoretti and Gershenson, 2015) to organizations (Gershenson, 2008).

A relevant step towards adopting self-organizing controllers is to give up the desire to control completely our systems. As complexity limits our predictability, systems require certain autonomy to make the “right decisions”. Even if we use traditional approaches, we do not have full control of our systems, as they are constantly entering unexpected situations. We would like to be able to be sure that our systems will never fail, but they will. We can have formal proofs but these are also limited, since they assume idealized/closed/predefined situations. Self-organizing systems can do the same as traditional engineered systems and more, as they can deal with more realistic/open/variable situations. We just have to try and see, constantly adapting (Gershenson, 2007). Even if a solution already worked, it does not assure that it will continue working (as conditions change) or that it can be applied in the same way in a different context.

The best solution depends on the context/environment/problem. In some cases, centralized control will be good, in others distributed is more appropriate, in yet others self-organizing. As shown in Table 1, centralized control is appropriate when causality should be top-down. Because of the law of requisite variety, systems with a high variety/complexity will require a controller with a high variety/complexity, so the centralized approach becomes less viable. Distributed control can deal with a greater complexity, but it is still limited, because the integration of the distributed solutions is not necessarily trivial. This limits distributed control to homogeneous systems: since information flow across the system is limited, the local solutions assume that each local problem is similar. Self-organizing control can deal with top-down and bottom-up causality (multiscale), as components can interact in a distributed fashion to change system properties (bottom-up), but then the system properties can mediate (top-down) to regulate the behavior of components. Self-organization can be scalable, adaptive, robust, and can deal with a high complexity and homogenous or heterogeneous problems. It is not that one approach is better than others, but they are more appropriate for different problems. Centralized control is easier to implement and understand, but is useful for low complexity/variety problems. Distributed control can deal with a greater complexity, but only for heterogeneous systems. Self-organizing systems might be more difficult to design and test, but they can handle greater complexity/variety/diversity.

Table 1: Different control approaches are more appropriate for different causalities, complexities, and diversities.
Control Causality Complexity Diversity
Centralized top-down low homogeneous or heterogeneous
Distributed bottom-up high homogeneous
Self-organizing multiscale high homogeneous or heterogeneous

As the complexity of our cyber-physical systems increases, and also our understanding of it, we will see more self-organizing approaches. Perhaps names will differ, but the concepts presented here are required to control cyber-physical systems by guiding their self-organization.

References

  • Albert and Barabási (2002) Albert, R. and Barabási, A.-L. (2002). Statistical mechanics of complex networks. Rev. Mod. Phys. 74: 47–97. URL http://link.aps.org/doi/10.1103/RevModPhys.74.47.
  • Amoretti and Gershenson (2015) Amoretti, M. and Gershenson, C. (2015). Measuring the complexity of adaptive peer-to-peer systems. Peer-to-Peer Networking and Applications: 1–16. URL http://dx.doi.org/10.1007/s12083-015-0385-4.
  • Ashby (1947) Ashby, W. R. (1947). Principles of the self-organizing dynamic system. Journal of General Psychology 37: 125–128.
  • Ashby (1956) Ashby, W. R. (1956). An Introduction to Cybernetics. Chapman & Hall, London. URL http://pcp.vub.ac.be/ASHBBOOK.html.
  • Ashby (1962) Ashby, W. R. (1962). Principles of the self-organizing system. In Principles of Self-Organization, H. V. Foerster and G. W. Zopf, Jr., (Eds.). Pergamon, Oxford, pp. 255–278.
  • Balleza et al. (2008) Balleza, E., Alvarez-Buylla, E. R., Chaos, A., Kauffman, S., Shmulevich, I., and Aldana, M. (2008). Critical dynamics in genetic regulatory networks: Examples from four kingdoms. PLoS ONE 3 (6) (06): e2456. URL http://dx.plos.org/10.1371%2Fjournal.pone.0002456.
  • Bar-Yam (2004) Bar-Yam, Y. (2004). Multiscale variety in complex systems. Complexity 9 (4): 37–45. URL http://necsi.org/projects/yaneer/multiscalevariety.pdf.
  • Barabási (2016) Barabási, A.-L. (2016). Network Science. Cambridge University Press, Cambridge, UK. URL http://barabasi.com/networksciencebook/.
  • Barabási et al. (2000) Barabási, A.-L., Albert, R., and Jeong, H. (2000). Scale-free characteristics of random networks: the topology of the world-wide web. Physica A: Statistical Mechanics and its Applications 281 (1): 69 – 77. URL http://www.sciencedirect.com/science/article/pii/S0378437100000182.
  • Bedau et al. (2013) Bedau, M. A., McCaskill, J. S., Packard, N. H., Parke, E. C., and Rasmussen, S. R. (2013). Introduction to recent developments in living technology. Artificial Life 19 (3) (Summer/Fall): 291–298. URL http://dx.doi.org/10.1162/ARTL_e_00121.
  • Bedau et al. (2009) Bedau, M. A., McCaskill, J. S., Packard, N. H., and Rasmussen, S. (2009). Living technology: Exploiting life’s principles in technology. Artificial Life 16 (1) (2011/11/03): 89–97. URL http://dx.doi.org/10.1162/artl.2009.16.1.16103.
  • Beer (1990) Beer, R. D. (1990). Intelligence as Adaptive Behavior: An Experiment in Computational Neuroethology. Academic Press.
  • Bonabeau (2002) Bonabeau, E. (2002). Agent-based modeling: Methods and techniques for simulating human systems. Proceedings of the National Academy of Sciences of the United States of America 99 (Suppl 3): 7280–7287. URL http://dx.doi.org/10.1073/pnas.082080899.
  • Camazine et al. (2003) Camazine, S., Deneubourg, J.-L., Franks, N. R., Sneyd, J., Theraulaz, G., and Bonabeau, E. (2003). Self-Organization in Biological Systems. Princeton University Press, Princeton, NJ, USA. URL http://www.pupress.princeton.edu/titles/7104.html.
  • Carreón et al. (2017) Carreón, G., Gershenson, C., and Pineda, L. A. (2017). Improving public transportation systems with self-organization: A headway-based model and regulation of passenger alighting and boarding. PLOS ONE 12 (12) (12): 1–20. URL https://doi.org/10.1371/journal.pone.0190100.
  • Cocho et al. (2015) Cocho, G., Flores, J., Gershenson, C., Pineda, C., and Sánchez, S. (2015). Rank diversity of languages: Generic behavior in computational linguistics. PLoS ONE 10 (4) (04): e0121898. URL http://dx.doi.org/10.1371%2Fjournal.pone.0121898.
  • De Domenico et al. (2019) De Domenico, M., Camargo, C., Gershenson, C., Goldsmith, D., Jeschonnek, S., Kay, L., Nichele, S., Nicolás, J., Schmickl, T., Stella, M., Brandoff, J., Salinas, Á. J. M., and Sayama, H. (2019). Complexity explained: A grassroot collaborative initiative to create a set of essential concepts of complex systems. URL https://complexityexplained.github.io.
  • De Wolf et al. (2005) De Wolf, T., Samaey, G., and Holvoet, T. (2005). Engineering self-organising emergent systems with simulation-based scientific analysis. In Proceedings of the International Workshop on Engineering Self-Organising Applications. Utrecht, The Netherlands,, pp. 46–160. URL http://tinyurl.com/y2vmau.
  • Di Marzo Serugendo et al. (2004) Di Marzo Serugendo, G., Karageorgos, A., Rana, O. F., and Zambonelli, F., Eds. (2004). Engineering Self-Organising Systems, Nature-Inspired Approaches to Software Engineering. Lecture Notes in Computer Science, vol. 2977. Springer. Revised and extended papers presented at the Engineering Self-Organising Applications Workshop, ESOA 2003, held at AAMAS 2003 in Melbourne, Australia, in July 2003 and selected invited papers from leading researchers in self-organisation.
  • Epstein (2006) Epstein, J. (2006). Generative Social Science: Studies in Agent-Based Computational Modeling. Princeton Studies in Complexity. Princeton University Press. URL http://books.google.com.mx/books?id=T8_zh3F7rMIC&dq=computational+social+science&lr=&source=gbs_navlinks_s.
  • Frei and Di Marzo Serugendo (2011) Frei, R. and Di Marzo Serugendo, G. (2011). Advances in complexity engineering. Int. J. of Bio-Inspired Computation 3 (4): 199–212. URL http://www.reginafrei.ch/pdf/IJBIC030401%20FREI%20published.pdf.
  • Gershenson (2005) Gershenson, C. (2005). Self-organizing traffic lights. Complex Systems 16 (1): 29–53. URL http://www.complex-systems.com/pdf/16-1-2.pdf.
  • Gershenson (2007) Gershenson, C. (2007). Design and Control of Self-organizing Systems. CopIt Arxives, Mexico. http://tinyurl.com/DCSOS2007. URL http://tinyurl.com/DCSOS2007.
  • Gershenson (2008) Gershenson, C. (2008). Towards self-organizing bureaucracies. International Journal of Public Information Systems 2008 (1): 1–24. URL http://www.ijpis.net/ojs/index.php/IJPIS/article/view/51.
  • Gershenson (2011a) Gershenson, C. (2011a). Self-organization leads to supraoptimal performance in public transportation systems. PLoS ONE 6 (6): e21469. URL http://dx.doi.org/10.1371/journal.pone.0021469.
  • Gershenson (2011b) Gershenson, C. (2011b). The sigma profile: A formal tool to study organization and its evolution at multiple scales. Complexity 16 (5): 37–44. URL http://arxiv.org/abs/0809.0504.
  • Gershenson (2012) Gershenson, C. (2012). Guiding the self-organization of random Boolean networks. Theory in Biosciences 131 (3) (September): 181–191. URL http://arxiv.org/abs/1005.5733.
  • Gershenson (2013a) Gershenson, C. (2013a). Facing complexity: Prediction vs. adaptation. In Complexity Perspectives on Language, Communication and Society, A. Massip and A. Bastardas, (Eds.). Springer, Berlin Heidelberg, 3–14. URL http://arxiv.org/abs/1112.3843.
  • Gershenson (2013b) Gershenson, C. (2013b). The implications of interactions for science and philosophy. Foundations of Science 18 (4): 781–790. URL http://arxiv.org/abs/1105.2827.
  • Gershenson (2013c) Gershenson, C. (2013c). Living in living cities. Artificial Life 19 (3 & 4) (Summer/Fall): 401–420. URL http://dx.doi.org/10.1162/ARTL_a_00112.
  • Gershenson (2015) Gershenson, C. (2015). Requisite variety, autopoiesis, and self-organization. Kybernetes 44 (6–7): 866–873.
  • Gershenson and Helbing (2015) Gershenson, C. and Helbing, D. (2015). When slower is faster. Complexity 21 (2): 9–15. URL http://dx.doi.org/10.1002/cplx.21736.
  • Gershenson and Heylighen (2003) Gershenson, C. and Heylighen, F. (2003). When can we call a system self-organizing? In Advances in Artificial Life, 7th European Conference, ECAL 2003 LNAI 2801, W. Banzhaf, T. Christaller, P. Dittrich, J. T. Kim, and J. Ziegler, (Eds.). Springer, Berlin, pp. 606–614. URL http://arxiv.org/abs/nlin.AO/0303020.
  • Gershenson and Heylighen (2005) Gershenson, C. and Heylighen, F. (2005). How can we think the complex? In Managing Organizational Complexity: Philosophy, Theory and Application, K. Richardson, (Ed.). Information Age Publishing, Chapter 3, pp. 47–61. URL http://uk.arxiv.org/abs/nlin.AO/0402023.
  • Gershenson and Pineda (2009) Gershenson, C. and Pineda, L. A. (2009). Why does public transport not arrive on time? The pervasiveness of equal headway instability. PLoS ONE 4 (10): e7292. URL http://dx.doi.org/10.1371/journal.pone.0007292.
  • Gershenson and Prokopenko (2011) Gershenson, C. and Prokopenko, M. (2011). Complex networks. Artificial Life 17 (4) (Fall): 259–261. URL http://arxiv.org/abs/1104.5538.
  • Gershenson and Rosenblueth (2012) Gershenson, C. and Rosenblueth, D. A. (2012). Self-organizing traffic lights at multiple-street intersections. Complexity 17 (4): 23–39. URL http://dx.doi.org/10.1002/cplx.20392.
  • Gershenson et al. (2018) Gershenson, C., Trianni, V., Werfel, J., and Sayama, H. (2018). Self-organization and artificial life: A review. In The 2018 Conference on Artificial Life: A Hybrid of the European Conference on Artificial Life (ECAL) and the International Conference on the Synthesis and Simulation of Living Systems (ALIFE), T. Ikegami, N. Virgo, O. Witkowski, M. Oka, R. Suzuki, and H. Iizuka, (Eds.). MIT Press, 510–517. URL https://www.mitpressjournals.org/doi/abs/10.1162/isal_a_00094.
  • Goel et al. (2017) Goel, S., Bush, S. F., and Gershenson, C. (2017). Self-organization in traffic lights: Evolution of signal control with advances in sensors and communications. arXiv:1708.07188. URL https://arxiv.org/abs/1708.07188.
  • Haken (1988) Haken, H. (1988). Information and Self-organization: A Macroscopic Approach to Complex Systems. Springer-Verlag, Berlin.
  • Helbing et al. (2000a) Helbing, D., Farkas, I., and Vicsek, T. (2000a). Simulating dynamical features of escape panic. Nature 407: 487–490. URL http://angel.elte.hu/~panic/.
  • Helbing et al. (2000b) Helbing, D., Farkas, I. J., and Vicsek, T. (2000b). Freezing by heating in a driven mesoscopic system. Phys. Rev. Lett. 84: 1240–1243. URL http://link.aps.org/doi/10.1103/PhysRevLett.84.1240.
  • Heylighen (2006) Heylighen, F. (2006). Mediator evolution: a general scenario for the origin of dynamical hierarchies. In Worldviews, Science and Us, D. Aerts, B. D’Hooghe, and N. Note, (Eds.). World Scientific. URL http://pespmc1.vub.ac.be/MediatorEvolution.pdf.
  • Heylighen and Joslyn (2001) Heylighen, F. and Joslyn, C. (2001). Cybernetics and second order cybernetics. In Encyclopedia of Physical Science and Technology, 3rd ed., R. A. Meyers, (Ed.). Vol. 4. Academic Press, New York, 155–170.
  • Holland (1975) Holland, J. H. (1975). Adaptation in natural and artificial systems. The University of Michigan Press.
  • Jen (2005) Jen, E., Ed. (2005). Robust Design: A Repertoire of Biological, Ecological, and Engineering Case Studies. Santa Fe Institute Studies on the Sciences of Complexity. Oxford University Press, Oxford, UK. URL http://tinyurl.com/swtlz.
  • Kauffman (1993) Kauffman, S. A. (1993). The Origins of Order. Oxford University Press, Oxford, UK.
  • Langton (1990) Langton, C. G. (1990). Computation at the edge of chaos: Phase transitions and emergent computation. Physica D 42: 12–37.
  • Lloyd (2001) Lloyd, S. (2001). Measures of complexity: a non-exhaustive list. Department of Mechanical Engineering, Massachusetts Institute of Technology. URL http://web.mit.edu/esd.83/www/notebook/Complexity.PDF.
  • Maes (1994) Maes, P. (1994). Modeling adaptive autonomous agents. Artificial Life 1 (1&2): 135–162. URL http://tinyurl.com/yhggsa.
  • Michod (2003) Michod, R. E. (2003). Cooperation and conflict mediation during the origin of multicellularity. In Genetic and Cultural Evolution of Cooperation, P. Hammerstein, (Ed.). MIT Press, Cambridge, MA, Chapter 16, pp. 261–307. URL http://tinyurl.com/y76639.
  • Morales et al. (2018) Morales, J. A., Colman, E., Sánchez, S., Sánchez-Puig, F., Pineda, C., Iñiguez, G., Cocho, G., Flores, J., and Gershenson, C. (2018). Rank dynamics of word usage at multiple scales. Frontiers in Physics 6: 45. URL https://www.frontiersin.org/article/10.3389/fphy.2018.00045.
  • Newman et al. (2006) Newman, M., Barabási, A.-L., and Watts, D. J., Eds. (2006). The Structure and Dynamics of Networks. Princeton Studies in Complexity. Princeton University Press, Princeton, NJ, USA.
  • Newman (2003) Newman, M. E. J. (2003). The structure and function of complex networks. SIAM Review 45: 167–256. URL http://arxiv.org/abs/cond-mat/0303516.
  • Nicolis and Prigogine (1977) Nicolis, G. and Prigogine, I. (1977). Self-Organization in Non-Equilibrium Systems: From Dissipative Structures to Order Through Fluctuations. Wiley, Chichester.
  • Pagels (1989) Pagels, H. R. (1989). The Dreams of Reason: The Computer and the Rise of the Sciences of Complexity. Bantam Books.
  • Pineda et al. (2019) Pineda, O. K., Kim, H., and Gershenson, C. (2019). A novel antifragility measure based on satisfaction and its application to random and biological Boolean networks. Complexity 2019: 10. URL https://doi.org/10.1155/2019/3728621%]3728621.
  • Prokopenko (2009) Prokopenko, M. (2009). Guided self-organization. HFSP Journal 3 (5): 287–289. URL http://www.ncbi.nlm.nih.gov/pmc/articles/PMC2801529/.
  • Prokopenko (2014) Prokopenko, M., Ed. (2014). Guided Self-Organization: Inception. Emergence, Complexity and Computation, vol. 9. Springer, Berlin Heidelberg. URL http://dx.doi.org/10.1007/978-3-642-53734-9.
  • Rahwan et al. (2019) Rahwan, I., Cebrian, M., Obradovich, N., Bongard, J., Bonnefon, J.-F., Breazeal, C., Crandall, J. W., Christakis, N. A., Couzin, I. D., Jackson, M. O., Jennings, N. R., Kamar, E., Kloumann, I. M., Larochelle, H., Lazer, D., McElreath, R., Mislove, A., Parkes, D. C., Pentland, A. S., Roberts, M. E., Shariff, A., Tenenbaum, J. B., and Wellman, M. (2019). Machine behaviour. Nature 568 (7753): 477–486. URL https://doi.org/10.1038/s41586-019-1138-y.
  • Rasmussen et al. (2008) Rasmussen, S., Bedau, M. A., Chen, L., Deamer, D., Krakauer, D. C., Packard, N. H., and Stadler, P. F., Eds. (2008). Protocells: Bridging Nonliving and Living Matter Bridging Nonliving and Living Matter. MIT Press.
  • Steels and Brooks (1995) Steels, L. and Brooks, R. (1995). The Artificial Life Route to Artificial Intelligence: Building Embodied, Situated Agents. L. Erlbaum Associates.
  • Taleb (2012) Taleb, N. N. (2012). Antifragile: Things That Gain From Disorder. Random House.
  • Vicsek and Zafeiris (2012) Vicsek, T. and Zafeiris, A. (2012). Collective motion. Physics Reports 517: 71–140. URL http://dx.doi.org/10.1016/j.physrep.2012.03.004.
  • von Foerster (1960) von Foerster, H. (1960). On self-organizing systems and their environments. In Self-Organizing Systems, M. C. Yovitts and S. Cameron, (Eds.). Pergamon, New York, pp. 31–50.
  • Wagner (2005) Wagner, A. (2005). Robustness and Evolvability in Living Systems. Princeton University Press, Princeton, NJ. URL http://www.pupress.princeton.edu/titles/8002.html.
  • Wilensky and Rand (2015) Wilensky, U. and Rand, W. (2015). An Introduction to Agent-Based Modeling: Modeling Natural, Social, and Engineered Complex Systems with NetLogo. MIT Press. URL https://mitpress.mit.edu/books/introduction-agent-based-modeling.
  • Wolfram (2002) Wolfram, S. (2002). A New Kind of Science. Wolfram Media, Champaign, IL, USA. URL http://www.wolframscience.com/thebook.html.
  • Zambonelli and Rana (2005) Zambonelli, F. and Rana, O. F. (2005). Self-organization in distributed systems engineering: Introduction to the special issue. Systems, Man and Cybernetics, Part A, IEEE Transactions on 35 (3) (May): 313–315. URL http://dx.doi.org/10.1109/TSMCA.2006.846372.
  • Zapotecatl et al. (2017) Zapotecatl, J. L., Rosenblueth, D. A., and Gershenson, C. (2017). Deliberative self-organizing traffic lights with elementary cellular automata. Complexity 2017: 7691370. URL https://doi.org/10.1155/2017/7691370/7691370.