reverse of a regular language - florida institute of ...ryan/cse4083/busch/class05.pdfreverse of a...

75
1 Reverse of a Regular Language

Upload: others

Post on 12-Mar-2020

3 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Reverse of a Regular Language - Florida Institute of ...ryan/cse4083/busch/class05.pdfReverse of a Regular Language. 2 Theorem: The reverse of a regular language is a regular language

1

Reverse of a Regular Language

Page 2: Reverse of a Regular Language - Florida Institute of ...ryan/cse4083/busch/class05.pdfReverse of a Regular Language. 2 Theorem: The reverse of a regular language is a regular language

2

Theorem:

The reverse of a regular language

is a regular language

RL L

Proof idea:

Construct NFA that accepts :RL

invert the transitions of the NFA

that accepts L

Page 3: Reverse of a Regular Language - Florida Institute of ...ryan/cse4083/busch/class05.pdfReverse of a Regular Language. 2 Theorem: The reverse of a regular language is a regular language

3

Proof

Since is regular,

there is NFA that accepts

L

Example:

baabL *

a

b

ba

L

Page 4: Reverse of a Regular Language - Florida Institute of ...ryan/cse4083/busch/class05.pdfReverse of a Regular Language. 2 Theorem: The reverse of a regular language is a regular language

4

Invert Transitions

a

b

ba

Page 5: Reverse of a Regular Language - Florida Institute of ...ryan/cse4083/busch/class05.pdfReverse of a Regular Language. 2 Theorem: The reverse of a regular language is a regular language

5

Make old initial state a final state

a

b

ba

Page 6: Reverse of a Regular Language - Florida Institute of ...ryan/cse4083/busch/class05.pdfReverse of a Regular Language. 2 Theorem: The reverse of a regular language is a regular language

6

Add a new initial state

a

b

ba

Page 7: Reverse of a Regular Language - Florida Institute of ...ryan/cse4083/busch/class05.pdfReverse of a Regular Language. 2 Theorem: The reverse of a regular language is a regular language

7

a

b

ba

Resulting machine accepts RL

baabL *

ababLR *

RL is regular

Page 8: Reverse of a Regular Language - Florida Institute of ...ryan/cse4083/busch/class05.pdfReverse of a Regular Language. 2 Theorem: The reverse of a regular language is a regular language

8

Grammars

Page 9: Reverse of a Regular Language - Florida Institute of ...ryan/cse4083/busch/class05.pdfReverse of a Regular Language. 2 Theorem: The reverse of a regular language is a regular language

9

Grammars

Grammars express languages

Example: the English language

verbpredicate

nounarticlephrasenoun

predicatephrasenounsentence

_

_

Page 10: Reverse of a Regular Language - Florida Institute of ...ryan/cse4083/busch/class05.pdfReverse of a Regular Language. 2 Theorem: The reverse of a regular language is a regular language

10walksverb

runsverb

dognoun

boynoun

thearticle

aarticle

Page 11: Reverse of a Regular Language - Florida Institute of ...ryan/cse4083/busch/class05.pdfReverse of a Regular Language. 2 Theorem: The reverse of a regular language is a regular language

11

A derivation of “the boy walks”:

walksboythe

verbboythe

verbnounthe

verbnounarticle

verbphrasenoun

predicatephrasenounsentence

_

_

Page 12: Reverse of a Regular Language - Florida Institute of ...ryan/cse4083/busch/class05.pdfReverse of a Regular Language. 2 Theorem: The reverse of a regular language is a regular language

12

A derivation of “a dog runs”:

runsdoga

verbdoga

verbnouna

verbnounarticle

verbphrasenoun

predicatephrasenounsentence

_

_

Page 13: Reverse of a Regular Language - Florida Institute of ...ryan/cse4083/busch/class05.pdfReverse of a Regular Language. 2 Theorem: The reverse of a regular language is a regular language

13

Language of the grammar:

L = { “a boy runs”,

“a boy walks”,

“the boy runs”,

“the boy walks”,

“a dog runs”,

“a dog walks”,

“the dog runs”,

“the dog walks” }

Page 14: Reverse of a Regular Language - Florida Institute of ...ryan/cse4083/busch/class05.pdfReverse of a Regular Language. 2 Theorem: The reverse of a regular language is a regular language

14

Notation

dognoun

boynoun

Variable

or

Non-terminal

TerminalProduction

rule

Page 15: Reverse of a Regular Language - Florida Institute of ...ryan/cse4083/busch/class05.pdfReverse of a Regular Language. 2 Theorem: The reverse of a regular language is a regular language

15

Another Example

Grammar:

Derivation of sentence :

S

aSbS

abaSbS

ab

aSbS S

Page 16: Reverse of a Regular Language - Florida Institute of ...ryan/cse4083/busch/class05.pdfReverse of a Regular Language. 2 Theorem: The reverse of a regular language is a regular language

16

aabbaaSbbaSbS

aSbS S

aabb

S

aSbSGrammar:

Derivation of sentence :

Page 17: Reverse of a Regular Language - Florida Institute of ...ryan/cse4083/busch/class05.pdfReverse of a Regular Language. 2 Theorem: The reverse of a regular language is a regular language

17

Other derivations:

aaabbbaaaSbbbaaSbbaSbS

aaaabbbbaaaaSbbbb

aaaSbbbaaSbbaSbS

Page 18: Reverse of a Regular Language - Florida Institute of ...ryan/cse4083/busch/class05.pdfReverse of a Regular Language. 2 Theorem: The reverse of a regular language is a regular language

18

Language of the grammar

S

aSbS

}0:{ nbaL nn

Page 19: Reverse of a Regular Language - Florida Institute of ...ryan/cse4083/busch/class05.pdfReverse of a Regular Language. 2 Theorem: The reverse of a regular language is a regular language

19

More Notation

Grammar PSTVG ,,,

:V

:T

:S

:P

Set of variables

Set of terminal symbols

Start variable

Set of Production rules

Page 20: Reverse of a Regular Language - Florida Institute of ...ryan/cse4083/busch/class05.pdfReverse of a Regular Language. 2 Theorem: The reverse of a regular language is a regular language

20

Example

Grammar :

S

aSbSG

PSTVG ,,,

}{SV },{ baT

},{ SaSbSP

Page 21: Reverse of a Regular Language - Florida Institute of ...ryan/cse4083/busch/class05.pdfReverse of a Regular Language. 2 Theorem: The reverse of a regular language is a regular language

21

More Notation

Sentential Form:

A sentence that contains

variables and terminals

Example:

aaabbbaaaSbbbaaSbbaSbS

Sentential Forms sentence

Page 22: Reverse of a Regular Language - Florida Institute of ...ryan/cse4083/busch/class05.pdfReverse of a Regular Language. 2 Theorem: The reverse of a regular language is a regular language

22

We write:

Instead of:

aaabbbS*

aaabbbaaaSbbbaaSbbaSbS

Page 23: Reverse of a Regular Language - Florida Institute of ...ryan/cse4083/busch/class05.pdfReverse of a Regular Language. 2 Theorem: The reverse of a regular language is a regular language

23

In general we write:

If:

nww*

1

nwwww 321

Page 24: Reverse of a Regular Language - Florida Institute of ...ryan/cse4083/busch/class05.pdfReverse of a Regular Language. 2 Theorem: The reverse of a regular language is a regular language

24

By default: ww*

Page 25: Reverse of a Regular Language - Florida Institute of ...ryan/cse4083/busch/class05.pdfReverse of a Regular Language. 2 Theorem: The reverse of a regular language is a regular language

25

Example

S

aSbS

aaabbbS

aabbS

abS

S

*

*

*

*

Grammar Derivations

Page 26: Reverse of a Regular Language - Florida Institute of ...ryan/cse4083/busch/class05.pdfReverse of a Regular Language. 2 Theorem: The reverse of a regular language is a regular language

26

baaaaaSbbbbaaSbb

aaSbbS

S

aSbS

Grammar

Example

Derivations

Page 27: Reverse of a Regular Language - Florida Institute of ...ryan/cse4083/busch/class05.pdfReverse of a Regular Language. 2 Theorem: The reverse of a regular language is a regular language

27

Another Grammar Example

Grammar :

A

aAbA

AbS

Derivations:

aabbbaaAbbbaAbbAbS

abbaAbbAbS

bAbS

⇒⇒⇒⇒

⇒⇒⇒

⇒⇒

G

Page 28: Reverse of a Regular Language - Florida Institute of ...ryan/cse4083/busch/class05.pdfReverse of a Regular Language. 2 Theorem: The reverse of a regular language is a regular language

28

More Derivations

aaaabbbbbaaaaAbbbbb

aaaAbbbbaaAbbbaAbbAbS

bbaS

bbbaaaaaabbbbS

aaaabbbbbS

nn

Page 29: Reverse of a Regular Language - Florida Institute of ...ryan/cse4083/busch/class05.pdfReverse of a Regular Language. 2 Theorem: The reverse of a regular language is a regular language

29

Language of a Grammar

For a grammar

with start variable : G

S

}:{)( wSwGL

String of terminals

Page 30: Reverse of a Regular Language - Florida Institute of ...ryan/cse4083/busch/class05.pdfReverse of a Regular Language. 2 Theorem: The reverse of a regular language is a regular language

30

Example

For grammar :

A

aAbA

AbS

}0:{)( nbbaGL nn

Since: bbaS nn

G

Page 31: Reverse of a Regular Language - Florida Institute of ...ryan/cse4083/busch/class05.pdfReverse of a Regular Language. 2 Theorem: The reverse of a regular language is a regular language

31

A Convenient Notation

A

aAbA|aAbA

thearticle

aarticle

theaarticle |

Page 32: Reverse of a Regular Language - Florida Institute of ...ryan/cse4083/busch/class05.pdfReverse of a Regular Language. 2 Theorem: The reverse of a regular language is a regular language

32

Linear Grammars

Page 33: Reverse of a Regular Language - Florida Institute of ...ryan/cse4083/busch/class05.pdfReverse of a Regular Language. 2 Theorem: The reverse of a regular language is a regular language

33

Linear Grammars

Grammars with

at most one variable at the right side

of a production

Examples:

A

aAbA

AbS

S

aSbS

Page 34: Reverse of a Regular Language - Florida Institute of ...ryan/cse4083/busch/class05.pdfReverse of a Regular Language. 2 Theorem: The reverse of a regular language is a regular language

34

A Non-Linear Grammar

bSaS

aSbS

S

SSS

Grammar :G

)}()(:{)( wnwnwGL ba

Number of in stringa w

Page 35: Reverse of a Regular Language - Florida Institute of ...ryan/cse4083/busch/class05.pdfReverse of a Regular Language. 2 Theorem: The reverse of a regular language is a regular language

35

Another Linear Grammar

Grammar :

AbB

aBA

AS

|

}0:{)( nbaGL nn

G

Page 36: Reverse of a Regular Language - Florida Institute of ...ryan/cse4083/busch/class05.pdfReverse of a Regular Language. 2 Theorem: The reverse of a regular language is a regular language

36

Right-Linear Grammars

All productions have form:

Example:

xBA

xA

or

aS

abSS

string of

terminals

Page 37: Reverse of a Regular Language - Florida Institute of ...ryan/cse4083/busch/class05.pdfReverse of a Regular Language. 2 Theorem: The reverse of a regular language is a regular language

37

Left-Linear Grammars

All productions have form:

Example:

BxA

aB

BAabA

AabS

|

xA

or

string of

terminals

Page 38: Reverse of a Regular Language - Florida Institute of ...ryan/cse4083/busch/class05.pdfReverse of a Regular Language. 2 Theorem: The reverse of a regular language is a regular language

38

Regular Grammars

Page 39: Reverse of a Regular Language - Florida Institute of ...ryan/cse4083/busch/class05.pdfReverse of a Regular Language. 2 Theorem: The reverse of a regular language is a regular language

39

Regular Grammars

A regular grammar is any

right-linear or left-linear grammar

Examples:

aS

abSS

aB

BAabA

AabS

|

1G 2G

Page 40: Reverse of a Regular Language - Florida Institute of ...ryan/cse4083/busch/class05.pdfReverse of a Regular Language. 2 Theorem: The reverse of a regular language is a regular language

40

Observation

Regular grammars generate regular languages

Examples:

aS

abSS

aabGL *)()( 1

aB

BAabA

AabS

|

*)()( 2 abaabGL

1G

2G

Page 41: Reverse of a Regular Language - Florida Institute of ...ryan/cse4083/busch/class05.pdfReverse of a Regular Language. 2 Theorem: The reverse of a regular language is a regular language

41

Regular Grammars Generate

Regular Languages

Page 42: Reverse of a Regular Language - Florida Institute of ...ryan/cse4083/busch/class05.pdfReverse of a Regular Language. 2 Theorem: The reverse of a regular language is a regular language

42

Theorem

Languages

Generated by

Regular Grammars

Regular

Languages

Page 43: Reverse of a Regular Language - Florida Institute of ...ryan/cse4083/busch/class05.pdfReverse of a Regular Language. 2 Theorem: The reverse of a regular language is a regular language

43

Theorem - Part 1

Languages

Generated by

Regular Grammars

Regular

Languages

Any regular grammar generates

a regular language

Page 44: Reverse of a Regular Language - Florida Institute of ...ryan/cse4083/busch/class05.pdfReverse of a Regular Language. 2 Theorem: The reverse of a regular language is a regular language

44

Theorem - Part 2

Languages

Generated by

Regular Grammars

Regular

Languages

Any regular language is generated

by a regular grammar

Page 45: Reverse of a Regular Language - Florida Institute of ...ryan/cse4083/busch/class05.pdfReverse of a Regular Language. 2 Theorem: The reverse of a regular language is a regular language

45

Proof – Part 1

Languages

Generated by

Regular Grammars

Regular

Languages

The language generated by

any regular grammar is regular)(GL

G

Page 46: Reverse of a Regular Language - Florida Institute of ...ryan/cse4083/busch/class05.pdfReverse of a Regular Language. 2 Theorem: The reverse of a regular language is a regular language

46

The case of Right-Linear Grammars

Let be a right-linear grammar

We will prove: is regular

Proof idea: We will construct NFA

with

G

)(GL

M)()( GLML

Page 47: Reverse of a Regular Language - Florida Institute of ...ryan/cse4083/busch/class05.pdfReverse of a Regular Language. 2 Theorem: The reverse of a regular language is a regular language

47

Grammar is right-linearG

Example:

aBbB

BaaA

BaAS

|

|

Page 48: Reverse of a Regular Language - Florida Institute of ...ryan/cse4083/busch/class05.pdfReverse of a Regular Language. 2 Theorem: The reverse of a regular language is a regular language

48

Construct NFA such that

every state is a grammar variable:

M

aBbB

BaaA

BaAS

|

|

SFV

A

B

special

final state

Page 49: Reverse of a Regular Language - Florida Institute of ...ryan/cse4083/busch/class05.pdfReverse of a Regular Language. 2 Theorem: The reverse of a regular language is a regular language

49

Add edges for each production:

SFV

A

B

a

aAS

Page 50: Reverse of a Regular Language - Florida Institute of ...ryan/cse4083/busch/class05.pdfReverse of a Regular Language. 2 Theorem: The reverse of a regular language is a regular language

50

SFV

A

B

a

BaAS |

Page 51: Reverse of a Regular Language - Florida Institute of ...ryan/cse4083/busch/class05.pdfReverse of a Regular Language. 2 Theorem: The reverse of a regular language is a regular language

51

SFV

A

B

a

BaaA

BaAS

|

a

a

Page 52: Reverse of a Regular Language - Florida Institute of ...ryan/cse4083/busch/class05.pdfReverse of a Regular Language. 2 Theorem: The reverse of a regular language is a regular language

52

SFV

A

B

a

bBB

BaaA

BaAS

|

a

a

b

Page 53: Reverse of a Regular Language - Florida Institute of ...ryan/cse4083/busch/class05.pdfReverse of a Regular Language. 2 Theorem: The reverse of a regular language is a regular language

53

SFV

A

B

a

abBB

BaaA

BaAS

|

|

a

a

b

a

Page 54: Reverse of a Regular Language - Florida Institute of ...ryan/cse4083/busch/class05.pdfReverse of a Regular Language. 2 Theorem: The reverse of a regular language is a regular language

54

aaabaaaabBaaaBaAS

SFV

A

B

a

a

a

b

a

Page 55: Reverse of a Regular Language - Florida Institute of ...ryan/cse4083/busch/class05.pdfReverse of a Regular Language. 2 Theorem: The reverse of a regular language is a regular language

55

SFV

A

B

a

a

a

b

aabBB

BaaA

BaAS

|

|

G

M GrammarNFA

abaaaab

GLML

**

)()(

Page 56: Reverse of a Regular Language - Florida Institute of ...ryan/cse4083/busch/class05.pdfReverse of a Regular Language. 2 Theorem: The reverse of a regular language is a regular language

56

In General

A right-linear grammar

has variables:

and productions:

G

,,, 210 VVV

jmi VaaaV 21

mi aaaV 21

or

Page 57: Reverse of a Regular Language - Florida Institute of ...ryan/cse4083/busch/class05.pdfReverse of a Regular Language. 2 Theorem: The reverse of a regular language is a regular language

57

We construct the NFA such that:

each variable corresponds to a node:

M

iV

0V

FV

1V

2V

3V

4V special

final state

Page 58: Reverse of a Regular Language - Florida Institute of ...ryan/cse4083/busch/class05.pdfReverse of a Regular Language. 2 Theorem: The reverse of a regular language is a regular language

58

For each production:

we add transitions and intermediate nodes

jmi VaaaV 21

iV jV………1a 2a ma

Page 59: Reverse of a Regular Language - Florida Institute of ...ryan/cse4083/busch/class05.pdfReverse of a Regular Language. 2 Theorem: The reverse of a regular language is a regular language

59

For each production:

we add transitions and intermediate nodes

mi aaaV 21

iV FV………1a 2a ma

Page 60: Reverse of a Regular Language - Florida Institute of ...ryan/cse4083/busch/class05.pdfReverse of a Regular Language. 2 Theorem: The reverse of a regular language is a regular language

60

Resulting NFA looks like this:M

0V

FV

1V

2V

3V

4V

1a

3a

3a

4a

8a

2a 4a

5a

9a5a

9a

)()( MLGL It holds that:

Page 61: Reverse of a Regular Language - Florida Institute of ...ryan/cse4083/busch/class05.pdfReverse of a Regular Language. 2 Theorem: The reverse of a regular language is a regular language

61

The case of Left-Linear Grammars

Let be a left-linear grammar

We will prove: is regular

Proof idea:

We will construct a right-linear

grammar with

G

)(GL

G RGLGL )()(

Page 62: Reverse of a Regular Language - Florida Institute of ...ryan/cse4083/busch/class05.pdfReverse of a Regular Language. 2 Theorem: The reverse of a regular language is a regular language

62

Since is left-linear grammar

the productions look like:

G

kaaBaA 21

kaaaA 21

Page 63: Reverse of a Regular Language - Florida Institute of ...ryan/cse4083/busch/class05.pdfReverse of a Regular Language. 2 Theorem: The reverse of a regular language is a regular language

63

Construct right-linear grammar G

Left

linearG kaaBaA 21

G BaaaA k 12

BvA→

BvA R

Right

linear

Page 64: Reverse of a Regular Language - Florida Institute of ...ryan/cse4083/busch/class05.pdfReverse of a Regular Language. 2 Theorem: The reverse of a regular language is a regular language

64

Construct right-linear grammar G

G kaaaA 21

G 12aaaA k

vA

RvA

Left

linear

Right

linear

Page 65: Reverse of a Regular Language - Florida Institute of ...ryan/cse4083/busch/class05.pdfReverse of a Regular Language. 2 Theorem: The reverse of a regular language is a regular language

65

It is easy to see that:

Since is right-linear, we have:

RGLGL )()(

)(GL RGL )(

G

)(GL

Regular

LanguageRegular

Language

Regular

Language

Page 66: Reverse of a Regular Language - Florida Institute of ...ryan/cse4083/busch/class05.pdfReverse of a Regular Language. 2 Theorem: The reverse of a regular language is a regular language

66

Proof - Part 2

Languages

Generated by

Regular Grammars

Regular

Languages

Any regular language is generated

by some regular grammar

L

G

Page 67: Reverse of a Regular Language - Florida Institute of ...ryan/cse4083/busch/class05.pdfReverse of a Regular Language. 2 Theorem: The reverse of a regular language is a regular language

67

Proof idea:

Let be the NFA with .

Construct from a regular grammar

such that

Any regular language is generated

by some regular grammar

L

G

M )(MLL

M G)()( GLML

Page 68: Reverse of a Regular Language - Florida Institute of ...ryan/cse4083/busch/class05.pdfReverse of a Regular Language. 2 Theorem: The reverse of a regular language is a regular language

68

Since is regular

there is an NFA such that

L

M )(MLL

Example:a

b

a

b

*)*(* abbababL

)(MLL

M

1q 2q

3q

0q

Page 69: Reverse of a Regular Language - Florida Institute of ...ryan/cse4083/busch/class05.pdfReverse of a Regular Language. 2 Theorem: The reverse of a regular language is a regular language

69

Convert to a right-linear grammarM

a

b

a

b

M

0q 1q 2q

3q10 aqq

Page 70: Reverse of a Regular Language - Florida Institute of ...ryan/cse4083/busch/class05.pdfReverse of a Regular Language. 2 Theorem: The reverse of a regular language is a regular language

70

a

b

a

b

M

0q 1q 2q

3q

21

11

10

aqq

bqq

aqq

Page 71: Reverse of a Regular Language - Florida Institute of ...ryan/cse4083/busch/class05.pdfReverse of a Regular Language. 2 Theorem: The reverse of a regular language is a regular language

71

a

b

a

b

M

0q 1q 2q

3q

32

21

11

10

bqq

aqq

bqq

aqq

Page 72: Reverse of a Regular Language - Florida Institute of ...ryan/cse4083/busch/class05.pdfReverse of a Regular Language. 2 Theorem: The reverse of a regular language is a regular language

72

a

b

a

b

M

0q 1q 2q

3q

3

13

32

21

11

10

q

qq

bqq

aqq

bqq

aqq

G

LMLGL )()(

Page 73: Reverse of a Regular Language - Florida Institute of ...ryan/cse4083/busch/class05.pdfReverse of a Regular Language. 2 Theorem: The reverse of a regular language is a regular language

73

In General

For any transition:aq p

Add production: apq

variable terminal variable

Page 74: Reverse of a Regular Language - Florida Institute of ...ryan/cse4083/busch/class05.pdfReverse of a Regular Language. 2 Theorem: The reverse of a regular language is a regular language

74

For any final state: fq

Add production: fq

Page 75: Reverse of a Regular Language - Florida Institute of ...ryan/cse4083/busch/class05.pdfReverse of a Regular Language. 2 Theorem: The reverse of a regular language is a regular language

75

Since is right-linear grammar

is also a regular grammar

with

G

G

LMLGL )()(