Safekipedia
Automata (computation)

Automata theory

Adapted from Wikipedia · Adventurer experience

Automata theory is the study of abstract machines and automata, as well as the computational problems that can be solved using them. It is a part of theoretical computer science with links to cognitive science and mathematical logic. The word automata comes from the Greek word αὐτόματος, meaning "self-acting, self-willed, self-moving". An automaton (automata in plural) is an abstract self-moving computing device that follows a set sequence of actions on its own.

An automaton with a limited number of states is called a finite automaton (FA) or finite-state machine (FSM). These machines have different states and can change from one state to another. As the automaton gets input, it moves between states using a transition function. Automata theory helps us learn how machines can understand and work with languages. It is important in areas like compiler construction, artificial intelligence, and formal verification.

History

Automata theory began in the middle of the 20th century, linked to the study of finite automata. Early work used abstract algebra to study information, instead of math that describes physical systems. Important books and ideas came out in 1956, including work by Claude Shannon and Noam Chomsky. These ideas helped automata theory grow into its own area of study.

Later, important theorems were developed and computational complexity theory grew. By the late 1960s, automata theory became a key part of the math used in computer science.

Automata

Automata theory is the study of machines that can solve problems. The word "automata" comes from a Greek word meaning "self-acting" or "self-moving." An automaton takes inputs one step at a time and changes its state with each input. It can either accept or reject a sequence of inputs, depending on if it ends in a special state.

Automata use symbols for inputs and outputs, different states, and rules for moving between states. Types of automata, like finite-state machines and Turing machines, can recognize different kinds of languages or groups of input sequences.

Hierarchy in terms of powers

This section shows different types of virtual machines and how they are related. It explains which machines can do more complex tasks than others. The hierarchy helps us see how these machines are connected and which ones are more powerful for solving problems.

Automaton
Deterministic Finite Automaton (DFA) -- Lowest Power
(same power)    | | {\displaystyle ||}   (same power)
Nondeterministic Finite Automaton (NFA)
(above is weaker)    ∩ {\displaystyle \cap }    (below is stronger)
Deterministic Push Down Automaton (DPDA-I)
with 1 push-down store
∩ {\displaystyle \cap }
Nondeterministic Push Down Automaton (NPDA-I)
with 1 push-down store
∩ {\displaystyle \cap }
Linear Bounded Automaton (LBA)
∩ {\displaystyle \cap }
Deterministic Push Down Automaton (DPDA-II)
with 2 push-down stores
| | {\displaystyle ||}
Nondeterministic Push Down Automaton (NPDA-II)
with 2 push-down stores
| | {\displaystyle ||}
Deterministic Turing Machine (DTM)
| | {\displaystyle ||}
Nondeterministic Turing Machine (NTM)
| | {\displaystyle ||}
Probabilistic Turing Machine (PTM)
| | {\displaystyle ||}
Multitape Turing Machine (MTM)
| | {\displaystyle ||}
Multidimensional Turing Machine

Applications

Automata theory has many useful applications. For example, finite automata help with tasks like processing text, building compilers, and designing hardware. Context-free grammar (CFGs) are important for programming languages and artificial intelligence, and they were originally studied to understand human languages.

Cellular automata are used in artificial life, with John Conway's famous Game of Life as a well-known example. Automata theory can also explain patterns in nature, like how some shells and pine cones grow and get their colors. Some scientists even suggest that the entire universe might work like a giant computer, an idea started by Konrad Zuse and later shared in America by Edward Fredkin. Automata are also useful in mathematics, such as studying finite fields and solving problems about irreducible polynomials and the induction of regular languages.

Automata simulators

Automata simulators are tools that help us learn about automata theory. These tools let you describe an automaton in different ways, like using words, a special form, or by drawing it with a mouse. Popular simulators include Turing's World, JFLAP, VAS, TAGS, and SimStudio. They show how the automaton behaves with different inputs.

Main article: symbolic language

Category-theoretic models

Automata theory helps us organize different types of machines into categories. These categories show how machines can change from one type to another. For example, machines called deterministic automata can be grouped in special ways that let us combine or break them down.

Variable automata, studied by mathematician Norbert Wiener, can also be grouped into categories. These groups help us see how these machines change and work together, forming more complex structures. This helps us understand the relationships between different kinds of automata better.

Main article: The Human Use of Human Beings

This article is a child-friendly adaptation of the Wikipedia article on Automata theory, available under CC BY-SA 4.0.