Stochastic computing: Difference between revisions

Content deleted Content added
Motivation and a simple example: 1 is being used as a symbol here, not describing an amount, so is best not written out.
Tags: Mobile edit Mobile app edit Android app edit
No edit summary
 
(4 intermediate revisions by 3 users not shown)
Line 1:
{{Short description|Computing using random bit streams}}
'''Stochastic computing''' is a collection of techniques that represent continuous values by streams of random bits. Complex computations can then be computed by simple bit-wise operations on the streams. Stochastic computing is distinct from the study of [[randomized algorithm]]s.
 
== Motivation and a simple example ==
 
Line 20:
 
The operation above converts a fairly complicated computation (multiplication of <math>p</math> and <math>q</math>) into a series of very simple operations (evaluation of <math>a_i \land b_i</math>) on random bits.
To put in another perspective, assuming the truth table of an AND gate. Conventional interpretation is that the output is true if and only if input A and B are true. However, if the table is interpreted vertically, (0011) AND (0101) is (0001), i.e., 1/2 x 1/2 = 1/4, which is exactly an arithmetic multiplication. As the information is presented in problabilityprobability distribution, probability multiplication is literally an AND operation.
{| class="wikitable"
|+
Line 189:
computer only requires an [[And gate|AND gate]]. Additionally,
a digital multiplier would naively require <math>2n</math> input wires,
whereas a stochastic multiplier would only require 2two input wires{{citation needed|date=October 2014}}.
(If the digital multiplier serialized its output, however, it would also
require only 2two input wires.)
 
Additionally, stochastic computing is robust against noise; if a few