Post on 07-Apr-2016
1
Redução
2
Problema é redutível ao problemaA B
Se, quando podemos resolver o problema , então podemos também resolver o problema
BA
BA
3
Se é não decidível então é não decidível
Se é decidível então é decidívelB A
A B
Problema é redutível ao problemaA B
4
Exemplo: o problema da parada
é redutível ao
problema de entrada em um estado
5
Problema de entrada em um estadoEntradas: MMáquina de
TuringEstado q
Questão: M
String w
entra no estado
qquando executa sobre ?w
6
Teorema:O problema de entrada em um estado é não decidível
Prova:Reduza o problema da parada aoproblema de entrada em um estado
7
Suponha que temos um algoritmo (MT)que resolve o problema de entrada em um estado
Vamos construir um algoritmoque resolve o problema da parada
8
Algoritmo para o problema deentrada em um dado estado
Mw
q
SIM
NÃO
entraM q
não entraM q
Suponha que temos um algoritmo que resolveo problema de entrada em um estado:
9
Algoritmo para o problema da parada
M
w
SIM
NÃO
pára sobreM w
não pára sobreM w
Queremos projetar um algoritmo:
10
Modifique a máquina de entrada :M•Adicione um novo estadoq•A partir de qualquer estado de parada adicione transições para q
M q
estados de paradaestado de parada único
M
11
M pára
M pára entra no estadoq
se e soment
e se
12
máquina e string
Algoritmo para o problema da parada:
Entradas: M w
1. Construa a máquina com estadoM q
2. Execute o algoritmo para o problema de entrada em um estado, com as entradas: , ,M wq
,
13
GeraM M
w
M qw
algorimo p/entrada em estado
Algoritmo para o problema da parada
SIM
NÃO
SIM
NÃO
14
Como o problema da parada é não decidível,então o problema de entrada em estadoé também não decidível
Fim da Prova
Reduzimos o problema da parada aoproblema de entrada em um estado
15
Outro exemplo:
o problema da parada
é redutível ao
problema da parada com a fita em branco
16
O problema da parada com a fita em branco
Entrada: MMáquina de Turing
Questão: Mpára quando executadatendo como entrada a fita em branco?
17
Teorema:
Prova:Reduza o problema da parada aoproblema da parada com a fita em branco
O problema da parada com a fita em brancoé não decidível
18
Suponha que temos um algoritmo parao problema da parada com a fita em branco
Vamos construir um algoritmopara o problema da parada
19
Algoritmo para parada com a fita em branco
M
SIM
NÃO
pára sobrea fita em brancoM
não pára sobrea fita em brancoM
Suponha que temos um algoritmo parao problema da parada com a fita em branco:
20
Algoritmo para o problema da parada
M
w
SIM
NÃO
pára sobreM w
não pára sobreM w
Queremos projetar um algoritmo pararesolver o problema da parada:
21
wMConstrua uma nova máquina
• Sobre a fita escreva w
• Então continue a execução comoM
wM
Mentão escreva w
passo 1 passo 2se fita em branco execut
ecom entradaw
22
M pára sobre a entrada
wM pára quando executada com a fita em branco
se e
somente se
w
23
Algoritmo para o problema da parada:
1. Construa wM
2. Execute o algoritmo para o problema da parada com a fita em branco com entrada wM
máquina e stringEntradas: M w
24
GerawM
Mw
algoritmo p/parada comfita em branco
Algoritmo para o problema da parada
SIM
NÃOwM
SIM
NÃO
25
Como o problema da parada é não decidível,o problema da parada com a fita em branco é também não decidível
Fim da Prova
Reduzimos o problema da parada ao problema da parada com fita em branco
26
Máquina pára sobre a entrada ?
Resumo de Problemas Não DecidíveisProblema da Parada:
M w
Problema de pertinência:
O string é elemento de uma linguagemrecursivamente enumerável ? L
w
Máquina aceita o string ?M w
Em outras palavras:
27
Máquina entra em um estado quando executada sobre a entrada ?
Máquina pára quando executadasobre a fita em branco?
Problema da parada com a fita em branco:M
Problema de entrada em um dado estado:M
wq
O string vazio é elemento de uma linguagemrecursivamente enumerável ?
Em outras palavras:L
28
Funções Não Computáveis
29
Funções Não Computáveis
Uma função é não computável se ela nãopode ser computada para todo o seu domínio
Domínio Contra-domínio
f
30
Uma função não computável:
)(nf
número máximo de passos até queuma máquina de Turing com estadospáre quando executada sobre a fita em branco
n
31
Teorema:A função é não computável)(nf
Prova:
Então o problema da parada para a fita em branco é decidível
Suponha, por contradição, que seja computável)(nf
32
Algoritmo para a parada com fita em branco:Entrada: máquina M
1. Conte os estados de : M m
2. Compute )(mf
3. Simule por passos começando com a fita em branco
M )(mf
Se pára enão retorne SIM caso contrário retorne NÃO
M
33
Portanto, o problema da parada com fitaem branco é decidível
Entretanto, já provamos que o problemada parada com fita em branco énão decidível
Contradição!!!
34
Portanto, a função é não computável)(nf
Fim da Prova
35
Teorema de Rice
36
Propriedades não triviais de linguagens recursivamente enumeráveis:
qualquer propriedade de alguma (não todas)as linguagens recursivamente enumeráveis
Definição:
37
Algumas propriedades não triviais de linguagens recursivamente enumeráveis:
• é vaziaL
L• é finita
L• contém dois strings diferentes com o mesmo comprimento
38
Teorema de Rice:
Qualquer propriedade não trivial de uma linguagem recursivamente enumerávelé não decidível
39
Vamos provar para algumas propriedades não triviais, sem usar o teorema de Rice
40
Teorema:Para qualquer linguagem recursivamente enumerável Lnão é decidível determinar se é vaziaL
Prova:Vamos reduzir o problema de pertinênciaa este problema
41
Algoritmo parao problema dalinguagem vazia
M
SIM
NO
Suponha que temos um algoritmo para o problema da linguagem vazia:
Seja uma máquina que aceita M L
)(ML
)(ML
vazia
não vazia
LML )(
42
Algoritmo parao problema depertinência
M
w
SIM
NÃO
aceitaM w
rejeitaM w
Vamos construir um algoritmo para o problema de pertinência:
43
Primeiro construa a máquina : wM
Quando entra em um estado final, compare a entrada original comw
M
Aceite se a entrada original éigual ao string w
44
Lw
)( wML é não vazia
se e somente se
}{)( wML w
45
Algoritmo para o problema de pertinência:
Entradas: máquina e string M w
1. Construa wM
2. Determine se é vazia )( wML
SIM: então )(MLw
NÃO: então )(MLw
46
construa
wM
verifique se)( wML
é vazia
SIM
NÃO
M
w
NÃO
SIM
Algoritmo de pertinência
wM
Fim da Prova