1
Hierarquia de Chomsky
2
Gramáticas Irrestritas:
Produçõesvu
String de variáveise terminais
String de variáveise terminais
3
Exemplo de gramática irrestrita:
dAc
cAaB
aBcS
4
Uma linguagem é recursivamente enumerávelse e somente se existe uma gramática irrestrita que gera
L
L
Teorema:
5
Gramáticas Sensíveis ao Contexto:
e: |||| vu
Produçõesvu
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
|
|
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
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)
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 ?
10
Exemplos de linguagens aceitas por LBAs:
}{ nnn cbaL
}{ !naL
LBAs têm mais poder computacional que NPDAs
Conclusão:
11
Vamos provar mais adiante:
LBA’s têm menos poder computacionalque Máquinas de Turing
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:
13
Não Recursivamente Enumerável
Recursivamente Enumerável
Recursiva
Sensível ao Contexto
Livre de Contexto
Regular
Hierarquia de Chomsky
14
Decidibilidade
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
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
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
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
19
SIM
NÃO
Máquina de Turing que decide um problema
estados SiM e NÃO são estados de parada
20
Existem problemas não decidíveis:
Problema tal que não existe uma MTque decida todas as instâncias do problema
21
Um problema não decidível simples:
O problema de pertinência
22
O Problema de Pertinência
Entrada: Máquina de Turing M
String w
Questão: aceita ? M w
23
Teorema:
O problema de pertinência não é decidível
Prova:Suponha, por contradição, queo problema de pertinência seja decidível
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
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
26
M aceita ?wNÃO
SIMM
w
Haceitaw
Máquina de Turing que aceitae pára para qualquer entrada
L
rejeitaw
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
28
Portanto, o problema de pertinêncianão é decidível
Fim da Prova
29
Um famoso problema não decidível:
O Problema da Parada
30
O Problema da Parada
Entrada: Máquina de TuringM
String w
Questão: pára sobre ? M w
31
Teorema:
O problema da parada é não decidível
Prova: Suponha, por contradição, queo problema da parada seja decidível
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
33
H
wwM 0q
yq
nq
Entrada: conteúdo inicial da fita
Codificaçãode M w
String
SIM
NÃO
Máquina H
34
Construa uma máquina tal que:
Se retorna SIM então loop infinitoH
Se retorna NÃO então páraH
35
H
wwM 0q
yq
nq NÃO
aq bq
Loop infinito
SIM
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
37
MwMM wwcopia
MwH
H
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 ˆ
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!!!!!
40
Portanto, temos uma contradição
O Problema da Parada é não decidível
Fim da Prova
41
Outra prova do mesmo teorema:
Se o problema da parada fosse decidível entãotoda linguagem recursivamente enumerávelseria também recursiva
42
Teorema:
O problema da parada é não decidível
Prova: Suponha, por contradição, queo problema da parada seja decidível
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
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
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
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
47
Portanto, o problema da parada é não decidível
Fim da Prova
Top Related