Deterministic and nondeterministic automata
An automaton is a device which recognizes or accepts certain elements of Σ*, where Σ is a finite alphabet. Since the elements accepted by the automaton are a subset of Σ*, they form a language. Therefore each automaton will recognize or accept a language contained in Σ*. The language of Σ* consisting of the words accepted by an automaton M is the language over Σ* accepted byM and denoted M(L). We will be interested in the types of language an automaton accepts.
Definition 3.1A deterministic automaton, denoted by (Σ, Q, s0, ϒ, F), consists of a finite alphabet Σ, a finite set Q of states, and a function ϒ : Q × Σ → Q, called the transition function and a set F of acceptance states. The set Q contains an element s0 and a subset F, the set of acceptance states.
The input of ϒ is a letter of Σ and a state belonging to Q. The output is a state of Q (possibly the same one). If the automaton is in state s and “reads” the letter a, then (s, a) is the input for ϒ and ϒ(s, a) is the next state. Given a string in Σ* the automaton “reads” the string or word as follows. Beginning at the initial state s0, and beginning with the first letter in the string (if the string is nonempty), it reads the first letter of the string. If the first letter is the letter a of Σ, then it “moves” to state s = ϒ(s0, a).