1 redução. 2 problema é redutível ao problema se, quando podemos resolver o problema, então...

46
1 Redução

Upload: joaovictor-parras

Post on 07-Apr-2016

224 views

Category:

Documents


2 download

TRANSCRIPT

Page 1: 1 Redução. 2 Problema é redutível ao problema Se, quando podemos resolver o problema, então podemos também resolver o problema

1

Redução

Page 2: 1 Redução. 2 Problema é redutível ao problema Se, quando podemos resolver o problema, então podemos também resolver o problema

2

Problema é redutível ao problemaA B

Se, quando podemos resolver o problema , então podemos também resolver o problema

BA

BA

Page 3: 1 Redução. 2 Problema é redutível ao problema Se, quando podemos resolver o problema, então podemos também resolver o problema

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

Page 4: 1 Redução. 2 Problema é redutível ao problema Se, quando podemos resolver o problema, então podemos também resolver o problema

4

Exemplo: o problema da parada

é redutível ao

problema de entrada em um estado

Page 5: 1 Redução. 2 Problema é redutível ao problema Se, quando podemos resolver o problema, então podemos também resolver o problema

5

Problema de entrada em um estadoEntradas: MMáquina de

TuringEstado q

Questão: M

String w

entra no estado

qquando executa sobre ?w

Page 6: 1 Redução. 2 Problema é redutível ao problema Se, quando podemos resolver o problema, então podemos também resolver o problema

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

Page 7: 1 Redução. 2 Problema é redutível ao problema Se, quando podemos resolver o problema, então podemos também resolver o problema

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

Page 8: 1 Redução. 2 Problema é redutível ao problema Se, quando podemos resolver o problema, então podemos também resolver o problema

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:

Page 9: 1 Redução. 2 Problema é redutível ao problema Se, quando podemos resolver o problema, então podemos também resolver o problema

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:

Page 10: 1 Redução. 2 Problema é redutível ao problema Se, quando podemos resolver o problema, então podemos também resolver o problema

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

Page 11: 1 Redução. 2 Problema é redutível ao problema Se, quando podemos resolver o problema, então podemos também resolver o problema

11

M pára

M pára entra no estadoq

se e soment

e se

Page 12: 1 Redução. 2 Problema é redutível ao problema Se, quando podemos resolver o problema, então podemos também resolver o problema

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

,

Page 13: 1 Redução. 2 Problema é redutível ao problema Se, quando podemos resolver o problema, então podemos também resolver o problema

13

GeraM M

w

M qw

algorimo p/entrada em estado

Algoritmo para o problema da parada

SIM

NÃO

SIM

NÃO

Page 14: 1 Redução. 2 Problema é redutível ao problema Se, quando podemos resolver o problema, então podemos também resolver o problema

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

Page 15: 1 Redução. 2 Problema é redutível ao problema Se, quando podemos resolver o problema, então podemos também resolver o problema

15

Outro exemplo:

o problema da parada

é redutível ao

problema da parada com a fita em branco

Page 16: 1 Redução. 2 Problema é redutível ao problema Se, quando podemos resolver o problema, então podemos também resolver o problema

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?

Page 17: 1 Redução. 2 Problema é redutível ao problema Se, quando podemos resolver o problema, então podemos também resolver o problema

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

Page 18: 1 Redução. 2 Problema é redutível ao problema Se, quando podemos resolver o problema, então podemos também resolver o problema

18

Suponha que temos um algoritmo parao problema da parada com a fita em branco

Vamos construir um algoritmopara o problema da parada

Page 19: 1 Redução. 2 Problema é redutível ao problema Se, quando podemos resolver o problema, então podemos também resolver o problema

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:

Page 20: 1 Redução. 2 Problema é redutível ao problema Se, quando podemos resolver o problema, então podemos também resolver o problema

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:

Page 21: 1 Redução. 2 Problema é redutível ao problema Se, quando podemos resolver o problema, então podemos também resolver o problema

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

Page 22: 1 Redução. 2 Problema é redutível ao problema Se, quando podemos resolver o problema, então podemos também resolver o problema

22

M pára sobre a entrada

wM pára quando executada com a fita em branco

se e

somente se

w

Page 23: 1 Redução. 2 Problema é redutível ao problema Se, quando podemos resolver o problema, então podemos também resolver o problema

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

Page 24: 1 Redução. 2 Problema é redutível ao problema Se, quando podemos resolver o problema, então podemos também resolver o problema

24

GerawM

Mw

algoritmo p/parada comfita em branco

Algoritmo para o problema da parada

SIM

NÃOwM

SIM

NÃO

Page 25: 1 Redução. 2 Problema é redutível ao problema Se, quando podemos resolver o problema, então podemos também resolver o problema

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

Page 26: 1 Redução. 2 Problema é redutível ao problema Se, quando podemos resolver o problema, então podemos também resolver o problema

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:

Page 27: 1 Redução. 2 Problema é redutível ao problema Se, quando podemos resolver o problema, então podemos também resolver o problema

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

Page 28: 1 Redução. 2 Problema é redutível ao problema Se, quando podemos resolver o problema, então podemos também resolver o problema

28

Funções Não Computáveis

Page 29: 1 Redução. 2 Problema é redutível ao problema Se, quando podemos resolver o problema, então podemos também resolver o problema

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

Page 30: 1 Redução. 2 Problema é redutível ao problema Se, quando podemos resolver o problema, então podemos também resolver o problema

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

Page 31: 1 Redução. 2 Problema é redutível ao problema Se, quando podemos resolver o problema, então podemos também resolver o problema

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

Page 32: 1 Redução. 2 Problema é redutível ao problema Se, quando podemos resolver o problema, então podemos também resolver o problema

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

Page 33: 1 Redução. 2 Problema é redutível ao problema Se, quando podemos resolver o problema, então podemos também resolver o problema

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!!!

Page 34: 1 Redução. 2 Problema é redutível ao problema Se, quando podemos resolver o problema, então podemos também resolver o problema

34

Portanto, a função é não computável)(nf

Fim da Prova

Page 35: 1 Redução. 2 Problema é redutível ao problema Se, quando podemos resolver o problema, então podemos também resolver o problema

35

Teorema de Rice

Page 36: 1 Redução. 2 Problema é redutível ao problema Se, quando podemos resolver o problema, então podemos também resolver o problema

36

Propriedades não triviais de linguagens recursivamente enumeráveis:

qualquer propriedade de alguma (não todas)as linguagens recursivamente enumeráveis

Definição:

Page 37: 1 Redução. 2 Problema é redutível ao problema Se, quando podemos resolver o problema, então podemos também resolver o problema

37

Algumas propriedades não triviais de linguagens recursivamente enumeráveis:

• é vaziaL

L• é finita

L• contém dois strings diferentes com o mesmo comprimento

Page 38: 1 Redução. 2 Problema é redutível ao problema Se, quando podemos resolver o problema, então podemos também resolver o problema

38

Teorema de Rice:

Qualquer propriedade não trivial de uma linguagem recursivamente enumerávelé não decidível

Page 39: 1 Redução. 2 Problema é redutível ao problema Se, quando podemos resolver o problema, então podemos também resolver o problema

39

Vamos provar para algumas propriedades não triviais, sem usar o teorema de Rice

Page 40: 1 Redução. 2 Problema é redutível ao problema Se, quando podemos resolver o problema, então podemos também resolver o problema

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

Page 41: 1 Redução. 2 Problema é redutível ao problema Se, quando podemos resolver o problema, então podemos também resolver o 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 )(

Page 42: 1 Redução. 2 Problema é redutível ao problema Se, quando podemos resolver o problema, então podemos também resolver o problema

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:

Page 43: 1 Redução. 2 Problema é redutível ao problema Se, quando podemos resolver o problema, então podemos também resolver o problema

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

Page 44: 1 Redução. 2 Problema é redutível ao problema Se, quando podemos resolver o problema, então podemos também resolver o problema

44

Lw

)( wML é não vazia

se e somente se

}{)( wML w

Page 45: 1 Redução. 2 Problema é redutível ao problema Se, quando podemos resolver o problema, então podemos também resolver o problema

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

Page 46: 1 Redução. 2 Problema é redutível ao problema Se, quando podemos resolver o problema, então podemos também resolver o problema

46

construa

wM

verifique se)( wML

é vazia

SIM

NÃO

M

w

NÃO

SIM

Algoritmo de pertinência

wM

Fim da Prova