A programmable chemical computer with memory and pattern recognition

Abstract
Current computers are limited by the von Neumann bottleneck, which constrains the throughput between the processing unit and the memory. Chemical processes have the potential to scale beyond current computing architectures as the processing unit and memory reside in the same space, performing computations through chemical reactions, yet their lack of programmability limits them. Herein, we present a programmable chemical processor comprising of a 5 by 5 array of cells filled with a switchable oscillating chemical (Belousov–Zhabotinsky) reaction. Each cell can be individually addressed in the ‘on’ or ‘off’ state, yielding more than 2.9 × 1017 chemical states which arise from the ability to detect distinct amplitudes of oscillations via image processing. By programming the array of interconnected BZ reactions we demonstrate chemically encoded and addressable memory, and we create a chemical Autoencoder for pattern recognition able to perform the equivalent of one million operations per second.