Abstract
In this paper, we design a cellular automaton and a discrete-time cellular neural network (DTCNN) using nonlinear passive memristors. They can perform a number of applications, such as logical operations, image processing operations, complex behaviors, higher brain functions, etc. By modifying the characteristics of nonlinear memristors, the memristor DTCNN can perform almost all functions of memristor cellular automaton. Furthermore, it can perform more than one function at the same time, that is, it allows multitasking.
We’re sorry, something doesn't seem to be working properly.
Please try refreshing the page. If that doesn't work, please contact support so we can address the problem.
We’re sorry, something doesn't seem to be working properly.
Please try refreshing the page. If that doesn't work, please contact support so we can address the problem.
1 Introduction
Recently, a team led by R. Stanley Williams from the Hewlett-Packard Company announced the fabrication of a nanometer-size memristor, a contraction for memory resistor [15], which was postulated in [1, 2]. This passive electronic device has generated unprecedented worldwide interests because of its potential applications [12, 16] in next generation computers and powerful brain-like “neural” computers. One immediate application offers an enabling low-cost technology for nonvolatile memories where future computers would turn on instantly without the usual ‘booting time”, currently required in all personal computers. Another important application is the construction of artificial neural networks [14].
Cellular automaton [17] is a modeling and simulation tool in computer science, mathematics, physics, chemistry, biology, etc. It consists of a grid of cells, where each cell has a finite number of states. Every cell has the same rule for updating, based on the states of neighboring cells. Cellular automata can exhibit many emergent phenomena; such as fractals, chaos, randomness, auto waves, etc. Many one-dimensional cellular automata can be classified empirically into one of the four qualitative classes: homogeneous state, stable or periodic structures, chaotic pattern, and complex localized structures, sometimes long-lived [17]. Thus, cellular automata can explain how simple rules can generate complex results [5, 17].
Recently, Wolfman’s fundamental research was further developed and extended by Leon O. Chua from the perspective of neural networks [5]. In this cellular automaton, the dynamics of the universal neuron is defined by a nonlinear difference equation (or a differential equation), having one or two nested absolute-value functions, and eight adjustable parameters. The universal neuron can generate all possible rules of one-dimensional cellular automata by adjusting these parameters.
Cellular Neural Network (CNN) [3, 4] is a dynamic nonlinear system defined by coupling only identical simple dynamical systems, called cells, located within a prescribed sphere of influence, such as nearest neighbors. Because of its simplicity, and ease for chip (hardware) implementation, CNN has found numerous applications in Image and Video Signal Processing, Robotic and Biological Visions, and Higher Brain Functions. It is a well-known fact that for many brainlike computations, the CNN universal chip [3, 8] is far superior to any equivalent DSP implementation by at least three orders of magnitude in either speed, power, or area. The CNN has the ability to mimic high level brain functions. Many well-known visual illusions have been simulated by CNN image processing [3, 4, 7, 8, 10].
In this paper, we design a cellular automaton and a cellular neural network using nonlinear passive memristors. We first propose a basic memristor cell, which can perform logical operations: “AND”, “OR”, “XOR”, and “XNOR”. We next design a memristor cellular automaton by adding some circuit elements to the basic cell, and we show that the memristor cellular automaton can exhibit some complex behaviors, and also perform image processing applications. We next design a memristor discrete-time cellular neural network (memristor DTCNN), which can perform many image processing operations and higher brain functions. We also show that by modifying the characteristics of memristors, the memristor DTCNN can perform almost all functions of memristor cellular automaton. Furthermore, it can perform more than one functions at the same time. Thus it allows multitasking.
2 Cellular Automata
A one-dimensional cellular automaton consists of a row of cells and a set of rules. Each cell can be in one of two states – black or white. Each cell has three neighbors (counting itself), so there are \(2^{3}=8\) possible patterns for a neighborhood, and there are \(2^{8}=256\) possible rules. Consider the rules defining the following cellular automaton:
-
1.
if all three of these cells are white, then the new state of the cell will be white.
-
2.
if all three of the cells are black, then the new state of the cell will also be white.
-
3.
in any other case, the new state of the cell will be black.
Below is the table defining this rule.
Here, the symbols “1” and “0” denote “black” and “white”, respectively. For example, if three adjacent cells currently have the pattern 100 (left cell is black, middle and right cells are white), then the middle cell will become 1 (black) on the next time step. Since 126 is written “01111110” in binary representation, the above rule is referred to as “rule 126”.
Let us rewrite the truth table of rule 126 in terms of its equivalent decimal representations.
where \(x_{i}(t)\) denotes a state variable of cell “i” at the discrete-time t. Note that each cell “i” is coupled only to its left neighbor cell \((i-1)\), and right neighbor cell \((i+1)\). From this table, we obtain the relation
where
Observe that Rule 126 can be generated by the difference equation
where u(x) is a unit step function defined by
In this paper, u(x) is defined as a piecewise constant function satisfying \(u(0)=0\) (see Fig. 1).
Rule 126 can also be generated by the distinct but equivalent difference equation
or
where floor(x) indicates the largest integer not greater than x (see Fig. 2). We use the floor function to design memristor cellular automata in the latter section.
3 Cellular Neural Networks
Cellular Neural Network (CNN) [3, 4] is a dynamic nonlinear system defined by coupling only identical simple dynamical systems, called cells, located within a prescribed sphere of influence, such as nearest neighbors. The dynamics of a standard cellular neural network with a neighborhood of radius r are governed by a system of \(n=MN\) differential equations
where \(N_{ij}\) denotes the r-neighborhood of cell \(C_{ij}\), and \(a_{kl}, b_{kl}\), and \(z_{ij}\) denote the feedback, control and threshold template parameters, respectively. The matrices \(A= [ a_{kl} ]\) and \(B= [ b_{kl} ]\) are referred to as the feedback template A and the feedforward (input) template B, respectively. The output \(y_{ij}\) and the state \(x_{ij}\) of each cell are usually related via the piecewise-linear saturation function
If we restrict the neighborhood radius of every cell to 1, assume that \(z_{ij}\) is the same for the whole network, and set \(\gamma = 1\) for the sake of simplicity, the template \(\{ A, B, z \}\) is fully specified by 19 parameters, which are the elements of two \(3 \times 3\) matrices A and B, namely
and a real number z.
Approximating the time derivate of Eq. (9) by the formula
we obtain
If we set \(\Delta t = 1\), we would obtain
where \(c {\mathop {=}\limits ^{\triangle }} 1 - \gamma \). By setting \(c = 0\) (that is, \(\gamma = 1\)), we obtain the discrete-time recursive equation
where \(t=0, \ 1, \ 2, \ \ldots \) and
Equation (15) is called the discrete-time CNN (DTCNN) [4], and it can be transformed into the form
4 Memristor
Memristor [1, 2] in Fig. 3 is a passive 2-terminal electronic device which is described by a nonlinear constitutive relation
between the device terminal voltage v and the terminal current i. The two nonlinear functions M(q) and \(W( \varphi )\), called the memristance and memductance, respectively, are defined by
representing the slope of scalar functions
respectively, called the memristor constitutive relation (see Fig. 4).
The fundamental relation between q and i (resp. \(\varphi \) and v) is given by
A memristor characterized by a differentiable \(q-\varphi \) (resp. \(\varphi -q\)) characteristic curve is passive if, and only if, its small-signal memristance M(q) (resp. small-signal memductance \(W(\varphi )\)) is non-negative; i.e.,
(see [1]). In this paper, we call them “memristance” and “memductance” for short. Since the instantaneous power dissipated by the above memristor is given by
or
the energy flow into the memristor from time \(t_{0}\) to t satisfies
for all \(t \ge t_{0}\). Thus, the memristor is passive.
Note that the memristor was generalized to memristive systems in [2]. These systems are being developed for application in nanoelectronic memories, computer logic, neuromorphic computer architectures, and chaotic oscillators [9, 14].
5 Memristor Cell
The memristor cellular automaton we propose in this paper consists of an \(M \times N\) rectangular array of memristor cells C(i, j) with Cartesian coordinate \((i, j), \ i=1, 2, \ \ldots , M, \ j=1, 2, \ \ldots , N\). All cells and their interconnections are assumed to be identical.
5.1 Basic Cell
A basic memristor cell C(i, j) consists of a passive memristor and a switch as shown in Fig. 5. A current pulse generator provides a pulse wave \(I_{p}\) to memristors and switches in all memristor cells. A pulse wave \(I_{p}\) consists of positive-negative paired current pulses. A switch is turned on when (and only when) a positive current pulse is applied to the cell as shown in Fig. 5. A switching frequency f is given by
where T is a period of the pulse wave.
Referring to Eq. (18), we obtain the cell output \(y_{ij}(t)\)
Therefore, if we apply a positive current pulse \(I_{p}(t)\) with a height of 1 and a width of 1 into the memristor, that is,
for \(0 \le t \le 1\), we would obtain
Thus, we can measure (read) the memristance M(q(t)) from the voltage v(t) across the memristor by applying a positive current pulse \(I_{p}(t)\) to the cell. Note that negative current pulses in Fig. 5 are used to discharge the memristor (that is, to reset the charge of the memristor), which is stored in the memristor by positive current pulses. If the negative current pulses are not applied to the cell, the charge of the memristor continues to increase as shown in Fig. 6.
5.2 Logical Operations
In order to realize logical operations, we consider a memristor cell with an input as shown in Fig. 7. The characteristic of the memristor is illustrated in Fig. 8. The input current \(u_{ij}\) is applied to the cell by a voltage-controlled current source, whose output current has the same value as the controlled voltage \(u_{ij}\). In this case, each cell C(i, j) works independently, since there are no inputs from neighbors.
We next study the response of the cell C(i, j) when the input \(u_{ij}\) in Fig. 9 is applied to the cell. The input pulse \(u_{ij}\) consists of positive-negative paired pulses. The negative pulses are used to discharge the memristor, which is stored in the memristor by the positive input pulses. Note the following (see Fig. 9):
-
1.
Positive input pulses must be applied to the cell before a read pulse \(I_{p}\) is applied to the cell.
-
2.
Negative input pulses must be applied to the cell after a read pulse \(I_{p}\) is applied to the cell.
The memristance M(q) illustrated in Fig. 8 is defined by
From Eqs. (27)–(30), the cell output \(y_{ij}\) is given by
If the charge \(q_{ij}\) satisfies the condition: \(1 \le q_{ij} \le 2\) and \(I_{p}>0\), then the cell generates the output pulse (see Fig. 9). Hence, if we apply the input \(u_{ij}\) corresponding to the sequence “11”, “01”, “00”, and “10” to the cell, we would obtain the output sequence “0”, “1”, “0”, and “1”, respectively. That is, we obtain the table:
Thus, this cell performs the logical operation “XOR”, which is defined by the following truth table:
Similarly, the memristance M(q) illustrated in Fig. 10 can perform the logical operations “AND”, “OR”, and “XNOR”, which are defined by the following truth tables:
Compare the time sequences of the XOR operation and the AND operation in Figs. 9 and 11. Observe that the only difference between them is the “output sequence”.
The memristance M(q) for the logical operations “AND”, “OR”, “XOR” and “XNOR” can be described by the following even functions:
Note that there are many distinct but equivalent memristances, which can perform the same logical operations. For example, if we define the memristance \(M_{i}(q)\)
the memristance for the logical operation XNOR is given by \(M_{0}(q) + M_{2}(q)\) as shown in Fig. 12.
Similarly, the memristances for the logical operations “AND”, “OR”, and “XOR” are given by the table:
5.3 Series Connection of Memristors
Consider the circuit of Fig. 13, which consists of memristors and switches. If two memristors with memristance \(M_{0}(q)\) and \(M_{2}(q)\) are connected in series as shown in Fig. 14, then we have
Thus, two series memristors are equivalent to a single memristor whose memristance is the sum of memristances, that is, \(M_{0}(q)+M_{2}(q)\). It follows that these series memristors can perform the XNOR operation. We also realize many kinds of memristances by using the circuit in Fig. 13.
5.4 Asynchronous Inputs
Consider the memristor cell with asynchronous inputs from only eight nearest neighbors as shown in Fig. 15. The weighting coefficients \( b_{k, \ l} \ \ \bigl ( k,\ l \in \{-1, 0, 1 \} \bigr )\) are usually listed as entries in the following table:
Assume that the memristor cell satisfies the conditions:
-
1.
Only two inputs \(u_{i, j}\) and \(u_{i-1, j}\) are available.
-
2.
Effective weighting coefficients \(b_{k, \ l}\) are equal to 1. Thus, the weighting coefficients \( b_{k, \ l}\) can be written as
$$\begin{aligned} B = \begin{array}{|c|c|c|} \hline b_{-1, -1} &{} b_{-1, 0} &{} b_{-1,1} \\ \hline b_{0, -1} &{} b_{0, 0} &{} b_{0,1} \\ \hline b_{1, -1} &{} b_{1, 0} &{} b_{1,1} \\ \hline \end{array} = \begin{array}{|c|c|c|} \hline 0 &{} 0 &{} 0 \\ \hline 1 &{} 1 &{} 0 \\ \hline 0 &{} 0 &{} 0 \\ \hline \end{array} \end{aligned}$$(40) -
3.
The memristance M(q) is defined by Eq. (30), that is,
$$ M(q)= {\left\{ \begin{array}{ll} 1, &{} 1 \le q \le 2, \\ 0, &{} else. \\ \end{array}\right. } $$
Then, by applying the two asynchronous input sequence (the input \(u_{i-1, j}\) precedes the input \(u_{i, j}\)):
to this cell, we obtain the output sequence:
as shown in Fig. 16.
That is, we have the following table:
It can realize the truth table of XOR:
Observe from Fig. 16 that inputs \(u_{i, j}\) and \(u_{i-1, j}\) have different time-frames, which provide timing information.Footnote 1 Therefore, the inputs are not necessarily applied to the cell simultaneously.
6 Memristor Cellular Automaton
We propose a memristor cellular automaton in Fig. 17, which is quite similar to the realization of a cellular neural network (CNN) cell [3, 4]. A memristor cellular automaton consists of a memristor cell \(C(i, \ j)\), a current pulse generator, a signal generator, and voltage-controlled current sources denoted by a pink-colored diamond-shape symbol. A signal generator provides the signal \(z_{ij}(t)\) satisfying the equation
where \(y_{ij}(t-T)\) and \(-y_{ij}(t-2T+1)\) corresponds to a positive pulse and a negative pulse in Fig. 18, respectively.
A negative pulse is used to reset the charge of the memristor, stored by a positive pulse. The charge \(q_{ij}(t)\) stored in the memristor during the period \([nT, n T+ \Delta t]\) (\(n=1,2, \ldots \)) is given by
where \(0< \Delta t < 1\). The last term \(\Delta t\) indicates the charge stored by a positive current pulse (see Fig. 6). Thus, from Eqs. (27) and (29), we have the relation
We assume that \(M \Bigl ( q_{ij}(nT + \Delta t) \Bigr )\) does not change for \(0< \Delta t < 1\) (that is, the time period when a read pulse is applied to a memristor cell).
6.1 Rule 126 Memristor Cellular Automaton
Consider a cellular automaton, which consists of a one-dimensional array of cells C(i). The local rule 126 was defined by
where \(y_{i}( nT )\) denotes a state variable of cell “C(i)” at the discrete-time nT. Applying Eqs. (8)–(47), we can obtain the difference equation:
where \(I_{p}>0\), and the weighting coefficients \( a_{k} \) and the memristance M(q) are given by
and
respectively. The memristance M(q) can also be written as
where \(M_{i}(q)\) was defined by Eq. (36). Since we apply a positive current pulse to the cell in order to read the memristance M(q) (thus, the charge q(t) is increased by a positive current pulse), the floor functions are inserted into Eq. (51).
The evolution of Eq. (49) is illustrated in Fig. 19, where the two states “1” and “0” are colored “red” and “blue”, respectively.Footnote 2
Since the output \(y_{i} \Bigl ( (n-1)T + \Delta t \Bigr )\) does not change for \(0< \Delta t < 1\), we obtain
and
where \(0< \Delta t < 1\) and \(\tau _{n} {\mathop {=}\limits ^{\triangle }} n T + \Delta t\). Since all state variables \(y_{ij}\) and weighting coefficients \( a_{k, \ l} \) are non-negative integers, the floor functions and absolute functions can be removed from Eq. (49). Thus, we have the equivalent difference equation for rule 126:
or
6.2 Sierpinski Memristor Cellular Automaton
In a multistate memristor cellular automaton, each cell has one out of m possible states represented by numbers \(0, 1, 2, \ldots , m-1\). For example, a 4-state (or 4-color) Sierpinski cellular automaton can generate Pascal’s triangle and has four states \(\{ 0, \ 1, \ 2, \ 3 \}\) [13]. The rule for this cellular automaton can be written as follows:
The memristance and the difference equation which can generate this rule are given by
and
respectively, where m (mod 4) is the remainder, on division of m by 4, and the weighting coefficient matrix \(A = [a_{k, \ l}] \) is given by
Evolutions of Eq. (59) is illustrated in Fig. 20. We used the following palette for the state of cells:
Since all state variables \(y_{ij}\) and weighting coefficients \( a_{k, \ l} \) are non-negative integers, Eq. (59) can be transformed into an equivalent difference equation
where \(\tau _{n} {\mathop {=}\limits ^{\triangle }} n T + \Delta t\).
6.3 Totalistic Two-Dimensional Memristor Cellular Automaton
A totalistic cellular automaton is a special class of cellular automata in which the rules depend on the total values of cells in a neighborhood. The evolution of a totalistic cellular automaton can be described by a table specifying the state of the neighbors (counting itself). Each of the cells can be in one of two states; black (cell value 1) or white (cell value 0). If each cell has nine neighbors (counting itself), there are 10 possible patterns for a neighborhood, and there are \(2^{10}=1024\) possible rules [13].
Consider the following totalistic rules for the two-dimensional cellular automaton with 9-neighbor cells:
Since 797 is written “1100011101” in binary representation, the above rule is referred to as “rule 797”. The memristance and the difference equation which can generate this rule are given by
and
respectively, and the weighting coefficient matrix \(A = [a_{k, \ l}] \) is given by
Our computer simulation of the totalistic cellular automaton is shown in Fig. 21, where the two states “1” and “0” are colored “yellow” and “blue”, respectively. Observe that it has a complex pattern. Since all state variables \(y_{ij}\) and weighting coefficients \( a_{k, \ l} \) are non-negative integers, Eq. (59) can be transformed into an equivalent difference equation
where \(\tau _{n} {\mathop {=}\limits ^{\triangle }} n T + \Delta t\).
6.4 Horizontal Hole Detection Memristor Cellular Automaton
Horizontal hole detection cellular automaton detects the number of horizontal holes from each horizontal row of a binary image. A string of adjacent white pixels in a horizontal row is called a horizontal hole if each end is terminated by at least one black pixel [3]. The rule for this cellular automaton can be written as follows:
where ‘1” and “0” in the rule table denote “black” and “white”, respectively, and
The memristance and the difference equation which can generate this rule are given by
and
respectively, where the weighting coefficient matrix \(A = [a_{k, \ l}] \) is given by
Our computer simulation of the horizontal hole detection cellular automaton is shown in Fig. 22. Observe that the horizontal holes are detected by this cellular automaton. Similarly, the weighting coefficient matrix \(A = [a_{k, \ l}] \) for vertical hole detection is given by
Since all state variables \(y_{ij}\) and weighting coefficients \( a_{k, \ l} \) are non-negative integers, Eq. (71) can be transformed into an equivalent difference equation
where \(\tau _{n} {\mathop {=}\limits ^{\triangle }} n T + \Delta t\).
6.5 Edge Detection Memristor Cellular Automaton
An edge is a jump in intensity from one pixel to the next. Define the rule of the edge detection as follows [11]:
-
1.
if the number of black cells is equal to 6, 7, or 8, then the new state of the cell will be black.
-
2.
in any other case, the new state of the cell will be white.
The truth table defining the above edge detection can be written as follows:
where \(y_{ij}(nT)\) has two states \(\{ 0, \ 1 \}\), and “1” and “0” in the rule table denote “black” and “white” of the binary image, respectively. Here, we assumed that there are a few white cells in the neighborhood of an edge. The memristance which can generate the local rule for edge detection is given by
or
The difference equation is given by
where the weighting coefficient matrix \(A = [a_{k, \ l}] \) is given by
Our computer simulation of the edge detection cellular automaton is shown in Fig. 23. Observe that the edges of objects are extracted by this cellular automaton.
Since all state variables \(y_{ij}\) and weighting coefficients \( a_{k, \ l} \) are non-negative integers, Eq. (78) can be transformed into an equivalent difference equation
or
where \(\tau _{n} {\mathop {=}\limits ^{\triangle }} n T + \Delta t\).
6.6 Erosion
The basic erosion operator erodes away the boundaries of black pixels in binary images. Define the rule of the erosion operation as follows [11]:
-
1.
if all cells are black, then the new state of the cell will be black.
-
2.
in any other case, the new state of the cell will be white.
The truth table can be written as follows:
where \(y_{ij}(nT)\) has two states \(\{ 0, \ 1 \}\), and “1” and “0” in the rule table denote “black” and “white”, respectively. The memristance and the difference equation which can generate the local rule for erosion are given by
and
respectively, where the weighting coefficient matrix \(A = [a_{k, \ l}] \) is given by
Our computer simulation of the erosion cellular automaton is shown in Fig. 24. Observe that the boundaries of black pixels in binary images are peeled off by this cellular automaton. Since all state variables \(y_{ij}\) and weighting coefficients \( a_{k, \ l} \) are non-negative integers, Eq. (84) can be transformed into an equivalent difference equation
where \(\tau _{n} {\mathop {=}\limits ^{\triangle }} n T + \Delta t\).
6.7 Dilation
The basic dilation operation enlarges the areas of black pixels at their borders in binary images. Define the rule of totalistic dilation as follows [11]:
-
1.
if all cells are white, then the new state of the cell will be white.
-
2.
in any other case, the new state of the cell will be black.
The truth table can be written as follows:
where \(y_{ij}(nT)\) has two states \(\{ 0, \ 1 \}\), and “1” and “0” in the rule table denote “black” and “white”, respectively. The memristance and the difference equation which can generate the local rule for dilation are given by
and
respectively, where the weighting coefficient matrix \(A = [a_{k, \ l}] \) is given by
Our computer simulation of the dilation cellular automaton is shown in Fig. 25. Observe that the areas of black pixels at their borders in binary images are enlarged by this cellular automaton. Since all state variables \(y_{ij}\) and weighting coefficients \( a_{k, \ l} \) are non-negative integers, Eq. (89) can be transformed into an equivalent difference equation
where \(\tau _{n} {\mathop {=}\limits ^{\triangle }} n T + \Delta t\).
6.8 Laplacian Memristor Cellular Automaton
Consider the Laplacian cellular automaton with eight neighbors [11], whose local rule is given by
where \(y_{ij}(nT)\) has two states \(\{ 0, \ 1 \}\), “1” and “0” in the rule table denote “black” and “white” in the binary image, respectively, and we set
The memristance and the difference equation which can generate the rule for Laplacian cellular automaton are given by
and
respectively, where the weighting coefficient matrix \(A = [a_{k, \ l}] \) is given by
In this case, the memristance M(q) is not an even function. Our computer simulation of the Laplacian memristor cellular automaton is shown in Fig. 26. Observe that the edges of objects are extracted by this cellular automaton. Note that Eq. (95) can be transformed into an equivalent difference equation
where \(\tau _{n} {\mathop {=}\limits ^{\triangle }} n T + \Delta t\).
6.9 Sharpening Filter Memristor Cellular Automaton
Sharpening filters are used to enhance the edges of objects. It is well known that weighting coefficient matrix \(A = [a_{k, \ l}] \) for a sharpening filter is given by
Consider the difference equation
where c is a constant.
Our computer simulation of the sharpening filter cellular automaton for \(c=30\) is shown in Fig. 27. Observe that the edges of objects are enhanced. In this simulation, the levels of a grayscale image range from 0 (black) to 255 (white), and the output binary image is superimposed on a given grayscale image. Note that Eq. (99) can be transformed into an equivalent difference equation
where \(\tau _{n} {\mathop {=}\limits ^{\triangle }} n T + \Delta t\) and c is an integer.
6.10 Noise Removal Memristor Cellular Automaton
Noise removal is a fundamental problem in image analysis. Let us remove the Gaussian noiseFootnote 3 via the majority rule. The truth table can be written as follows [11]:
where \(y_{ij}(nT)\) has two states \(\{ 0, \ 1 \}\), and “1” and “0” in the rule table denote “black” and “white”, respectively.
The memristance which can generate this rule is given by
or
Thus, the difference equation is given by
or
where \(0< \Delta t < 1\) and the weighting coefficient matrix \(A = [a_{k, \ l}] \) is given by
Our computer simulation of the noise removal memristor cellular automaton is shown in Fig. 28. Observe that the noise is removed by this cellular automaton.
Since all state variables \(y_{ij}\) and weighting coefficients \( a_{k, \ l} \) are non-negative integers, Eqs. (105) and (104) can be transformed into equivalent difference equations
and
respectively, where \(\tau _{n} {\mathop {=}\limits ^{\triangle }} n T + \Delta t\) and \(0< \Delta t < 1\).
6.11 Inverse Half-Toning Memristor Cellular Automaton
Inverse half-toning is used to convert a binary image into a grayscale image. The weighting coefficient matrix \(A = [a_{k, \ l}] \), the memristance M(q), and the difference equation for the inverse half-toning are given by
and
respectively.Footnote 4
Our computer simulation of Eq. (111) is shown in Fig. 29. Observe that given binary images are converted into grayscale images (10-gradations).Footnote 5
Since all state variables \(y_{ij}\) and weighting coefficients \( a_{k, \ l} \) are non-negative integers, Eq. (111) can be transformed into an equivalent difference equation
where \(\tau _{n} {\mathop {=}\limits ^{\triangle }} n T + \Delta t\).
7 Memristor Cellular Automaton with Inputs
Consider memristor cellular automata shown in Figs. 30 and 33. Their dynamics are given by
and
respectively, where M(q) denotes the memristance. Since they have an input term, Eqs. (113) and (114) have a more generalized form than Eq. (47).
Consider next Eq. (49) with a random binary noise input \(r(\tau _{n-1})\):
where \(r(\tau _{n-1}) \in \{ 0, 1 \}\). The above equation may be considered to be a special case of Eq. (113), if we set
and
Observe that it has complex behavior as shown in Fig. 31.
8 Memristor Discrete-Time Cellular Neural Network
Consider the memristor cell shown in Fig. 32. The dynamics of the cell C(i, j) is given by
where \(0< \Delta t < 1\).
In this cell, a new voltage-controlled current source for a threshold \(w_{ij}\) is connected to the cell \(C(i, \ j)\) of Fig. 33. Thus, the difference between Eqs. (113) and (118) is a threshold parameter \(w_{ij}\). If we assume that
and all state variables \(y_{ij}\) and weighting coefficients \( a_{k, \ l} \), \( b_{k, \ l} \), and \( w_{ij}\) are integers, we would obtain the equation of a memristor discrete-time cellular neural network (Memristor DTCNN)
where \(a_{k, l}, b_{k, l}\), and \(w_{ij}\) denote the feedback, control, and threshold template parameters, respectively. The matrices \(A= [ a_{k, l} ]\) and \(B= [ b_{k, l} ]\) are referred to as the feedback template A and the feedforward (input) template B, respectively. If we assume that \(w_{ij}\) is the same for the whole network, the template \(\{ A, B, w \}\) is fully specified by 19 parameters, which are the elements of two \(3 \times 3\) matrices A, B, and a real number w, namely
We remark that CNN and DTCNN can have the output state 1 or \(-1\), however, the memristor DTCNN (120) have the output state 1 or 0. Thus, we may have to modify or adjust CNN templates, which are designed for the output state 1 or \(-1\) [3, 4, 8,9,10].
We next show the relationship between the memristor DTCNN and the memristor cellular automata. The dynamics of DTCNN was given by
If we set \(w_{ij}=0\), then we obtain the dynamics of the memristor cellular automata
Thus, the memristor DTCNN can perform all applications of the memristor cellular automata by modifying the memristance M(q).
8.1 Dilation
The dilation operation enlarges the areas of black pixels at their borders in binary images. Define the template of the dilation operation as follows:
Our computer simulation of the dilation operation is shown in Fig. 34. Observe that the boundaries of black pixels in binary images are enlarged. Compare the two templates (90) and (124), the two memristances (88) and (119), and Figs. 25 and 34.
8.2 Erosion
The erosion operator erodes away the boundaries of black pixels in binary images. Define the template of the erosion operation as follows:
Our computer simulation of the erosion operation is shown in Fig. 35. Observe that the boundaries of black pixels in binary images are peeled off. Compare the two templates (85) and (125), the two memristances (83) and (119), and Figs. 24 and 35.
8.3 Edge Detection
The edge detection operator extracts edges of objects in a given binary image. Define the template of the edge operation as follows:
Our computer simulation of the edge detection is shown in Fig. 36. Observe that edges of objects in a binary image are detected. Compare the two templates (78) and (126), the two memristances (76) and (119), and Figs. 23 and 36.
8.4 Right Edge Detection
The right edge detection operator extracts right edges of all binary objects which are at least two-pixels wide along the horizontal direction in a given binary image. Define the template of the right edge operation as follows:
Similarly, we can define the template of the left edge detection as follows:
Our computer simulation of the right edge and left edge detection is shown in Fig. 37. Observe that right and left edges in binary images are detected.
8.5 Face-Vase Illusion
The face-vase illusion operator simulates the well-known visual illusion where the input image is perceived either as two symmetric faces, or as a vase, depending on the initial thought or attention, which is simulated by specifying a small patch of black pixels inside the object to be picked out. Define the template of the face-vase illusion as follows:
Our computer simulation of the face-vase illusion is shown in Fig. 38. Observe that the complicated region is picked out by specifying a small patch of black pixels inside the object.
8.6 Shadow Projection
The shadow projection operator projects onto the left the shadow of all objects in a binary image from the right. Define the template of the shadow projection as follows:
Our computer simulation of the shadow projection is shown in Fig. 39. Observe that the shadow of all objects in a binary image is projected onto the left from the right.
8.7 Line Detection
Line detection is a fundamental problem in image analysis. Define the template of the horizontal line and vertical line detections as follows:
and
respectively.
Our computer simulation of the line detection is shown in Fig. 40. Observe that the horizontal and vertical lines are detected.
8.8 Selected Objects Extraction
Selected objects extraction operator extracts an object marked by a binary input image. Define the template of the selected objects extraction as follows:
Our computer simulation of the selected objects extraction is shown in Fig. 41. Observe that some selected objects marked by a rectangle are extracted.
8.9 Filled Contour Extraction
Filled contour extraction operator extracts an object which contains a boundary and which is marked by a binary input image. Furthermore, they are completely filled inside the interior of closed curves. Define the template of the selected objects extraction as follows:
Our computer simulation of the filled contour extraction is shown in Fig. 42. Observe that all objects marked by a rectangle are extracted and the interior of all closed curves are filled with black pixels.
8.10 Horizontal Hole and Vertical Hole Detection
Horizontal (resp. vertical) hole detection operator detects horizontal (resp. vertical) holes. Define the template of the horizontal hole detection and vertical hole detection as follows:
and
Our computer simulation of the horizontal hole and the vertical hole detection is shown in Fig. 43. Observe that the horizontal holes and the vertical holes are detected by these templates.
9 Advanced Memristor DTCNN
Consider the memristor DTCNN cell shown in Figs. 46 and 44. If we apply a positive current pulse \(I_{p}\) with a height of 1 and a width of 1 into the memristor, we would obtain
A signal generator provides the two signals \(z_{ij}(t)\) and \(p_{ij}(t)\) satisfying the equations
and
respectively. If we assume that the memristance \(M_{x}(q)\) satisfies
the charge \(q_{ij}(t)\) stored in the memristor during the period \([nT, n T+ \Delta t]\) (\(n=1,2, \ldots \)) is given by
where \(0< \Delta t < 1\) and
The last term \(\Delta t\) in Eq. (141) indicates the charge stored by a positive current read pulseFootnote 6 (see Fig. 6). The characteristic of the memristance \(M_{y}(q)\) will be given later. For the sake of simplicity, assume that all state variables \(x_{ij}\), \(y_{ij}\) and weighting coefficients \( a_{kl} \), \( b_{kl} \), \( w_{ij}\), and c are non-negative integers. Then, by applying Eqs. (142)–(141), we obtain the equation
which is equivalent to a DTCNN equation
where \(\tau _{n} {\mathop {=}\limits ^{\triangle }} n T + \Delta t\). If we assume that \(w_{ij}\) is the same for the whole network, the template \(\{ A, B, w, c \}\) is fully specified by 20 parameters, which are the elements of two \(3 \times 3\) matrices A, B, and real numbers w, c, namely,
where \(w_{0}\) and \(c_{0}\) are constants.
9.1 Sandpile Cellular Automaton
The sandpile model is defined on a grid. Each grid point is associated with the height of a sandpile, which is defined below a limiting value. With each time interval, the height at one of the points increases. If a height exceeds the limiting value, the sand must be moved to nearby points until the height at all points are once again below the limiting value. The random placement of sand at a particular point may have no effect, or it may cause a cascading reaction that will affect every point on the grid.Footnote 7
Let us define the rule of sandpile cellular automaton as follows:
-
1.
Each cell has an integer state chosen between 0 and 7 for a von Neumann neighborhood (a diamond-shaped neighborhood).
-
2.
The number of neighbors having states larger than 3 is added to the middle cell.
-
3.
In case the center cell is itself in a state larger than 3, the new state is reduced by 4.
The truth table of the sandpile can be written as follows:
where \(\xi \) denotes the number of neighbors which have states larger than 3.
The above rule can be generated by the difference equation [11]
where
Thus, the template of the sandpile DTCNN is given by
The evolution of the sandpile DTCNN is illustrated in Fig. 45, in which we used the following palette for the state of cells.
9.2 Game of Life
Game of Life is a two-dimensional cellular automaton. Each cell has one of two possible states, live (cell value 1) or dead (cell value 0). Each cell interacts with eight neighbors. The Game of Life proceeds according to the rule [6]:
-
1.
Survivals
Any live cell with two or three live neighbors survives in the next generation.
-
2.
Deaths
Any live cell with four or more live neighbors dies (is removed) from overpopulation. Every cell with one neighbor or none dies from isolation.
-
3.
Births
Any dead cell with exactly three live neighbors comes to life.
The truth table defining the Game of Life is as follows:
The symbol \(*\) means no change in the next generation. The rules of the Game of Life can be generated from the difference equation [11]
where
Consider next the memristor cell in Fig. 48. Define the memristance
If we apply a positive current pulse \(I_{p}\) with a height of 1 and a width of 1 into the memristor, we would obtain
where \(v_{1}, \ v_{2}, \ v_{3}, \ M_{a}(q), \ M_{b}(q)\), and \(M_{c}(q)\) are illustrated in Fig. 48.
Thus, Eq. (152) can be realized by replacing the memristor cell in Fig. 46 with the one in Fig. 48, and providing the following signal from the signal generator
In this case, the template of the Game of Life DTCNN is given by
Our computer simulation of a Game of Life is shown in Fig. 47.
9.3 Multitasking Capability
The basic erosion operator erodes away the boundaries of black pixels in binary images. The truth table can be written as follows [11]:
where “1” and “0” in the rule table denote “black” and “white”, respectively. The above rule can be generated from the difference equation
The basic dilation operation enlarges the areas of black pixels at their borders in binary images. The truth table can be written as follows [11]:
where “1” and “0” in the rule table denote “black” and “white”, respectively. The above rule can be generated from the difference equation
The truth table defining the edge detection was written as follows:
Here, we assumed that there are a few white cells in the neighborhood of edge. The above rule can be generated from the difference equation
Consider again the memristor cell in Fig. 48. Define the memristance
which correspond to erosion, dilation and edge detection operations. Then, the DTCNN can perform an erosion operation, a dilation operation and an edge detection operation simultaneously with one operation. Furthermore, if we connect the memristor with the memristance
in series, it can also perform a half-toning operation simultaneously.
In this case, the template of the multitasking DTCNN is given by
Our computer simulation of a multitasking operation is shown in Fig. 49.
10 Conclusion
In this paper, we have proposed the memristor cellular automaton and the memristor discrete-time cellular neural network, which can perform some logical operations, image processing operations and complex behaviors. There are many possible generalizations of these systems, which will be presented elsewhere.
Notes
- 1.
A time-frame is used to identify a start and end of a set of current pulses.
- 2.
All evolution images and processed images in this paper are not obtained by the real memristor cellular automaton circuits, but by computer simulations.
- 3.
Gaussian noise has a probability density function of the normal distribution (Gaussian distribution).
- 4.
- 5.
10-gradations: \(\{ 0, 28, 56, 84, 112, 140, 168, 196, 224, 252 \}\) levels.
- 6.
During the period \([nT, n T+ \Delta t]\), a positive current read pulse \(I_{p}\) with a height of 1 is applied into the memristor.
- 7.
For more details, see “Bak-Tang-Wiesenfeld sandpile” in Wikipedia, the free encyclopedia.
References
Chua, L.O.: Memristor-the missing circuit element. IEEE Trans. Circuit Theory CT–18(5), 507–519 (1971)
Chua, L.O., Kang, S.M.: Memristive devices and systems. Proc. IEEE 64(2), 209–223 (1976)
Chua, L.O.: CNN: A Paradigm for Complexity. World Scientific, Singapore (1998)
Chua, L.O., Roska, T.: Cellular Neural Networks and Visual Computing. Cambridge University Press, Cambridge (2002)
Chua, L.O.: A Nonlinear Dynamics Perspective of Wolfram’s New Kind of Science, vol. I, II. World Scientific, Singapore (2006)
Gardner, M.: Mathematical games: the fantastic combinations of John Conway’s new solitaire game “Life”. Sci. Am. 223, 120–123 (1970)
Itoh, M., Chua, L.O.: Designing CNN genes. Int. J. Bifurcat. Chaos 13(10), 2739–2824 (2003)
Itoh, M., Chua, L.O.: Advanced image processing cellular neural networks. Int. J. Bifurcat. Chaos 17(4), 1109–1150 (2007)
Itoh, M., Chua, L.O.: Memristor oscillators. Int. J. Bifurcat. Chaos 18(11), 3183–3206 (2008a)
Itoh, M., Chua, L.O.: Imitation of visual illusions via OpenCV and CNN. Int. J. Bifurcat. Chaos 18(12), 3551–3609 (2008b)
Itoh, M., Chua, L.O.: Difference equations for cellular automata. Int. J. Bifurcat. Chaos 19(3), 805–830 (2009)
Johnson, R.C.: Will memristors prove irresistible? EE Times issue 1538, August 18, 30–34 (2008)
Peitgen, H.O., Jurgens, H., Saupe, D.: Chaos and Fractals: New Frontiers of Science. Springer, New York (1992)
Snider, G.S.: Self-organized computation with unreliable, memrisitive nanodevices. Nanoechnology 18(36), 365202 (2007)
Strukov, D.B., Snider, G.S., Stewart, G.R., Williams, R.S.: The missing memristor found. Nature 453, 80–83 (2008)
Tour, J.M., He, T.: The fourth element. Nature 453, 42–43 (2008)
Wolfram, S.: Universality and complexity in cellular automata. Phys. D 10, 1–35 (1984)
Acknowledgements
This work is supported in part by ONR grants No. N00014-07-1-0350 and N00014-09-1-0411.
Author information
Authors and Affiliations
Corresponding author
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 2019 Springer Nature Switzerland AG
About this chapter
Cite this chapter
Itoh, M., Chua, L. (2019). Memristor Cellular Automata and Memristor Discrete-Time Cellular Neural Networks. In: Chua, L., Sirakoulis, G., Adamatzky, A. (eds) Handbook of Memristor Networks. Springer, Cham. https://doi.org/10.1007/978-3-319-76375-0_47
Download citation
DOI: https://doi.org/10.1007/978-3-319-76375-0_47
Published:
Publisher Name: Springer, Cham
Print ISBN: 978-3-319-76374-3
Online ISBN: 978-3-319-76375-0
eBook Packages: Computer ScienceComputer Science (R0)