{'fraction_non_alphanumeric': 0.02102803738317757, 'fraction_numerical': 0.002336448598130841, 'mean_word_length': 5.032863849765258, 'pattern_counts': {'":': 0, '<': 0, '<?xml version=': 0, '>': 0, 'https://': 0, 'lorem ipsum': 0, 'www.': 0, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 0, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
Universality in Cellular Automata

Complex behavior by machines can be achieved by either having a large number of very simple machines or by having a complex machine with which to start. Our primary interest in this paper was with the former. By considering the global behavior of a large number of the simplest of machines, the following results were shown: 1. An array of identical square cells each of which can exist in only four states and communicates with its four nearest neighbors (forming a neighborhood of five cells) can a) perform any computation which is computable and b) construct (almost) any configuration--in particular, it can be self-reproducing. Cells capable of the first behavior are called universal computers; the second behavior characterizes the universal constructor. 2. A three state, five neighbor cell is capable of universal computation when configured in a finite initial area. 3. Two states and five neighbors are sufficient for universal computation, but require an infinite initial configuration. Being parallel machines, these cellular automata can serve as a good theoretical basis for parallel computation and should be useful mathematically in many of the same areas as the Turing Machine. Practical physical applications were also indicated.