e-den neurology

e-den organisms do not have to evolve their entire neurological framework from scratch; the program hands some of it to them. The structure of a neuron, the association between certain designated neurons and each of the organism's cardinal actions, and even the process by which visual information is fed into designated sensory neurons are all specified by defaults (considered to have evolved in some earlier epoch, perhaps). None of this is much use to them, however, unless they specify useful connections between the default neurons, add appropriate interneurons, and specify sensible values for each neuron's internal control system. Random connections between an eye and the brain do not provide vision by any definition and the organism would be better off with no eye at all. Similarly, the random firing of motor neurons in all but the most spacious environments would inevitably lead to a fatal collision. Thus, there is ample room for evolutionary innovation.

The Basic Neuron

Each neuron in a Bug's brain conforms to a similar design. All of a neuron's inputs and some of its internal processes modify a parameter called 'excitation'. This parameter is closely analogous to the transmembrane voltage potential of a real neuron and is the single best summary of a neuron's current activity. The excitation ranges from 0 to 100 and cannot adopt negative values. Whenever the excitation exceeds a value specific to that neuron, the 'threshold', the neuron fires, activating its outputs. Firing is an all-or-none phenomenon and the amount by which the neuron's excitation has exceeded its threshold is not reflected in the way it fires. After firing, the excitation decreases in a characteristic way, usually decreasing to a sub-threshold level. This decrease is specific for each neuron , is genetically determined, and is known as the 'post-fire-change' or 'pfc' of the neuron.

A neuron can be connected to other neurons by 'dendrites' or 'axons' (The current software limits each neuron to no more than 10 of each). Dendrites monitor other neurons and provide input to their own neuron; they transmit information about the monitored neuron regardless of whether either neuron fires. Axons provide a neuron's output and are activated only when a neuron fires; they transmit no information while the neuron's excitation is sub-threshold.

Most information arriving at a neuron, whether it comes via its own dendrites or via another neuron's axons, changes the excitation in a specific input zone, or input buffer. This input excitation is distinct from the neuron's main excitation and is stored in a parameter called 'input'. During a single moment of time, the input parameter may fluctuate wildly as several different sources of information arrive at the neuron almost simultaneously. The input absorbs these various signals, tallying them up before a proportion of the input is allowed through to the main body of the neuron, to be added to its excitation. Unlike the neuron's excitation, the input can adopt negative values and can temporarily exceed the limits of +/-100, although it is normalised to within that range before being passed on. Inputs are reset to zero after each round of computation. The percentage of the input that gets through to the neuron's main body is determined by the neuron's 'sensitivity'. For example, if an excitatory stimulus equivalent to a value of +50 arrives at the neuron, and is followed immediately by a negative stimulus of -40, the input excitation will become +10 and, if the sensitivity is 80%, +8 is passed on to the neuron's excitation. This mechanism preserves the apparent simultaneity of neuron action. Without this input buffer zone, one stimulus might increase the excitation above threshold and cause the neuron to fire even though other negative stimuli were arriving at the same time.

There are four types of dendrite, which differ in the way they respond to the neuron being monitored. A single neuron may have any or all types of dendrite at once. The simplest dendrite, a 'direct excitatory' dendrite, adds a value to the input buffer that is a certain percentage of the monitored neuron's excitation. That percentage is known as the dendrite's 'responsiveness'. Thus, a dendrite of this type will cause its neuron to become more excited when the monitored neuron becomes more excited but will have little effect if the monitored neuron is inactive. A direct inhibitory dendrite subtracts a value from the input buffer instead of adding to it; it is otherwise similar to a direct excitatory dendrite. A modulating excitatory or modulating inhibitory dendrite adds or subtracts a value to its neuron's sensitivity, making its neuron either more sensitive or less sensitive to all direct inputs.

The four major types of axon (direct excitatory, direct inhibitory, modulating excitatory, modulating inhibitory) function in a similar fashion to the four types of dendrite, except that they make their changes to the recipient neuron, not to the neuron of which they are a part, and they only make their changes when their own neuron fires. The magnitude of their effect on the recipient neuron is not dependent on the excitation of either neuron but on a parameter intrinsic to each axon, its 'effect'. The effect of each axon can be specified, like all other neural parameters, by an organism's genes and is only rarely changed during an organism's life time.

The other types of axon ('effect', 'drift', 'flux' or 'restore') change other parameters of the recipient neuron and, in each case, the parameter being altered is multiplied by a certain percentage in the range 0-200%, based on the axon's effect.

Five rounds of computation occur for each thinking session, and one session occurs for each moment of e-den time. During each computation cycle, the entire list of neurons is traversed three times.

Firstly, a percentage of the input buffer is passed forward to the neuron's excitation and the buffer is then cleared. (If the neuron is a sensory neuron, then this input buffer may reflect sensory information loaded into the input buffer before the thinking session began. Otherwise, the input buffer reflects the effects of axonal or dendrite connections from the previous computationl cycle.) The excitation is allowed to drift up or down by an amount specified by the neuron's drift parameter and then experiences a small random fluctuation of a size specified by the flux parameter. The neuron's current sensitivity and the current effect of each of its axons are allowed to move towards their genetically determined baseline values; in the case of sensitivity, the rate at which it reverts to baseline depends on a separate genetically determined parameter, the restore tendency.

Secondly, each neuron consults its dendrites for their contribution to the input buffer. This contribution is based on the pre-firing excitation of the monitored neuron and, although the input buffer is modified accordingly, this does not take effect until the next computational round.

Thirdly, all neurons that are above threshold fire, sending a signal down their axons and further modifying the input buffers of their recipients. If the neuron firing is a motor neuron, as described below, then the relevant action is promoted

Brain Layout

All neurons are identified by a unique number. The available numbers - and hence the maximum number of neurons per organism - currently range from 1 to 400 but, in future versions of the software, are likely to be extended to 9,999 or beyond. Although all neurons conform to the general model outlined above, certain neuron numbers are associated with additional characteristics. Some neurons, the 'motor neurons', are linked to the organism's cardinal actions of moving, wriggling, extending, sporing and so on. In each case, even if the neuron involved has no axons defined, the default action for that neuron will be initiated (or encouraged) if the neuron fires. A motor neuron has no influence over the associated default action if it fails to fire. These motor neurons tend to be associated with lower neuron numbers and are also associated with self-explanatory names. Thus, the first five neurons, Still (#1), East (#2), South (#3), West (#4) and North (#5), encourage the organism to move in the directions stated. Other motor neurons have more complex actions and are described below.

Some neurons have default sensory functions, most obviously the visual neurons but also those involved in hearing, proprioception (joint sense), fatigue, hunger and so on. In each case, the sensory information is reduced to a positive number that is added to the neuron's input buffer. The size of the number added reflects the magnitude of the sensory stimulus. Complex sensory stimuli such as vision require a number of dedicated neurons that each respond to a particular characteristic of the stimulus. Thus, a certain neuron (#102) has its input excitation increased whenever a '2' is seen to the east of the organism's first eye; the stimulus intensity is greater if the '2' is closer. Another visual neuron has an input intensity that responds to the size of the atom seen on the right, with the stimulus intensity being less for a '2' than for a '7'. Yet another selectively responds to the distance to the atom, regardless of its colour. A similar set of number associations exists for the southern, western and northern fields of each eye. No sensory neuron has predefined connections, however, so unless the information is passed on to the rest of the organism's brain, the change in input intensity is of no consequence (and the program does not bother to simulate that neuron's existence).

The neurons of an organism can be considered to lie in rows, 25 neurons long, that often have common associations. For instance, all the neurons associated with the first eye's east visual field constitute a single row and use neuron numbers from 101 to 125. Four rows, or 100 neurons, constitute a stack, an example of which is the stack associated with each of the organism's eyes (101-200 for the first eye, 201-300 for the second, and so on). Some of the embryological processes used to construct the organism's brain assume this arrangement and some genes might specify, for instance, that the third neuron of each segment is connected to the fifteenth. Other embryological processes ignore this conceptual grouping and deal only with individual neurons, which may thus form functional units of any size whatsoever. The organism's first stack (neurons 1-100) contains all the specialty neurons already mentioned, the motor neurons, joint neurons, special internal sensors and hearing neurons, as shown in the table below. Subsequent stacks are free to process visual information, by virtue of the pre-defined associations with each eye, or to process information in any other way.

To save programming time and memory, neurons that do not connect to at least one of the neurons in the first stack, either directly or indirectly, are deleted before the organism hatches. Because all behavioural output comes from the first stack, this deletion has no discernible consequences in the Grid except to speed up the simulation.

Default Motor Neurons

A number of neurons have default actions associated with them; these actions are promoted whenever the relevant neuron fires. There are four cardinal whole-body movements available to an organism at any one moment: east (#2), south (#3), west (#4) or north (#5). Alternatively, an organism may choose to stay still (or, at least, to keep its head still and wriggle its tail), a choice promoted when neuron #1 fires. These five neurons compete with each other. Each time one of them fires, its excitation is added to the overall movement tendency in the associated direction. These tendencies are reset each biological moment but accumulate increasing scores during each computational round of the organism's thinking session. If a motor neuron fires only once in a biological moment, then the greatest movement tendency achievable is 100. If a motor neuron fires more than once, then higher scores are achievable. The movement direction associated with the highest score, whether that be 'still', 'east', 'south', 'west' or 'north', is adopted by the organism. If that winning score is less than or equal to 100, then the organism moves a single space in the chosen direction but if the score is greater than 100 the organism can move two spaces. This is known as sprinting and allows organisms to move at twice the usual velocity when there is a strong motivation to do so. Sprinting has its costs, however, as discussed in more detail on the biology page . Furthermore, if the organism is not full rested, then the attempt to sprint may fail.

If the still neuron is dominant, then the organism has a number of other options: wriggling, sporulating, dropping new atoms or, in the case of juveniles, extending (growing).

Wriggling is controlled by neurons 61 to 80. For each joint, the tendency to move along the skeleton is stored in a single parameter called tension that can take any value between -10 and +10, with negative values indicating a tendency to move tailwards (backwards) and positive values a tendency to move headwards (forwards). Each joint is controlled by two neurons, one incrementing and one decrementing the joint tension each time the relevant neuron fires. If an organism is still, then the joint with the greatest absolute tension is allowed to move in its preferred direction (provided the absolute tension is at least 2).

Other motor neurons have the following actions:

The 'Extend' neuron (#6) indicates to the skeleton that, if the organism is still for the current move, it should extend.

The 'Push' neuron (#7) turns the 'pushing' mechanism on; temporarily increasing the pushing ability of *6 segments.

The 'Spore' neuron (#8) sets the sporing mechanism to active so that, if the organism is still and if the current metab is high enough, sporing will take place.

The 'Mate' neuron (#9) sets the mating-tendency to active so that, in the event of close contact with another consenting organism, mating will take place.

The 'Anti-Mate' neuron (#10) sets the mating-tendency to inactive.

The 'Friendly' neuron increments and the 'Unfriendly' neuron decrements the current value of the friendliness parameter.

The 'Erase' or 'Drop Zero' neuron (#13) deletes a square at the organisms tail.

The 'Drop 1' to 'Drop 6' neurons (#14 to #19) drop neutral atoms at the organism's tail.

The 'Signal Up' neurons (#21 to #30) and the 'Signal Down' neurons (#31 to #40) increment or decrement, respectively, the current signal strengths at each of up to 10 signal segments (*5 segments).

Vision

Organisms can see up to 100 squares along the four cardinal directions from each of their eye segments (*2 segments). Only the first atom greater than one is visible along each line of sight, as well as the first one-atom if this is in the foreground. Non-grass atoms, including *1 segments are collectively known as 'the large atoms' and completely obscure all atoms behind them.

An organism's vision-responsive neurons are arranged in groups of 25 for each combination of eye number and direction; thus, neurons #101-#125 receive information from the east visual field of the first eye, whereas #126-#150, #151-#175 and #176-#200 receive information from the sothern, western and northen visual fields of the first eye. The pattern is repeated for the second eye with neurons #201-#300, the third with #301-#400 and so on, until the organism runs out of eyes or neurons. Within each group of 25 neurons, the pre-defined associations are as follows:

The first neuron responds to the distance between the eye and the nearest one-atom ( provided the one-atom is not obscured behind a large atom).

The second to ninth neurons respond to atoms 2-9 respectively, receiving a greater stimulus if the atom is closer and only a very weak stimulus if it is 100 squares away.

The tenth neuron responds to the distance to the nearest large atom, regardless of whether that atom is charged or neutral and whether it is closer in mass to two or nine.

The eleventh neuron responds to the mass of the nearest charged atom, receiving a weak stimulus for *1, a strong stimulus for *9 and no stimulus for neutral atoms.

The twelfth neuron responds selectively to uncharged matter, receiving a weak stimulus for 2 and a strong stimulus for 9.

Subsequent neurons in the group do not automatically receive visual information but can be treated embryologically as part of the same functional group. It is possible to specify in the genome, for instance, that the 1st, 10th and 23rd neuron in each visual group should have its axons connected to the main motor neuron pointing away from the line of sight. Neurons 13 to 25 are therefore potentially useful for first order visual processing or visual memory. They may also be useful processing non-visual information which is directionally relevant. It is important to note that none of the "visual neurons" is confined to the processing of visual information. The visual neurons, like all other neurons, may be connected in any fashion whatsoever or left totally unconnected. The only obligatory feature of the neural arrangements described is that, if the organism has eyes, the input buffers of the relevant neurons will be loaded with values according to the scheme above. (And as previously stated, the software only bothers to do this if the neurons involved have connections, directly or indirectly, with the first stack of 100 neurons).

Hearing

As each organism moves, a noise or vibration is generated at its head, which is considered to be the point of its attachment to the Grid. This noise is proportional to the organism's length, can be heard up to 50 spaces away and fades away over 5 moments if the organism is still. To other organisms, the noise sounds louder if its origin is closer. Each organism is completely deaf to its own particular vibrations but hears all noise from other organisms as identical in quality. Unlike vision, Bug hearing operates over 360 degrees with no gaps but the surrounding environment is divided into 8 sectors corresponding to the eight compass directions (E, SE, S, SW, W, NW, N, NE,) so directional information is somewhat approximate. Furthermore, only the total loudness in each sector can be appreciated: two neighbouring Bugs generating a small amount of noise would sound the same as a single loud Bug or a quieter Bug that was very close. Although an organism must have a *1 segment to be sensitive to this vibration, they do not really 'hear' at the precise location of the *1 but rather at their own head point. Furthermore, having more than one *1 segment does not increase hearing acuity in any way.

Ten neurons subserve this type of hearing (#51 to #60), with the first eight responding to the total noise in each compass sector, the ninth responding to total noise summed across all sectors and the tenth responding only to absolute silence.

A second type of hearing is also possible. Each organism is potentially sensitive to the edge of the Grid, as though the Grid were an island and near its edges the surf could be heard. This border-sense operates at a distance of 50 spaces and uses neurons #47-#50 to appreciate, respectively, proximity to the eastern, southern, western or northen borders. The relevance of this sense is greatest when e-den is operating in internet mode, when the edges of the local Grid both mark the start of the internet.

Other Sensory Neurons

A number of minor senses potentially allow the Bugs to make appropriate decisions according to their internal states. Thus, the Metab neuron responds to the current value of metab, the Energy neuron to current energy levels, the Friendliness neuron to the current friendliness of the Bug's force field, the Length neuron to its current length and the Spore neuron to the recency of the organisms last sporing.

Finally, the Joint Sense neurons (#81-100) respond to the current displacements, from their original positions, of up to 10 joints. Odd neuron numbers respond to headwards displacements and even numbers to tailwards displacements. If all neurons are inactive, the organism can assume that it is back in its original shape.

Memory

One possible definition of memory, in the context of real or simulated neurons, is that memory is a process by which a neuron's current behavioural characteristics are in part determined by its previous behaviour or exposures. Potentially, Bug neurons could exhibit memory in a variety of ways:

Once excited, a neuron maintains its current level of excitation indefinitely unless explicitly modified by new inputs or by the processes of drift, flux, or axonal-firing (with subsequent 'post-fire-change').

Semipermanent changes to a neuron's sensitivity can be produced by the modulating axons of other neurons or through the action of its own modulating dendrites. The neuron's 'restore-tendency', which is genetically determined and unique for each neuron, dictates how quickly a neuron recovers from such modulation and returns to its original state.

Other neuron parameters, including the restore-tendency itself, may be modified by axonal input from specialised modifying axons (the 'effect', 'drift', 'flux' or 'restore' axons).

By convention, the 'zero axon' of each neuron, if the genome encodes one, is not actually an axon directed at other neurons but is self-directed, producing its changes in its own neuron. Thus, any of the above process can be used by a neuron to modify itself according to how often it has fired.

Thoeretically, neurons could co-operate to preserve memories by linking up in a circular fashion and passing excitation around in self-perpetuating loops. These loops could then remain active indefinitely or until the circuit breaks down due to its own intrinsic processes (the effects of flux, drift and so on) or in response to the inhibitory action of neurons outside the circuit.

Current Limitations and Likely Future Extensions

As a model of actual neural processes likely to be operating in carbon-based organisms, at least one major ingredient is missing from e-den. Although the strength of synaptic connections can be modified up or down in a semipermanent way by the effects of modulating axons and dendrites, as described above, completely new synapses are never formed. Future software extensions will incorporate a sprouting mechanism, by which neurons can sprout new axons or dendrites, and a targeting mechanism, by which the new axons or dendrites can be attracted towards a neuron producing the virtual equivalent of an axon-attracting chemical.

A number of predefined neural relationships will also be available so that it will be possible to set up neurons in groups that encourage learning, reinforcement and so forth (see the previous comments in e-den genetics ).

Also, the default connections of the first stack of 100 neurons and the default arrangements of each stack of visual neurons are somewhat arbitrary. A mechanism for overriding these defaults will be provided at a later stage.

Lastly, the current limit of neuron numbers to 400 for each organism will need to be revised as the available hardware improves.


Contents

e-den introduction
e-den overview
e-den physics
e-den biology
e-den neurology
e-den genetics
e-den across cyberspace
e-den user interface
e-den FAQ
e-den download

1