This document introduces the concept of automata. It discusses that automata theory studies abstract computing devices and was originally proposed to model brain function but proved useful for other purposes like designing digital circuits. Automata can model systems that have a finite number of states. There are two important notations used in automata theory - grammars and regular expressions. Automata are essential for studying the limits of computation in terms of what problems are decidable and what problems are intractable. The central concepts of automata theory include alphabets, strings, concatenation of strings, reverse of strings, and Kleene closure.
1. Introduction to Concept of Automata
Abhineet Anand
Assistant Professor
Dept. of Computer Science And Engineering,
College of Engineering Studies.
University of Petroleum and Energy Studies, Dehradun.
January 22, 2013
Abhineet Anand (UPES, Dehradun) Introduction:Concept of Automata January 22, 2013 1 / 12
2. Outline
1 Automata:The Methods and The Madness
2 Structural Representations
3 Automata and Complexity
4 The Central Concept of Automata Theory
Abhineet Anand (UPES, Dehradun) Introduction:Concept of Automata January 22, 2013 2 / 12
3. Automata:The Methods and The Madness
Automata Theory is the study of abstract computing devices, or
”machine”.
Before there were computers, in 1930’s, A. Turing studded an abstract
machine that had all the capabilities of today’s computers, at least as
far as in what they could compute.
Abhineet Anand (UPES, Dehradun) Introduction:Concept of Automata January 22, 2013 3 / 12
4. Automata:The Methods and The Madness
Automata, originally proposed to model brain function, turned out to
be extremely useful for a variety of other purposes, like
Software for designing and checking the behavior of digital circuits.
The ”lexical Analyzer” of a typical complier.
Software for scanning large bodies of text.
Software for verifying system of all types that have a finite number of
distinct states, such as communication protocol or protocols for secure
exchange of information.
Abhineet Anand (UPES, Dehradun) Introduction:Concept of Automata January 22, 2013 4 / 12
5. Develop feeling about Automata
There are system or component that may be viewed as being at all
times in one of a finite number of ”states”.
The purpose of a state is to remember the relevant portion of the
system’s history.
Since there are only a finite number of states, the entire history
generally cannot be remembered, so the system must be designed
carefully, to remember what is important and forget what is not.
The advantage of having only a finite number of states is that we can
implement the system with a fixed set of resources.
Abhineet Anand (UPES, Dehradun) Introduction:Concept of Automata January 22, 2013 5 / 12
6. Example : A Finite Automata modeling an ON/OFF switch
Abhineet Anand (UPES, Dehradun) Introduction:Concept of Automata January 22, 2013 6 / 12
7. Structural Representations
There are two important Notation that plays an important role in the study
of automata and their applications.
Grammers: are useful models when designing software that
processes data with a recursive structure.
The best-known example is a ”parser”, the component of a complier
that deals with the recursively nested features of a typical
programming language, such as expression - arithmetic, conditional,
and so on.
Regular Expression: also denote the structure of data.
The pattern of string they describe are exactly the same as what can
be described by finite automata.
Abhineet Anand (UPES, Dehradun) Introduction:Concept of Automata January 22, 2013 7 / 12
8. Automata and Complexity
Automata are essential for the study of the limits of computation. There
are two important issues:
What can a computer do at all? - Decidability.
What can a computer do efficiently? - Intractability.
Abhineet Anand (UPES, Dehradun) Introduction:Concept of Automata January 22, 2013 8 / 12
9. The Central Concept of Automata Theory
Alphabet: An alphabet is a finite, nonempty set of symbols.
Conventionally, Σ is used to denote.
Examples :
Σ = {0, 1}, the binary alphabet.
Σ = {a , b , c , ....., Z }, the set of all lower-case letters.
Abhineet Anand (UPES, Dehradun) Introduction:Concept of Automata January 22, 2013 9 / 12
10. The Central Concept of Automata Theory
String: A string is a finite sequence of symbols chosen from some
alphabets. Example:
01101 is a string from the binary alphabet Σ = {0, 1}.
The Empty String
is the string with zero occurrences of symbols. This string denoted by
ϸ , is a string that may be chosen from any alphabet.
Length of String
Power of an Alphabet
If Σ is an alphabet, it can express the set of all string of a certain length
from the alphabet.
If Σ = {a , b , c }, then Σ1 = {a , b , c }
Σ2 = {aa , ab , ac , ba , bb , bc , ca , cb , cc } and so on.
Concatenation of String
Let X and Y be strings. Then XY denotes the concatenation of X and Y,
which is the string formed by making a copy of X and following it by a
copy of Y.
Abhineet Anand (UPES, Dehradun) Introduction:Concept of Automata January 22, 2013 10 / 12
11. The Central Concept of Automata Theory
Reverse of the String
If Σ is a set of Alphabet then reverse of the alphabet may be denoted
by ΣR .
Kleen Clousure
Given an alphabet, if it is to define a language in which any string of
letter from Σ ia a word, even the null string. Example:
if Σ = {a }
then Σ∗ = {ϸ, a , aa , aaa , aaaa , .....}
Abhineet Anand (UPES, Dehradun) Introduction:Concept of Automata January 22, 2013 11 / 12
12. THANK YOU
Abhineet Anand (UPES, Dehradun) Introduction:Concept of Automata January 22, 2013 12 / 12