A Deterministic Finite Automata (DFA for short) is a computational device that will either accept or reject a given string. Each state in a DFA determines the next state, which can only be accessed if the next symbol to be processed lies on the edge connecting the current state to the next state.

In books on computational theory, a DFA is written as a tuple, where each item in the tuple denotes the set of states, the set of symbols the DFA works with (usually a couple letters or numbers to illustrate the concept), a transition function, and the start and accept states.