Wow, grande question! Permettez-moi d'essayer d'expliquer la résolution. Cela prendra trois étapes distinctes.
La première chose à noter est que l'entropie se concentre davantage sur le nombre moyen de bits nécessaires par tirage, pas sur le nombre maximum de bits nécessaires.
Avec votre procédure d' échantillonnage, le nombre maximal de bits aléatoires nécessaires par tirage au sort est N bits mais le nombre moyen de bits nécessaires est de 2 bits (la moyenne d'une distribution géométrique avec p=1/2 ) - ceci est qu'il y a un 1/2 probabilité que vous avez seulement besoin de 1 bit (si le premier bit se révèle être 1), un 1/4 probabilité que vous avez seulement besoin 2 bits (si les deux premiers bits se révèlent être 01), un 1/8 probabilité que vous n'ayez besoin que de 3 bits (si les trois premiers bits s'avèrent être 001), et ainsi de suite.
La deuxième chose à noter est que l'entropie ne capture pas vraiment le nombre moyen de bits nécessaires pour un seul tirage. Au lieu de cela, l'entropie capture le nombre amorti de bits nécessaires pour échantillonner les tirages m iid de cette distribution. Supposons que nous ayons besoin de f(m) bits pour échantillonner m tirages; alors l'entropie est la limite de f(m)/m lorsque m→∞ .
La troisième chose à noter est qu'avec cette distribution, vous pouvez échantillonner des tirages m iid avec moins de bits que nécessaire pour échantillonner plusieurs fois un tirage. Supposons que vous ayez décidé naïvement de tirer un échantillon (prend 2 bits aléatoires en moyenne), puis de dessiner un autre échantillon (en utilisant 2 autres bits aléatoires en moyenne), et ainsi de suite, jusqu'à ce que vous ayez répété cette opération m fois. Cela nécessiterait environ 2m bits aléatoires en moyenne.
Mais il s'avère qu'il existe un moyen d'échantillonner à partir de m tirages en utilisant moins de 2m bits. C'est difficile à croire, mais c'est vrai!
Laissez-moi vous donner l'intuition. Supposons que vous ayez noté le résultat de l'échantillonnage de m tirages, où m est vraiment grand. Le résultat pourrait alors être spécifié sous la forme d'une chaîne de m bits. Cette chaîne de m bits sera principalement composée de 0, avec quelques 1: en particulier, elle aura en moyenne environ m/2N 1 (pourrait être plus ou moins que cela, mais si m est suffisamment grand, généralement le nombre sera proche de cela). La longueur des écarts entre les 1 est aléatoire, mais sera généralement quelque part vaguement à proximité de 2N(pourrait facilement être la moitié de cela ou le double ou même plus, mais de cet ordre de grandeur). Bien sûr, au lieu d'écrire toute la chaîne m bits, nous pourrions l'écrire de manière plus succincte en écrivant une liste des longueurs des intervalles - qui contient toutes les mêmes informations, dans un format plus compressé. Combien plus succinct? Eh bien, nous aurons généralement besoin d'environ N bits pour représenter la longueur de chaque espace; et il y aura environ m/2N lacunes; nous aurons donc besoin au total d'environ mN/2N bits (pourrait être un peu plus, peut être un peu moins, mais si m est suffisamment grand, il sera généralement proche de cela). C'est beaucoup plus court qu'unmchaîne de m bits.
Et s'il existe un moyen d'écrire cette chaîne de manière succincte, il ne sera peut-être pas trop surprenant si cela signifie qu'il existe un moyen de générer la chaîne avec un nombre de bits aléatoires comparable à la longueur de la chaîne. En particulier, vous générez aléatoirement la longueur de chaque espace; ceci est échantillonnage d'une distribution géométrique avec p=1/2N , et qui peut être fait avec environ ∼N bits aléatoires en moyenne (pas 2N ). Vous aurez besoin d'environ m/2N iid à partir de cette distribution géométrique, vous aurez donc besoin au total d'environ ∼Nm/2Nbits aléatoires. (Ce pourrait être un petit facteur constant plus grand, mais pas trop grand.) Et, notez que c'est beaucoup plus petit que 2m bits.
mf(m)∼Nm/2Nlimm→∞f(m)/mN/2N