Definition - Theory of Computation
Automata theory (also known as Theory Of Computation) is a theoretical branch of Computer Science and Mathematics, which mainly deals with the logic of computation with respect to simple machines, referred to as automata.
Theory Of ComputationSome more points regarding the theory of computation:
- Automata* enables the scientists to understand how machines compute the functions and solve problems.
- The main motivation behind developing Automata Theory was to develop methods to describe and analyse the dynamic behavior of discrete systems.
- The field is divided into three major branches: automata theory, computability theory and computational complexity theory.
- In order to perform a rigorous study of computation, computer scientists work with a mathematical abstraction of computers called a model of computation. There are several models in use, but the most commonly examined is the Turing machine.
- Automata is originated from the word “Automaton” which is closely related to “Automation”.
- This automaton consists of:
1. states (represented in the figure by circles),
2. transitions (represented by arrows). - As the automaton sees a symbol of input, it makes a transition (or jump) to another state, according to its transition function (which takes the current state and the recent symbol as its inputs). Uses of Automata: compiler design and parsing.
Question for Introduction: Theory of Computation
Try yourself:Automata word has originated from which word?
Explanation
The word automata has originated from the Greek word 'automaton'. The word automaton in Greek means 'self-moving' or self, one's own, by oneself, of oneself.
Report a problem
Our view of languages is that a language is a set of strings. In turn, a string is a finite sequence of letters from some alphabet. These concepts are defined rigorously as follows.
1. Symbol:
Symbol is the smallest building block, which can be any alphabet, letter or any picture.

2. Alphabets (Σ):
Alphabets are set of symbols, which are always finite. 
3. String:
String is a finite sequence of symbols from some alphabet. String is generally denoted as w and length of a string is denoted as |w|.Empty string is the string with zero occurrence of symbols, represented as ε.
Number of Strings (of length 2) that can be generated over the alphabet {a, b} -

Length of String |w| = 2
Number of Strings = 4
Conclusion:
For alphabet {a, b} with length n, number of strings can be generated = 2n.
Note: If the number of Σ’s is represented by |Σ|, then number of strings of length n, possible over Σ is |Σ|n.
Question for Introduction: Theory of Computation
Try yourself:
How many strings of length 3 can be generated over the alphabet {0, 1}?Explanation
- For an alphabet {0, 1} with a length of 3, the number of strings that can be generated is 2^3 = 8.
- Each position in the string can be filled with 2 choices (0 or 1), and since there are 3 positions, the total number of possible strings is 2^3 = 8.
Report a problem
4. Language:
A language is a set of strings, chosen from some Σ* or we can say- ‘A language is a subset of Σ* ‘. A language which can be formed over ‘ Σ ‘ can be Finite or Infinite. 
5. Powers of ‘Σ‘:
Say Σ = {a,b} then
Σ0 = Set of all strings over Σ of length 0. {ε}
Σ1 = Set of all strings over Σ of length 1. {a, b}
Σ2 = Set of all strings over Σ of length 2. {aa, ab, ba, bb}
i.e. |Σ2|= 4 and Similarly, |Σ3| = 8
Σ* is a Universal Set.
Σ* = Σ0 U Σ1 U Σ2 ..........
= {ε} U {a, b} U {aa, ab, ba, bb}
= ............. //infinite language
Question for Introduction: Theory of Computation
Try yourself:
Which of the following correctly defines a language in the context of theoretical computer science?Explanation
- A language in theoretical computer science refers to a set of strings chosen from a specific alphabet, not numbers, colors, or animals.
- The strings in a language can be finite or infinite, depending on the rules and constraints of the language.
- Therefore, Option B is the correct definition of a language in this context.
Report a problem
6. Convention:
Capital letters A, B, C, L, etc. with or without subscripts are normally used to denote languages.