Our DFAs are required to have exactly one edge incident from each state for each input symbol so there is a unique next state for every current state and input symbol. Thus, the next state is fully determined by the current state and input symbol. As we saw in the previous section, this simpli?es the proof that the DFA accepts a speci?c language. There are many circumstances, though, in which it will be simpler to de?ne the automaton in the ?rst place if we allow for there to be any one of a number of next states or even no next state at all. Thus there may be many out edges from a given node labeled with a given symbol, or no out edges from that node for that symbol. Such FSA are called non-deterministic because the next step of a computation is not fully determined by the current state and input symbol-we may have a choice of states to move into.
De?nition 1 (NFA without ε-Transitions) A FSA A = (Q,Σ, T, q0, F) is non-deterministic iff either
• there is some q ∈ Q, σ ∈ Σ and p1 = p2 ∈ Q for which hq, p1, σi ∈ T and hq, p2, σi ∈ T,
• or there is some q ∈ Q, σ ∈ Σ for which there is no p ∈ Q such that hq, p, σi ∈ T