Automata Theory-Introduction MAIT TOC GGSIPU
Automata Theory-Introduction MAIT TOC GGSIPU
Theory
1
What is Automata Theory?
• Study of abstract computing devices, or “machines”
• Automaton = an abstract computing device
2
Alan Turing (1912-1954)
(A pioneer of automata theory)
3
Formal Language and Automata
• Formal language
– a subset of the set of all possible strings from a set of
symbols
– example: the set of all syntactically correct C programs
• Automata
– abstract, mathematical model of computer
– examples: finite automata, pushdown automata Turing
machine, many others
• Let’s consider each of these in turn
Formal language
Alphabet = finite set of symbols or characters
examples: S = {a,b}, binary, ASCII
Operations on strings:
length: |u| = 3
reversal: uR = baa
concatenation: uv = aabbbaba
• Other Examples:
– S={0, 1}, L={0n1n | n1} is a language over S consisting
of the strings {01, 0011, 000111, … }
String operations:
LR = {wR | w L} is “reverse of language”
L1L2 = {xy | x L1, y L2} is “concatenation of languages”
L* = {x = x1…xk | k 0 and x1, …, xk L} =
L0 L1 L2 . . . . is “Kleene star” or "star closure"
L+ = L1 L2 . . . . is positive closure
Problems
• In automata theory, a problem is to decide
whether a given string is a member of some
particular language.
Why Automata Theory?
To study abstract computing devices which are
closely related to today’s computers. A simple
example of finite state machine:
start off on
0 0
Recursive Languages
Context-Free Languages
Regular Languages
20
Finite automata
• Developed in 1940’s and 1950’s for neural net models of
brain and computer hardware design
• Finite memory!
• Many applications:
– text-editing software: search and replace
– many forms of pattern-recognition (including use in WWW
search engines)
– compilers: recognizing keywords (lexical analysis)
– sequential circuit design
– software specification and design
– communications protocols
SUMMARY
• Symbol – An atomic unit, such as a digit, character, lower-case letter, etc.
Sometimes a word. [Formal language does not deal with the “meaning” of the
symbols.]
concatenation: wz = 0110111
length: |w| = 4 |ε| = 0 |x| = 6
reversal: yR = aa0
SUMMARY (Contd.)
• Some special sets of strings:
Σ* All strings of symbols from Σ
Σ+ Σ* - {ε}
• Example:
Σ = {0, 1}
Σ* = {ε, 0, 1, 00, 01, 10, 11, 000, 001,…}
Σ+ = {0, 1, 00, 01, 10, 11, 000, 001,…}