Vous êtes sur la page 1sur 13

1

UNIVERSIDADE PRESIDENTE ANTNIO CARLOS UNIPAC

DCIO QUINTO
HUGO RUCCE
ITAMARA RAMONY
KSSIO RULPERTH
MARCOS THLIO

PROBLEMAS NO-COMPUTVEIS

IPATINGA
2013

SUMRIO

SUMRIO ...................................................................................................................... 2
1. Introduo ................................................................................................................... 3
2. O que um problema? ............................................................................................... 4
3. Linguagens ................................................................................................................. 5
4. A Mquina de Turing.................................................................................................. 6
5. Computabilidade ........................................................................................................ 7
5.1 Classes de Solucionabilidade de Problemas ....................................................... 8
5.2 Problemas de Deciso ........................................................................................... 9
6. Concluso ................................................................................................................. 11
7. Lista de ilustraes ................................................................................................... 12
8. Referencias: .............................................................................................................. 13

1. INTRODUO

Com este trabalho, pretendemos mostrar o conceito de problemas no-computveis.


Em seu conceito antigo, problemas no-computveis so aqueles que no podem ser
calculados por nenhum algoritmo matemtico. Muitos matemticos discutiam entre si, o que
poderia ser computvel e o que no poderia (no computvel). Atravs da computabilidade,
falaremos sobre os problemas e suas classes.
Em meados de 1900, matemticos excntricos desafiavam suas invenes e a de seus
colegas, propondo testes e mais testes, onde a maioria s se concretizou anos depois. Assim,
dessa forma, foram expostas teses e teorias, onde ajudaram a evoluo de mtodos
matemticos e computacionais para clculos e classificao dos problemas.
Porm precisamos falar um pouco sobre Alan Turing, um matemtico, influente no
desenvolvimento da cincia da computao que proporcionou uma formalizao do conceito
de algoritmo e computao com a mquina de Turing. Entre outros matemticos, est David
Hilbert, com notveis trabalhos e estudos. Devemos a ele principalmente a lista de 23
problemas, alguns dos quais no foram resolvidos at hoje, apresentada em 1900 no
Congresso Internacional de Matemticos em Paris.
Houve a poca muito antes da existncia dos computadores que conhecemos hoje, que
nada mais serviam alm de fazer clculos. Foi nessa poca, quando o computador ainda tinha
seu conceito original, que foram resolvidos inmeros problemas. Era muito mais prtico criar
um algoritmo para resolver os problemas, porem nem todos so possveis de resolver. Da
ento os problemas no-computveis: aqueles para os quais no existe um algoritmo que os
resolvam, isto , no h forma de conseguir que o computador o resolva, de forma terica.

2. O QUE UM PROBLEMA?

Definio de problema: Qualquer situao a ser resolvida por uma sequncia de


aes a ser executada, para atingir um objetivo, onde a situao o estado inicial e o objeto
o estado final desejado.
Transformar um problema de raciocnio de um agente diretamente em um problema de
navegao num espao de estados, no qual, a partir de um estado inicial, um agente pode
buscar uma sequncia de aes que conduzem ao estados final desejado. A soluo tima a
sequncia de aes que leva o estado inicial ao final com o menor custo.
Primeiramente precisamos formular o problema onde o objetivo o estado final que
satisfaz o agente. Temos tambm o estado inicial, a funo de transio (conjunto de pares
estado-ao), teste de objetivo (condio que determina se o estado final foi atingido) e o
custo. O espao de estados definido implicitamente pelo estado inicial juntamente com
todos os estados alcanveis atravs da funo de transio. A soluo o conjunto de
caminhos reais que so solues no mundo real para o problema. O espao de estados
derivado da formulao do problema impacta na eficincia de busca da soluo.
Uma vez que o problema est bem formulado, usa-se um mtodo de busca para
encontrar o estado final desejado. Problemas matemticos podem ter soluo ou no, e
algumas vezes, podem possuir diversas solues. Muitos problemas esto em aberto, ou seja,
sem soluo conhecida.

3. LINGUAGENS

Todo problema computacional pode ser tratado como um problema de linguagens.


Linguagem de computador uma coleo de cadeias de smbolos, de comprimento finito.
Estas cadeias so denominadas sentenas de linguagem e so formadas pela justaposio de
elementos individuais ou smbolos. A linguagem de um computador baseada em impulsos
eltricos (desligado (0) e ligado (1)).
Na teoria da cincia da computao e teoria formal de linguagem, uma linguagem
regular uma linguagem formal que pode ser expressa usando expresses regulares. As
linguagens formais so mecanismos para representao e especificao de linguagens baseado
na teoria da computao. (Figura 3)

4. A MQUINA DE TURING

Alan Turing OBE (1912-1954) foi um matemtico, lgico, criptoanalista e cientista da


computao britnico. Foi influente no desenvolvimento da cincia da computao e
proporcionou uma formalizao do conceito de algoritmo e computao com a mquina que
ele criou, desempenhando um papel importante na criao do moderno computador.
Concebido pelo matemtico, a mquina de Turing um dispositivo terico conhecido
como mquina mundial, muitos anos antes de existirem os modernos computadores digitais
Num sentido preciso, um modelo abstrato de um computador, que se restringe apenas aos
aspectos lgicos do seu funcionamento (memria, estados e transies) e no sua
implementao fsica. Numa mquina de Turing pode-se modelar qualquer computador
digital.
A Mquina Universal de Turing, pode, teoricamente, fazer clculos de qualquer
nmero ou funo de acordo com instrues adequadas e tem como funo decidir se um
problema computvel, ou seja, se ele pode ser resolvido a partir de elementos de seu
domnio de definio. Se no for, a mquina no para de funcionar e no se pode afirmar se o
problema tem ou no soluo, mas sim que ele no-computvel. A base do funcionamento
da mquina de Turing feita atravs da escrita e leitura de smbolos, onde uma cabea de
leitura e gravao que se movimenta junto a uma fita sem fim, configurando-a em um
dispositivo com memria infinita. (Figura 1)
Qualquer processo aceito por ns homens como um
algoritmo precisamente o que uma mquina de
Turing pode fazer (Alonzo Church, matemtico).

5. COMPUTABILIDADE

Entendendo o conceito de computabilidade como tudo que pode ser realizado por
computador a discusso a respeito deste tema fundamental aos estudantes de Cincia da
Computao. A Computabilidade vem mostrar ao profissional em formao dois importantes
resultados (negativos) com relao ao computador. O primeiro resultado consequncia do
trabalho de Gdel, e consiste na constatao de que nem tudo se pode resolver atravs do
computador. O segundo resultado negativo, abordado por Turing, onde ele aponta a
impossibilidade de caracterizar a classe de problemas computveis.
Informalmente, poderamos dizer que sabemos que existem problemas no resolvveis
atravs de computadores, mas no sabemos exatamente quais so. atravs do estudo da
Computabilidade que se adquire pleno conhecimento da real capacidade dos computadores, e
passa a lidar com seu instrumento de trabalho de maneira realstica, sem mitos. Problemas
computacionais tem como objetivo a construo de algoritmos. Estes podem ser numricos,
simblicos, (exemplo: algbricos) ou grficos. Casualmente, pode-se querer que o algoritmo
seja apresentado na forma de uma calculadora ou na forma de um programa para
computadores.
Um exemplo de problema computacional seria criar um algoritmo para calcular a
soma dos algarismos de 1 a 100.000 e cuja soma dos dgitos seja igual a 16. Exemplos como
este, so publicado em revistas cientificas, como a Computacin y Matemtica, publicada pela
Fundacin Olimpada Matemtica Argentina.
Investigar os limites da computabilidade foca-se nos problemas com respostas binarias
do tipo sim ou no, conhecidos como problemas de deciso. A facilidade de tal abordagem
que a verificao da solucionabilidade de um problema pode ser tratada como a verificao de
determinada linguagem recursiva, associando as condies ACEITA/REJEITA de uma
maquina universal s respostas sim/no. Em consequncia, tem-se que a classe dois
problemas solucionveis equivalente classe das linguagem recursivas. Na prtica, qualquer
problema importante e interessante para a cincia da computao, bem como para as cincias
em geral, so no solucionveis. So exemplos de problemas no-solucionveis de
fundamental importncia para a cincia da Computao:

a)

Equivalncia de Compiladores: No existe um algoritmo especfico que sempre pare

capaz de comparar quaisquer dois compiladores de linguagens livres do contexto, como


Pascal, e verificar se no equivalentes, ou seja, de fato, reconhecem a mesma linguagem;
b)

Detector Universal de Loops: Dados um programa e uma entrada quaisquer, no existe

um algoritmo especfico capaz de verificar se o programa vai parar ou no para a entrada. Este
problema universalmente conhecido como o Problema da Parada.
interessante comparar o cardinal da Classe dos problemas computveis com o
cardinal dos problemas no-computveis com, pois tal relao fornece uma noo de
grandeza. Segundo Menezes (Teoria da Computao, p.167), computveis contvel, nocomputveis no contvel. Informalmente pode dizer que, o conjunto da classe dos
problemas no-computveis muito maior do que a classe dos problemas computveis.
O processo de busca da soluo de um problema chamado de solucionabilidade.
O estudo da solucionabilidade de um problema feito, em geral, usando o Princpio da
Reduo, o qual consiste, basicamente, na investigao da solucionabilidade de um problema
a partir de outro, cuja classe de solucionabilidade conhecida. O princpio da reduo pode
ser resumido da seguinte forma:
a)

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;


b)

Se A no-solucionvel (respectivamente, no-computvel), ento, como A um caso

de B, conclui-se que B tambm no-solucionvel (respectivamente, no-computvel);


c)

Se B solucionvel (respectivamente, parcialmente solucionvel) ento, como A um

caso de B, conclui-se que A tambm solucionvel (respectivamente, parcialmente


solucionvel).

5.1 Classes de Solucionabilidade de Problemas

O conjunto de todos os problemas pode ser particionado de diversas formas. Uma


maneira consiste nas duas Classes, induzidas pelas definies que seguem.
- Problema Solucionvel.
Um problema dito Solucionvel ou Totalmente 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).
- Problema No-Solucionvel.

Um problema dito No-Solucionvel se no existe um algoritmo (Mquina


Universal) que solucione o problema tal que sempre pra para qualquer entrada.
Outra maneira de se particionar o conjunto de todos os problemas, consiste nas duas induzidas
pela definio que segue.
- 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).
- 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).
importante observar que alguns problemas no-solucionveis so parcialmente
solucionveis. Relativamente ao relacionamento das classes de problemas, as seguintes
concluses podem ser estabelecidas:
a Classe dos Parcialmente Solucionveis contm propriamente a Classe dos Solucionveis e
parte da Classe dos No-Solucionveis;
todo problema solucionvel parcialmente solucionvel;
existem problemas no-solucionveis que possuem soluo parcial;
os problemas completamente insolveis no possuem soluo total nem parcial.
Para qualquer algoritmo que solucione um problema parcialmente solucionvel que
no-solucionvel, sempre existe pelo menos uma palavra de entrada que faz com que o
algoritmo fique em loop.

5.2 Problemas de Deciso

A ideia bsica de tratar alguns problemas de deciso do tipo sim/no, verificar se a


funo associada a eles ou no computvel em uma Mquina Universal, um dispositivo mais
geral da computao, se a soluo de um problema no puder ser expressa por um Mquina
universal, ento tal problema completamente insolvel.
A princpio de um problema de deciso dada pela seguinte ideia: dado um programa
P para uma mquina universal M, decidir se a funo computada (P,M) total (ou seja, se a
correspondente computao finita).

10

Assim, no-solucionabilidade refere-se inexistncia de um mtodo geral e efetivo


para decidir se um programa para uma mquina universal pra para qualquer entrada. E
importante reparar que o que est sendo discutido so mtodos gerais. Portanto,
perfeitamente possvel existir mtodos especficos para programas particulares.
A existncia de problemas no-solucionveis importante por diversas razes como,
por exemplo:
alguns desses problemas no-solucionveis permitem estabelecer, por si ss, importantes
resultados para a Cincia da Computao (como a inexistncia de um detetor universal de
loops referenciado anteriormente);
demonstrar limitaes da capacidade de expressar-se solues atravs de programas.
Adicionalmente, a existncia de um problema no-solucionvel pode ser usada para
verificar que outros problemas tambm o so. Isso possvel, usando o princpio da reduo,
o qual consiste em "reduzir" o problema que se est investigando em outro problema que j se
saiba ser no-solucionvel.
A investigao da solucionabilidade de problemas em mquinas universais pode ser
vista como um problema de reconhecimento de linguagens que segue o esquema abaixo:
a) O problema reescrito como um problema de deciso, capaz de gerar respostas do tipo
afirmativo/negativo (sim/no). Esta redefinio simples para a maioria dos problemas
gerais;
b) Os argumentos do problema sim/no so codificados como palavras de um alfabeto,
gerando uma linguagem.
Assim, a questo da solucionabilidade de um problema pode ser traduzida como uma
investigao se a linguagem gerada recursiva (problema solucionvel) ou enumervel
recursivamente (problema parcialmente solucionvel).

11

6. CONCLUSO

A rea de Estudos da Computabilidade motivada pelas descobertas de certos


problemas (os chamados no computveis) que no podem ser solucionados pelo
computador. Ao longo dos anos, vrias propostas foram feitas na tentativa de caracterizar a
classe de problemas. Algumas tentativas datam de 1930, antes mesmo do surgimento do
primeiro computador, e visavam, na verdade, caracterizar a classe de problemas cabveis de
serem resolvidos em um sistema formal. Outras, algumas vezes focando o mecanismo
humano de computar, procuravam representar, atravs de uma mquina idealizada, o
processo humano. At o presente momento h controvrsias sobre a possibilidade de provar
formalmente que alguma dessas tentativas tenha realmente caracterizado a classe dos
problemas computveis, mas surpreendente o fato de muitas das tentativas bem-sucedidas,
concretas ou abstratas, anteriores ou posteriores inveno do computador, terem sido
provadas equivalentes.
O que move no s a Cincia da Computao, mas todas as cincias, so as pesquisas.
Logo, havendo problemas que no tm soluo, h um incentivo a estarmos buscando
suas respectivas solues.
Mas, assim como em qualquer outra cincia, descobrir algo apenas o comeo de
tudo, afinal, j dizia Carina Machado, No so as respostas que movem o mundo, e sim as
perguntas...

12

7. LISTA DE ILUSTRAES

Figura 1 Maquina de Turing

Figura 2 Relao entre classe dos problemas

Figura 3 Teoria de autmatos: linguagem formal e gramaticas formal (Hierarquia de


Chomsky)

13

8. REFERENCIAS:
Wikipdia: A Enciclopdia livre. Disponvel em <http://pt.wikipedia.org/>
Acesso em: junho de 2013.
HOPCROFT, John E;MOTWANI, Rajeev; ULLMAN, Jefrey D. Introduo teoria de
autmatos, linguagens e computao. Rio de
Janeiro: Elsevier, 2002.
DIVERIO, Tiaraju Asmuz; MENEZES, Paulo Blauth. Teoria da Computao: Maquinas
Universais e Computabilidade. Sagra Luzzatto, 2003.
http://www.mat.ufrgs.br/~portosil/resucomp.html - 20/06/2013 - 19:42h
Mquinas de Turing em Princeton, disponvel em
http://introcs.cs.princeton.edu/java/74turing, acesso em junho de 2013.

Vous aimerez peut-être aussi