** Automata theory** is a theoretical branch of computer science. It studies abstract mathematical machines called

Through these automatons, mathematicians and computer scientists can understand how machines function, solve problem, learn and what it means for a function to be defined as *computable*. Along with this, we can also understand how discrete systems behave given a certain set of inputs.

Automatons can be divided into four main families:

- Finite-State Machine
- Push-down Automata
- Linear-bounded Automata
- Turing Machine

A Finite-State machine is the simplest automata, while a Turing machine is the most complex. A Turing machine is also a Finite-State machine, but the inverse may not be true.

An automaton has three basic components:

- A finite set of inputs I ${x_1, x_2, .... x_n}$
- A finite set of outputs Z $y_1, y_2, ... y_n$
- A finite set of states Q whose definition depends on the type of automaton being used.

We use automatons instead of computers to model machine behavior because automatons are easier to build, require no hardware, and can be represented by simple mathematical notation.

Automations are abstract machines that do not physically exist.

A computer, on the other hand, is a highly complex machine that is difficult to understand and needs its hardware changed for each different use-case.

Copyright ©2024 Educative, Inc. All rights reserved

TRENDING TOPICS