0% found this document useful (0 votes)
81 views83 pages

Definition and Description of Finite Automata: Lecture #1

The document provides an overview of finite automata, including: - The formal definition of a finite automaton (FA) with its components - states, input alphabet, transition function, initial state, accepting states. - Examples of finite automata diagrams showing states, transitions between states based on input symbols, and accepting/non-accepting states. - Discussion of non-deterministic finite automata (NFA) and how they allow transitions based on the same input from a state to multiple possible states, unlike deterministic FAs. - Key concepts like the language accepted by an automaton, computations that accept or reject input strings, and the use of lambda transitions in NFAs.

Uploaded by

Neeraj Rana
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PPT, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
81 views83 pages

Definition and Description of Finite Automata: Lecture #1

The document provides an overview of finite automata, including: - The formal definition of a finite automaton (FA) with its components - states, input alphabet, transition function, initial state, accepting states. - Examples of finite automata diagrams showing states, transitions between states based on input symbols, and accepting/non-accepting states. - Discussion of non-deterministic finite automata (NFA) and how they allow transitions based on the same input from a state to multiple possible states, unlike deterministic FAs. - Key concepts like the language accepted by an automaton, computations that accept or reject input strings, and the use of lambda transitions in NFAs.

Uploaded by

Neeraj Rana
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PPT, PDF, TXT or read online on Scribd
You are on page 1/ 83

CSE322

Definition and description of finite


Automata

Lecture #1
Definition

An automaton is defined as a system where energy,


materials and information are transformed, transmitted
and used for performing some functions without direct
participation of man.
Formal Definition
Finite Automaton (FA)

M Q, , , q0 , F
Q : set of states
: input alphabet
: transition function
q0 : initial state
F : set of accepting states
Input alphabet

a, b

a, b

q5
b a a, b
a b
q0 a q1 b q2 b q3 a q4
Set of States

Q q0 , q1, q2 , q3 , q4 , q5
a, b

q5
a a, b
b a b
q0 a q1 b q2 b q3 a q4
Initial State

a, b

q5
a a, b
b a b
q0 a q1 b q2 b q3 a q4
Accepting State F

Set of Accepting States


F q4
a, b

q5
a a, b
b a b
q0 a q1 b q2 b q3 a q4
Non-Deterministic
Finite Automata
Nondeterministic Finite Automaton

Alphabet = {a}

q1 a q2
a
q0
a
q3
Alphabet = {a}

Two choices q1 a q2
a
q0
a
q3
Alphabet = {a}

Two choices q1 a q2 No transition


a
q0
a
q3 No transition
First Choice

a a

q1 a q2
a
q0
a
q3
First Choice

a a

q1 a q2
a
q0
a
q3
First Choice

a a

q1 a q2
a
q0
a
q3
First Choice

a a
All input is consumed
q1 a q2 accept
a
q0
a
q3
Second Choice

a a

q1 a q2
a
q0
a
q3
Second Choice

a a

q1 a q2
a
q0
a
q3
Second Choice

a a

q1 a q2
a
q0
a
No transition:
q3
the automaton hangs
Second Choice

a a
Input cannot be consumed
q1 a q2
a
q0
a
q3 reject
An NFA accepts a string:
when there is a computation of the
NFA that accepts the string

There is a computation:
all the input is consumed and the automaton
is in an accepting state
Example

aa is accepted by the NFA:

accept
q1 a q2 q1 a q2
a a
q0
a
q0
a
q3 q3 reject
because this
computation
accepts aa
Rejection example

q1 a q2
a
q0
a
q3
First Choice

q1 a q2
a
q0
a
q3
First Choice

a
reject
q1 a q2
a
q0
a
q3
Second Choice

q1 a q2
a
q0
a
q3
Second Choice

q1 a q2
a
q0
a
q3
Second Choice

q1 a q2
a
q0
a
q3 reject
An NFA rejects a string:
when there is no computation of the
NFA that accepts the string.

For each computation:


All the input is consumed and the
automaton is in a non final state

OR
The input cannot be consumed
Example

a is rejected by the NFA:

reject
q1 a q2 q1 a q2
a a
q0 q0
a a
q3
reject q3

All possible computations lead to rejection


Rejection example

a a a

q1 a q2
a
q0
a
q3
First Choice

a a a

q1 a q2
a
q0
a
q3
First Choice

a a a

q1 a q2
a
q0 No transition:
a
the automaton hangs
q3
First Choice

a a a
Input cannot be consumed
q1 a q2 reject
a
q0
a
q3
Second Choice

a a a

q1 a q2
a
q0
a
q3
Second Choice

a a a

q1 a q2
a
q0
a
q3
Second Choice

a a a

q1 a q2
a
q0
a
No transition:
q3
the automaton hangs
Second Choice

a a a
Input cannot be consumed
q1 a q2
a
q0
a
q3 reject
aaa is rejected by the NFA:

reject
q1 a q2 q1 a q2
a a
q0
a
q0
a
q3 q3 reject

All possible computations lead to rejection


Language accepted: L {aa}

q1 a q2
a
q0
a
q3
Lambda Transitions

q0 a q1 q2 a q3
a a

q0 a q1 q2 a q3
a a

q0 a q1 q2 a q3
(read head does not move)

a a

q0 a q1 q2 a q3
a a

q0 a q1 q2 a q3
all input is consumed

a a

accept

q0 a q1 q2 a q3

String aa is accepted
Rejection Example

a a a

q0 a q1 q2 a q3
a a a

q0 a q1 q2 a q3
(read head doesnt move)

a a a

q0 a q1 q2 a q3
a a a

q0 a q1 q2 a q3

No transition:
the automaton hangs
Input cannot be consumed

a a a

reject

q0 a q1 q2 a q3

String aaa is rejected


Language accepted: L {aa}

q0 a q1 q2 a q3
Another NFA Example

q0 a q1 b q2 q3


a b

q0 a q1 b q2 q3


a b

q0 a q1 b q2 q3


a b

q0 a q1 b q2 q3


a b

accept
q0 a q1 b q2 q3


Another String

a b a b

q0 a q1 b q2 q3


a b a b

q0 a q1 b q2 q3


a b a b

q0 a q1 b q2 q3


a b a b

q0 a q1 b q2 q3


a b a b

q0 a q1 b q2 q3


a b a b

q0 a q1 b q2 q3


a b a b

q0 a q1 b q2 q3


a b a b

accept
q0 a q1 b q2 q3


Language accepted

L ab, abab, ababab, ...



ab

q0 a q1 b q2 q3


Another NFA Example

0
q0 q1 0, 1 q2
1

Language accepted

L(M ) = { , 10, 1010, 101010, ...}


= { 10} *
0
q0 q1 0, 1 q2
1 (redundant
state)

Remarks:

The symbol never appears on the


input tape

Simple automata:

M1 M2
q0 q0

L(M1 ) = {} L(M 2 ) = {}
NFAs are interesting because we can
express languages easier than FAs

NFA M1 FA M2 a
q2
q0 a q1
a
q0 a q1

L( M1 ) = {a} L( M 2 ) = {a}
Formal Definition of NFAs
M Q, , , q0 , F

Q: Set of states, i.e. q0 , q1, q2


: Input aplhabet, i.e. a, b
: Transition function

q0 : Initial state

F: Accepting states
Transition Function

q0 , 1 q1

0
q0 q1 0, 1 q
2
1

(q1,0) {q0 , q2 }

0
q0 q1 0, 1 q
2
1

(q0 , ) {q0 , q2}

0
q0 q1 0, 1 q
2
1

(q2 ,1)

0
q0 q1 0, 1 q
2
1

Extended Transition Function *

* q0 , a q1

q4 q5
a a
q0 a q1 b q2 q3

* q0 , aa q4 , q5

q4 q5
a a
q0 a q1 b q2 q3

* q0 , ab q2 , q3 , q0

q4 q5
a a
q0 a q1 b q2 q3

Formally
q j * qi , w : there is a walk from qi to q j
with label w

qi w qj

w 1 2 k
1 2 k
qi qj
The Language of an NFA
F q0 ,q5
q4 q5
a a
q0 a q1 b q2 q3

* q0 , aa q4 , q5 aa L(M )
F
F q0 ,q5
q4 q5
a a
q0 a q1 b q2 q3

* q0 , ab q2 , q3 , q0 ab L M
F
F q0 ,q5
q4 q5
a a
q0 a q1 b q2 q3

* q0 , abaa q4 , q5 aaba L(M )


F
F q0 ,q5
q4 q5
a a
q0 a q1 b q2 q3

* q0 , aba q1 aba L M
F
q4 q5
a a
q0 a q1 b q2 q3

L M ab * {aa}

You might also like