Você está na página 1de 4

Grupo: Hugo Imperiano Nóbrega 10711467

Lucas Lucena Gambiarra 10711005

Decidibilidade

01 Questão.

Procedimentos. Vamos definir um procedimento como sendo uma sequência


finita de instruções, e definir instrução como uma operação claramente
descrita, que pode ser executada mecanicamente, em tempo finito.
• "mecanicamente" quer dizer que não há dúvidas sobre o que deve ser feito;
• "em tempo finito" quer dizer que não há dúvidas de que a tarefa
correspondente à instrução pode, em qualquer caso, ser levada até sua
conclusão.
Para descrever um procedimento podemos usar uma linguagem natural, uma
linguagem de programação, ou a linguagem normalmente usada em
matemática. Frequentemente, usamos uma mistura de todas estas.(lf2 2-2). A
definição de procedimento, dada acima, exigimos que cada instrução possa ser
executada em tempo finito, mas não exigimos nada de semelhante para os
procedimentos. Isso significa, em particular, que não poderíamos usar como
instrução em algum outro procedimento uma chamada do procedimento do
exemplo acima, uma vez que não podemos garantir sua parada em tempo
finito, para qualquer valor da entrada. Algoritmo. Definimos um algoritmo
como sendo um procedimento que sempre pára sejam quais forem os valores
de suas entradas. Logo é um caso especial de procedimentos.

02 Questão.
Perguntas como “Qual a menor distância total acumulada para um trajeto entre
Cajazeiras e Corumbá” podem ser convertidas em perguntas decisórias como
“A distância x do trajeto A entre Cajazeiras e Corumbá é menor que a
distancia y do trajeto B entre Cajazeiras e Corumbá?”, onde podemos
responder sim ou não para todos os trajetos. Respondendo essa pergunta para
todos os trajetos pertencente ao conjunto dos trajetos, acharemos um trajeto X
tal que sua distancia x é menor que todas as distancias y dos trajetos Y. Dessa
forma precisa-se apenas provar que a pergunta/condição é uma proposição
para todo o conjunto de trajetos.

Conclusão:
Livros e artigos fazem suas provas sobre problemas em versão decisória
devido ao fato de nem todos os problemas possuírem um numero finito de
instâncias, tornando inviável a solução através da versão quantitativa. Porém
substituindo por uma versão decisória pode-se usar indução para chegar a uma
reposta.

03_ Os problemas de decisão são problemas de determinar se um


determinado elemento de algum universo pertence ou não a um determinado
conjunto (ou equivalentemente, se satisfaz uma determinada propriedade). Se
existir um algoritmo que receba como entrada um elemento x e retorne como
saída 'sim', caso x pertença ao conjunto A, ou 'não', caso contrário, então diz-
se que o problema de decisão para o conjunto A é decidível. Do contrário, se
não existir um algoritmo capaz de fazer essa avaliação, então diz-se que o
problema de decisão para o conjunto A é indecidível.

04_ Ainda considerando as versões decisórias dos problemas, ou seja, para


um conjunto de instâncias e uma pergunta que quando aplicada sobre as
mesmas retorne apenas sim ou não, temos os problemas não decidíveis
(aqueles para os quais não existem algoritmos que determinem respostas
correta para todas as instâncias) divididos em duas subclasses. Semi-
decidivel: são problemas para os quais existe um procedimento que, quando
para alguma instância retorna sim, a resposta esta correta. Indecidível são
problemas para os quais não existem procedimentos para nenhuma instncia
seja ela qual for que retorne uma reposta, sim ou não, e tenhamos garantia que
ela esteja correta.

05_ Exemplo de problema decidível - soma de dois números; exemplo de


problema parcialmente decidível - funções com restrições no domínio; e como
exemplo de problema totalmente indecidível temos o problema da parada.

06_ O teorema de Parada diz: toda propriedade não trivial de algum


conjunto é não decídivel, onde propriedade trivial é aquela que se verifica para
todos o elemento do conjunto ou para nenhum.

Prova Algol-like
Suponhamos que existe uma função booleana chamada PARA_COM_VALOR
que recebe como argumentos um valor inteiro e um dado procedimento. Essa
função retorna verdadeiro garantidamente parando num tempo finito se o
procedimento passado como argumento parar para o dado valor inteiro.
Construamos agora o seguinte procedimento:
Procedimento TESTE_DA_PARADA (inteiro INT);
{
enquanto PARA_COM_VALOR(INT, TESTE_DA_PARADA)
faça{}
}

Obteremos uma contradição, pois teremos duas possibilidades:


° PARA_COM_VALOR(INT,TESTE_DA_PARADA) retorna
verdadeiro. Então TESTE_DA_PARADA entrará em loop infinito. O que é
absurdo, pois retornando verdadeiro, significaria que esse procedimento
pararia, o que não iria acontecer devido ao loop.

° PARA_COM_VALOR(INT,TESTE_DA_PARADA) retorna
falso. Dessa forma TESTE_DA_PARADA parará, o que é absurdo pois a
função PARA_COM_VALOR retorna falso quando o procedimento não para.

Logo, por contradição, fica provado o teorema da parada usando algol-like.

Prova Usando Turing


Como exemplo da técnica de redução, vamos mostrar que o problema da
parada das máquinas de Turing (halting problem) é indecidível. Este problema
pode ser formulado como "Mi pára com entrada xj?", embora algumas vezes
seja confundido o problema da aceitação "Mi aceita xj?". Como sabemos que
P(i) = "Mi aceita xi?" é indecidível (veja a linguagem L acima), e sabemos que
podemos reduzir P a Q, porque P(i) é equivalente a Q(i, i), concluímos que o
problema da parada Q é indecidível. Usualmente, a demonstração de que um
problema é indecidível é, feita através de redução, a partir do problema da
parada, diretamente, ou então, de forma indireta, a partir de problemas cuja
indecidibilidade já foi provada anteriormente.

Questão 09.

O teorema de Rice deve cortar nossas ambições no sentido de que ele implica
na existência de problemas para os quais não há algoritmo para resolvê-lo, ou
seja, não garantem resposta correta já que são indecidíveis. Logo
computadores não podem resolver tudo.
Questão 10.

O teorema de Rice deve ser considerado um aliado, pois graças a ele,


podemos saber quais problemas podemos resolver por meio de algoritmos e os
que não podemos. Dessa forma podemos concentrar nossos esforços apenas
em problemas decidíveis ou procurar formas não algorítmicas para resolução
de problemas não decidíveis.

Você também pode gostar