A theoretical branch of computer science and mathematics that studies abstract mathematical machines, known as automata. These machines, when given a finite set of inputs, automatically perform tasks by going through a finite sequence of states.
Consider a simple automaton that recognizes the language of all strings consisting of exactly 3 consecutive identical characters. This automaton would have three states – start, middle, and end – and transitions between them based on the input character. When given an input string, the automaton would start in the start state, read the first character, and transition to the appropriate next state based on the read character. It would then repeat this process for each character in the input string until it reaches the end state.