2010-05-01 25 views
1

En espérant que quelqu'un puisse me donner des pointeurs avec ce problème d'entropie.Aide mutuelle de calcul des informations/entropie

Dites X est choisi au hasard à partir de la distribution entière uniforme 0-32 (inclusivement).

Je calcule l'entropie, H (X) = 32 bits, car chaque Xi a une probabilité égale de se produire.

Maintenant, disons que le pseudocode suivant s'exécute.

int r = rand (0,1); // un nombre aléatoire 0 ou 1

r = r * 33 + X;

Comment trouver l'information mutuelle entre les deux variables r et X? L'information mutuelle est définie comme I (X; Y) = H (X) - H (X | Y) mais je ne comprends pas vraiment comment appliquer l'entropie conditionnelle H (X | Y) à ce problème.

Merci

Répondre

1

Si c'est des devoirs, alors je vais vous donner des conseils. (Aussi, je suppose que X ~ unif [0,31] pour que les chiffres fonctionnent bien. Êtes-vous sûr que c'est [0,32] et non [0,31]?)

D'abord, vérifiez votre calcul pour H (X). H (X) = 5, pas 32.

Deuxièmement, l'équation r = 33r + X n'a ​​aucun sens. Permettez-moi d'utiliser différentes variables:

Y = 32R + X

Troisièmement, vous ne déclarez pas la distribution de probabilité de R. Si l'on suppose 0 et 1 sont équiprobables, alors H (R) = 1.

Comme vous l'avez dit, I (X; Y) = H (X) - H (X | Y) = H (Y) - H (Y | X). Considérons H (Y | X). Si X est donné, c'est-à-dire maintenu constant, alors Y ne dépend que de R, n'est-ce pas? Par conséquent, H (Y | X) = H (R). Enfin, utilisez la loi de probabilité totale pour calculer la distribution de probabilité de Y. (Indice: c'est simple.) Ensuite, vous pouvez calculer H (Y), et enfin, I (X, Y).