Je participe à la discussion assez tard, mais je vais essayer de répondre à plusieurs questions qui ont été posées plus tôt.
Tout d’abord, comme l’a observé Aaron Sterling, il est important de décider d’abord de ce que nous entendons par des nombres "vraiment aléatoires", et en particulier si nous examinons les choses du point de vue de la complexité ou de la calculabilité.
Cependant, permettez-moi de dire que, dans la théorie de la complexité, les gens s'intéressent principalement au pseudo- hasard, et aux générateurs pseudo -aléatoires, c'est-à-dire des fonctions allant de chaînes en chaînes, de sorte que la distribution des séquences de sortie ne peut être séparée de la distribution uniforme par un processus efficace . (où plusieurs significations d’ efficace peuvent être envisagées, par exemple calculable polytime, circuits de taille polynomiale, etc.). C'est un domaine de recherche magnifique et très actif, mais je pense que la plupart des gens s'accorderont pour dire que les objets qu'il étudie ne sont pas vraiment aléatoires, il suffit qu'ils aient l' air aléatoire (d'où le terme "pseudo").
Dans la théorie de la calculabilité, un consensus s'est dégagé sur ce qui devrait être une bonne notion de "véritable hasard", et c'est bien la notion de hasard de Martin-Löf qui a prévalu (d'autres ont été proposées et sont intéressantes à étudier mais ne portent pas tout les belles propriétés Martin-Löf aléatoire a). Pour simplifier les choses, nous allons considérer le caractère aléatoire pour des séquences binaires infinies (d’autres objets tels que des fonctions allant de chaînes en chaînes peuvent facilement être codés par cette séquence).
Une séquence binaire infinie est aléatoire de Martin-Löf si aucun processus calculable (même si nous permettons à ce processus de pouvoir être calculé en triple temps exponentiel ou plus) peut détecter un défaut d’aléatoire.α
(1) Qu'entendons-nous par "défaut de caractère aléatoire"? Cette partie est facile: il est un ensemble de mesure 0, soit une propriété que presque toutes les séquences n'ont pas (ici on parle de Lebesgue mesurer à- dire la mesure où chaque bit a une pour être probabilité 01 / 20 indépendamment de tous les autres morceaux). Un exemple d'une telle faille est "avoir asymptotiquement 1/3 de zéros et 2/3 de ceux", ce qui constitue une violation de la loi des grands nombres. Un autre exemple est "pour chaque n, les 2n premiers bits de sont parfaitement distribués (autant de zéros que de zéros)". Dans ce cas, la loi des grands nombres est satisfaite, mais pas le théorème de la limite centrale. Etc.α
(2) Comment un processus calculable peut-il tester qu'une séquence n'appartient pas à un ensemble particulier de la mesure 0? En d’autres termes, quels ensembles de mesures 0 peuvent être décrits de manière calculable? C'est précisément ce sur quoi portent les tests de Martin-Löf. Un test de Martin-Löf est une procédure calculable qui, étant donné une entrée k, peut être calculée (c'est-à-dire via une machine de Turing à entrée ) génère une séquence de chaînes w k , 0 , w k - kkwk , 0 , ... tels que l'ensemble U k de suites infinies commençant par l'un de ceux w k , i mesure au plus 2wk , 1Ukwk , je2- k(Si vous aimez la topologie, notez qu'il s'agit d'un ensemble ouvert dans la topologie du produit pour l'ensemble des séquences binaires infinies). Alors l'ensemble a la mesure 0 et est appelé zéro de Martin-Löf . Nous pouvons maintenant définir le caractère aléatoire de Martin-Löf en disant qu'une séquence binaire infinie α est aléatoire de Martin-Löf si elle n'appartient à aucun jeu nul de Martin-Löf . G = ⋂kUk0α
Cette définition peut sembler technique mais elle est largement acceptée comme étant la bonne pour plusieurs raisons:
- il est suffisamment efficace, c'est-à-dire que sa définition implique des processus calculables
- il est assez fort: toute propriété "presque sûre" que vous pouvez trouver dans un manuel de théorie des probabilités (loi des grands nombres, loi du logarithme itéré, etc.) peut être testée par un test de Martin-Löf (bien que cela soit parfois difficile à prouver)
- il a été proposé indépendamment par plusieurs personnes utilisant différentes définitions (notamment la définition de Levin-Chaitin utilisant la complexité de Kolmogorov); et le fait qu'ils conduisent tous au même concept suggère que ce devrait être la bonne notion (un peu comme la notion de fonction calculable, qui peut être définie via les machines de Turing, les fonctions récursives, le lambda-calcul, etc.)
- la théorie mathématique derrière c'est très agréable! voir les trois excellents livres Une introduction à la complexité de Kolmogorov et à ses applications (Li et Vitanyi), Aléatoire algorithmique et complexité (Downey et Hirschfeldt) Computabilité et aléatoire (Nies).
À quoi ressemble une séquence aléatoire de Martin-Löf? Eh bien, prenez une pièce parfaitement équilibrée et commencez à la retourner. À chaque retournement, écrivez un 0 pour les têtes et un 1 pour les queues. Continuez jusqu'à la fin des temps. Voilà à quoi ressemble une séquence de Martin-Löf :-)
Revenons maintenant à la question initiale: existe-t-il un moyen informatique de générer une séquence aléatoire de Martin-Löf? Intuitivement, la réponse devrait être NON , car si nous pouvons utiliser un processus calculable pour générer une séquence , nous pouvons certainement utiliser un processus calculable pour décrire le singleton { α }, donc α n'est pas aléatoire. Formellement, cela se fait comme suit. Supposons qu'une séquence α soit calculable. Considérez le test de Martin-Löf suivant: pour tout k , indiquez simplement le préfixe a k de α de longueur k , et rien d’autre. Cela a au plus la mesure (en fait, exactement) 2 - kααααkunekαk2- k, et l'intersection des ensembles comme dans la définition est exactement { α }. CQFD !!Ukα
En fait, une séquence aléatoire de Martin-Löf est incompatible avec un sens beaucoup plus fort: si un calcul d’oracle avec oracle β (qui est lui-même une séquence binaire infinie) peut calculer α , alors pour n , n - O ( 1 ) bits de Il faut β pour calculer les n premiers bits de α (il s’agit en fait de caractériser le caractère aléatoire de Martin-Löf, ce qui est malheureusement rarement indiqué comme dans la littérature).αβαnn−O(1)βnα
Ok, maintenant la partie "modifier" de la question de Joseph: est-il vrai qu'une MT ayant accès à une source purement aléatoire (un oracle?) Peut calculer une fonction qu'une MT classique ne peut pas?
Du point de vue de la calculabilité, la réponse est "oui et non". Si vous avez accès à une source aléatoire en tant qu'oracle (où la sortie est présentée comme une séquence binaire infinie), avec la probabilité 1, vous obtiendrez un oracle aléatoire de Martin-Löf et, comme nous l'avons vu précédemment, aléatoire de Martin-Löf implique calculable, il suffit donc de sortir l'oracle lui-même! Ou si vous voulez une fonction , vous pouvez considérer la fonction f qui pour tout n vous dit combien il y a de zéros parmi les n premiers bits de votre oracle. Si l'oracle est aléatoire de Martin-Löf, cette fonction sera non calculable.f:N→Nfnn
Mais bien sûr, vous pourriez soutenir que c'est de la triche: en effet, pour un oracle différent, nous pourrions avoir une fonction différente, il y a donc un problème de non-reproductibilité. Une autre façon de comprendre votre question est donc la suivante: existe-t-il une fonction non calculable, mais qui peut être "calculée avec une probabilité positive", en ce sens qu’il existe une machine de Turing avec accès à un oracle aléatoire qui, avec une probabilité positive (sur l'oracle), calcule f . La réponse est non, en raison d'un théorème de Sacks dont la preuve est assez simple. En réalité, Robin Kothari lui a principalement répondu: si la probabilité que la MT soit correcte est supérieure à 1/2, alors on peut rechercher tous les n calculs possibles de Oracle avec entrée nffnnet trouver le résultat qui obtient le "vote à la majorité", c’est-à-dire qui est produit par un ensemble d’oracles de mesure supérieur à 1/2 (ceci peut être fait efficacement). L'argument étendre même à des probabilités plus petites: supposons que les sorties de MT avec une probabilité ε > 0 . Par le théorème de densité de Lebesgue, il existe une chaîne finie σ telle que si nous fixons les premiers bits de l'oracle d'être exactement σ , puis obtenir les autres bits au hasard, puis on calcule f avec une probabilité d' au moins 0,99. En prenant un tel σ , nous pouvons appliquer à nouveau l'argument ci-dessus.fϵ>0σσfσ