Você está na página 1de 24

Computabilidade

Prof.: Edson Holanda


edsonholanda@gmail.com
Teoria da computao - Diverio e Menezes

O que os
computadores
podem fazer?

Objetivo do estudo da
solucionabilidade de
problemas
Investigar

a existncia ou no de
algoritmos que solucionem
determinada classe de
problemas.

Objetivo do estudo da
solucionabilidade de
problemas
Investigar

os limites da
computabilidade e,
conseqentemente, os limites do
que pode efetivamente ser
implementado em um
computador.

Abordagem
Concentra-se

nos problemas
com respostas binrias
(problemas sim/no ou
problemas de deciso).

Abordagem
A

vantagem: Um problema pode


ser tratada como a verificao
se determinada linguagem
recursiva, associando as
condies de ACEITA/REJEITA
de uma Mquina Universal.

Importante !
a

Classe dos Problemas


Solucionveis equivalente
Classe das Linguagens
Recursivas.

Problemas so nosolucionveis.
a)Equivalncia de Compiladores. No
existe algoritmo genrico que
sempre pare capaz de comparar
quaisquer dois compiladores de
linguagens livres do contexto como
PASCAL, verificando se so
equivalentes (se reconhecem a
mesma linguagem);

Problemas so nosolucionveis.

b) Detector Universal de Loops.


Dados um programa e uma entrada
quaisquer, no existe algoritmo
genrico capaz de verificar se o
programa vai parar ou no para a
entrada. Este problema
universalmente conhecido como
o Problema da Parada.

Alguns problemas nosolucionveis so


parcialmente
solucionveis

Existe um algoritmo capaz de


responder sim, embora,
eventualmente, possa ficar em
loop infinito para uma resposta
que deveria ser no.

problemas parcialmente
solucionveis so computveis.

Importante !
a

Classe dos Problemas


Parcialmente Solucionveis
equivalente Classe das
Linguagens Enumerveis
Recursivamente.

Classe dos Problemas:


Computveis NoComputveis

o cardinal da Classe dos


Problemas Computveis
contvel;

o cardinal da Classe dos


Problemas No-Computveis
no-contvel.

Princpio da Reduo

O estudo da solucionabilidade
de um problema feito na
investigao
da
solucionabilidade
de
um
problema a partir de outro, cuja
classe de solucionabilidade
conhecida.

Princpio da Reduo

Sejam A e B dois problemas de


deciso. Suponha que
possvel modificar (reduzir) o
problema A de tal forma que ele
se porta como um caso do
problema B;

Princpio da Reduo
a)

Se A no-solucionvel
(respectivamente,
nocomputvel), ento, como A
um caso de B, conclui-se que B
tambm no-solucionvel
(respectivamente,
nocomputvel);

Princpio da Reduo
b)

Se
B

solucionvel
(respectivamente, parcialmente
solucionvel), ento, como A
um caso de B, conclui-se que A
tambm

solucionvel
(respectivamente, parcialmente
solucionvel).

Princpio da Reduo
Problema A

Reduo de A

Problema B

Definio: Problema
Solucionvel
Um problema dito
Solucionvel se existe um
algoritmo (Mquina Universal)
que solucione o problema tal
que sempre pra para qualquer
entrada, com uma resposta
afirmativa (ACEITA) ou
negativa (REJEITA).

Observao:

Um problema Solucionvel
tambm chamado de Decidvel.

Definio: Problema NoSolucionvel

Um problema dito NoSolucionvel se no existe um


algoritmo (Mquina Universal)
que solucione o problema tal
que sempre pra para qualquer
entrada.

Observao:

Um problema No-Solucionvel
tambm chamado de
Indecidvel.

Definio: Problema
Parcialmente Solucionvel
ou Computvel
Um problema dito Parcialmente
Solucionvel ou Computvel se existe um
algoritmo (Mquina Universal) que
solucione o problema tal que pare
quando a resposta afirmativa (ACEITA).
Entretanto, quando a resposta esperada
for negativa, o algoritmo pode parar
(REJEITA) ou permanecer processando
indefinidamente (LOOP).

Definio: Problema
Completamente Insolvel ou
No-Computvel

Um problema dito
Completamente Insolvel ou
No-Computvel se no existe
um algoritmo (Mquina
Universal) que solucione o
problema tal que pare quando a
resposta afirmativa (ACEITA).

Classe de Problemas
Universo de Todos os Problemas

Solucionveis

No-Solucionveis

Parcialmente
Solucionveis

Completamente
Insolveis

Computveis

No-Computveis