I do not the understand the concept of Non Deterministic Turing Machine. I guess I understand the term Non deterministic algorithm : (nondeterministic algorithm is an algorithm that can exhibit different behaviors on different runs, as opposed to a deterministic algorithm.) So the algorithm could be like :
a = fromSomeAlgo();
if(a > foo)
stateA();
else
stateB();
But for non-deterministic turing machine I read , it can be in more than one state at a given time. Also a wikipedia article suggests "A non-deterministic Turing machine (NTM), may have a set of rules that prescribes more than one action for a given situation".
What does that mean ? ..More than one action for a given stituation...multiple states... I simply do not understand this.