This Demonstration shows an implementation of memory in one-dimensional cellular automata. We use two kinds of memory mechanisms (average -type memory and majority memory) to first determine the cell trait states, based on their past states, and then apply the formally unchanged updating rule. Average memory acts by means of a weighting mechanism based on a memory factor . Majority memory acts by selecting the most frequent of the last states. Both types of memory are shown simultaneously for comparison. Initial states can be chosen between one single seed or a random set. Perturbation analysis may also be visualized.
Cellular automata (CAs) are discrete systems usually defined to be updated using rules that read only the previous state of each cell and its neighbors: . Here we change this approach by recovering the cell state history but keeping the updating rules the same. Memory is defined to be, for each cell, the summary of its previous states, acting according to a simple mechanism (average or majority) in order to determine the whole instance of the update rule: . It is important to note that remains unchanged. On the contrary, the trait states are those that change, summarizing the history of the cell states.
In the case of the average memory, we use a weighting factor of , albeit in two-state CAs, -memory has no effect if . For the case of the majority memory, we use the previous states in order to determine the most frequent of them. New and interesting phenomena can be produced with this kind of memory implementation. In particular, complex behavior may emerge from previously known chaotic rules through this implementation.
 R. Alonso-Sanz, Discrete Systems with Memory, Singapore: World Scientific, 2011.