1.2. introduction to automata theory

SampathKumarS11 1,102 views 14 slides Nov 21, 2017
Slide 1
Slide 1 of 14
Slide 1
1
Slide 2
2
Slide 3
3
Slide 4
4
Slide 5
5
Slide 6
6
Slide 7
7
Slide 8
8
Slide 9
9
Slide 10
10
Slide 11
11
Slide 12
12
Slide 13
13
Slide 14
14

About This Presentation

Introduction to automata theory. What is automata theory? why it is named so? History of Automata theory


Slide Content

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 9 July 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. 9 July 2017 3

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 9 July 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 9 July 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 9 July 2017

The Chomsky Hierarchy: 7 Regular (DFA) Context- free (PDA) Context- sensitive (LBA) Recursively- enumerable (TM) A containment hierarchy of classes of formal languages 9 July 2017

Finite State Machine: An automaton with a finite number of states is called a  Finite Automaton (FA) or  Finite State Machine  (FSM). 9 July 2017 8

Formal definition of a FSA: An automaton can be represented by a 5-tuple (Q, ∑, δ, q , 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. q  is the initial state from where any input is processed (q  ∈ Q). F  is a set of final state/states of Q (F ⊆ Q). Note : δ is called Delta and ∑ is called Sigma 9 July 2017 9

Some FSA Terminologies: Alphabet: Definition  − An  alphabet  is any finite set of symbols. Example  − ∑ = {a, b, c, d} is an  alphabet set  where ‘a’, ‘b’, ‘c’, and ‘d’ are  alphabets String: Definition  − A  string  is a finite sequence of symbols taken from ∑. Example  − ‘cabcad’ is a valid string on the alphabet set ∑ = {a, b, c, d} 9 July 2017 10

Terminologies Cont..,: Length of a String: Definition  − It is the number of symbols present in a string. (Denoted by  |S| ). Examples  − If S=‘cabcad’, |S|= 6 If |S|= 0, it is called an  empty string  (Denoted by  λ  or  ε ) 9 July 2017 11

Terminologies Cont..,: Kleene Star/Closure: Definition  − The set  ∑ *  is the infinite set of all possible strings of all possible lengths over  ∑  including  λ . Representation  − ∑ *  = ∑  ∪ ∑ 1  ∪ ∑ 2  ∪……. Example  − If ∑ = {a, b}, ∑ * = { λ, a, b, aa , ab , ba , bb,………..} Kleene Plus/Positive Closure: Definition  − The set  ∑ +  is the infinite set of all possible strings of all possible lengths over  ∑  excluding  λ . Representation  − ∑ +  = ∑  ∪ ∑ 1  ∪ ∑ 2  ∪……. ∑ +  = ∑ *  − { λ } Example  − If ∑ = { a, b } , ∑ +  ={ a, b, aa , ab , ba , bb,………..} Note: λ - Lambda 9 July 2017 12

Terminologies Cont..,: Language Definition  − A language is a subset of ∑ *  for some alphabet ∑. It can be finite or infinite. Example  − If the language takes all possible strings of length 2 over ∑ = {a, b}, then L = { ab , bb, ba , bb} 9 July 2017 13

Finite Automaton classification: Finite Automaton can be classified into two types − Deterministic Finite Automaton ( DFA ) Non-deterministic Finite Automaton ( NDFA / NFA ) 9 July 2017 14