Distinct scales of the behavior (action selection) have been defined. I'm not sure if these distinctions are meaningful, but they are at least a way of bootstrapping the discussion. - Neuron. Neurons integrate electrical and chemical information and emit both electrical firings and changes to the surrounding neurophil. (Computational element) - Neurons are connected into networks and located in a shared neurophil. Electrical and chemical communication channels can be abstracted into differently weighted connections. - In the most common neural network models, chemical communication (e.g., depletion of potassium ions by one neuron increasing the firing threshold of a nearby neuron) are not modeled. Further, neurons are usually modeled as Markovian, i.e., a currently considered activation cannot be influenced by past activations other than through its immediate inputs. - Neural network. Connected groups of neurons form a neural network. (Functional computation) - The common abstraction of a neural network as a whole is (almost) the same as the abstraction of a single neuron. Both accept a vector of scalar inputs, though generally the single neuron abstraction outputs a scalar while the network outputs a vector. - Neural networks are general function approximators, so any higher-level abstraction needs some specific motivation, otherwise why not just use a NN to abstract away those details. - Neural networks have completely abstract inputs and outputs. - Organism/Agent. One or more neural networks, plus sensory and action capabilities. (General computation) - The organism abstraction is not a computational abstraction, but rather a sensory-grounding abstraction. The neural network(s) is provided sensory input and the NN's outputs select actions, situating the agent into its environment. - Despite not being a computational abstraction, embodiment has the potential to allow different kinds and scales of computation than are possible with a neural network alone. For example, an agent capable of marking locations in its environment, and later sensing those markings, now has the ability to perform computations that require long-term storage. If our NN abstraction is limited to its immediate inputs (i.e., Markov property), this elevates the computation from function approximation to Turing-complete. - An organism (as defined here) in an environment has no inherent motivation. It could be capable of general computation, but, like a laptop computer sitting in a grassy field, it will not use its computational capabilities without external guidance. - - Genetic Ecosystem (ALife). One or more organisms with inherited traits. ("Undirected?" "Inherent?") direction of general computation. "Open-ended" computation. - Again, the ecosystem is not a computational abstraction, but instead the ecosystem is an objective-grounding abstraction. - The genetic ecosystem abstraction described herein models a life-death-reproduction cycle for a set of organisms with traits that are inherited from parent to child. - The ecosystem provides an abstraction of an evolutionary model. In this model, organisms can mate, reproduce and perish. The results over many generations of organisms in the ecosystem could be described as optimizing toward a "fitness function", but that would be only a post hoc description and no such function exists explicitly. - Over time, the genetic makeup of organisms will change due to selection over variance. - The direction of that change is "uncontrolled" -- it's a function of: - development and genotype - environment - communication Why "ecosystem" and not "population"? While most ALife/genetic programming would use "population" to describe the context of other individuals, population in biology is more commonly used to describe a homogenous group, such as the population of a particular species. More importantly, the interactions being individuals in a population tend to be limited to direct interaction: direct communication and reproduction. The word "ecosystem" implies that individuals have non-reproductive interactions (e.g., one individual eating another) or non-direct interactions mediated by the abiotic environment (e.g., animals using the oxygen expelled by plants). "Ecosystem" implies richer interactions and interconnectedness, whereas population implies direct and reproductive interactions. Tim Taylor Evolutionary Innovations - exploratory (simple), expansive (door-opening), transformational (new dimension) Open-endedness fo the sake of open-endedness - Hintze 2019 - we should not engage in quest for OEE for it's own sake - Question: Is there really a difference between communication and neural network connections? - Can we avoid the Homunclular decomposition? - Imagine a super network that added two new properties to connections: latency and noisiness - This super network is modeling two organisms in an environment, but it's modeling them as a single network. - The agent's own neural networks are interconnected with fast, low-noise connections. - Between agent communication channels are modeled with slow, noisy connections. - What does this *not* give us? - In animal communication, communication signals are using the environmental media. For example, speech vibrates the air and is received more-or-less directly by the listener, leading to (relatively) fast and high-bandwidth communication channels. *However*, many signals for animals use persistent features of the environment. E.g., leopards scratching trees, ants depositing pheromones, etc. These are tied directly to a *location* but persist over a long *time*. - So we need an additional property, something that captures the idea that signals have a location and a duration.