Week 4 Notes

Download as pptx, pdf, or txt
Download as pptx, pdf, or txt
You are on page 1of 18

ICS3253

Automata Theory & Computation (Week 4)

1
DFA and NFA 2
■ DFA – Deterministic Finite Automata
■ Automata – What is it?
■ An automaton is an abstract model of a digital computer
■ It has a mechanism to read input – a string over a given alphabet
■ This input is written on an input file which can be read by the automaton but cannot change it
Input File

Automaton
Control Unit Storage

Output
>>> 3
■ Input file is divided into cells, each can hold one symbol
■ The automaton has a temporary “storage” device, which has unlimited number of cells, the contents
can be altered by the automaton
■ Automaton has a control unit, said to be in one of a finite number of “internal states”
■ Automaton types:
– Deterministic Automata
– Non-deterministic Automata
■ A deterministic automata is one in which each move (transition from one state to another) is unequally
determined by the current configuration
■ If the internal state, input and contents of the storage are known, it is possible to predict the future
behavior of the automaton
■ This is said to be deterministic otherwise it is non-deterministic
■ An automaton whose output response is yes or no is called an acceptor
Definition of DFA 4
■ 5-tuple

■ Q  Finite state of “internal states”


■  Finite set of symbols called “input alphabets”
■  Transition Function
■  Initial State
■  Set of Final States
■ The input mechanism can move only from left to right and reads exactly one symbol on each step
■ The transition from one internal state to another are governed by the transition function .
■ If then if the DFA is in state and the current input symbol is a, the DFA will go into state
Example 5
■ Design a DFA, M which accepts the language L(M)={*: w does not contain three consecutive b’s
Let
Q = {q0,q1,q2,q3}
= {a,b}
q0 is the initial state
F = {q0,q1,q2} are initial states and is defined as follows:
Example #1 6
Initial State (q) Symbol ( ) Final State (q, )
q0 a q0
q0 b q1
q1 a q0
q1 b q2
q2 a q0
q2 b q3
q3 a q3
q3 b q3
Solution 7
■ M does not accept specified language, as long as three consecutive b’s have not been read
■ It should be noted that
– M is in state qi (where i=0,1,2) immediately after reading a run of i consecutive b’s that either
began the input string or was preceded by an ‘a’
– If an ‘a’ is read and M is in state, q0, q1, or M returns to its initial state q0
■ q0, q1 and q2 are “Final States”. Therefore any input string not containing three consecutive b’s will be
accepted
■ In case you get three consecutive b’s then the q3 state is reached (which is not final state), hence M
will remain in this state, irrespective of any other symbol in the rest of the string. This string q3 is said
to be “dead state” or M is said to be “trapped” at q3
>>> 8
■ The DFA schematic is shown below based on the previous discussion

a
a b
a
q0 q1 q2 q3
b b b

a
Finite Automaton with four states
Example #2 9
■ Determine the DFA schematic for , where Q={q1,q2,q3}, , q1 is the start state, F={q2} and is given by
the table below
Initial State (q) Symbol Final state
q1 0 q1
q1 1 q2
q2 0 q3
q2 1 q2
q3 0 q2
q3 1 q2

0 1

0
q1 1 q3
q2
Finite automaton having three states
0,1
>>> 10
■ From the given table for , the DFA is drawn, where q2 is the only final state
■ It is to be noted that a DFA can “accept” a string and it can “recognize” a language.
■ The DFA accepts strings that has at least one 1 and an even number of 0s following the last 1
■ Hence the language L is given by
– L={w|w contains at least one 1 and an even number of 0s follow the last 1} where L(M) and M
recognized the RHS of the equation above
Example #3 11
■ Sketch the DFA given M=({q1,q2},{0,1}, ,q1,{q2}) and is given by
(q1,0) = q1 and (q2,0) = q1
(q1,1) = q2 and (q2,1) = q2 , determine a Language L(M), that the DFA recognizes.
■ From the given data, it is easy to predict the schematic of DFA as follows
internal states = q1, q2
symbols = 0, 1
transition function = (as defined above in the given problem)
q1 = initial state 0
q2 = final state 1
q2 q2

0
>>> 12
■ If a string ends in a 0, it is “rejected” and “accepted” only if the string ends in a 1
■ Therefore the language
– L(M) = {w | w ends in a 1}
■ Example #4
■ Design a DFA, the language recognized by the Automaton being
– L={anb: n0}
■ For the given language L={anb: n0}, the strings could be b, ab, b2b, a3b, …
■ The DFA accepts all strings consisting of an arbitrary number of a’s, followed by a single b. All other
input strings are rejected
a
a, b

b a, b
q0 q1 q2
Example #5 13
■ Obtain the state table diagram and state transition diagram (DFA Schematic) of the finite state
Automaton , where Q={q0,q1,q2,q3}, ={a,b}, q0 is the initial state, F is the final state with the transition
defined by

■ The State Table diagram:


a b
q0 q2 q1
q1 q3 q0
q2 q0 q3
q3 q1 q2
>>> 14
■ State Transition Diagram / DFA Schematic (Can someone draw it in front?)

q0 q1

q2 q3

1
Example #6 15
■ Obtain the DFA that accepts/recognizes the language L(M)={w | w {a,b,c}* and w contains the pattern
abac}
■ Note: This is an application of DFA’s involving searching a text for a specific pattern
■ Solution:
■ Begin by “hard coding” the pattern into the machines state as shown:

q0 q1 q2 q3 q4

■ As the pattern “abac” has length 4, there are four states required in addition to one initial state q 0 to
remember the pattern. q4 is the only accepting state required and this state q4 can be reached only
after reading “abac”
■ The complete DFA is in the next slide
>>> 16

q0 q1 q2 q3 q4
Non-Deterministic Finite Automata (NFA) 17
■ 5-tuple
■ M=(Q, , , q0, F) where
Q = Finite set of internal states
= Finite set of symbols called “Input alphabet”
=Qx(
q0 Q is the initial states
F Q is a set of Final states
■ NFA differs from DFA in that, the range of in NFA is the powerset 2Q
■ A string is accepted by an NFA if there is some sequence of possible moves that will put the machine
in the final state at the end of the string
Example #1 18
■ Obtain an NFA for a language consisting of all strings over {0,1} containing a 1 in the third position
from the end
■ Solution:
q1, q2 and q3 are initial states
q4 is the final state

q1 q2 q3 q4

■ This is an NFA because and

You might also like

pFad - Phonifier reborn

Pfad - The Proxy pFad of © 2024 Garber Painting. All rights reserved.

Note: This service is not intended for secure transactions such as banking, social media, email, or purchasing. Use at your own risk. We assume no liability whatsoever for broken pages.


Alternative Proxies:

Alternative Proxy

pFad Proxy

pFad v3 Proxy

pFad v4 Proxy