Foreword: Gulak -- 1. Introduction to Stochastic Computing (Gaudet, Gross, Smith) -- 2. Origins of Stochastic Computing (Gaines) -- 3. Tutorial on Stochastic Computing (Winstead) -- (Hayes) -- 4. Accuracy and Correlation in Stochastic Computing (Alaghi, Ting, Lee, Hayes) -- 5. Synthesis of Polynomial Functions (Riedel, Qian) -- 6. Deterministic Approaches to Bitstream Computing (Riedel) -- 7. Generating Stochastic Bitstreams (Hsiao, Anderson, Hara-Azumi) -- 8. RRAM Solutions for Stochastic Computing (Knag, Gaba, Lu, Zhang) -- 9 Spintronic Solutions for Stochastic Computing (Jia, Wang, Huang, Zhang, Yang, Qu, et al.) -- 10. Brain-inspired computing (Onizawa, Gross, Hanyu) -- 11. Stochastic Decoding of Error-Correcting Codes (Leduc-Primeau, Hemati, Gaudet, Gross).
0
This book covers the history and recent developments of stochastic computing. Stochastic computing (SC) was first introduced in the 1960s for logic circuit design, but its origin can be traced back to von Neumann's work on probabilistic logic. In SC, real numbers are encoded by random binary bit streams, and information is carried on the statistics of the binary streams. SC offers advantages such as hardware simplicity and fault tolerance. Its promise in data processing has been shown in applications including neural computation, decoding of error-correcting codes, image processing, spectral transforms and reliability analysis. There are three main parts to this book. The first part, comprising Chapters 1 and 2, provides a history of the technical developments in stochastic computing and a tutorial overview of the field for both novice and seasoned stochastic computing researchers. In the second part, comprising Chapters 3 to 8, we review both well-established and emerging design approaches for stochastic computing systems, with a focus on accuracy, correlation, sequence generation, and synthesis. The last part, comprising Chapters 9 and 10, provides insights into applications in machine learning and error-control coding.