Non-deterministic Finite Automaton