Top Banner
Fall 2004 Costas Busch - RPI Formal Languages Finite Automata
65

Formal Languages Finite Automata

Jan 19, 2016

Download

Documents

tayten

Formal Languages Finite Automata. Chomsky Hierarchy. Type-0 : Unrestricted;recursively enumerated; phrase structured; turing m/c Type-1: CSL;LBA Type-2: CFL;PDA Type-3:RL:FA. Finite Automaton. Input. String. Output. “Accept” or “Reject”. Finite Automaton. Transition Graph. - PowerPoint PPT Presentation
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: Formal Languages Finite Automata

Fall 2004 Costas Busch - RPI

Formal Languages

Finite Automata

Page 2: Formal Languages Finite Automata

2

Type-0 : Unrestricted;recursively enumerated; phrase structured; turing m/c

Type-1: CSL;LBAType-2: CFL;PDAType-3:RL:FA

Chomsky Hierarchy

Page 3: Formal Languages Finite Automata

3

Finite Automaton

Input

“Accept” or“Reject”

String

FiniteAutomaton

Output

Page 4: Formal Languages Finite Automata

4

Transition Graph

initialstate

accepting state

statetransition

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

5q

a a bb

ba,

ba,

Page 5: Formal Languages Finite Automata

5

Initial Configuration

1q 2q 3q 4qa b b a

5q

a a bb

ba,

Input Stringa b b a

ba,

0q

Page 6: Formal Languages Finite Automata

6

Reading the Input

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

5q

a a bb

ba,

a b b a

ba,

Page 7: Formal Languages Finite Automata

7

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

5q

a a bb

ba,

a b b a

ba,

Page 8: Formal Languages Finite Automata

8

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

5q

a a bb

ba,

a b b a

ba,

Page 9: Formal Languages Finite Automata

9

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

5q

a a bb

ba,

a b b a

ba,

Page 10: Formal Languages Finite Automata

10

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

accept

5q

a a bb

ba,

a b b a

ba,

Input finished

Page 11: Formal Languages Finite Automata

11

Rejection

1q 2q 3q 4qa b b a

5q

a a bb

ba,

a b a

ba,

0q

Page 12: Formal Languages Finite Automata

12

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

5q

a a bb

ba,

a b a

ba,

Page 13: Formal Languages Finite Automata

13

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

5q

a a bb

ba,

a b a

ba,

Page 14: Formal Languages Finite Automata

14

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

5q

a a bb

ba,

a b a

ba,

Page 15: Formal Languages Finite Automata

15

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

5q

a a bb

ba,

reject

a b a

ba,

Input finished

Page 16: Formal Languages Finite Automata

16

Acceptance or Rejection?

1q 2q 3q 4qa b b a

5q

a a bb

ba,

ba,

0q

Page 17: Formal Languages Finite Automata

17

Initial State

1q 2q 3q 4qa b b a

5q

a a bb

ba,

ba,

0q

Page 18: Formal Languages Finite Automata

18

1q 2q 3q 4qa b b a

5q

a a bb

ba,

ba,

0q

reject

Rejection

Page 19: Formal Languages Finite Automata

19

Language?

a

b ba,

ba,

0q 1q 2q

Page 20: Formal Languages Finite Automata

20

Another Example

a

b ba,

ba,

0q 1q 2q

a ba

Page 21: Formal Languages Finite Automata

21

a

b ba,

ba,

0q 1q 2q

a ba

Page 22: Formal Languages Finite Automata

22

a

b ba,

ba,

0q 1q 2q

a ba

Page 23: Formal Languages Finite Automata

23

a

b ba,

ba,

0q 1q 2q

a ba

Page 24: Formal Languages Finite Automata

24

a

b ba,

ba,

0q 1q 2q

a ba

accept

Input finished

Page 25: Formal Languages Finite Automata

25

Rejection Example

a

b ba,

ba,

0q 1q 2q

ab b

Page 26: Formal Languages Finite Automata

26

a

b ba,

ba,

0q 1q 2q

ab b

Page 27: Formal Languages Finite Automata

27

a

b ba,

ba,

0q 1q 2q

ab b

Page 28: Formal Languages Finite Automata

28

a

b ba,

ba,

0q 1q 2q

ab b

Page 29: Formal Languages Finite Automata

29

a

b ba,

ba,

0q 1q 2q

ab b

reject

Input finished

Page 30: Formal Languages Finite Automata

30

Languages Accepted by FAsFA

Definition:The language contains all input strings accepted by

= { strings that bring to an accepting state}

M

MLM

M ML

Page 31: Formal Languages Finite Automata

31

Example: L(M) = ?

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

5q

a a bb

ba,

ba,

M

accept

Page 32: Formal Languages Finite Automata

32

Example

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

5q

a a bb

ba,

ba,

M

accept

Page 33: Formal Languages Finite Automata

33

Example: L(M) = ?

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

5q

a a bb

ba,

ba,

M

acceptacceptaccept

Page 34: Formal Languages Finite Automata

34

Example

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

5q

a a bb

ba,

ba,

abbaabML ,, M

acceptacceptaccept

Page 35: Formal Languages Finite Automata

35

Example: L(M) = ?

a

b ba,

ba,

0q 1q 2q

accept trap state

Page 36: Formal Languages Finite Automata

36

Example

a

b ba,

ba,

0q 1q 2q

}0:{ nbaML n

accept trap state

Page 37: Formal Languages Finite Automata

37

Formal Definition Finite Automaton (FA)

FqQM ,,,, 0

Q

0q

F

: set of states

: input alphabet

: transition function

: initial state

: set of accepting states

Page 38: Formal Languages Finite Automata

38

Input Alphabet

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

5q

a a bb

ba,

ba,

ba,

Page 39: Formal Languages Finite Automata

39

Set of States

Q

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

5q

a a bb

ba,

543210 ,,,,, qqqqqqQ

ba,

Page 40: Formal Languages Finite Automata

40

Initial State

0q

1q 2q 3q 4qa b b a

5q

a a bb

ba,

ba,

0q

Page 41: Formal Languages Finite Automata

41

Set of Accepting States

F

0q 1q 2q 3qa b b a

5q

a a bb

ba,

4qF

ba,

4q

Page 42: Formal Languages Finite Automata

42

Transition Function

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

5q

a a bb

ba,

QQ :

ba,

Page 43: Formal Languages Finite Automata

43

10 , qaq

2q 3q 4qa b b a

5q

a a bb

ba,

ba,

0q 1q

Page 44: Formal Languages Finite Automata

44

50 , qbq

1q 2q 3q 4qa b b a

5q

a a bb

ba,

ba,

0q

Page 45: Formal Languages Finite Automata

45

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

5q

a a bb

ba,

ba,

32 , qbq

Page 46: Formal Languages Finite Automata

46

Transition Function

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

5q

a a bb

ba,

a b

0q

1q

2q

3q

4q

5q

1q 5q

5q 2q

5q 3q

4q 5q

ba,5q5q5q5q

Page 47: Formal Languages Finite Automata

47

Extended Transition Function

*

QQ *:*

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

5q

a a bb

ba,

ba,

Page 48: Formal Languages Finite Automata

48

20 ,* qabq

3q 4qa b b a

5q

a a bb

ba,

ba,

0q 1q 2q

Page 49: Formal Languages Finite Automata

49

40 ,* qabbaq

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

5q

a a bb

ba,

ba,

Page 50: Formal Languages Finite Automata

50

50 ,* qabbbaaq

1q 2q 3q 4qa b b a

5q

a a bb

ba,

ba,

0q

Page 51: Formal Languages Finite Automata

51

qwq ,*

Observation: if there is a walk from to with label then

q qw

q qw

q qkw 21

1 2 k

Page 52: Formal Languages Finite Automata

52

50 ,* qabbbaaq

1q 2q 3q 4qa b b a

5q

a a bb

ba,

ba,

0q

Example: There is a walk from to with label

0qabbbaa

5q

Page 53: Formal Languages Finite Automata

53

Recursive Definition )),,(*(,*

,*

wqwq

qq

q qw1q

qq

qwq

),(

,*

1

1

1

,*

),(,*

qwq

qwq

)),,(*(,* wqwq

Page 54: Formal Languages Finite Automata

54

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

5q

a a bb

ba,

ba,

2

1

0

0

0

0

,

,,

,,,*

),,(*

,*

q

bq

baq

baq

baq

abq

Page 55: Formal Languages Finite Automata

55

Language Accepted by FAs

For a FA

Language accepted by :

FqQM ,,,, 0

M

FwqwML ,*:* 0

0q qw Fq

Page 56: Formal Languages Finite Automata

56

ObservationLanguage rejected by :

FwqwML ,*:* 0

M

0q qw Fq

Page 57: Formal Languages Finite Automata

57

L(M) ? ab

a b

ba,

0q 1q 2q

accept

ba,3q

ab

Page 58: Formal Languages Finite Automata

58

Example ML = { all strings with prefix }ab

a b

ba,

0q 1q 2q

accept

ba,3q

ab

Page 59: Formal Languages Finite Automata

59

0 00 001

1

0

1

10

0 1,0

L(M)?

Page 60: Formal Languages Finite Automata

60

Example ML = { all strings without

substring }001

0 00 001

1

0

1

10

0 1,0

Page 61: Formal Languages Finite Automata

61

a

b

ba,

a

b

ba

0q 2q 3q

4q

L(M) ?

Page 62: Formal Languages Finite Automata

62

Example

*,:)( bawawaML

a

b

ba,

a

b

ba

0q 2q 3q

4q

Page 63: Formal Languages Finite Automata

63

Regular LanguagesDefinition:A language is regular if there is FA such that

Observation:All languages accepted by FAs form the family of regular languages

LM MLL

Page 64: Formal Languages Finite Automata

64

abba abbaab,,}0:{ nban

{ all strings with prefix }ab

{ all strings without substring }001

Examples of regular languages:

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

*,: bawawa

Page 65: Formal Languages Finite Automata

65

There exist languages which are not Regular:

}0:{ nbaL nn

There is no FA that accepts such a language

Example: