1 Hierarquia de Chomsky. 2 Gramáticas Irrestritas: Produções String de variáveis e terminais...

47
1 Hierarquia de Chomsky

Transcript of 1 Hierarquia de Chomsky. 2 Gramáticas Irrestritas: Produções String de variáveis e terminais...

Page 1: 1 Hierarquia de Chomsky. 2 Gramáticas Irrestritas: Produções String de variáveis e terminais String de variáveis e terminais.

1

Hierarquia de Chomsky

Page 2: 1 Hierarquia de Chomsky. 2 Gramáticas Irrestritas: Produções String de variáveis e terminais String de variáveis e terminais.

2

Gramáticas Irrestritas:

Produçõesvu

String de variáveise terminais

String de variáveise terminais

Page 3: 1 Hierarquia de Chomsky. 2 Gramáticas Irrestritas: Produções String de variáveis e terminais String de variáveis e terminais.

3

Exemplo de gramática irrestrita:

dAc

cAaB

aBcS

Page 4: 1 Hierarquia de Chomsky. 2 Gramáticas Irrestritas: Produções String de variáveis e terminais String de variáveis e terminais.

4

Uma linguagem é recursivamente enumerávelse e somente se existe uma gramática irrestrita que gera

L

L

Teorema:

Page 5: 1 Hierarquia de Chomsky. 2 Gramáticas Irrestritas: Produções String de variáveis e terminais String de variáveis e terminais.

5

Gramáticas Sensíveis ao Contexto:

e: |||| vu

Produçõesvu

String de variáveis e terminais

String de variáveis e terminais

Page 6: 1 Hierarquia de Chomsky. 2 Gramáticas Irrestritas: Produções String de variáveis e terminais String de variáveis e terminais.

6

A linguagem }{ nnn cba

é sensível ao contexto:

aaAaaaB

BbbB

BbccAc

bAAb

aAbcabcS

|

|

Page 7: 1 Hierarquia de Chomsky. 2 Gramáticas Irrestritas: Produções String de variáveis e terminais String de variáveis e terminais.

7

Autômato Linear Limitado (LBA)é o mesmo que uma Máquina de Turingmas com uma diferença:

o espaço ocupado pelo string de entrada na fita é o único espaço da fita que pode ser usado ao longo da computação

Page 8: 1 Hierarquia de Chomsky. 2 Gramáticas Irrestritas: Produções String de variáveis e terminais String de variáveis e terminais.

8

[ ]a b c d e

marcador deextremidadeesquerda

string de entrada

marcador deextremidadedireita

espaço de trabalho na fita

Toda computação é feita entre os marcadores

Autômato Linear Limitado (LBA)

Page 9: 1 Hierarquia de Chomsky. 2 Gramáticas Irrestritas: Produções String de variáveis e terminais String de variáveis e terminais.

9

LBA’s são definidos como Não Deterministas

Problema em aberto:

LBA’s Não Deterministastêm o mesmo poder de computaçãoque LBA’s Deterministas ?

Page 10: 1 Hierarquia de Chomsky. 2 Gramáticas Irrestritas: Produções String de variáveis e terminais String de variáveis e terminais.

10

Exemplos de linguagens aceitas por LBAs:

}{ nnn cbaL

}{ !naL

LBAs têm mais poder computacional que NPDAs

Conclusão:

Page 11: 1 Hierarquia de Chomsky. 2 Gramáticas Irrestritas: Produções String de variáveis e terminais String de variáveis e terminais.

11

Vamos provar mais adiante:

LBA’s têm menos poder computacionalque Máquinas de Turing

Page 12: 1 Hierarquia de Chomsky. 2 Gramáticas Irrestritas: Produções String de variáveis e terminais String de variáveis e terminais.

12

Uma linguagem é sensível ao contexto se e somente se é aceita por um Autômato Linear LimitadoL

L

Teorema:

Existem linguagens recursivasmas que não são sensíveis ao contexto

Observação:

Page 13: 1 Hierarquia de Chomsky. 2 Gramáticas Irrestritas: Produções String de variáveis e terminais String de variáveis e terminais.

13

Não Recursivamente Enumerável

Recursivamente Enumerável

Recursiva

Sensível ao Contexto

Livre de Contexto

Regular

Hierarquia de Chomsky

Page 14: 1 Hierarquia de Chomsky. 2 Gramáticas Irrestritas: Produções String de variáveis e terminais String de variáveis e terminais.

14

Decidibilidade

Page 15: 1 Hierarquia de Chomsky. 2 Gramáticas Irrestritas: Produções String de variáveis e terminais String de variáveis e terminais.

15

Considere problemes com resposta SIM ou NÃO

Exemplos:

• Uma dada Máquina tem 3 estados ?M

• Um dado string é um número binário? w

• Um dado DFA aceita qualquer entrada? M

Page 16: 1 Hierarquia de Chomsky. 2 Gramáticas Irrestritas: Produções String de variáveis e terminais String de variáveis e terminais.

16

Um problema é decidível se alguma Máquina de Turing resolve (decide) este problema

Problemas Decidíveis:

• Uma Máquina tem três estados ?M

• Um string é um número binário? w

• Um DFA aceita qualquer entrada? M

Page 17: 1 Hierarquia de Chomsky. 2 Gramáticas Irrestritas: Produções String de variáveis e terminais String de variáveis e terminais.

17

Máquina deTuringEntrada:instânciado problema

SIM

NÃO

A máquina de Turing que resolve um problemaresponde SIM ou NÃO para cada instância

Page 18: 1 Hierarquia de Chomsky. 2 Gramáticas Irrestritas: Produções String de variáveis e terminais String de variáveis e terminais.

18

A máquina que decide um problema:

• Se a resposta é SIM pára em um estado SIM

• Se a resposta é NÃO pára em um estado NÃO

estados SiM e NÃO não necessariamentesão estados finais

Page 19: 1 Hierarquia de Chomsky. 2 Gramáticas Irrestritas: Produções String de variáveis e terminais String de variáveis e terminais.

19

SIM

NÃO

Máquina de Turing que decide um problema

estados SiM e NÃO são estados de parada

Page 20: 1 Hierarquia de Chomsky. 2 Gramáticas Irrestritas: Produções String de variáveis e terminais String de variáveis e terminais.

20

Existem problemas não decidíveis:

Problema tal que não existe uma MTque decida todas as instâncias do problema

Page 21: 1 Hierarquia de Chomsky. 2 Gramáticas Irrestritas: Produções String de variáveis e terminais String de variáveis e terminais.

21

Um problema não decidível simples:

O problema de pertinência

Page 22: 1 Hierarquia de Chomsky. 2 Gramáticas Irrestritas: Produções String de variáveis e terminais String de variáveis e terminais.

22

O Problema de Pertinência

Entrada: Máquina de Turing M

String w

Questão: aceita ? M w

Page 23: 1 Hierarquia de Chomsky. 2 Gramáticas Irrestritas: Produções String de variáveis e terminais String de variáveis e terminais.

23

Teorema:

O problema de pertinência não é decidível

Prova:Suponha, por contradição, queo problema de pertinência seja decidível

Page 24: 1 Hierarquia de Chomsky. 2 Gramáticas Irrestritas: Produções String de variáveis e terminais String de variáveis e terminais.

24

Existe uma Máquina de Turingque resolve o problema de pertinência

H

HM

w

SIM M aceita w

NÃO M rejeita w

Page 25: 1 Hierarquia de Chomsky. 2 Gramáticas Irrestritas: Produções String de variáveis e terminais String de variáveis e terminais.

25

Seja uma linguagem recursivamente enumerável

L

Seja uma Máquina de Turing que aceita

ML

Vamos provar que, se o problema de pertinênciaé decidível, então é também recursiva: L

A prova consiste em descrever uma MTque aceita e pára para qualquer entradaL

Page 26: 1 Hierarquia de Chomsky. 2 Gramáticas Irrestritas: Produções String de variáveis e terminais String de variáveis e terminais.

26

M aceita ?wNÃO

SIMM

w

Haceitaw

Máquina de Turing que aceitae pára para qualquer entrada

L

rejeitaw

Page 27: 1 Hierarquia de Chomsky. 2 Gramáticas Irrestritas: Produções String de variáveis e terminais String de variáveis e terminais.

27

Portanto, L é recursiva

Mas já provamos que existem linguagens quesão recursivamente enumeráveis e não são recursivas

Contradição!!!!

Como é escolhida arbitrariamente, isso prova que toda linguagem recursivamente enumerávelé também recursiva

L

Page 28: 1 Hierarquia de Chomsky. 2 Gramáticas Irrestritas: Produções String de variáveis e terminais String de variáveis e terminais.

28

Portanto, o problema de pertinêncianão é decidível

Fim da Prova

Page 29: 1 Hierarquia de Chomsky. 2 Gramáticas Irrestritas: Produções String de variáveis e terminais String de variáveis e terminais.

29

Um famoso problema não decidível:

O Problema da Parada

Page 30: 1 Hierarquia de Chomsky. 2 Gramáticas Irrestritas: Produções String de variáveis e terminais String de variáveis e terminais.

30

O Problema da Parada

Entrada: Máquina de TuringM

String w

Questão: pára sobre ? M w

Page 31: 1 Hierarquia de Chomsky. 2 Gramáticas Irrestritas: Produções String de variáveis e terminais String de variáveis e terminais.

31

Teorema:

O problema da parada é não decidível

Prova: Suponha, por contradição, queo problema da parada seja decidível

Page 32: 1 Hierarquia de Chomsky. 2 Gramáticas Irrestritas: Produções String de variáveis e terminais String de variáveis e terminais.

32

Existe uma Máquina de Turing que resolve o problema da parada

H

HM

w

SIM M pára sobrew

Mnãopára sobre

wNÃO

Page 33: 1 Hierarquia de Chomsky. 2 Gramáticas Irrestritas: Produções String de variáveis e terminais String de variáveis e terminais.

33

H

wwM 0q

yq

nq

Entrada: conteúdo inicial da fita

Codificaçãode M w

String

SIM

NÃO

Máquina H

Page 34: 1 Hierarquia de Chomsky. 2 Gramáticas Irrestritas: Produções String de variáveis e terminais String de variáveis e terminais.

34

Construa uma máquina tal que:

Se retorna SIM então loop infinitoH

Se retorna NÃO então páraH

Page 35: 1 Hierarquia de Chomsky. 2 Gramáticas Irrestritas: Produções String de variáveis e terminais String de variáveis e terminais.

35

H

wwM 0q

yq

nq NÃO

aq bq

Loop infinito

SIM

Page 36: 1 Hierarquia de Chomsky. 2 Gramáticas Irrestritas: Produções String de variáveis e terminais String de variáveis e terminais.

36

HConstrua a máquina :

Entrada:

Se M pára para a entrada Mw

Então loop infinito

Senão pára

Mw (máquina )M

Page 37: 1 Hierarquia de Chomsky. 2 Gramáticas Irrestritas: Produções String de variáveis e terminais String de variáveis e terminais.

37

MwMM wwcopia

MwH

H

Page 38: 1 Hierarquia de Chomsky. 2 Gramáticas Irrestritas: Produções String de variáveis e terminais String de variáveis e terminais.

38

HExecute com ela própria como entrada:

Entrada:

Se pára para a entrada

Então loop infinito

Senão pára

Hw ˆ (máquina )H

H Hw ˆ

Page 39: 1 Hierarquia de Chomsky. 2 Gramáticas Irrestritas: Produções String de variáveis e terminais String de variáveis e terminais.

39

sobre a entrada H Hw ˆ

Se pára então entra em loop infinito

Se não pára então pára

H

H

NÃO FAZ SENTIDO!!!!!

Page 40: 1 Hierarquia de Chomsky. 2 Gramáticas Irrestritas: Produções String de variáveis e terminais String de variáveis e terminais.

40

Portanto, temos uma contradição

O Problema da Parada é não decidível

Fim da Prova

Page 41: 1 Hierarquia de Chomsky. 2 Gramáticas Irrestritas: Produções String de variáveis e terminais String de variáveis e terminais.

41

Outra prova do mesmo teorema:

Se o problema da parada fosse decidível entãotoda linguagem recursivamente enumerávelseria também recursiva

Page 42: 1 Hierarquia de Chomsky. 2 Gramáticas Irrestritas: Produções String de variáveis e terminais String de variáveis e terminais.

42

Teorema:

O problema da parada é não decidível

Prova: Suponha, por contradição, queo problema da parada seja decidível

Page 43: 1 Hierarquia de Chomsky. 2 Gramáticas Irrestritas: Produções String de variáveis e terminais String de variáveis e terminais.

43

Existe uma Máquina deTuringque resolve o problema da parada

H

HM

w

SIM M pára sobrew

Mnão pára sobre

wNÃO

Page 44: 1 Hierarquia de Chomsky. 2 Gramáticas Irrestritas: Produções String de variáveis e terminais String de variáveis e terminais.

44

Seja uma linguagem recursamente enumerável L

Seja uma Máquina de Turing que aceitaM L

Vamos provar que é também recursiva: L

vamos descrever uma máquina de Turing que aceita e pára para qualquer entradaL

Page 45: 1 Hierarquia de Chomsky. 2 Gramáticas Irrestritas: Produções String de variáveis e terminais String de variáveis e terminais.

45

Mpára sobre ?wSIM

NÃOM

w

Execute sobre

Mw

Hrejeita w

aceita w

rejeitaw

Máquina de Turing que aceitae pára para qualquer entrada

L

Pára em estado final

Pára em estadonão final

Page 46: 1 Hierarquia de Chomsky. 2 Gramáticas Irrestritas: Produções String de variáveis e terminais String de variáveis e terminais.

46

Portanto L seria recursiva

Mas já provamos que existem linguagensrecursivamente enumeráveis que não são recursivas

Contradição!!!!

Como foi escolhida arbitrariamente, provamos que toda linguagem recursivamenteenumerável é também recursiva

L

Page 47: 1 Hierarquia de Chomsky. 2 Gramáticas Irrestritas: Produções String de variáveis e terminais String de variáveis e terminais.

47

Portanto, o problema da parada é não decidível

Fim da Prova