Time-dependent wave selection for information processing in excitable media

We demonstrate an improved technique for implementing logic circuits in light-sensitive chemical excitable media. The technique makes use of the constant-speed propagation of waves along defined channels in an excitable medium based on the Belousov-Zhabotinsky reaction, along with the mutual annihilation of colliding waves. What distinguishes this work from previous work in this area is that regions where channels meet at a junction can periodically alternate between permitting the propagation of waves and blocking them. These valve-like areas are used to select waves based on the length of time that it takes waves to propagate from one valve to another. In an experimental implementation, the channels which make up the circuit layout are projected by a digital projector connected to a computer. Excitable channels are projected as dark areas, unexcitable regions as light areas. Valves alternate between dark and light: every valve has the same period and phase, with a 50% duty cycle. This scheme can be used to make logic gates based on combinations of OR and AND-NOT operations, with few geometrical constraints. Because there are few geometrical constraints, compact circuits can be implemented. Experimental results from an implementation of a 4-bit input, 2-bit output integer square root circuit are given. This is the most complex logic circuit that has been implemented in BZ excitable media to date.


I. INTRODUCTION
The use of discrete propagating waves for information processing with Belousov-Zhabotinsky (BZ) excitable media began with the capillary tube logic gates constructed by Tóth and Showalter [1]. Since then many different schemes for information processing in BZ excitable media have been devised [2]. Steinbock et. al. implemented a logic scheme in which a catalyst for the BZ reaction is printed onto regions of a planar medium [3] -waves are able to propagate in these regions, but not elsewhere, and the operation performed by a region is determined by the geometry of the region. Agladze et. al. [4] were the first to carry out computer simulations and experimental demonstrations of a 'diode' geometrical arrangement which permits a wave to travel in one direction but not in the opposite direction.
Other diode structures were reported in [5] and [6]. Motoike and Yoshikawa [7] simulated several logic circuit elements including AND, OR and NOT gates, a time difference detector, and a memory element. An experimental implementation of a similar memory element was reported in [8]. Sielewiesiuk and Górecki simulated a cross junction capable of acting as a coincidence detector and a switch [9], and also showed that when a train of pulses passes from one excitable region to another over a passive barrier, pulses will sometimes 'dropout' of the train. The rate of dropout is determined by many different parameters [10].
The use of a light sensitive Ruthenium catalyst greatly simplifies the process of applying a pattern to a planar BZ excitable medium. The entire medium can be impregnated with the catalyst, but the reaction can be suppressed in regions where it is not wanted by illuminating those regions [11]. Typically a slide projector or a digital projector is used for this [12][13][14].
Górecki et. al. [13] designed unary and binary counting circuits, able to count the number of waves entering a channel. All of the components of the counters were tested in experiments, although the complete counters were not. Ichino et. al. [14] showed that the behaviour of a diode structure and a time difference discriminator can be altered by altering the level of illumination.
Whereas the construction of basic logical elements in BZ excitable media depends upon finding a mapping between logical operations and the behaviour of waves in a medium, several works have demonstrated that some more complex information processing tasks can be carried out by finding a good mapping or analogy between the task and the dynamics of the medium. Kuhnert et. al. projected an image directly onto a light-sensitive medium to perform an image processing task [12]. Steinbock et. al. used circularly spreading waves to help find the shortest path through labyrinths [15], where the interior of the labyrinth was excitable but the labyrinth walls and exterior of the labyrinth were not. Górecka and Górecki [16] simulated the operation of a bandpass filter, capable of outputting a signal whenever the time interval separating the arrival of two input pulses matched a constant value determined by the dimensions of the filter. Motoike and Yoshikawa [17] simulated a wave train comparator and subtractor which operate directly on trains of waves. Nagahara et. el. [18] demonstrated a direction detector, capable of detecting the direction of origin of a spreading circular wave. Górecki et. al. [19] showed how an array of excitable paths can be used to make a distance detector by exploiting the phenomenon described in [10].
Górecka and Górecki [20] simulated a device analogous to an integrate-and-fire neuron and showed that it can effect a four input Boolean threshold function much more simply than can be done using AND and OR gates.
Adamatzky et. al. explored the potential of BZ excitable media as a substrate for implementing architecture-less collision based computing schemes [21]. In this paradigm, exemplified in a cellular automaton model by Margolus in [22], the substrate does not contain any information about the computation to be carried out: it contains no structure that determines a specific function. This information is contained in the pattern and timing of events that are applied to the substrate. For certain levels of illumination, light sensitive BZ excitable media have a 'subexcitable' mode in which waves of a critical size travel forward and may either expand or contract under the influence of small perturbations [23]. Waves below this size slowly contract as they move forward. Waves above this size slowly expand.
Subexcitability combined with structured media was used in [26]. In [27,28], interactions between subexcitable waves were contained within circular discs to help control their behaviour. Spiral waves were used in [29] as the basis for a glider-gun-like mechanism, capable of producing a continuous stream of discrete waves.
The variety of phenomena that are available in BZ excitable media and which have been used for constructing information processing structures justifies the use of these media for exploring new ways of making information processing mechanisms. By investigating all of the possible ways in which these phenomena may be used for information processing, we equip ourselves with a toolset which can be applied when we encounter new media that share some of these phenomena.
The work in this paper has several things in common with the work of Steinbock et. al [3]. It makes use of the same two phenomena: the constant speed propagation of waves in BZ excitable media, and the mutual annihilation of two wavefronts that meet. Differences in wave propagation time between paths from the inputs to the outputs of a region of excitable medium are exploited for implementing logical operations. Where this work differs from that of Steinbock et. al. is that the region through which waves propagate is not a fixed pattern, but contains areas that alternate between being excitable and unexcitable in a simple periodic way. This is possible because the region is defined by a pattern projected using a digital projector. The ability to periodically switch areas from excitable to unexcitable and back is used to overcome one of the limitations of the work of Steinbock et. al, described below.
Steinbock et. al. use the presence or absence of a wave in an input channel to represent Boolean 1 and 0 values at the inputs to a gate. All inputs to a gate must be applied at the same time. At the output of a gate, the synchrony or asynchrony of the arrival of waves in a pair of output channels is used to represent Boolean 1 and 0 respectively: if the waves arrive at both output channels at the same time, this represents 1, if the waves arrive at different times, this represents 0. One of the limitations of the gates of Steinbock et. al. is that the timing of the output from a gate is dependent on the values of the inputs. Consequently, when gates are cascaded there is no way to be sure that all inputs at a gate downstream in the cascade arrive at the same time. This is illustrated in Figure 1, which shows the z OR (x AND NOT y) gate from [3]. In this gate, if z = 1, a 1 output will emerge from the gate after the time that it takes a wave to propagate from z to the output. However, for the case z = 0, x = 1, y = 0, a 1 output will emerge from the gate after the time that it takes a wave to propagate from x to the output, which is different from the case when z = 1. Circuits implemented using the scheme described in this paper do not have this limitation. Outputs emerge from a circuit at a constant time after the inputs are applied. The path which led to the work in this paper began by observing the similarity between the behaviour of toppling dominoes and the behaviour of waves in channels of BZ excitable media. Domino fork structures can be used as the basis for making Boolean logic circuits [30,31]. A domino fork structure, shown in Figure 2, has three lines of dominoes meeting at a junction. We call two of these lines arms, and the third we call the stem. The end of each line is labelled with two different events: one event corresponds to a domino toppling into the structure, the other event corresponds to a domino toppling out of the structure. The behaviour of the domino fork can be described in terms of the relationships between these events. Informally, we can say that either event a or event e (or both) will cause event b (unless event c occurs in the mean time), and that event c will cause events d and f (unless a or e occur in the mean time).
An important feature of fork behaviour is that an event entering the fork from one arm will not influence the the other arm; it will only cause an event to emerge from the stem of the fork. In the domino fork structure this behaviour is obtained through directionallydependent propagation of a toppling domino wave: a domino can only influence other dominoes if they stand in the direction in which it topples. A fork structure with behaviour based on directionally-dependent wave propagation can also be implemented in BZ excitable media. A structure similar to this can be found in [7] and [26], and Figure 3 shows the result of simulating a fork structure which depends upon subexcitability (as defined in section I) for its operation. Subexcitability is used to prevent a wave that is propagating along one arm from entering the other arm. The obvious difference between a domino fork and a fork   implemented in BZ excitable media is that whereas the domino fork cannot be used again once dominoes have toppled, the excitable medium fork can be used again and again.
Simulations of excitable media circuits were able to reproduce some of the behaviour described in [31]. The success of these simulations led to attempts to implement them experimentally. Figure 4 shows snapshots from an experiment exhibiting the same behaviour as shown in Figure 3.
Two problems were encountered in the course of conducting these experiments. The first was that the range of illumination levels in which the subexcitable regime can be obtained is both very narrow, and also sensitive to experimental conditions. If the illumination level is too high, the medium is unexcitable and waves die off after a short distance. If the illumination level is too low, the medium is fully excitable and directionally-dependent propagation cannot be obtained. The subexcitable illumination range was found to change from one location in the medium to another, and also to change over time during an experimental session. It was therefore difficult to obtain a subexcitable regime across a large region for a long period of time.
The second problem was that harnessing subexcitability to obtain fork behaviour places constraints on the geometry of a circuit made from forks: the arms of the fork must meet the stem within a certain range of angles, and must extend for a certain distance away from the fork junction before they can turn a corner. These constraints limit the complexity of circuits that can fit into the area available for experiments (about 5cm by 5cm).

B. Selecting waves based on their propagation time
These problems led to a search for an alternative way to obtain the same behaviour.
Rather than use subexcitability to prevent a wave that is travelling along one arm from entering the other arm, we instead arrange the fork so that the time that it takes for a wave to propagate from arm to stem (or from stem to arm) is twice as long as the time that it takes for a wave to propagate from arm to arm. We then make sure that only waves taking the longer time are permitted to exit the fork.
Consider the T-shaped region of excitable medium shown in Figure 5. This region is fully excitable: a wave entering the region will propagate throughout the region. A unit of length is defined in Figure 5 and we define a unit of time to be the time that it takes a wave to propagate one unit of length. There are three terminals at the boundary of this region at which waves can be sent into the region, or observed emerging from the region. We call the passage of a wave in a particular direction through one of these terminals an event, and we label events using letters. Table I shows which events emerge from the region at times t 0 + 1 and t 0 + 2 for all possible combinations of input events a, c and f at time t 0 . If we let an event at a specified time represent a Boolean 1 value and the absence of an event at a specified time represent a Boolean 0 value, then we can see from this table that if we ignore or somehow block events that occur at t 0 + 1 and only pay attention to events that occur at t 0 and t 0 + 2 then this region can be used to implement two different Boolean operations: If c AND-NOT (a OR f ) occur at t 0 then both e and d will occur at t 0 + 2 If (a OR f ) AND-NOT c occur at t 0 then b will occur at t 0 + 2 The main insight that led to the results in this paper is that events that occur at t 0 + 1 can be blocked by placing 'valves' at each terminal, and ensuring that the valves permit the passage of waves at t 0 and t 0 + 2, but do not permit the passage of waves at t 0 + 1. In section III B we will see that in an experimental setup where the circuit layout is projected by a digital projector onto the surface of a light-sensitive excitable medium, valves can be    valves are open and the wave is not blocked.
Fork behaviour obtained through time-dependent wave selection overcomes the two problems that were encountered with trying to obtain the same behaviour using subexcitability.
Time-dependent wave selection uses the fully excitable regime, and so it is not sensitive to experimental conditions. Additionally, it does not require any particular geometry -Tshapes can be deformed in any way that preserves the wave propagation time between any pair of terminals.
Because time-dependendent wave selection does not place many constraints on the geometry of a structure, it is easy to make structures having more than three terminals, so the behaviour exhibited by the fork can be extended.
The structure shown in Figure 8 extends the OR-gate function from Figure 6 by intro- ducing an additional input, labelled c. Because this input is a unit distance away from all other terminals, a wave entering c at t 0 will not emerge from any other terminal. However, it will annihilate any wave that enters at a or b at t 0 , and thus prevent waves from a or b from reaching the output. This structure implements the function (a OR b) AND NOT c.
The structure shown in Figure 9 has five terminals: two inputs and three outputs. This structure implements the function a AND NOT b, where the output emerges in two different locations, and the b input is also made available at an output.

III. A 4-BIT SQUARE ROOT CIRCUIT
The left-hand side of Figure 10 shows a schematic diagram for a logic circuit that implements the four bit integer square root function y = ⌊ √ x⌋. In Figure 10 and in later figures and tables, x n is the n th binary digit of x and y n is the n th binary digit of y. The truth table for the circuit is shown in Table II.
The right-hand side of Figure 10 shows

A. Simulation
A two-variable Oregonator equation [32] adapted for light sensitivity and with a diffusion term was used as an approximate model for the Belousov-Zhabotinsky reaction with applied illumination on a planar surface in which reactants and products diffuse [33]:  The variables u and v represent the local concentrations of activator and inhibitor respectively. Parameter ǫ sets up a ratio of time scale for the variables u and v, q is a scaling parameter dependent on the rates of activation/propagation and inhibition, f is a stoichiometric factor. φ(r, t) is the rate of inhibitor production, which is proportional to the level of illumination. This varies over space r, and for valve locations φ(r, t) also varies with time t.
The system was integrated using the Euler method with a five-node Laplace operator for The pattern for the 4-bit square root circuit is shown in Figure 11. Each channel in Figure   11 is 15 grid points. For grey areas of the pattern (excitable channels) φ(r, t) = 0.055, for white areas (unexcitable regions) φ(r, t) = 0.1, and for black areas (valves) φ(r, t) is a square wave with period P and a 50% duty cycle: φ(r, t) = 0.055 when nP < t ≤ nP + P/2 for some integer n, otherwise φ(r, t) = 0.1 By measuring the number simulation steps it took for a wave to travel from the valve nearest x 0 to the next valve directly in line with x 0 , P was set to 15.5 (i.e. 15500 simulation steps). Corners in the pattern mask are shaped so as to make the time for wave propagation along two channel segments at right angles to each other the same as when the two channel segments are placed together in a straight line. The ruthenium catalyst solution was prepared by recrystallising Ru(bpy) 3 SO 4 from the chloride salt with sulphuric acid and then dissolving 0.5g of crystal Ru(bpy) 3+ 3 in 18ml of deionised water to make 0.025M Ru(bpy) 3+ 3 solution. A thin layer chromatography (TLC) plate (T-7270, Sigma-Aldrich, UK) was used as a substrate for the ruthenium catalyst. The silica gel layer was 250µm thick, the mean particle size was 2-25µm and the mean pore diameter was 60Å. As supplied, the plate measured 5cm by 20cm and was divided (by scoring and then snapping over the side of a bench) into sections measuring 5cm by 6.5cm to fit into a Petri dish. A TLC plate section was placed into a Petri dish containing a mixture of 14mL de-ionised water and 0.9mL ruthenium catalyst solution. The plate was left in the Petri dish overnight (for approximately 18 hours) and then removed and placed into a Petri dish containing de-ionised water for 30 minutes to rinse off excess catalyst. The plate was then moved to a third Petri dish containing deionised water for a further 30 minutes before being used. During the course of a 5-hour The digital projector was a Sanyo PLC-XT21L. The brightness setting of the projector was gradually reduced during the course of a 5-hour experimental session to compensate for the washing out of the catalyst, so as to make sure that waves were able to propagate in the fully excitable regime in all dark areas in the projected image, but unable to propagate in light areas.
During the attempts to achieve a uniform subexcitable regime across the whole plate discussed in section II, it was found that the level of excitability varied across the plate.
It is believed that these variations were caused by differences in the amount of catalyst in different parts of the plate. However, whereas the range of conditions needed to obtain a subexcitable regime is very narrow, the range needed to obtain a consistent regime in which the substrate is fully excitable in dark areas but unexcitable in light areas is much broader, and the behaviour of propagating waves in this regime is not very sensitive to small changes in illumination or excitability.
The light intensity in dark areas of the projected image is estimated at < 0.1mW cm −2 , and the light intensity in light areas ranged from about 7mW cm −2 at the beginning of an experimental run to about 4mW cm −2 at the end of an experimental run. These estimates are based on measurements with a Centronix OSD1-5T photodiode, using the spectral response curve in the manufacturers datasheet and assuming that the white light produced by the digital projector has a peak wavelength at 550nm and has a power spectrum that is approximately symmetrically distributed around this peak in the range 425nm-750nm.
The projected circuit pattern mask was similar to that used during simulation (shown in Figure 11), but scaled down by a factor of 3. The dimensions of the projected circuit pattern Images were captured once every 5 seconds with a Lumenera Infinity 2 USB camera fitted with a 455nm narrow bandpass interference filter.

Results
The propagation speed for waves was 6.7mm min −1 and it took 10 minutes to for waves to propagate from inputs to outputs. Figure  The main problems encountered during experiments were: • It was not easy to arrange for perfectly synchronised waves to enter the inputs. However, because each valve is open from 0.25P before the time that a wave is expected to pass through it until 0.25P after this time, input waves can pass through the inputs   case, no wave emerges from y 0 because the valve at y 0 is closed when a wave reaches it. up to 70 seconds before or after they are expected (corresponding to a distance of ±7.8mm) before this affects the output of the circuit.
• The wave speed was not identical across the whole plate. In a more complex circuit with many gates cascaded together, small differences in timing will accumulate. Eventually this will lead to some waves being blocked when they should not be, or waves passing through a valve when they should be blocked. Assuming that waves travel 1 unit of length in 1 unit of time, that valves are open at t 0 + 2n − 0.5 < t ≤ t 0 + 2n + 0.5 for any integer n and closed at other times, that all input-output paths for a complex circuit are the same length L, and that all input waves enter the circuit at t 0 , then the average speed of a wave must be between L L+0.5 and L L−0.5 to avoid any waves being blocked by valves when they should not be, and vice-versa. No matter how good the experimental conditions are, for a large enough L this requirement will not be met. It may be possible to overcome this problem by periodically resynchronising waves to a time reference. One way of doing this is described in section IV F.

IV. DISCUSSION AND CONCLUSION
We have designed a 4-bit input, 2-bit output integer square root circuit in BZ excitable media and successfully implemented the circuit experimentally. This is the most complex circuit that has been implemented in BZ excitable media to date. We believe that one of the reasons why the implementation of this circuit was straightforward is that it only makes use of two of the many phenomena that BZ excitable media can exhibit: constant speed wave propagation and the annihilation of colliding wavefronts. Neither of these phenomena are particularly sensitive to variations in experimental conditions. For the same reason, there is also a reasonably good correspondence between qualitative simulations and experiments.
From a theoretical point of view, it is interesting and useful to consider all possible phenomena in excitable media that can be used for information processing. From a practical point of view, it is easier to implement those systems that depend on the fewest phenomena: arranging experimental conditions so that all of the phenomena required by a system are present simultaneously is easier if only a few phenomena are required than if many are required. This was born out in our attempts to use the subexcitable regime for implementing fork structures, before switching to the time-dependent wave selection scheme.
Whereas previous work on logic circuits in structured excitable media has used static circuit patterns, we exploit the fact that the circuit pattern is projected using a digital projector to create periodic inhibiting valves which have the effect of selecting waves based on the time that it takes them to propagate from one valve to another. Because the behaviour of a gate in this scheme is dependent only on the distances between terminals, rather than on the precise geometry of the gate, paths making up a gate can often be folded up to make a compact circuit. An interesting avenue for further research is to explore other ways in which patterns periodically repeating in time can be used in excitable media information processing schemes.

A. Auxiliary 1 inputs
The most obvious and straightforward way to represent a Boolean value using events is to use the occurrence of an event within a defined period of time to represent a Boolean 1 value, and the non-occurrence of an event within a defined period of time to represent a Boolean 0 value. This is the representation which has been used by previous implementations of logic circuits in BZ excitable media, and is also used in this paper. One drawback of this method of representing Boolean values is that auxiliary 1 inputs are needed in order to perform certain functions, such as a NOT operation (a NOT gate can be replaced by an AND-NOT gate with a constant auxiliary 1 input fed to the non-inverting input). Below we consider other possible mappings between events and Boolean values that do not have this problem.

B. Dual-rail logic
One alternative representation is dual-rail logic, in which a Boolean value is represented using a pair of channels. A Boolean 1 value is represented by the presence of a wave on one channel, and a Boolean 0 value is represented by the presence of a wave on the other channel [36]. An obvious disadvantage of a dual-rail representation is that it requires two channels rather than one for each Boolean value. Generally, this disadvantage can be offset against the following potential advantages: • Inversion can be implemented by crossing over two signals. No auxiliary inputs are required.
• Dual-rail logic can facilitate self-timing -a Boolean value is always represented by one event or another: there is no need for an external time reference.
• A set of complete Boolean functions with a dual-rail representation can be built from an incomplete set of single-rail Boolean functions (for example, one that does not have a NOT operation, or which does not have a complete OR operation) [31].
However, in the context of the work in this paper these do not seem to be significant advantages: the natural AND-NOT behaviour of a collision between waves means that inversion is already a straightforward operation (provided that an auxiliary Boolean 1 value is available), and self-timing cannot be fully realised without a mechanism that has a permanent internal state, which is difficult to implement efficiently in BZ excitable media. Since OR and AND-NOT gates (or just AND-NOT alone) already form a logically complete set of Boolean functions, the ability to construct a complete set of Boolean functions from an incomplete set is no advantage.

C. Using phase to represent Boolean values
Another alternative is to use the phase of a wave to represent Boolean values. By phase we mean the delay between a reference time t 0 and the occurrence of a wave in a particular location. Consider a location p on a channel. The propagation of a wave through p at some time t 0 (which we will call a leading wave) represents a logic 1, and the propagation of a wave through p at time t 0 + 1 (which we will call a lagging wave) represents a logic 0.
This representation makes the construction of an OR gate very straightforward. A Tshape without any valves can be used as an OR gate because with this representation there is no way that a signal can propagate backward through an input: if both input waves are either leading or lagging then they will merge, and the output will follow the inputs, delayed by 2 time units. Otherwise one input wave will arrive at t 0 and will begin propagating backward through the other input (as well as propagating to the output). But it will encounter the other input wave, arriving at t 0 + 1, and will annihilate with it.
A NOT gate in this representation can be constructed as in Figure 14. For the case when a wave enters the NOT gate at a at t 0 (when both v 1 and v 2 are open), the wave will reach v 1 at t 0 + 1 when v 1 is closed, and will not pass through. But it will reach v 2 at t 0 + 2 when FIG. 14: A NOT gate which turns a leading wave into a lagging wave, and a lagging wave into a leading wave.
v 2 is open, and will end up exiting the inverter at b at t 0 + 4. For the case when a wave enters the NOT gate at a at t 0 + 1 (when both v 1 and v 2 are closed), the wave will reach v 1 at t 0 + 2 when v 1 is open, and will pass through to reach b at t 0 + 3. The NOT gate turns a leading wave into a lagging wave and a lagging wave into a leading wave. Between them, the NOT gate and the OR gate can be used to make any desired logic circuit.

D. Crossover
Although the 4-bit integer square root circuit described in this paper does not require any wires to be crossed over, this section describes a structure that may be used to implement crossing wires when this is required. Dewdney [37] showed how to implement a planar crossover circuit using any functionally complete set of logic gates. A crossover circuit can be made from 10 AND-NOT gates.
We can do better than this however. Figure 15a shows a crossover that will permit x to propagate to x ′ (but not to y or y ′ ), or alternatively permit y to propagate to y ′ (but not to x or x ′ ), so long as both x and y do not occur at the same time. This crossover structure works because the x ′ output is the only terminal an even distance from x, and the y ′ output is the only terminal an even distance from y. If we wish to deal with the case when x and y may both occur at the same time, we can modify this structure by delaying any wave input at y by two time units. To keep the output signals synchronised, any wave output at x ′ is (a) A crossover structure for x and y. x will propagate to x ′ , alternatively y will propagate to y ′ , but the crossover fails if both x and y occur at the same time.
(b) A crossover structure for x and y which will work even if x and y occur at the same time. also delayed by two time units. This is shown in Figure 15b.

E. A general abstract description of time-dependent wave selection
The reason why we are able to make such a simple crossover mechanism -much simpler than one made from 10 AND-NOT gates -is that we are working at a level of abstraction lower than that of Boolean logic gates. Time-dependent wave selection can be used to implement logic gates, but it can also be used to implement other structures more directly than via logic gates.
A general abstract description of the behaviour of waves propagating between valves in a region of BZ excitable medium is stated below. The internal distance | pq| between any two points p and q within a region is the length of the shortest path between p and q that lies within the region. Here we assume that the internal distance between any pair of terminals is an integral length and that the region contains no unexcitable holes.
A region may be of any shape, and may contain any number of terminals on its boundary, with each terminal having a valve that is only open at even times. A wave starting from a given terminal p at an even time t will propagate to a terminal q at time t + | pq| so long as the distance | pq| is even, and there is no wave that begins from any terminal r for which | rq| < | pq| at an even time greater than or equal to t − | rp| but less than t + | pq| − | rq| (no waves can occur at r at odd times because the valve at r will block them). This is illustrated in Figure 16. In Figure 16 a wave from p at t 0 will propagate to q at t 0 + 4 unless there is a wave from r at t 0 − 2 or t 0 .
To simplify the process of designing structures, in this paper we have only used regions with edge-lengths that are multiples of half a unit length, and any pair of edges is either parallel or orthogonal. To reduce the space that structures occupy, we have used thin regions.

F. Resynchronisation
In section III B 2 we discussed the need to resynchronise waves to a time reference to remove small variations in wave propagation time that may accumulate for large logic circuits. Figure 17 shows one possible mechanism for doing this. This mechanism uses the time of valve opening as a reference time. Waves exiting the mechanism are always at a known offset from the valve opening time. The entire curved region labelled v, between the two dark regions, is a valve in the shape of a circular arc. When valve v is closed, a wave entering a will propagate along the curved channel beneath v. When the valve opens, the wave will propagate through the valve and head towards b. Because all points along valve v are equidistant from b, the wave will reach b at a constant time after v opens, regardless of FIG. 17: A mechanism that will synchronise waves with valve timing. All points along valve v are the same distance from b, so that a wave originating from a will reach b at a constant time after v opens, regardless of the exact time at which it entered a.
the exact time at which it entered a.

G. Parallels with neural information processing
The phenomena used to implement the scheme described here have some similarities to phenomena that are present in neural circuits. Both involve the propagation of excitations at a predictable speed, and both have regions in which excitations can be inhibited. Among the large number of things that we do not yet understand about neural information processing is the range of roles that inhibitory synapses play. The scheme described here suggests a new possibility: it may be possible to use neurons to construct circuits in which thresholding plays no role at all in information processing. In such a scheme neurons serve simply as repeaters, and as the providers of a medium in which excitations can propagate and interact.
Periodically spiking inhibitory neurons with axons leading to inhibitory synapses on other neurons could play the same role that valves play in this paper.
During the evolution of nervous systems, we do not know whether the physiology of neurons and the phenomena that are exhibited by neurons were selected for because they are well suited to their role as components of evolvable, adaptable information processing systems, or whether their evolution was highly constrained by other factors. If we assume the former, we should consider systematically evaluating models which incorporate one or more of the phenomena exhibited by neurons for their potential use in evolutionary computing schemes (as has been done in [38,39]). The work in this paper is one such model.