Un ordinateur doté d'un flux infini de bits vraiment aléatoires est plus puissant qu'un ordinateur sans un. La question est: est-elle suffisamment puissante pour résoudre le problème de l'arrêt?
Autrement dit, un ordinateur probabiliste peut-il déterminer si un programme déterministe s'arrête ou non ?
Exemple d'un ordinateur probabiliste faisant quelque chose de déterministe ne peut pas: Considérez un petit programme (moins d'un kilo-octet de longueur) qui produit une chaîne avec une complexité de Kolmogorov supérieure à un gigaoctet. La complexité de Kolmogorovd'une chaîne est la longueur du programme déterministe le plus court produisant cette chaîne. Ainsi, par définition, un programme déterministe ne peut pas produire une chaîne dont la complexité est supérieure à sa propre longueur. Cependant, si on lui donne un flux infini de bits vraiment aléatoires, un petit programme est capable de réaliser la tâche avec 99,99999 ...% de succès en faisant simplement écho, disons, 10 milliards de bits aléatoires et en espérant que la complexité de Kolmogorov de ces bits est suffisamment élevée . Par conséquent, la production d'une chaîne de complexité Kolmogorov supérieure est dans l'horizon de possibilité du programme probabiliste, mais pas du tout possible pour le programme déterministe.
Cela dit, je me demande s'il est possible d'utiliser des bits vraiment aléatoires pour scier le problème d'arrêt. Par exemple, un algorithme peut générer aléatoirement des théorèmes et les prouver / réfuter / rejeter jusqu'à ce qu'il en sache assez pour prouver / réfuter qu'un programme déterministe donné s'arrête.
la source
Réponses:
edit: Je viens de réaliser que certaines des choses que j'ai écrites étaient totalement absurdes, désolé pour cela. Maintenant, j'ai changé la preuve et rendu la définition de la machine probabiliste que j'utilise plus précise.
Je ne sais pas si je comprends bien votre définition de la machine de Turing probabiliste: c'est une machine avec une bande supplémentaire sur laquelle une chaîne incompressible infinie est écrite, et à côté de cela, elle agit exactement comme une machine déterministe? Si nous réparons la chaîne incompressible, la classe que nous obtenons ne semble pas être intéressante.
Je pense que nous pouvons définir une machine de Turing probabiliste de plusieurs manières. Je vais utiliser une définition qui semble assez naturelle (et pour laquelle ma preuve fonctionne;) Définissons une machine probabiliste comme ça: elle obtient une bande supplémentaire sur laquelle une chaîne infinie est écrite, on dit que cette machine décide un langage si pour chaque x ∈ L il s'arrête et accepte avec probabilité > 1L x∈L , lorsque la probabilité est prise sur ces chaînes aléatoires supplémentaires, et pour chaquex∉L,elle s'arrête et rejette avec une probabilité>1> 12 x ∉ L .> 12
Nous allons maintenant montrer que s'il existe une telle machine probabiliste qui résout le problème d'arrêt pour les machines déterministes, nous pourrions l'utiliser pour construire une machine déterministe H qui résout le problème d'arrêt pour les machines déterministes - et nous savons qu'une telle machine ne peut exister.P H
Supposons qu'un tel existe. On peut construire une machine déterministe M qui prend en entrée une machine probabiliste R avec une entrée x , quiP M R X
Fondamentalement, sera pour tout i ∈ 1 , 2 , . . . simuler R sur l'entrée x et sur chaque chaîne de 0 , 1 i comme préfixe de la chaîne sur la bande aléatoire de R. À présent:M i ∈ 1 , 2 , . .. R X 0 , 1je R
Nous devons maintenant nous convaincre que si accepte (rejette) x avec une probabilité p > 1R x , puis pour certainsjen'accepterai (rejet) pour>1p>12 i préfixes de longueuride la chaîne aléatoire sans essayer de lire plus deibits de la bande aléatoire. C'est technique, mais assez facile - si nous supposons le contraire, alors la probabilité d'accepter (de rejeter) approchep>1>12 i i commejevaisà l'infini, donc pour certainsi,il devra êtrep>1p>12 i i .p>12
Maintenant, nous définissons simplement notre machine déterministe résolvant le problème d'arrêt (c'est-à-dire décider si une machine déterministe donnée N accepte un mot donné x ) a comme H ( N , x ) = M ( P ( N , x ) ) . Notez que M ( P ( N , x ) ) s'arrête toujours, car décider d'un langage par nos machines probabilistes a été défini de telle manière que l'un de ces deux se produit toujours:H N x H(N,x)=M(P(N,x)) M(P(N,x))
la source
Cela dépend de ce que vous entendez par un algorithme probabiliste qui détermine un prédicat.
Il existe un algorithme probabiliste trivial P tel que, pour une machine de Turing déterministe M ,
Par conséquent, l'algorithme probabiliste P résout le problème d'arrêt pour les machines de Turing déterministes dans ce sens. (Ici, « M s'arrête» signifie « M s'arrête sur l'entrée vide».)
Cependant, si vous renforcez l'exigence d'une manière sensée, il est peu probable que vous puissiez résoudre le problème d'arrêt des machines déterministes de Turing. Par exemple,
Par conséquent, un algorithme probabiliste ne peut pas résoudre le problème d'arrêt des machines déterministes de Turing dans ces sens.
la source
Je pense que c'était le sens du commentaire de Raphaël.
la source
de Leeuw, K., Moore, EF, Shannon, CE et Shapiro, N. Computability by probabilistic machines, Automata studies, pp. 183–212. Annales d'études mathématiques, non. 34. Princeton University Press, Princeton, NJ, 1956.
G. Sacks, Degrees of Unsolvability, Princeton University Press, 1963.
la source