Selon cette source, la constante de Chaitin Est normal.
Chaque probabilité d'arrêt est un nombre réel normal et transcendantal qui n'est pas calculable, ce qui signifie qu'il n'y a pas d'algorithme pour calculer ses chiffres. En effet, chaque probabilité d'arrêt est aléatoire de Martin-Löf, ce qui signifie qu'il n'y a même pas d'algorithme qui puisse deviner de manière fiable ses chiffres.
En outre, la définition de la normale est que chaque chiffre se produit avec une probabilité égale . Et que chaque duo de chiffres se produit avec probabilité et tous les triplets se produisent avec probabilité etc.
L'oméga de Chaitin est calculé via
L'écriture en binaire, on obtient une liste de 0 et 1. Par exemple,
2^-1=0.1 +
2^-2=0.01 +
2^-3=0.001 +
~skip 2^-4 as it does not halt
2^-5=0.00001 +
...
=\Omega
=0.11101...
On voit bien que la position de chaque bit correspond à l'état d'arrêt du programme de longueur correspondant au bit.
Voici ce avec quoi je me bats
Si est en effet normal, cela signifie que exactement 50% des programmes s'arrêtent et exactement 50% ne s'arrêtent pas. Cela semble très contre-intuitif.
Par exemple, supposons que je génère des programmes Java en concaténant au hasard des caractères uniques. La majorité d'entre eux, je suppose que plus de 99,99% ne compileraient même pas. Cela n'impliquerait-il pas qu'au moins 99,99% d'entre eux ne s'arrêteront pas? Comment pouvons-nous justifier que exactement la moitié s'arrêtera et exactement la moitié ne le sera pas, en vertu de être normal.
Ou Wikipédia est-il incorrect être normal?
la source
Réponses:
Contrairement à votre exemple, la constante de Chaitin n'est pas définie comme suit:
Au lieu de cela, il y a un ensembleΠ⊆{0,1}∗ des programmes autorisés sans préfixe (aucune chaîne n'est le préfixe d'une autre chaîne). Chacun des programmesΠ est légal (cela nie votre exemple Java). Si les programmes sont encodés en unaire, il est en effet vrai que len e programme a une longueur n , puis votre définition de Ω travaux. Mais pour les autres encodages, la définition deΩ est
La constante de Chaitin est algorithmiquement aléatoire : la (préfixe) complexité de Kolmogorov du premiern bits est n−O(1) . Pour le montrer, notez d'abord queΩn , la première n un peu de Ω , suffit pour déterminer si un programme de longueur n (sous l'encodage Π ) s'arrête ou non. En effet, en fraction,Ωn≤Ω<Ωn+2−n . Exécutez tous les programmes en parallèle et chaque foisp s'arrête, ajouter 2−|p| à un comptoir C (initialisé à zéro). FinalementC≥Ωn (depuis C→Ω par le bas). À ce stade, si le programme d'entrée de longueurn ne s'est pas arrêté, alors vous savez qu'il ne s'arrête pas, car sinon Ω≥C+2−n≥Ωn+2−n .
Compte tenu de cela, supposons que pour certainsK>0 et infiniment n , vous pourriez calculer Ωn en utilisant n−K morceaux. Pour chacunn , vous pouvez trouver une chaîne dont la complexité de Kolmogorov est supérieure à n , en considérant la sortie de tous les programmes de durée n . Pour assez grandK , le résultat est un programme de longueur au plus n pour calculer la chaîne dont la complexité de Kolmogorov est supérieure à n . Cette contradiction prouve que pour certainsK , la complexité de Kolmogorov Ωn Est au moins n−K .
Aléatoire algorithmique deΩ implique, en particulier, que la fréquence de 0 et de 1 dans son expansion binaire tend vers 1/2. En effet, supposons que pour certains (rationnels)ϵ>0 il existe une infinité de n de telle sorte que la fraction de 1 s Ωn est tout au plus 1/2−ϵ . Puisqu'il n'y a que2h(1/2−ϵ)n cordes avec au plus 1/2−ϵ plusieurs 1, nous pouvons compresser Ωn sur mesure h(1/2−ϵ)n+2logn+Cϵ (la constante Cϵ dépend de ϵ puisque le programme a besoin de savoir ϵ ). Cependant, c'estn−ω(1) , contredisant le caractère aléatoire algorithmique de Ω .
la source
Votre erreur est sur la ligne suivante:
Nan. Ce n'est pas ce que signifie "normal". Ou, pour le dire autrement: définird0(n) être le nombre de bits qui sont un 0, dans le premier n bits de l'expansion base-2 de Ω . Dire queΩ est normal implique que
En d'autres termes, "normal" est une notion asymptotique. Cela signifie que si vous regardez suffisamment loin dans les morceaux deΩ , environ la moitié d'entre eux seront en moyenne des 0. (De même, environ la moitié avec un 1.)
Cependant, cela ne dit rien sur les premiers bits deΩ . Par exemple, il n'y a aucune implication que l'expansion binaireΩ commence comme 0,01 ... ou à toute autre chose - et il n'y a aucune implication que Ω est proche de 1/2. Ω peut être proche de 0, ou proche de 1, ou n'importe où entre les deux; cela ne contredit pas le fait d'être normal, et être normal n'implique rien sur la tailleΩ est.
la source