You are on page 1of 64

Formal languages and Automata

Theory (FLAT)
MODULE 1
(PART B)

Introduction to the Theory of


Computation and Finite Automata
FINITE AUTOMATA

Deterministic Finite Accepters


• Simple automaton, a finite state accepter.
• It is finite because it has only a finite set of internal states and no other
memory.
• It is called an accepter because it processes strings and either accepts
or rejects them, so we can think of it as a simple pattern recognition
mechanism.
• We start with a deterministic finite accepter, or dfa.
• The adjective “deterministic” signifies that the automaton has one and
only one option at any time.
• We use dfa’s to define a certain type of language, called a regular
language.
• Nondeterministic automata (nfas).
• In certain situations, an nfa can have several options and therefore can
appear to have a choice.
• A better way to visualize nondeterminism is to think that an nfa explores all
choices (say, by a search and backtrack method) and makes no decision
until all options have been analyzed.
• The main reason for introducing nondeterminism is that it simplifies the
solution of many problems.
• We say that two accepters are equivalent if they accept the same language.
• We can then also say that the class of nfa’s is equivalent to the class of dfa’s
because for every every nfa, we can find an equivalent dfa.
• For any given regular language there are many equivalent dfa’s, so it is of
practical importance to find a minimal dfa, that is, a dfa with the smallest
number of internal states.
REFERENCES
1. Peter Linz, An Introduction to Formal Languages and Automat,
(6e), Jones & Bartlett Learning, 2016

You might also like