There's Plenty of Room Right Here: Biological Systems as Evolved, Overloaded, Multi-Scale Machines
Holographic data storage (HDS; [126]) is another set of related technologies that do not assume that only one datum or computational result is stored locally. HDS stores and reads data that have been dispersed across the storage medium. It does so by etching a distributed representation of a datum across the storage medium, for example with laser light, from a particular direction. That datum can then be retrieved by capturing the reflection of light cast from the same direction. By storing data in this way, from multiple directions, parts of multiple pieces of data are stored in the same place, but accessed at different times. Exactly how this can be achieved in hardware, such that it affords appreciable increases in the storage density more than current traditional approaches, has yet to be resolved.
A third technology relaxing the assumption of the data/compute locality is physical reservoir computing (PRC). PRC, inspired by HDS, attempts to retrieve the results of the desired computations by exciting inert bulk materials, such as metal plates or photonic crystals, and capturing the resulting mechanical vibrations or refracted light, respectively. Different computations can be extracted from the same material by exciting it in different ways. An attempt to “program” PRCs, thus easing the ability to extract the desired computation from them, has also been reported [127]. Notably, this method has been used to create “deep physical neural networks” [77]: the input, and the parameters describing an artificial neural network, are combined into forces that are supplied to the material. The forces captured back from the material are interpreted as if the input had been passed through a neural network with those parameters. The errors in the output can then be used to modulate the input, and the process repeats until a set of input forces has been found that produces the desired output. Importantly, the internal structure of the bulk material is not changed during this training process. This means that the same material can embody different computations. Just how distributed or localized these computations are within these materials remains to be seen.
Other materials are not only changed by the forces acting on them, but retain an imprint of those forces even after they cease: they are capable of memory. Efforts are also underway to design such materials to maximize the number of overlapping memories that they can store [128,129]. The ability of the designed materials to absorb the forces, compute with them, and output the transformed forces that encode the results of those computations, holds great promise for robotics. If future robots can be built from such materials, the force propagation within them could simultaneously produce external behavior and internal cogitation, without requiring distinct behavior-generating components (the body) and computation-generating components (the brain). Indeed, soft robots are already demonstrating how exotic materials enable the traditionally distinct functions of sensation, actuation, computation, power storage, and power generation to be performed simultaneously by the same parts of the robot’s body [130].
Analyzing natural systems to determine whether or how they perform polycomputation is particularly challenging, as most analytic approaches are reductionist: they “reduce” to characterizing one phenomenon that arises in one place, at one time, under one set of circumstances. Synthesis is also difficult: polycomputable technologies seem, to date, resistant to the traditional engineering design principles such as hierarchy and modularity. A fundamental problem is that typical human designs are highly constrained, such that any changes made to optimize one function often interfere with another. Although humans struggle to manually design polycomputing technologies, it turns out that AI methods can do so, at least in one domain. We have recently applied an evolutionary algorithm—a type of AI search method—to automatically design a granular metamaterial that polycomputes. It does so by combining vibrations at different frequencies at its inputs, and providing different computations in the same place, at the same time, at different frequencies. Figure 2 illustrates this process.
Many biological functions have been usefully analyzed as computations [62] (Table 2). These include molecular pathways [128,131], individual protein molecules [63], cytoskeletal elements [129,132,133], calcium signaling [134], and many others. Although differing from the most familiar, traditional algorithms, the massively parallel, stochastic (indeterministic), evolutionarily shaped information processing of life is well within the broad umbrella of the computations familiar to workers within the information sciences. Indeed, information science tools have been used to understand cell- and tissue-level decision making, including estimations of uncertainty [108,135,136,137,138,139,140,141,142,143,144,145], analog/digital dynamics [146], and distributed computations [104]. Bioelectric networks within non-neural tissues, just like their neural counterparts, have shown properties that are very amenable to polycomputation, including the ability to store diverse pattern memories that help to execute morphogenesis on multiple scales simultaneously [28,30,116,147,148,149,150,151,152,153], and enable the same genome to produce multiple diverse outcomes [154].
A key aspect to recognizing unconventional computing in biology is that the notion of “what is this system really computing” has to be dropped (because of the multiple observers issue described above; see also [155] for a discussion of the role of the observer in unconventional computing). Once we do this, biology is rife with polycomputing on all scales. An example of this includes the storage of a (very large) number of memories in the same neuronal real-estate of the brain [156,157], and many others are summarized in Table 2. We do not yet know whether the prevalence of polycomputing is because of its efficiency, robustness, or other gains that override the evolutionary difficulty of finding such solutions. Or, perhaps we overestimate this difficulty, and evolution has no problem in identifying such solutions—they may indeed be the default. If so, it may be because of the generative, problem solving nature of developmental physiology that is the layer between the genotype and the phenotype [38,158]. For these reasons, polycomputing may join degeneracy and redundancy [159], as well as the minimization of stress and frustration [2,160,161,162,163], as one of the organizing principles that underlies the open-ended, robust nature of living systems.
Evolution is remarkably good at finding new uses for existing hardware due to its fundamental ability to generate novelty, in order to exploit new niches while being conservative in terms of building upon what already exists. This ability to simultaneously innovate and conserve plays out across structural, regulatory, and computational domains. Moreover, the re-use of the same conserved mechanisms in situ has enabled evolution to pivot successful algorithms (policies) from solving problems in metabolic spaces to solving them in physiological, transcriptional, and anatomical (morphospace) spaces, and finally, once muscles and nerves arrived on the scene, to 3D behavioral spaces [22,28,64,207]. For example, [64], the same ion channels that are used for the physiological control of cell homeostasis and metabolism are used simultaneously in large-scale bioelectric circuits that compute the direction of the adaptive changes in growth, and form in embryogenesis, metamorphosis, regeneration, and cancer suppression [64,112,117,208,209,210,211,212]. Indeed, in some animals such as planaria and axolotl, this all happens at the same time, as these exact same mechanisms in neural cells are guiding behavior [47]. Biology extensively uses polycomputing because it uses a multi-scale competency architecture, where every level of the organization is competent in solving certain problems within its own space. It is doing so at the same time via the same physical medium that is interpreted by observers on different scales, which exploits the results of those computations [2,22] (Figure 3).
Polycomputing is seen even at the lowest scale of molecular biological information. It has long been known that genomes are massively overloaded, providing polycomputing not only because of the multiple reading frames (overlapping genes) for some loci [181,182], but also because the question of “what is this gene for?” may have a clear answer at the molecular scale of a protein, but often has no unique answer at the phenotypic scale, because complex traits are implemented by many genes, and many (or most [74]) genes contribute to multiple mesoscale capabilities. Moreover, epigenetics enables the same genomic information to facilitate the embodied computation that results in multiple different anatomical, physiological, and behavioral forms [213,214].
How much actionable information on how to assemble an adaptive, behaving organism can be packed into the same genomic and physiological information medium? A recent example of massive phenotypic plasticity are Xenobots—proto-organisms that result from a rebooting of multicellularity with frog skin cells [79,215]. The Xenobots self-assemble as spheroids that are self-motile, exhibiting a range of autonomous behaviors, including highly novel ones such as kinematic self-replication: the ability, of which von Neumann famously dreamed, to assemble copies of themselves from material found in their environment [78]. In the case of Xenobots, this material is the dissociated cells that are introduced into their surroundings. A key point is that Xenobots are not genetically modified, and their novel functionality is implemented by perfectly standard frog cells. So, what did evolution learn [216,217,218,219,220] in crafting the Xenopus laevis genome and the frog eggs’ cytoplasmic complements? It was not just how to make a frog, it was how to make a system in which cells allow themselves to be coerced (by other cells) into a boring, two-dimensional life on the animal’s outer skin surface, or, when on their own, to assemble into a basal three-dimensional creature that autonomously explores its environment and has many other capabilities (Figure 4).
This capacity to do things that were not specifically selected for [221] and do not exist elsewhere in their (or others’) phylogenetic history reveals that evolution can not only create seeds for cellular machines that do multiple things, but for ones that can do novel things. This is because genomic information is overloaded by physiological interpretation machinery (internal observer modules): the exact same DNA sequence can be used by cells to build a tadpole or a Xenobot (and the same planarian genome can build the heads of several different species [222,223]). Thus, evolution teaches us about powerful polycomputing strategies because it does not make solutions for specific problems—it creates generic problem solving machines, in which the competition and cooperation of overlapping, nested computational agents at all levels exploit the ability of existing hardware to carry out numerous functions simultaneously. This is closely tied to recent advances at the interface of the fields of developmental biology and primitive cognition, with the generation of models in which larger-scale Selves (in psychological and anatomical spaces, etc.) arise as composite systems made of smaller Selves, all of which are pursuing diverse agendas [47,48,224].
As surprising as these examples are, we should have already seen this coming—biology has to work like that, and it could not work otherwise. First, the “sim-to-real gap” (the difference an agent experiences when it is trained in virtual environments, built as a robot, and deployed into a real environment [225,226]) is as real for biology as it is for robotics: prior evolutionary experience in a past environment is not a reliable guide to the novel challenges that each generation experiences in new environments. Thus, evolution does not overtrain on prior examples, but generalizes, producing substrates that can compute different functions for different needs (Figure 5). Second, the evolutionary process is not working with a blank slate—the canvas of embryogenesis is made up of cells which used to be independent organisms. Evolution exploits the competencies of cells in numerous problem spaces as a toolkit of affordances to be exploited. Development is akin to behavior-shaping, where evolution finds signals that cells can send to other cells to push them into specific actions. This is a strong start for polycomputing as a design principle—working with an agential material [67] requires strategies that do not establish a single, privileged, new way of doing things, but instead drive adaptive outcomes by incentivizing subsystems to manage and exploit the many things that the material is already doing. This perspective is congruent with a “process metaphysics” [227,228]. Third, evolution simply would not work well with an architecture that did not support polycomputing, because each new evolutionary experiment would wreck the prior gains, even if it itself was an advance.
Developing a new perspective on a set of events which provides a useful computational function enables subsystems to derive an adaptive advantage without having to change the events in question (thus not risking breaking something that other subsystems depend on). For example, we have shown that useful computational functions, such as associative memory, can be derived from a gene-regulatory network without changing the structure of the network (and thus without any possibility of adversely affecting any dependents), simply by a mechanism that interprets its outcomes in a particular way (by mapping specific nodes to the functional elements in an associative conditioning paradigm) [169,171]. This is readily evolved, and provides a way for evolution to squeeze additional benefits from the existing components without needing to change them in any way—all the work is done on the observer’s end, who also reaps the benefits without any negative consequences for the other internal observers (subsystems).
The rate of evolution would be much slower without this multi-scale competency architecture—the ability of the parts to get their job accomplished even if circumstances change [159] In one remarkable example, the tadpole eye, placed in the wrong position on the head, or even on the tail [230], still provides vision, because the eye primordia cells can make an eye in aberrant locations, move it if possible [232], and if not, connect it to the spinal cord (rather than directly to the brain), providing visual signals that way [233,234]. This competency of the substrate in regulative development and remodeling [22,38] can neutralize the lethal side effects of many mutations, enabling the exploration of other possibly beneficial effects. For example, consider a mutation that causes the displacement of the mouth and also another effect, E, elsewhere in the body. The potential benefits of E might never be explored in a monocomputational developmental architecture, because the mouth defect would prevent the animal from eating and drive the fitness to 0. The exploration of the effect of E would have to wait for another mutation to appear that produces the same effect without untoward side effects elsewhere—a very long wait, and often altogether impossible. In contrast, in a polycomputing architecture, structures solve morphological and physiological problems simultaneously: the mouth will move to the right location on its own [232], in parallel to all of the other developmental events, enabling evolution to explore the consequences of E. Thus, the overloaded competencies of the cells and tissues allow for evolution to simultaneously explore the other effects of those mutations on a phenotype (of which pleiotropy is one example).
In this case, these competencies create the “hidden layer” of developmental physiology that sits between genomic inputs and phenotypic outputs, and provides a problem solving capacity: getting an adaptive task completed, despite changes in the microenvironment or in their own parts [2,22]. This occurs simultaneously at all scales of the organization (Figure 3), and thus, each level computes specific functions not only in its own problem space, but also participates in the higher level’s space (as a component) and has an influence that deforms the action space of its lower levels’ components [22]. By using behavior-shaping competent subunits as agential materials [67], evolution produces modules that make use of each other’s outputs in parallel, virtually guaranteeing that the same processes are exploited as different “functions” by the other components of the cell, the body, and the swarm.
The evolutionary pressure to make existing materials perform multiple duties is immense. However, much remains to be learned about how such pressure brings about polycomputing, and how some materials can be overloaded with new functions without negatively impacting the existing ones.
In parallel to such biological investigations, within the computer science domain, much work remains to be done to devise the optimization pressures that create polycomputing substrates, and then create new programming strategies that are suitable for polycomputing. For example, no programming language has yet been devised that truly takes advantage of the polycomputational metamaterials described above. Despite our ignorance about how evolutionary or optimization pressures can create polycomputational systems, what is clear is that evolution would not work at all if living things were not machines—predictable, tractable systems. The key aspects of machines are that they harness the laws of physics and computation, etc., in a reliable, rational manner to produce specific, useful outcomes. The evolutionary process exploits the fact that life is a machine by making changes to the material, the control algorithm, and indirectly, to the environment, in a way that gives rise to predictable, adaptive outcomes. Cells could not influence each other during development to reliably achieve the needed target morphologies if they could not be efficiently controlled. Life shows us the true power of the “machine”: a powerful, multi-scale polycomputing architecture, in which machines control and comprise other machines, all working at the same time in the same locality, but in different modalities and virtual problem spaces, producing massive amounts of plasticity, robustness, and novelty.
One way to exploit this property is to use protocols that examine a particular mechanism for the novel things it can do, and for the best way to induce it to execute some of its capabilities. At the molecular level, an example is gene regulatory networks (GRNs), a formalism whereby a set of genes up- and down-regulate each other’s functions [235,236]. While GRNs and protein pathways are normally studied for ways to explain a particular aspect of biology (e.g., neural crest tissue formation or axial patterning in development [237,238]), we asked whether existing neural network models could have novel computational functions, specifically learning functions. Our algorithm took biological GRN models and, for each one, examined each possible choice of the triplets of nodes as the candidates for conditioned and unconditioned stimuli and response, as per Pavlovian classical associative learning [239]. We found numerous examples of learning capacity in biological networks and many fewer in control random networks, suggesting that evolution is enriching for this property [170]. Most strikingly, the same networks offered multiple different types of memory and computations, depending on which of the network’s nodes the observer took as their control knobs and salient readout in the training paradigm. This approach is an example of searching not for ways to rewire the causal architecture of the system for a desired function, but searching instead for a functional perspective from which an unmodified system already embodies novel functions.
This illustrates an important principle of biological polycomputing: evolution can prepare a computational affordance (the GRN) with multiple interfaces (different gene targets) through which engineers, neighboring cells, or parasites can manipulate the system to benefit from its computational capabilities. We suggest that this kind of approach may be an important way of understanding biological evolution: as a search for ways in which the body’s components can adaptively exploit other its other components as features of their environment—a search for optimal perspectives and ways to use existing interfaces. At the organism level, an excellent example is the brain, in which an immense number of functions are occurring simultaneously. Interestingly, it has been suggested that the ability to store multiple memories in the same neuronal real-estate is implemented by phase [5].
The results of our probing neural networks for novel functions also suggest that, alongside tools for predicting ways to rewire living systems [240,241,242], we should be developing tools to identify the optimal perspectives with which to view and exploit existing polycomputing capacities.
To develop such tools, we will need to overcome human cognitive bias and resist the temptation to cleave the phenomena apart in ways that feel comfortable. One approach is to look for particularly non-intuitive phenomena that defy our attempted categories. Better yet is to seek gradients, along which we can move from the “obvious” approximations of phenomena to increasingly “non-obvious”, but more accurate, reflections of reality.
One such gradient is the one that leads from serial to parallel to superposed processes. The industrial revolution demonstrated the advantage of performing tasks in parallel rather than serially; the computer age similarly demonstrated the power of parallel over serial computation. One reason for these slow transitions may be cognitive limitations: despite the massive parallelism in the human brain, human thinking seems to proceed mostly, or perhaps completely [243], in a serial fashion. “Traditional” parallelism, as it is usually understood, assumes that multiple processes are coincident in time but not in space. An even more difficult of a concept to grasp is that of superposition: the performance of multiple functions in the same place at the same time.
Another conceptual direction that leads from obvious into non-obvious territories is that which leads from modular processes into non-modular ones. In general, the cardinal rule in engineering, and software engineering in particular, is modular design. However, this is a concession to human cognitive limits, not necessarily “the best way to do things”: many natural phenomena are continua. Taking another step, if we consider biological or technological polycomputing systems, we might ask whether they are modular. However, if a system polycomputes, different observers may see different subsets of functions and some may be more modular than others. In that case, the question of whether a given polycomputing biological system (or bioinspired technology) is more or less modular becomes ill-defined. We argue that, to facilitate future research, these classical distinctions must now be abandoned (at least in their original forms).
Learning how biological systems polycompute, and building that learning into technology, is worth doing for several practical reasons. First, creating more computationally dense AI technologies or robots may enable them to act intelligently and thus, do useful, complex work, using fewer physical materials and thus creating less waste. Second, the technological components that polycompute may be more compatible with naturally polycomputing biological components, facilitating the creation of biohybrids. Third, creating machines that perform multiple computations in the same place at the same time may lead to the creation of machines that perform different functions in different domains—sensing, acting, computing, storing energy, and releasing energy—in the same place at the same time, leading to new kinds of robots. Fourth, polycomputing may provide a new solution to catastrophic interference, a ubiquitous problem in AI and robotics, in which an agent can only learn something new at the cost of forgetting something it has already learned. A polycomputing agent might learn and store a new behavior at an underutilized place on the frequency spectrum of its metamaterial “brain” better than a polycomputing-incapable agent that must learn and incorporate the same behavior into its already-trained neural network controller. Such an ability would be the neural network analogue of cognitive radio technologies, which constantly seek underutilized frequency bands from which to broadcast [244].
The importance of continuous models (and the futility of some binary categories) is readily apparent when tracking the slow process of the emergence of specific features that we normally identify in their completed state, and when considering a spectrum of hybrid cases that are readily produced via evolution or bioengineering. Examples include pseudo-problems like “when does a human baby become sentient during embryogenesis”, “when does a cyborg become a machine vs. organism?”, and “when does a machine become a robot?”; all of these questions force arbitrary lines to be chosen that are not backed up by discrete transitions. Developmental biology and evolution both force us to consider gradual, slow changes to be essential to the nature of the important aspects of the structure and function. This biological gradualism has strong parallels in computer science. An unfertilized human oocyte, mostly amenable to the “chemistry and physics” lens, eventually transforms into a complex being for whom behavioral and cognitive (and psychotherapeutic) lenses are required. What does the boot-up of a biologically embodied intelligence consist of? What are the first thoughts of a slowly developing nervous system? One key aspect of this transition process is that it involves polycomputing, as structural and physiological functions become progressively harnessed toward new, additional tasks for navigating behavioral spaces, in addition to their prior roles in metabolic, physiological, and other spaces [22,245,246,247,248]. These ideas also have implication for niche construction and the extended phenotype, in blurring the distinctions between internal and external affordances [249].
Similarly, one can zoom into the boot-up process when a dynamical system consisting of electrical components becomes a computer. During the first few microseconds, when the power is first turned on, the system becomes increasingly more amenable to computational formalisms, in addition to the electrodynamics lens. The maturation of the process consists of a dynamical mode which can profitably be modeled as “following an algorithm” (taking instructions off a stack and executing them). Similarly, one could observe externally supplied vibrations spreading through a metamaterial and consider when it makes sense to interpret the material’s response as a computation or the running of an algorithm. In essence, the transition from an analog device to a computer is really just a shift in the relative payoffs for two different formalisms from the perspective of the observer. These are readily missed, and an observer that failed to catch the ripening of the computational lens during this process would be a poor coder indeed, relegated to interacting with the machine via Maxwell’s laws that guide electron motion and atomic force microscopy, not by exploiting the incredibly rich set of higher-level interfaces that computers afford.
One of the most important next steps, beyond recognizing the degree to which certain dynamical systems or physical materials can be profitably seen as computational systems, is to observe and exploit the right degree of agency. Systems vary widely along a spectrum of persuadability [2], which can be described as the range of techniques that are suitable for interacting with these systems, including physical rewiring, setpoint modification, training, and language-based reasoning. Animals are often good at detecting agency in their environment, and for humans, the theory of mind is an essential aspect of individual behavior and social culture. Consistent with the obvious utility of recognizing the agency in potential interaction partners, evolution has primed our cognitive systems to attribute the intentional stance quite readily [250,251]. Crucially, making mistakes by overestimating this agency (anthropomorphizing) is no worse than underestimating agency—both reduce the effectiveness of the adaptive interactions with the agent’s world.
So far, we have considered a single human observer of a biological or technological system, how much agency they detect in the system from their perspective, and how they use that knowledge to choose how to persuade it to do something. However, a biological system may have many observers (neighboring cells, tissues, conspecifics, and parasites) trying to “persuade” it to do different things, all at the same time (scare quotes here remind us that we must, in turn, decide to adopt the intentional stance for each of the observers). A polycomputing system may be capable of acceding to all of these requests simultaneously. As a simple example, an organism may provide a computational result to one observer while also providing the waste heat produced by that computation to a cold parasite. Traditional computers are not capable of this, or at least are not designed to do so, but future polycomputational machines might be.
For many outside the computational sciences, “computer” denotes the typical physical machines in our everyday lives, such as laptops and smartphones. Turing, however, provided a formal definition for computers that is device-independent: in summary, a system is a computer if it has an internal state, if it can read information from the environment (i.e., its tape) in some way, update its behavior based on what it has read and its current state, and (optionally) write information back out to the tape. This theoretical construct has become known as a Turing machine; any physical system that embodies it, including organisms, is formally referred to as a computer. This broad definition admits a wide range of actors that do not seem like computers, including consortia of crabs [252], slime molds [253], fluids [254], and even algorithms running inside other computers [255]. For all of these unconventional computers, as well as for the novel mechanical computing substrates discussed above, it is difficult to tell at which point they transition from “just physical materials” into computers. With continuous dynamical systems such as these, observers may choose different views from which the system appears to be acting more or less like a physical instantiation of a Turing machine.
Even if an observed system seems to be behaving as if it is a Turing machine, identifying the components of that machine, such as the tape or the read/write head, can be difficult. This is a common reason why it is often claimed that organisms are not machines/computers [19,73,256]. Consider an example from the authors’ own recent work [78]: we found that motile multicellular assemblies can “build” other motile assemblies from loose cells. This looks very much like von Neumann machines: theoretical machines that can construct copies of themselves from the materials in their environment. Von Neumann initially proved the possibility of such machines by mathematically constructing Turing machines that built copies of themselves by referring to and altering an internal tape. However, in the biological Turing machines that we observed, there seems to be no tape. If there is one, it is likely not localized in space and time.
This difficulty in identifying whether something is a computer, or at what point it becomes one, is further frustrated by the fact that biological and non-biological systems change over time: even if one view is held constant, the system, as it changes, may seem to act more or less like a computer. Finally, a polycomputing system, because it can provide different computational results to different observers simultaneously, may at the same time present as different computers—better or worse ones, more general or more specialized ones—to those observers. Such behavior would not only foil the question “Is that a computer?”, but would even foil any attempts to determine the time at which a system becomes a computer, or begins to act more like a computer. Zooming out, it seems that as more advanced technology is created, and as our understanding of biological systems progresses, attempts to attribute any singular cognitive self to a given system will become increasingly untenable. Instead, we will be forced, by our own engineering and science, to admit that many systems of interest house multiple selves, with more or less computational and agential potential, not just at different size scales, but also superimposed upon one another within any localized part of the system.