You are on page 1of 10

Capa

SUMARIO




















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. (Tabela 1)























4. 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.
A abordagem apresentada 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 s classes das linguagens 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.
4.1 .Classe de problemas computveis.


Um problema dito Solucionvel ou Totalmente Solucionvel se existe um
algoritmo que solucione o problema tal que sempre para, para qualquer entrada,
com uma resposta afirmativa (ACEITA) ou negativa (REJEITA).
Um problema que dito No-Solucionvel se no existe um algoritmo que
solucione o problema tal que sempre para, para qualquer entrada.
Um problema dito Parcialmente Solucionvel ou Computvel se existe um
algoritmo 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 infindamente (LOOP).



4.2 .Classe de problemas no computveis.

Um problema dito Completamente Insolvel ou No Computvel se no existe
um algoritmo que solucione o problema tal que pare quando a resposta
afirmativa (ACEITA).
importante observar que alguns problemas no solucionveis so parcialmente
solucionveis.
Para qualquer algoritmo que solucione um problema parcialmente solucionvel
que no no solucionvel, sempre existe pelo menos uma palavra de entrada
que faz com que o algoritmo fique em loop.














5. A mquina de Turing

Alan Turing OBE (23 de Junho de 1912 7 de Junho de 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).
















Exemplos dos problemas
Problemas de deciso.











Figura 1 Maquina de Turing


Figura 2 Relao entre classe dos problemas



Tabela 1 Teoria de autmatos: linguagem formal e gramaticas formal (Hierarquia de
Chomsky)

Referencias:

http://www.mat.ufrgs.br/~portosil/resucomp.html - 20/06/2013 - 19:42h