0% found this document useful (0 votes)
17 views11 pages

Comp 416 L2 R

Uploaded by

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

Comp 416 L2 R

Uploaded by

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

10/30/2020

M 416 : Theory of
Computation
Dr Rashad Ragab
Math. Dept., Helwan University
[email protected]
Lecture 2

1st model -- Deterministic Finite


Automaton (DFA)

Read only Head

Finite Control

2 Lecture 2

1
10/30/2020

DFA (contd.)

 The DFA has:


– a finite set of states
– 1 special state - initial state
– 0 or more special states - final states
– input alphabet
– transition table containing
(state, symbol) -> next state

3 Lecture 2

Informally -- How does a DFA work?

 An input string is placed on the tape (left-justified).


 DFA begins in the start state.
 Head placed on leftmost cell.
 DFA goes into a loop until the entire string is read.
– In each step, DFA consults a transition table and changes
state based on (s, σ) where
 s - current state
 σ - symbol scanned by head

4 Lecture 2

2
10/30/2020

How does a DFA work? (contd.)

 After reading input string,


– if DFA state final, input accepted
– if DFA state not final, input rejected
 Language of DFA -- set of all strings
accepted by DFA.

5 Lecture 2

Pictorial representation of DFA

(q,σ) -> q'


6 Lecture 2

3
10/30/2020

Example: Diagram of DFA


L = {a2n + 1 | n >= 0}

 Answer:
L = {a, aaa, aaaaa, ...}

7 Lecture 2

JFLAP Step-By-Step

aaa

8 Lecture 2

4
10/30/2020

JFLAP Step-By-Step

aaa

9 Lecture 2

JFLAP Step-By-Step

aaa

10 Lecture 2

5
10/30/2020

JFLAP Step-By-Step

aaa

11 Lecture 2

Formal definition of DFA

 DFA M = (Q, Σ, δ, s, F)
 Where,
– Q is finite set of states
– Σ is input alphabet
– s ∈ Q is initial state
– F ⊆ Q is set of final states
– δ: Q X Σ -> Q

12 Lecture 2

6
10/30/2020

Formal definition of L(M)

 L(M) - Language accepted by M


 Define δ*:
– δ*(q, ε) = q
– δ*(q, wσ) = δ(δ*(q,w),σ)
 Definition: L(M) = { w in Σ* | δ* (s,w) in F }.

13 Lecture 2

Example: L(M) = {w in {a,b}* | w


contains even no. of a's}

14 Lecture 2

7
10/30/2020

JFLAP Step-By-Step

aa

15 Lecture 2

JFLAP Step-By-Step

aa

16 Lecture 2

8
10/30/2020

JFLAP Step-By-Step

aa

17 Lecture 2

JFLAP Step-By-Step

ab

18 Lecture 2

9
10/30/2020

JFLAP Step-By-Step

ab

19 Lecture 2

JFLAP Step-By-Step

ab

20 Lecture 2

10
10/30/2020

Given a language, how to define DFA?

 Creative process requiring you to:


(i) Put yourself in DFA's shoes
(ii) Find finite amount of info, based on
which string accepted/rejected
(iii) From step (ii), determine number of states and
then transitions.

21 Lecture 2

Regular Languages

 Definition: A Language is regular iff there is a DFA


that accepts it.
 Examples:
– φ
– {ε}
– Σ*
– {w in {0,1}* | second symbol of w is a 1} Exercise
– {w in {0,1}* | second last symbol of w is a 1} Exercise
– {w in {0,1}* | w contains 010 as a substring} - (importance?)

22 Lecture 2

11

You might also like