Introduction
to Automata
Theory
-Sampath Kumar S,
AP/CSE, SECE
What is Automata Theory?
 Study of abstract computing devices, or
“machines”.
 Automaton = an abstract computing device
 Note: A “device” need not even be a physical
hardware!
 A fundamental question in computer science:
 Find out what different models of machines can do
and cannot do
 The theory of computation
 Computability vs. Complexity
2 21 November 2017
What is Automata ?
 The term "Automata" is derived from the
Greek word "αὐτόματα" which means "self-
acting".
 An automaton (Automata in plural) is an
abstract self-propelled computing device
which follows a predetermined sequence of
operations automatically.
Abstract: Existing in thought or as
an idea but not having a physical
or concrete existence.
21 November 20173
Alan Turing (1912-1954)
 Father of Modern Computer
Science
 British mathematician
 Studied abstract machines called
Turing machines even before
computers existed
 Heard of the Turing test?
4 21 November 2017
Theory of Computation: A
Historical Perspective
5
1930s • Alan Turing studies Turing machines
• Decidability
• Halting problem
1940-1950s
• “Finite automata” machines studied
• Noam Chomsky proposes the
“Chomsky Hierarchy” for formal
languages
1969
Cook introduces “intractable” problems
or “NP-Hard” problems
1970-
Modern computer science: compilers,
computational & complexity theory evolve
21 November 2017
Languages & Grammars
 Languages: “A language is a
collection of sentences of
finite length all constructed
from a finite alphabet of
symbols”
 Grammars: “A grammar can
be regarded as a device that
enumerates the sentences of
a language” - nothing more,
nothing less
 N. Chomsky, Information and
Control, Vol 2, 1959
6
Or “words”
Image source: Nowak et al. Nature, vol 417, 2002
21 November 2017
The Chomsky Hierarchy:
7
Regular
(DFA)
Context-
free
(PDA)
Context-
sensitive
(LBA)
Recursively-
enumerable
(TM)
• A containment hierarchy of classes of formal languages
21 November 2017
Finite State Machine:
 An automaton with a finite number of states is
called a Finite Automaton(FA) or Finite State
Machine (FSM).
21 November 20178
Formal definition of a FSA:
An automaton can be represented by a 5-tuple (Q, ∑,
δ, q0, F), where −
 Q is a finite set of states.
 ∑ is a finite set of symbols, called the alphabet of
the automaton.
 δ is the transition function.
 q0 is the initial state from where any input is
processed (q0 ∈ Q).
 F is a set of final state/states of Q (F ⊆ Q).
Note: δ is called Delta and ∑ is called Sigma
21 November 20179
Finite Automaton classification:
Finite Automaton can be classified into two types −
 Deterministic Finite Automaton (DFA)
 Non-deterministic Finite Automaton (NDFA / NFA)
21 November 201714
Finite Automata : Examples
 On/Off switch
 Modeling recognition of the word “then”
15
Start state Final stateTransition Intermediate
state
action
state
21 November 2017
Finite Automata
 Some Applications
 Software for designing and checking the
behavior of digital circuits
 Lexical analyzer of a typical compiler
 Software for scanning large bodies of text (e.g.,
web pages) for pattern finding
 Software for verifying systems of all types that
have a finite number of states (e.g., stock
market transaction, communication/network
protocol)
16 21 November 2017
21 November 201718
நன்றி
21 November 201719

1.2. introduction to automata theory

  • 1.
  • 2.
    What is AutomataTheory?  Study of abstract computing devices, or “machines”.  Automaton = an abstract computing device  Note: A “device” need not even be a physical hardware!  A fundamental question in computer science:  Find out what different models of machines can do and cannot do  The theory of computation  Computability vs. Complexity 2 21 November 2017
  • 3.
    What is Automata?  The term "Automata" is derived from the Greek word "αὐτόματα" which means "self- acting".  An automaton (Automata in plural) is an abstract self-propelled computing device which follows a predetermined sequence of operations automatically. Abstract: Existing in thought or as an idea but not having a physical or concrete existence. 21 November 20173
  • 4.
    Alan Turing (1912-1954) Father of Modern Computer Science  British mathematician  Studied abstract machines called Turing machines even before computers existed  Heard of the Turing test? 4 21 November 2017
  • 5.
    Theory of Computation:A Historical Perspective 5 1930s • Alan Turing studies Turing machines • Decidability • Halting problem 1940-1950s • “Finite automata” machines studied • Noam Chomsky proposes the “Chomsky Hierarchy” for formal languages 1969 Cook introduces “intractable” problems or “NP-Hard” problems 1970- Modern computer science: compilers, computational & complexity theory evolve 21 November 2017
  • 6.
    Languages & Grammars Languages: “A language is a collection of sentences of finite length all constructed from a finite alphabet of symbols”  Grammars: “A grammar can be regarded as a device that enumerates the sentences of a language” - nothing more, nothing less  N. Chomsky, Information and Control, Vol 2, 1959 6 Or “words” Image source: Nowak et al. Nature, vol 417, 2002 21 November 2017
  • 7.
  • 8.
    Finite State Machine: An automaton with a finite number of states is called a Finite Automaton(FA) or Finite State Machine (FSM). 21 November 20178
  • 9.
    Formal definition ofa FSA: An automaton can be represented by a 5-tuple (Q, ∑, δ, q0, F), where −  Q is a finite set of states.  ∑ is a finite set of symbols, called the alphabet of the automaton.  δ is the transition function.  q0 is the initial state from where any input is processed (q0 ∈ Q).  F is a set of final state/states of Q (F ⊆ Q). Note: δ is called Delta and ∑ is called Sigma 21 November 20179
  • 10.
    Finite Automaton classification: FiniteAutomaton can be classified into two types −  Deterministic Finite Automaton (DFA)  Non-deterministic Finite Automaton (NDFA / NFA) 21 November 201714
  • 11.
    Finite Automata :Examples  On/Off switch  Modeling recognition of the word “then” 15 Start state Final stateTransition Intermediate state action state 21 November 2017
  • 12.
    Finite Automata  SomeApplications  Software for designing and checking the behavior of digital circuits  Lexical analyzer of a typical compiler  Software for scanning large bodies of text (e.g., web pages) for pattern finding  Software for verifying systems of all types that have a finite number of states (e.g., stock market transaction, communication/network protocol) 16 21 November 2017
  • 13.
  • 14.

Editor's Notes

  • #2 School of EECS, WSU
  • #3 School of EECS, WSU
  • #5 School of EECS, WSU
  • #6 School of EECS, WSU
  • #7 School of EECS, WSU
  • #8 School of EECS, WSU
  • #16 School of EECS, WSU
  • #17 School of EECS, WSU
  • #18 School of EECS, WSU