Top Banner
Formal Languages and Automata - Yonsei CS 1 Finite Automata
47

Languages and Finite Automatasclab.yonsei.ac.kr/courses/05AM_old/lecture2.pdfFormal Languages and Automata - Yonsei CS 3 Contents For Models of Language Generation • Deterministic

Aug 26, 2018

Download

Documents

phungtuong
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: Languages and Finite Automatasclab.yonsei.ac.kr/courses/05AM_old/lecture2.pdfFormal Languages and Automata - Yonsei CS 3 Contents For Models of Language Generation • Deterministic

Formal Languages and Automata - Yonsei CS 1

Finite Automata

Page 2: Languages and Finite Automatasclab.yonsei.ac.kr/courses/05AM_old/lecture2.pdfFormal Languages and Automata - Yonsei CS 3 Contents For Models of Language Generation • Deterministic

Formal Languages and Automata - Yonsei CS 2

Finite Accepter

Input

“Accept”or

“Reject”

String

FiniteAutomaton

Output

Page 3: Languages and Finite Automatasclab.yonsei.ac.kr/courses/05AM_old/lecture2.pdfFormal Languages and Automata - Yonsei CS 3 Contents For Models of Language Generation • Deterministic

Formal Languages and Automata - Yonsei CS 3

Contents

For Models of Language Generation

• Deterministic Finite Accepters(DFA)- What is DFA? transition graph- The languages which DFA accepts regular language

• Nondeterministic Finite Accepters (NFA)- What is NFA?- Equivalence of DFA & NFA- Reduction of Number of States in FA

Page 4: Languages and Finite Automatasclab.yonsei.ac.kr/courses/05AM_old/lecture2.pdfFormal Languages and Automata - Yonsei CS 3 Contents For Models of Language Generation • Deterministic

Formal Languages and Automata - Yonsei CS 4

Deterministic Accepters

statesfinal ofset a:stateinitial:

function) (totalfunction transition:alphabetinput ofset finite a:

statesinternal ofset finite a :),,,,(DFA.

0

0

QFQq

QQ

QFqQMDef

⊆∈

→∑×∑

∑=⋅

δ

δ

10 ),( qaq =δ

Finite Accepters: Deterministic in their operation

• At the initial time, q0 with input mechanism on the leftmost symbol of the input string.•When the end of the string, the string is accepted if the automaton is one of its final states. Otherwise, reject.•The transitions from one internal state to another by δ

Page 5: Languages and Finite Automatasclab.yonsei.ac.kr/courses/05AM_old/lecture2.pdfFormal Languages and Automata - Yonsei CS 3 Contents For Models of Language Generation • Deterministic

Formal Languages and Automata - Yonsei CS 5

DFA : Transition Graph

: states finalstate initial

) symbolinput : label (on transiti: edge

states :vertex

⋅⋅

⋅q1q0

aiq|Q|

a

To visualize and represent finite automata

10 ),( qaq =δ

Page 6: Languages and Finite Automatasclab.yonsei.ac.kr/courses/05AM_old/lecture2.pdfFormal Languages and Automata - Yonsei CS 3 Contents For Models of Language Generation • Deterministic

Formal Languages and Automata - Yonsei CS 6

Input Alphabet Σ

0q 1q 2q 3q 4qa b b a

5qa a bb

ba,

{ }ba,=Σ

ba,

),,,,(DFA 0 FqQM δ∑=

Page 7: Languages and Finite Automatasclab.yonsei.ac.kr/courses/05AM_old/lecture2.pdfFormal Languages and Automata - Yonsei CS 3 Contents For Models of Language Generation • Deterministic

Formal Languages and Automata - Yonsei CS 7

Set of Internal States Q

0q 1q 2q 3q 4qa b b a

5qa a bb

ba,

{ }543210 ,,,,, qqqqqqQ =

ba,

),,,,(DFA 0 FqQM δ∑=

Page 8: Languages and Finite Automatasclab.yonsei.ac.kr/courses/05AM_old/lecture2.pdfFormal Languages and Automata - Yonsei CS 3 Contents For Models of Language Generation • Deterministic

Formal Languages and Automata - Yonsei CS 8

Initial State 0q

1q 2q 3q 4qa b b a

5qa a bb

ba,

ba,

0q

),,,,(DFA 0 FqQM δ∑=

Page 9: Languages and Finite Automatasclab.yonsei.ac.kr/courses/05AM_old/lecture2.pdfFormal Languages and Automata - Yonsei CS 3 Contents For Models of Language Generation • Deterministic

Formal Languages and Automata - Yonsei CS 9

Set of Final States F

0q 1q 2q 3qa b b a

5qa a bb

ba,

{ }4qF =

ba,

4q

),,,,(DFA 0 FqQM δ∑=

Page 10: Languages and Finite Automatasclab.yonsei.ac.kr/courses/05AM_old/lecture2.pdfFormal Languages and Automata - Yonsei CS 3 Contents For Models of Language Generation • Deterministic

Formal Languages and Automata - Yonsei CS 10

Transition Function δ

0q 1q 2q 3q 4qa b b a

5qa a bb

ba,

QQ →Σ×:δ

ba,

),,,,(DFA 0 FqQM δ∑=

Page 11: Languages and Finite Automatasclab.yonsei.ac.kr/courses/05AM_old/lecture2.pdfFormal Languages and Automata - Yonsei CS 3 Contents For Models of Language Generation • Deterministic

Formal Languages and Automata - Yonsei CS 11

( ) 10, qaq =δ

2q 3q 4qa b b a

5qa a bb

ba,

ba,

0q 1q

Page 12: Languages and Finite Automatasclab.yonsei.ac.kr/courses/05AM_old/lecture2.pdfFormal Languages and Automata - Yonsei CS 3 Contents For Models of Language Generation • Deterministic

Formal Languages and Automata - Yonsei CS 12

( ) 50, qbq =δ

1q 2q 3q 4qa b b a

5qa a bb

ba,

ba,

0q

Page 13: Languages and Finite Automatasclab.yonsei.ac.kr/courses/05AM_old/lecture2.pdfFormal Languages and Automata - Yonsei CS 3 Contents For Models of Language Generation • Deterministic

Formal Languages and Automata - Yonsei CS 13

0q 1q 2q 3q 4qa b b a

5qa a bb

ba,

ba,

( ) 32, qbq =δ

Page 14: Languages and Finite Automatasclab.yonsei.ac.kr/courses/05AM_old/lecture2.pdfFormal Languages and Automata - Yonsei CS 3 Contents For Models of Language Generation • Deterministic

Formal Languages and Automata - Yonsei CS 14

Transition Function δ

0q 1q 2q 3q 4qa b b a

5qa a bb

ba,

δ a b0q1q2q3q4q5q

1q 5q5q 2q5q 3q4q 5q

ba,5q5q5q5q

Page 15: Languages and Finite Automatasclab.yonsei.ac.kr/courses/05AM_old/lecture2.pdfFormal Languages and Automata - Yonsei CS 3 Contents For Models of Language Generation • Deterministic

Formal Languages and Automata - Yonsei CS 15

Transition Graph

initialstate

finalstate

“accept”statetransition

abba -Finite Accepter

0q 1q 2q 3q 4qa b b a

5qa a bb

ba,

ba,

Page 16: Languages and Finite Automatasclab.yonsei.ac.kr/courses/05AM_old/lecture2.pdfFormal Languages and Automata - Yonsei CS 3 Contents For Models of Language Generation • Deterministic

Formal Languages and Automata - Yonsei CS 16

Initial Configuration

1q 2q 3q 4qa b b a

5qa a bb

ba,

Input Stringa b b a

ba,

0q

Page 17: Languages and Finite Automatasclab.yonsei.ac.kr/courses/05AM_old/lecture2.pdfFormal Languages and Automata - Yonsei CS 3 Contents For Models of Language Generation • Deterministic

Formal Languages and Automata - Yonsei CS 17

Reading the Input

0q 1q 2q 3q 4qa b b a

5qa a bb

ba,

a b b a

ba,

Page 18: Languages and Finite Automatasclab.yonsei.ac.kr/courses/05AM_old/lecture2.pdfFormal Languages and Automata - Yonsei CS 3 Contents For Models of Language Generation • Deterministic

Formal Languages and Automata - Yonsei CS 18

0q 1q 2q 3q 4qa b b a

5qa a bb

ba,

a b b a

ba,

Page 19: Languages and Finite Automatasclab.yonsei.ac.kr/courses/05AM_old/lecture2.pdfFormal Languages and Automata - Yonsei CS 3 Contents For Models of Language Generation • Deterministic

Formal Languages and Automata - Yonsei CS 19

0q 1q 2q 3q 4qa b b a

5qa a bb

ba,

a b b a

ba,

Page 20: Languages and Finite Automatasclab.yonsei.ac.kr/courses/05AM_old/lecture2.pdfFormal Languages and Automata - Yonsei CS 3 Contents For Models of Language Generation • Deterministic

Formal Languages and Automata - Yonsei CS 20

0q 1q 2q 3q 4qa b b a

5qa a bb

ba,

a b b a

ba,

Page 21: Languages and Finite Automatasclab.yonsei.ac.kr/courses/05AM_old/lecture2.pdfFormal Languages and Automata - Yonsei CS 3 Contents For Models of Language Generation • Deterministic

Formal Languages and Automata - Yonsei CS 21

0q 1q 2q 3q 4qa b b a

Output: “accept”

5qa a bb

ba,

a b b a

ba,

Input finished

Page 22: Languages and Finite Automatasclab.yonsei.ac.kr/courses/05AM_old/lecture2.pdfFormal Languages and Automata - Yonsei CS 3 Contents For Models of Language Generation • Deterministic

Formal Languages and Automata - Yonsei CS 22

Rejection

1q 2q 3q 4qa b b a

5qa a bb

ba,

a b a

ba,

0q

Page 23: Languages and Finite Automatasclab.yonsei.ac.kr/courses/05AM_old/lecture2.pdfFormal Languages and Automata - Yonsei CS 3 Contents For Models of Language Generation • Deterministic

Formal Languages and Automata - Yonsei CS 23

0q 1q 2q 3q 4qa b b a

5qa a bb

ba,

a b a

ba,

Page 24: Languages and Finite Automatasclab.yonsei.ac.kr/courses/05AM_old/lecture2.pdfFormal Languages and Automata - Yonsei CS 3 Contents For Models of Language Generation • Deterministic

Formal Languages and Automata - Yonsei CS 24

0q 1q 2q 3q 4qa b b a

5qa a bb

ba,

a b a

ba,

Page 25: Languages and Finite Automatasclab.yonsei.ac.kr/courses/05AM_old/lecture2.pdfFormal Languages and Automata - Yonsei CS 3 Contents For Models of Language Generation • Deterministic

Formal Languages and Automata - Yonsei CS 25

0q 1q 2q 3q 4qa b b a

5qa a bb

ba,

a b a

ba,

Page 26: Languages and Finite Automatasclab.yonsei.ac.kr/courses/05AM_old/lecture2.pdfFormal Languages and Automata - Yonsei CS 3 Contents For Models of Language Generation • Deterministic

Formal Languages and Automata - Yonsei CS 26

0q 1q 2q 3q 4qa b b a

5qa a bb

ba,Output:“reject”

a b a

ba,

Input finished

Page 27: Languages and Finite Automatasclab.yonsei.ac.kr/courses/05AM_old/lecture2.pdfFormal Languages and Automata - Yonsei CS 3 Contents For Models of Language Generation • Deterministic

Formal Languages and Automata - Yonsei CS 27

Another Rejection

1q 2q 3q 4qa b b a

5qa a bb

ba,

ba,

0q

λ

Page 28: Languages and Finite Automatasclab.yonsei.ac.kr/courses/05AM_old/lecture2.pdfFormal Languages and Automata - Yonsei CS 3 Contents For Models of Language Generation • Deterministic

Formal Languages and Automata - Yonsei CS 28

1q 2q 3q 4qa b b a

5qa a bb

ba,

ba,

0q

Output:“reject”

λ

Page 29: Languages and Finite Automatasclab.yonsei.ac.kr/courses/05AM_old/lecture2.pdfFormal Languages and Automata - Yonsei CS 3 Contents For Models of Language Generation • Deterministic

Formal Languages and Automata - Yonsei CS 29

Extended Transition Function *δ

QQ →Σ× *:*δ

0q 1q 2q 3q 4qa b b a

5qa a bb

ba,

ba,

String rather than a symbol

Thus, its value gives the state the automaton will be in after reading that string.

Page 30: Languages and Finite Automatasclab.yonsei.ac.kr/courses/05AM_old/lecture2.pdfFormal Languages and Automata - Yonsei CS 3 Contents For Models of Language Generation • Deterministic

Formal Languages and Automata - Yonsei CS 30

( ) 20,* qabq =δ

3q 4qa b b a

5qa a bb

ba,

ba,

0q 1q 2q

Page 31: Languages and Finite Automatasclab.yonsei.ac.kr/courses/05AM_old/lecture2.pdfFormal Languages and Automata - Yonsei CS 3 Contents For Models of Language Generation • Deterministic

Formal Languages and Automata - Yonsei CS 31

( ) 40,* qabbaq =δ

0q 1q 2q 3q 4qa b b a

5qa a bb

ba,

ba,

Page 32: Languages and Finite Automatasclab.yonsei.ac.kr/courses/05AM_old/lecture2.pdfFormal Languages and Automata - Yonsei CS 3 Contents For Models of Language Generation • Deterministic

Formal Languages and Automata - Yonsei CS 32

( ) 50,* qabbbaaq =δ

1q 2q 3q 4qa b b a

5qa a bb

ba,

ba,

0q

Page 33: Languages and Finite Automatasclab.yonsei.ac.kr/courses/05AM_old/lecture2.pdfFormal Languages and Automata - Yonsei CS 3 Contents For Models of Language Generation • Deterministic

Formal Languages and Automata - Yonsei CS 33

( ) qwq ′=,*δ

Observation: There is a walk from to with label

q q′w

q q′w

q q′kw σσσ L21=

1σ 2σ kσ

Page 34: Languages and Finite Automatasclab.yonsei.ac.kr/courses/05AM_old/lecture2.pdfFormal Languages and Automata - Yonsei CS 3 Contents For Models of Language Generation • Deterministic

Formal Languages and Automata - Yonsei CS 34

( ) 50,* qabbbaaq =δ

1q 2q 3q 4qa b b a

5qa a bb

ba,

ba,

0q

Example: There is a walk from to with label

0qabbbaa

5q

Page 35: Languages and Finite Automatasclab.yonsei.ac.kr/courses/05AM_old/lecture2.pdfFormal Languages and Automata - Yonsei CS 3 Contents For Models of Language Generation • Deterministic

Formal Languages and Automata - Yonsei CS 35

Recursive Definition

( )( ) )),,(*(,*

,*σδδσδ

λδwqwq

qq=

=

q q′σw1q

( )

qq

qwq

′=

′=

),(

,*

1 σδ

σδ

( )

( ) 1

1

,*

),(,*

qwq

qwq

=

=

δ

σδσδ

( ) )),,(*(,* σδδσδ wqwq =

Formally, can be defined recursively by*δ

Page 36: Languages and Finite Automatasclab.yonsei.ac.kr/courses/05AM_old/lecture2.pdfFormal Languages and Automata - Yonsei CS 3 Contents For Models of Language Generation • Deterministic

Formal Languages and Automata - Yonsei CS 36

0q 1q 2q 3q 4qa b b a

5qa a bb

ba,

ba,

( )( )

( )( )( )( )( )

( )2

1

0

0

0

0

,,,

,,,*),,(*

,*

qbq

baqbaq

baqabq

=

=

=

=

=

δδδ

λδδδδδ

δ

Page 37: Languages and Finite Automatasclab.yonsei.ac.kr/courses/05AM_old/lecture2.pdfFormal Languages and Automata - Yonsei CS 3 Contents For Models of Language Generation • Deterministic

Formal Languages and Automata - Yonsei CS 37

Languages Accepted by DFAsTake a DFA

Definition:The language contains all input strings accepted by

= { strings that drive to a final state}

M

( )MLM

M( )ML

Page 38: Languages and Finite Automatasclab.yonsei.ac.kr/courses/05AM_old/lecture2.pdfFormal Languages and Automata - Yonsei CS 3 Contents For Models of Language Generation • Deterministic

Formal Languages and Automata - Yonsei CS 38

Example

0q 1q 2q 3q 4qa b b a

5qa a bb

ba,

ba,

( ) { }abbaML = M

accept

Page 39: Languages and Finite Automatasclab.yonsei.ac.kr/courses/05AM_old/lecture2.pdfFormal Languages and Automata - Yonsei CS 3 Contents For Models of Language Generation • Deterministic

Formal Languages and Automata - Yonsei CS 39

Another Example

0q 1q 2q 3q 4qa b b a

5qa a bb

ba,

ba,

( ) { }abbaabML ,,λ= M

acceptacceptaccept

Page 40: Languages and Finite Automatasclab.yonsei.ac.kr/courses/05AM_old/lecture2.pdfFormal Languages and Automata - Yonsei CS 3 Contents For Models of Language Generation • Deterministic

Formal Languages and Automata - Yonsei CS 40

FormallyFor a DFA

Language accepted by :

( )FqQM ,,,, 0δΣ=

M

( ) ( ){ }FwqwML ∈Σ∈= ,*:* 0δ

0q q′w Fq ∈′

Page 41: Languages and Finite Automatasclab.yonsei.ac.kr/courses/05AM_old/lecture2.pdfFormal Languages and Automata - Yonsei CS 3 Contents For Models of Language Generation • Deterministic

Formal Languages and Automata - Yonsei CS 41

ObservationLanguage rejected by :

( ) ( ){ }FwqwML ∉Σ∈= ,*:* 0δ

M

0q q′w Fq ∉′

Page 42: Languages and Finite Automatasclab.yonsei.ac.kr/courses/05AM_old/lecture2.pdfFormal Languages and Automata - Yonsei CS 3 Contents For Models of Language Generation • Deterministic

Formal Languages and Automata - Yonsei CS 42

More Examples

a

b ba,

ba,

0q 1q 2q

( ) }0:{ ≥= nbaML n

accept trap state

If b is the last symbol of the input, accept.Otherwise, the dfa goes into q2.

Page 43: Languages and Finite Automatasclab.yonsei.ac.kr/courses/05AM_old/lecture2.pdfFormal Languages and Automata - Yonsei CS 3 Contents For Models of Language Generation • Deterministic

Formal Languages and Automata - Yonsei CS 43

( )ML = { all strings with prefix }ab

a b

ba,

0q 1q 2q

accept

ba,3q

ab

Issue: After the first two symbols are read, no further decision:Solve the problem with an automaton with 4 states: initial, two for recognizing ab ending in a final trap state and one nonfinal trap state (1st is not a or 2nd is not b).

Page 44: Languages and Finite Automatasclab.yonsei.ac.kr/courses/05AM_old/lecture2.pdfFormal Languages and Automata - Yonsei CS 3 Contents For Models of Language Generation • Deterministic

Formal Languages and Automata - Yonsei CS 44

( )ML = { all strings without substring }001

λ 0 00 001

1

110

0 1,0

0

Find a dfa that accepts all the strings on {0,1} except those containing 001.

Need to remember if or not the current symbol has been preceded by on or two 0s. -> The state in which two 0s were the immediately preceding symbols can be labeled simply 00.

Page 45: Languages and Finite Automatasclab.yonsei.ac.kr/courses/05AM_old/lecture2.pdfFormal Languages and Automata - Yonsei CS 3 Contents For Models of Language Generation • Deterministic

Formal Languages and Automata - Yonsei CS 45

Regular Languages

A language is regular if there is a DFA such that

LM ( )MLL =

{ all strings with prefix }{ all strings without substring }

Examples of regular languages:

There exist automata that accept theseLanguages (see previous slides).

ab001

Page 46: Languages and Finite Automatasclab.yonsei.ac.kr/courses/05AM_old/lecture2.pdfFormal Languages and Automata - Yonsei CS 3 Contents For Models of Language Generation • Deterministic

Formal Languages and Automata - Yonsei CS 46

Another ExampleThe language is regular: - No explit way of testing the end of string: Simply putting

the dfa into a final state whenever the second a is encountered. But, if another b is found, it will take the dfa out of the final state.

{ }{ }*,: bawawaL ∈=

a

b

ba,

a

bb a

0q 2q 3q

4q

( )MLL =

Page 47: Languages and Finite Automatasclab.yonsei.ac.kr/courses/05AM_old/lecture2.pdfFormal Languages and Automata - Yonsei CS 3 Contents For Models of Language Generation • Deterministic

Formal Languages and Automata - Yonsei CS 47

IS a regular language?2LThen, find a dfa which accepts

{ }{ }*,:212 bawaaawawL ∈=

- The vertex q3 has to be modified: To recognize thesubstring (the same form), we replicate the states of the first part with q3- The dfa is found in Fig. 2.7.- Thus, if a language is regular, so are K,, 32 LL