  We discuss a new approach to simulate quantum algorithms using classical
probabilistic bits and circuits. Each qubit (a two-level quantum system) is
initially mapped to a vector in an eight dimensional probability space
(equivalently, to a classical random variable with eight probabilistic
outcomes). The key idea in this mapping is to store both the amplitude and
phase information of the complex coefficients that describe the qubit state in
the probabilities. Due to the identical tensor product structure of combining
multiple quantum systems as well as multiple probability spaces, $n$ qubits are
then mapped to a tensor product of $n$ 8-dimensional probabilistic vectors
(i.e., the Hilbert space of dimension $2^n$ is mapped to a probability space of
dimension $8^n$). After this initial mapping, we show how to implement the
analogs of single-qubit and two-qubit gates in the probability space using
correlation-inducing operations on these classical random variables. The key
defining feature of both the mapping to the probability space and the
transformations in this space (i.e., operations on the random variables) is
that they are not linear, but instead affine. Using this architecture, the
evolution of the $2^n$ complex coefficients of the quantum system can be
tracked in the joint fully-correlated probabilities of the polynomial number of
random variables. We then give specific procedures for implementing (1) the
Deutsch-Jozsa algorithm, and (2) the Quantum Fourier Transform in the
probability space. Identical to the Quantum case, simulating the Quantum
Fourier Transform in the probability space requires $O(n)$ probabilistic bits
and $O(n^2)$ (i.e., quadratic in the number of quantum bits) operations.
