Download as docx, pdf, or txt
Download as docx, pdf, or txt
You are on page 1of 5

4 Types and Advantages of Theory of Computation

1. Automata Theory

Automata Theory is a theoretical branch of Computer Science and mathematics


and deals with the study of complex computational problems and abstract
machines. The word Automata is derived from the word “Automaton” which is
closely related to the word “Automation”.

Automata are machines that accept a string as input and process it through a
finite number of states before reaching the end state. The primary objective for
creating automata theory was to create tools for describing and analysing the
dynamic behaviour of discrete systems.

The basic terms frequently used in Automata Theory are:

 Symbols: These are either individual objects or separate entities. These


can be any letter, alphabet or any picture.
 Strings: These are a finite collection of symbols from the alphabet, and
are denoted by w.
 Language: A collection of appropriate strings is called a language. A
language can be Finite or Infinite.

Finite Automata
Finite Automata, also known as the Finite State Machine, is a simple machine that
is able to recognize patterns. It is an abstract machine with five components or
tuples. It contains a set of states and rules for going from one state to the next, but
it is dependent on the input symbol used. It is essentially an abstract representation
of a digital computer.
Finite automata has two states: Accept State or Reject State.

Two types of Finite Automata are there:


Deterministic Finite Automata (DFA): In DFA, the computer only travels to one
state for each input character. Here, the uniqueness of the calculation is referred to as
deterministic. The null move is not accepted by DFA.

Non-deterministic Finite Automata (NFA): NFA is used to send any number of


states for a certain input. It is capable of accepting the null move
2. Formal Language Theory

Formal Language Theory is a branch of Computer Science and Mathematics dealing


with representing languages as a collection of operations on an alphabet. Automata is
used to generate and recognize different formal languages, hence they are closely
related.
It was first initiated by Noam Chomsky in the 1950s. The field of formal language
studies is concerned with the syntax of languages and their internal structural patterns.
Due to the rise of linguistics in the field of formal language, the syntactic regularities
of natural languages now have a means for comprehension.
In computer science, formal languages are used to define the grammar of
programming languages as well as formalised versions of subsets of natural languages
in which the words of the language represent concepts with specific meanings or
semantics. As discussing natural language, read more about Introduction to Natural
Language Processing)

The Chomsky Hierarchy


A Formal language is a set of sequences or strings over some finite vocabulary
identified with words, morphemes or sounds. There are four types of languages in the
Chomsky Hierarchy:

Computably Enumerable Languages: The languages that can be defined by any


formal grammar are known as Computably Enumerable Languages. Any formal or
algorithmic procedure can be expressed by grammar. For eg- derivation of logic, rules
of chess etc. All computably enumerable languages are semi-decidable.
Context-Sensitive languages: Grammars where the left hand side of each rule is
longer than the right hand side are called Context-sensitive languages. The
specification of this class of grammars assures that a decision method for the
membership problem is instantly established. Eg- set of all prime numbers, set of all
square numbers etc.
Context-free languages: These are languages defined by context-free grammar. In
this case, the non-terminals can be read as syntactic category names, and the arrow ‘ ‘
can be interpreted as ‘consists of.’ As a result, the derivation of a string x in such a
language enforces an implicit hierarchical structure of x into ever bigger sub-strings.
For this particular reason, context free languages are often referred to as phrase
structure languages.
Regular languages: The languages that are defined by regular grammar are known as
regular languages. Regular grammars are also context-free where the non-terminals
can be seen as category symbols and the arrow as consists of. Non-terminals,
according to another natural meaning, are the names of an automaton’s states.

3. Computability Theory

Computability theory, also known as Recursion Theory, is a branch of


Mathematics and Computer Science that is primarily concerned with the extent
to which an issue may be solved by a computer. It originated in the 1930s with
the study of computable functions and Turing degrees.

The statement that a Turing computer cannot solve the halting issue is one of the
most significant conclusions in computability theory because it is an example of
a concrete problem that is both straightforward to define and impossible to solve
with a Turing machine. The halting issue result serves as the foundation for most
of computability theory.

4. Computational Complexity Theory

Computational Complexity Theory is that branch of Theory of Computation that


classifies computational problems according to their resource usage. These
computational problems are solved by different algorithms.

An issue is considered inherently complex if its solution necessitates


considerable resources, regardless of the method utilised. This intuition is
formalised by the theory, which introduces mathematical models of computing
to analyse these issues and measure their computational complexity, i.e., the
amount of resources required to solve them, such as time and storage.

You might also like