Deterministic finite automata (DFAs) are a class of “machines” in the theory of computation that are perhaps one of the simplest classes possible and most limited in computational power. DFAs are equivalent to both Non-Deterministic Finite Automata and Regular Languages.
A deterministic finite automaton (DFA) is a 5-tuple \(M := (Q, \Sigma, \delta, q_0, F)\), where
Let \(w := w_1 w_2 ... w_N\) be a character that exists in the alphabet i.e. each \(w_n \in \Sigma\). For a given DFA \(M\), we say that \(M\) accepts \(w\) is there is a sequence of states \(r_0, r_1, ..., r_K \in Q\) such that 3 conditions are met:
If \(A\) is the set of all strings that machine M accepts, we say that \(A\) is the language of machine \(M\) or that \(M\) recognizes \(A\).