  Criticality has been proposed as a mechanism for the emergence of complexity,
life, and computation, as it exhibits a balance between robustness and
adaptability. In classic models of complex systems where structure and dynamics
are considered homogeneous, criticality is restricted to phase transitions,
leading either to robust (ordered) or adaptive (chaotic) phases in most of the
parameter space. Many real-world complex systems, however, are not homogeneous.
Some elements change in time faster than others, with slower elements (usually
the most relevant) providing robustness, and faster ones being adaptive.
Structural patterns of connectivity are also typically heterogeneous,
characterized by few elements with many interactions and most elements with
only a few. Here we take a few traditionally homogeneous dynamical models and
explore their heterogeneous versions, finding evidence that heterogeneity
extends criticality. Thus, parameter fine-tuning is not necessary to reach a
phase transition and obtain the benefits of (homogeneous) criticality. Simply
adding heterogeneity can extend criticality, making the search/evolution of
complex systems faster and more reliable. Our results add theoretical support
for the ubiquitous presence of heterogeneity in physical, social, and
technological systems, as natural selection can exploit heterogeneity to evolve
complexity "for free". In artificial systems and biological design,
heterogeneity may also be used to extend the parameter range that allows for
criticality.
