You are on page 1of 11

PRESENTATION ON FINITE

AUTOMATA

Mathematics of Language
Technology

Likhith Adiga
Department of Computer Applications
CICMS
OBJECTIVES

1. What is automata?
1. 2.What is automation theory?
2. 3.Finite state automata
3. 4.Deterministic Vs Non Deterministic Automata
WHAT IS AUTOMATA &
AUTOMATA THEORY

 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.
 An automaton with a finite number of states is called
a Finite Automaton (FA) or Finite State
Machine (FSM).
 In particular , a finite state machine or finite state
automaton is a mathematical model of computer
software or hardware mostly used for compilers,
natural language processing(NLP) and computational
linguistics.
 Study of abstract computing devices or machines is
called automata theory.
PIONEER OF AUTOMATA
(ALAN TURING 1912-1954)

 Father of Modern Computer Science


 An English Mathematician
 Studied abstract machines called Turing Machines
even before the computers came into picture.
 They are simple abstract computational devices
intended to help and investigate the extent and
limitations of what can be computed.
 He was interested in the question of what it means
for a task to be computable, which is one of the
fundamental questions in the philosophy of Computer
Science.
 Intuitively a task is computable if it is possible to
specify a sequence of instructions which will result in
the completion of task when they are carried out by
machine.
TURING TEST

1.It is a test of machine’s ability to exhibit intelligent behaviour equivalent to, or


indistinguishable from that of a human.
2. This Turing Test is the foundation for today’s Artificial Intelligence.
3.He put forward the idea of imitation game, in which a human and computer would be
interrogated under some conditions where the interrogator does not know which was which,
where the communication being entirely by textual messages.
4.Turing’s argument was that if the interrogator could not distinguish them by questioning,
then it would be unreasonable not to call the computer intelligent, because we just judge
other people’s intelligence from external observation this way.
5.This imitation game of Turing now usually called as “The Turing’s test for
intelligence”.
DETERMINISTIC FINITE
STATE AUTOMATA
1. 1.Let us take the sheep language contains any string from the
following infinite set.
2. ………
3. Baaa!! b
q1 a
4. Baaaaaaa!!
5. Baaaaaaaaaaa!!!
6. ………….
q0 q2
7. 2.The machine starts at state q0 and gets each input at
8. every state and advances the input. Finally the machine has
!!!! a
9. successfully recognised an instance of sheep talk.
10. 3.If the machine fails to get any input at any stage we say that the
11. Machine has failed to accept an input. q4 q3
12.
!! a
REPRESENTATION OF
AUTOMATON
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).
* Automata is of 2 types 1. DFA 2.NDFA
DFA &NDFA
1.In DFA, for each input symbol, one can determine the state to which the machine will
move. Hence, it is called Deterministic Automaton. As it has a finite number of states,
the machine is called Deterministic Finite Machine or Deterministic Finite
Automaton.
2. In NDFA, for a particular input symbol, the machine can move to any combination of the
states in the machine. In other words, the exact state to which the machine moves cannot
be determined. Hence, it is called Non-deterministic Automaton. As it has finite
number of states, the machine is called Non-deterministic Finite Machine or Non-
deterministic Finite Automaton.
3.It is YOU who decide the optimal number of states that account for input strings you
want to process for the purpose you have in mind. So always motivate your choices and be
ready to any plausible amend or upgrade.
AUTOMATA AND
LINGUISTICS
1.Formal languages is a set of strings, each string composed of symbols from a finite set called an
ALPHABET.Given a model ‘m’ such a particular FSA we can use L(m) to mean the formal language
characterised by ‘m’.
2.Formal languages are not natural languages , which are the kind of languages that we speak. It may bear no
resemblance at all to real language.
3.We often use a formal language to model part of natural language, such as parts of the phonology,
morphology or syntax.
4.Finite state automata define formal languages and the generative formalism is based on the view that you can
run the machine as generator to get strings from formal language.
5.But in NDFA there exist atleast one path through the machine for a string that is in the language defined by
the machine.
6.Success in NDFA occurs only when a path is found through the machine that ends in an accept state.Failure
occurs when all possible paths for a given string lead to failure.
APPLICATIONS OF
VARIOUS AUTOMATA

1. Finite Automata (FA) –


* For the designing of lexical analysis of a compiler.
* For recognizing the pattern using regular expressions.
* For the designing of the combination and sequential circuits using Mealy and Moore Machines.
* Used in text editors.
* For the implementation of spell checkers.
2.Turing Machine (TM) –
* For solving any recursively enumerable problem.
* For understanding complexity theory.
* For implementation of neural networks.
* For implementation of Robotics Applications.
* For implementation of artificial intelligence.
APPLICATIONS OF
VARIOUS AUTOMATA

3. Linear Bounded Automata (LBA) –


* For implementation of genetic programming.
* For constructing syntactic parse trees for semantic analysis of the compiler.
4. Push Down Automata (PDA) –
* For designing the parsing phase of a compiler (Syntax Analysis).
* For implementation of stack applications.
* For evaluating the arithmetic expressions.
* For solving the Tower of Hanoi Problem.

You might also like