Another way to view nondeterministic computation is to consider a NDTM which manages to accept input as incredibly lucky: it "just happened" to make the right choice at each step along the way. If some guardian angel sat beside the machine and guided it, this would be easy. The nice bit is that a NDTM can distinguish between its guardian angel and a misleading devil. For suppose some misleading devil sits beside our NDTM and misguides it, giving it a wrong path. Then the machine might be unable to accept, but at least it will never accept an input that it shouldn't.

While deterministic Turing machines are equivalent with regard to computable functions to non deterministic Turing machines, the proof of this fact relies on a simulation that is incredibly slow. In fact, the simulation merely checks every possible computational path the NDTM could take, and accepts input if one of these paths accepts. Since the number of paths is exponential in the number of steps the NDTM makes (along the accepting computation), the simulation is exponentially slower than the nondeterministic version.

Of course, it could be that the problem is with our simulation, and that structuring our solution differently would lead to a much faster simulation, one not subject to the exponential slowdown. This is what lies at the heart of solving questions such as P!=NP: how can we prove that the guardian angel really helps?