1 Reverso de uma Linguagem Regular. 2 Teorema: reverso de uma linguagem regular é uma linguagem...

Post on 07-Apr-2016

285 views 10 download

Transcript of 1 Reverso de uma Linguagem Regular. 2 Teorema: reverso de uma linguagem regular é uma linguagem...

1

Reverso de uma Linguagem Regular

2

Teorema:reverso de uma linguagem regularé uma linguagem regular

RL L

Idéia da prova:Construa um NFA que aceita :RL

inverta as transições do NFAque aceita L

3

ProvaComo é regular, existe um NFA que aceita

L

Exemplo:baabL *

a

b

ba

L

4

Inverta as Transições

a

b

ba

5

Torne o antigo estado inicial o estado final

a

b

ba

6

Adicione um novo estado inicial

a

b

ba

7

a

b

ba

A máquina resultante aceita RL

baabL *

ababLR *

RL é regular

8

Gramáticas

9

GramáticasGramáticas expressam linguagens

Exemplo: Inglês

verbpredicate

nounarticlephrasenoun

predicatephrasenounsentence

_

_

10

walksverbrunsverb

dognounboynoun

thearticleaarticle

11

Uma derivação de “the boy walks”:

walksboytheverbboytheverbnounthe

verbnounarticleverbphrasenounpredicatephrasenounsentence

__

12

Uma derivação de “a dog runs”:

runsdogaverbdogaverbnouna

verbnounarticleverbphrasenounpredicatephrasenounsentence

__

13

Linguagem da gramática: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” }

14

Notação

dognounboynoun

Variável ouNão terminal

TerminalRegra deProdução

15

Outro ExemploGramática:

Derivação da sentença :

SaSbS

abaSbS

ab

aSbS S

16

aabbaaSbbaSbS

aSbS S

aabb

SaSbSGramática:

Derivação da sentença :

17

Outras derivações:

aaabbbaaaSbbbaaSbbaSbS

aaaabbbbaaaaSbbbbaaaSbbbaaSbbaSbS

18

Linguagem da gramática

SaSbS

}0:{ nbaL nn

19

Mais Notação

Gramática

:V

:S

:P

Conjunto de variáveis

Conjunto de símbolos terminais

Variável inicial

Conjunto de regras de produção

20

Exemplo

Gramática :

S

aSbSG

PSTVG ,,,

}{SV },{ baT

},{ SaSbSP

21

Mais NotaçãoForma Sentencial: Uma sentença que contém variáveis e terminais

Exemplo:

aaabbbaaaSbbbaaSbbaSbS

forma sentencial sentença

22

Escrevemos:

Como abreviação de:

aaabbbS*

aaabbbaaaSbbbaaSbbaSbS

23

De modo geral:

Se:

nww*

1

nwwww 321

24

Por default: ww*

25

Exemplo

SaSbS

aaabbbS

aabbS

abS

S

*

*

*

*

Gramática Derivações

26

baaaaaSbbbbaaSbb

aaSbbS

S

aSbSGramática

ExemploDerivações

27

Outro Exemplo de GramáticaGramática :

AaAbAAbS

Derivações:

G

28

Mais Derivações

aaaabbbbbaaaaAbbbbbaaaAbbbbaaAbbbaAbbAbS

bbaS

bbbaaaaaabbbbS

aaaabbbbbS

nn

29

Linguagem de uma Gramática

Para uma gramática com variável inicial :

GS

}:{)( wSwGL

String de terminais

30

ExemploGramática :

AaAbAAbS

Já que: bbaS nn

G

31

Uma Notação Conveniente

AaAbA

|aAbA

thearticleaarticle

theaarticle |

32

Gramáticas Lineares

33

Gramáticas Lineares Gramáticas com no máximo uma variável

do lado direito de cada produção

Exemplos:

AaAbAAbS

SaSbS

34

Uma Gramática Não-Linear

bSaSaSbS

SSSS

Gramática :G

)}()(:{)( wnwnwGL ba

35

Outra Gramática Linear

Gramática :

AbBaBAAS

|

}0:{)( nbaGL nn

G

36

Gramática Linear à DireitaTodas as produções têm a forma:

Exemplo:

xBA

xAou

aSabSS

37

Gramática Linear à EsquerdaTodas as produções têm a forma:

Exemplo:

BxA

aBBAabA

AabS

|

xAou

38

Gramáticas Regulares

39

Gramáticas RegularesUma gramática regular é qualquergramática linear à direita ou à esquerda

Exemplos:

aSabSS

aBBAabA

AabS

|

1G 2G

40

ObservaçãoGramáticas regulares geram

linguagens regularesExemplos:

aSabSS

aabGL *)()( 1

aBBAabA

AabS

|

1G2G

41

Gramáticas Regulares Geram

Linguagens Regulares

42

Teorema

LinguagensGeradas porGramáticas Regulares

LinguagensRegulares

43

Teorema - Parte 1

Toda gramática regular gerauma linguagem regular

LinguagensGeradas porGramáticas Regulares

LinguagensRegulares

44

Teorema - Parte 2

Toda linguagem regular é gerada por uma gramática regular

LinguagensGeradas porGramáticas Regulares

LinguagensRegulares

45

Prova – Parte 1

LinguagensGeradas porGramáticas Regulares

Linguagensegulares

A linguagem gerada por umq gramática regular é regular

)(GLG

46

O caso de Gramáticas Lineares à Direita

Seja uma gramática linear à direita

Vamos provar : é regular

Idéia da Prova: Vamos construir um NFA

com

G

)(GL

M)()( GLML

47

Gramática é linear à direitaG

Exemplo:

aBbBBaaABaAS

|

|

48

Construa o NFA tal quetodo estado é uma variável da gramática:

M

aBbBBaaABaAS

|

|

S FV

A

B

estado final especial

49

Adicione arcos para cada produção:

S FV

A

B

a

aAS

50

S FV

A

B

a

BaAS |

51

S FV

A

B

a

BaaABaAS

|

a

a

52

S FV

A

B

a

bBBBaaABaAS

|

a

a

b

53

S FV

A

B

a

abBBBaaABaAS

|

|

a

a

b

a

54

aaabaaaabBaaaBaAS

S FV

A

B

a

a

a

b

a

55

S FV

A

B

a

a

a

b

aabBBBaaABaAS

|

|

G

M GramáticaNFA

abaaaabGLML**)()(

56

Em GeralDada uma gramática linear à direita

com variáveis

e produções:

G

jmi VaaaV 21

mi aaaV 21

ou

57

Construímos o NFA tal que:

cada variável corresponde a um estado:

M

iV

0VFV

1V

2V

3V

4V estado finalespecial

58

Para cada produção:

adicionamos transições e os estados intermediários requeridos

jmi VaaaV 21

iV jV………

1a 2a ma

59

Para cada produção:

adicionamos transições e os estados intermediários requeridos

mi aaaV 21

iV FV………

1a 2a ma

60

O NFA resultante tem a forma:M

0VFV

1V

2V

3V

4V

1a

3a3a

4a

8a

2a 4a5a

9a5a

9a

)()( MLGL Temos que:

61

O caso de Gramática Linear à Esquerda

Seja uma gramática linear à esquerda

Vamos provar: é regular

Idéia da Prova :Construir uma gramática linear à

direita com

G

)(GL

G RGLGL )()(

62

Como é uma gramática linear à esquerdaas produções são da forma:

G

kaaBaA 21

kaaaA 21

63

Construindo a gramática linear à direitaG

Em :G kaaBaA 21

Em :G BaaaA k 12

BvA R

64

Construindo a gramática linear à direitaG

em :G kaaaA 21

Em :G 12aaaA k

vA

RvA

65

É fácil ver que:

Como é linear à direita, temos:

RGLGL )()(

)(GL RGL )(

G

)(GLLinguagemRegular

LinguagemRegular

LinguagemRegular

66

Prova - Parte 2

Toda linguagem regular é gerada por uma gramática regular

LG

LinguagensGeradas porGramáticas Regulares

LinguagensRegulares

67

Idéia da Prova :Seja um NFA com . Construa, a apartir de uma gramática regular tal que

Toda linguagem regular é gerada por uma gramática regular

LG

M )(MLL

MG )()( GLML

68

Como é regularexiste um NFA tal que

LM )(MLL

Exemplo:a

b

a

b*)*(* abbababL

)(MLL

M1q 2q

3q

0q

69

Convertendo em uma gramática linear à direita

M

a

b

a

b

M0q 1q 2q

3q10 aqq

70

a

b

a

b

M0q 1q 2q

3q21

11

10

aqqbqqaqq

71

a

b

a

b

M0q 1q 2q

3q

32

21

11

10

bqqaqqbqqaqq

72

a

b

a

b

M0q 1q 2q

3q

3

13

32

21

11

10

qqqbqqaqqbqqaqq

G

LMLGL )()(

73

Em Geral

Para cada transição: aq p

Adicione a produção: apq

variável terminal variável

74

Para cada estado final: fq

Adicione a produção: fq

75

Como é uma gramática linear à direta

é também uma gramática

regular

com

G

G

LMLGL )()(