Um computador que recebe um fluxo infinito de bits verdadeiramente aleatórios é mais poderoso que um computador sem um. A questão é: ela é poderosa o suficiente para resolver o problema da parada?
Ou seja, um computador probabilístico pode determinar se um programa determinístico é interrompido ou não ?
Exemplo de um computador probabilístico que faz algo que um determinista não pode: Considere um programa pequeno (com menos de um kilobyte de comprimento) que produz uma string com complexidade de Kolmogorov maior que um gigabyte. A complexidade de Kolmogorovde uma sequência é o comprimento do programa determinístico mais curto que produz essa sequência. Assim, por definição, um programa determinístico não pode produzir uma cadeia cuja complexidade seja maior que seu próprio comprimento. No entanto, se um fluxo infinito de bits verdadeiramente aleatórios é fornecido, um pequeno programa é capaz de realizar a tarefa com 99.99999 ...% de sucesso simplesmente ecoando, digamos, 10 bilhões de bits aleatórios e esperando que a complexidade Kolmogorov desses bits seja alta o suficiente . Portanto, produzir uma série de complexidade superior de Kolmogorov está dentro do horizonte de possibilidades do programa probabilístico, mas não é possível para o programa determinístico.
Dito isto, estou me perguntando se é possível usar bits verdadeiramente aleatórios para cortar a serra no problema de parada. Por exemplo, um algoritmo pode gerar aleatoriamente teoremas e provar / refutar / descartá-los até que saiba o suficiente para provar / refutar que um determinado programa determinístico é interrompido.
fonte
Respostas:
edit: Acabei de perceber que algumas das coisas que escrevi eram totalmente sem sentido, desculpe por isso. Agora mudei a prova e fiz a definição de máquina probabilística que estou usando mais precisa.
Não sei se entendi corretamente sua definição de máquina probabilística de Turing: é uma máquina com uma fita adicional na qual uma seqüência infinita incompressível é escrita e, além disso, age como uma máquina determinística? Se corrigirmos a string incompressível, a classe que obtemos não parece ser interessante.
Acho que podemos definir uma máquina de Turing probabilística de várias maneiras. Usarei uma definição que parece bastante natural (e para a qual minha prova funciona;) Vamos definir uma máquina probabilística assim: ela recebe uma fita adicional na qual uma string infinita é escrita, dizemos que essa máquina decide uma linguagem se for cada x ∈ L pára e aceita com probabilidade > 1eu x ∈ L , quando a probabilidade é assumida sobre essas seqüências aleatórias adicionais e para cadax∉L,ele para e rejeita com probabilidade>1> 12 x ∉ L .> 12
Agora mostraremos que, se existe uma máquina probabilística que resolve o problema de parada para as máquinas determinísticas, poderíamos usá-la para construir uma máquina determinística H que resolve o problema de parada para as máquinas determinísticas - e sabemos que essa máquina não pode existir.P H
Suponha que exista. Podemos construir uma máquina determinística M que toma como entrada uma máquina probabilística R com alguma entrada x , queP M R x
Basicamente, vai para todos i ∈ 1 , 2 , . . . simular R na entrada x e em cada cadeia de caracteres a partir de 0 , 1 i como um prefixo da cadeia em R fita aleatório 's. Agora:M i ∈ 1 , 2 , . . . R x 0 , 1Eu R
Temos que nos convencer agora de que, se aceita (rejeita) x com probabilidade p > 1R x , em seguida, para algunsique aceitará (rejeitar) para>1p>12 i prefixos de comprimentoida cadeia aleatória, sem tentar ler mais do queibits da fita aleatória. É técnico, mas bastante fácil - se assumirmos o contrário, a probabilidade de aceitar (rejeitar) se aproxima dep>1>12 i i comoivai para o infinito, portanto, para algunsiterá de serp>1p>12 i i .p>12
Agora, apenas definimos nossa máquina determinística resolvendo o problema de parada (ou seja, decidindo se uma determinada máquina determinística N aceita uma determinada palavra x ) a como H ( N , x ) = M ( P ( N , x ) ) . Observe que M ( P ( N , x ) ) sempre pára, porque a decisão de um idioma por nossas máquinas probabilísticas foi definida de tal maneira que um desses dois sempre ocorre:H N x H(N,x)=M(P(N,x)) M(P(N,x))
fonte
Depende do que você entende por algoritmo probabilístico, que determina algum predicado.
Existe um algoritmo probabilístico trivial P tal que, para uma máquina de Turing determinística M ,
Portanto, o algoritmo probabilístico P resolve o problema de parada para máquinas determinísticas de Turing nesse sentido. (Aqui " M pára" significa " M pára na entrada vazia".)
No entanto, se você reforçar o requisito de qualquer maneira sensata, é improvável que você possa resolver o problema de parada de máquinas determinísticas de Turing. Por exemplo,
Portanto, um algoritmo probabilístico não pode resolver o problema de parada de máquinas determinísticas de Turing nesses sentidos.
fonte
Eu acho que esse foi o significado do comentário de Raphael.
fonte
de Leeuw, K., Moore, EF, Shannon, CE e Shapiro, N. Computabilidade por máquinas probabilísticas, estudos de autômatos, pp. 183-212. Anais de estudos de matemática, no. 34. Princeton University Press, Princeton, NJ, 1956.
G. Sacos, Graus de Insolvibilidade, Princeton University Press, 1963.
fonte