Considere , uma função que retorna 1 se n zeros aparecerem consecutivamente em π . Agora alguém me deu uma prova de que f ( n ) é computável:
Ou para todo n, aparece em π , ou existe am r 0 m aparece em π e 0 m + 1 não. Para a primeira possibilidade f ( n ) : = 1 ; Para o segundo f ( n ) : = 1 iff n ≤ m , 0 caso contrário.
O autor afirma que isso prova a computabilidade de , pois existe um algoritmo para calculá-lo.
Esta prova está correta?
computability
Mike B.
fonte
fonte
Respostas:
Pense dessa maneira, Mike: Essa prova está "se ramificando" em vários casos possíveis, um dos quais precisa ser verdadeiro (usando a lei do meio excluído que, para toda proposição , p é verdadeira ou ¬ p é verdadeira). Mas no final de cada uma dessas ramificações, você sempre consegue provar que a função f é computável. Portanto, não importa qual dos casos realmente ocorra na vida real, f deve ser computável. (No entanto, o motivo exato pelo qual f é computável será diferente, dependendo da ramificação.)p p ¬ p f f f
fonte
Isso está correto. É o mesmo que se segue: defina para ser a função constante x ↦ 0 se Deus existir e x ↦ 1 se Deus não existir. A função resultante é uma função constante, portanto computável. O que você talvez não consiga fazer é atribuir essa função, mas a função em si é computável.f( X ) x ↦ 0 x ↦ 1
Aqui, uma das duas possibilidades é verdadeira: existe um , ou não existe. A função é a função constante x ↦ 1 ou uma função de limite simples, definida com m .m x ↦ 1 m
fonte
Penso - e espero - que todo estudante de ciência da computação seja confrontado com esse problema que parece um paradoxo. É um exemplo muito bom para a diferença de computável no sentido do TCS e computável no sentido prático.
Meus pensamentos naquela época eram: "Sim, se eu soubesse a resposta, obviamente seria computável. Mas como descobrir?" O truque é livrar-se da ilusão de que você precisa descobrir se tem essa propriedade ou não. Porque isso, obviamente (leia-se: imho), não pode ser feito por uma máquina de Turing (desde que não tenhamos mais conhecimento do que temos sobre π ).π π
A idéia básica da prova é: eu lhe dou uma classe infinita de funções, todas elas computáveis (para mostrar; trivial aqui). Eu provo então que a função que você está procurando está nessa classe (para mostrar; distinção entre maiúsculas e minúsculas aqui). qed
fonte
Sim, está certo, é computável. O problema é que sua função realmente não está produzindo a solução para uma família infinita de problemas, como é a função (digamos) de uma solução que computa uma solução para o problema de parada - portanto, não há problema com a computação. Em vez disso, você está representando na forma de função algum fato matemático único com representação finita - um número inteiro ou o fato de que f é a função constantemente 1
Encontrar o algoritmo correto, é claro, pode ser um problema difícil. Mas encontrar algoritmos corretos geralmente é difícil!
fonte
postar um pouco antigo, mas queria postar outra resposta.
Esta é uma prova não construtiva (ou argumento) de computabilidade. Simplesmente diz que a função deve existir em algum sentido, pois eu posso representá-la (ou indexá-la mais corretamente), no conjunto (ou universo) de funções computáveis. No entanto, ele não constrói a própria máquina (isto é, o algoritmo), nem o índice (assumindo uma enumeração eficaz de máquinas computáveis). A frase em inglês " obrigado por nada " parece, nesses casos, mais apropriada, como a seguinte:
As pessoas na história da matemática discutiram bastante sobre a validade real (ou faixa de validade) e o significado de tais argumentos. O resultado final é que o mesmo tipo de argumento reaparece nos teoremas da incompletude de Goedel e se volta contra essa "suposição do universo fechado" .
Se você não gosta tanto desses argumentos, não te culpo.
fonte