  We introduce a class of digital machines we name Digital Memcomputing
Machines (DMMs) able to solve a wide range of problems including
Non-deterministic Polynomial (NP) ones with polynomial resources (in time,
space and energy). An abstract DMM with this power must satisfy a set of
compatible mathematical constraints underlying its practical realization. We
initially prove this by introducing the complexity classes for these machines.
We then make a connection with dynamical systems theory. This leads to the set
of physical constraints for poly-resource resolvability. Once the mathematical
requirements have been assessed, we propose a practical scheme to solve the
above class of problems based on the novel concept of self-organizing logic
gates and circuits (SOLCs). These are logic gates and circuits able to accept
input signals from any terminal, without distinction between conventional input
and output terminals. They can solve boolean problems by self-organizing into
their solution. They can be fabricated either with circuit elements with memory
(such as memristors) and/or standard MOS technology. Using tools of functional
analysis, we prove mathematically the following constraints for the
poly-resource resolvability: i) SOLCs possess a global attractor; ii) their
only equilibrium points are the solutions of the problems to solve; iii) the
system converges exponentially fast to the solutions; iv) the equilibrium
convergence rate scales at most polynomially with input size. We finally
provide arguments that periodic orbits and strange attractors cannot coexist
with equilibria. As examples we show how to solve the prime factorization and
the NP-hard version of the subset-sum problem. Since DMMs map integers into
integers they are robust against noise, and hence scalable. We finally discuss
the implications of the DMM realization through SOLCs to the NP=P question
related to...
