A nondeterministic finite automaton (or NFA) is like an imaginary machine that takes in a string of characters and decides whether or not it should accept them. To decide, this machine looks at the string one character at a time and has a special set of rules to follow. For example, if it sees a "1", it may move to one place, and if it sees a "2", it may move somewhere else. Nondeterministic means that sometimes, there can be more than one rule that tells the machine what to do with a particular character, like if it sees a "1" then maybe it moves to the left or right.