Contribution
Une matrice Mreprésentée par deux lignes d'entiers séparées par des espaces. Chaque ligne aura le même nombre d'entiers et chaque entier sera soit -1 soit 1. Le nombre d'entiers par ligne sera au maximum de 20. Msera donc 2par noù nest le nombre d'entiers sur chacune des deux lignes.
Votre code doit être un programme complet. et acceptez l'entrée soit en standard dans ou à partir d'un fichier (c'est votre choix). Vous pouvez accepter l'entrée de la norme dans, d'un fichier ou simplement comme paramètre. Cependant, si vous faites ce dernier, veuillez donner un exemple explicite du fonctionnement de votre code et n'oubliez pas qu'il doit s'agir d'un programme complet et de la manière dont la matrice Msera représentée dans l'entrée. En d'autres termes, vous devrez probablement effectuer une analyse.
Production
L' entropie binaire de Shannon de la distribution de l' M*xendroit où les éléments de xsont uniformément et indépendamment choisis parmi {-1,1}. xest un nvecteur de colonne à plusieurs dimensions.
L'entropie d'une distribution de probabilité discrète est
- sum p_i log_2(p_i)
Dans ce cas, p_i est la probabilité du ie unique possible M*x.
Exemple et conseils utiles
Comme exemple, laissez la matrice Mêtre
-1 1
-1 -1
Regardez maintenant tous les 2^2différents vecteurs possibles x. Pour chacun, nous calculons M*xet mettons tous les résultats dans un tableau (un tableau à 4 éléments de vecteurs à 2 composants). Bien que pour chacun des 4 vecteurs, la probabilité qu'il se produise est 1/2^2 = 1/4, nous ne sommes intéressés que par le nombre de fois que chaque vecteur résultant uniqueM*x se produit, et donc nous résumons les probabilités individuelles des configurations conduisant aux mêmes vecteurs uniques. En d'autres termes, les M*xvecteurs uniques possibles décrivent les résultats de la distribution que nous étudions, et nous devons déterminer la probabilité de chacun de ces résultats (qui, par construction, sera toujours un multiple entier de 1/2^2, ou 1/2^nen général) pour calculer l'entropie.
Dans le ncas général , en fonction Mdes résultats possibles de M*xpeut varier de «tous différents» (dans ce cas, nous avons des nvaleurs de iin p_i, et chacun p_iest égal à 1/2^n), à «tout de même» (dans ce cas, il existe un seul résultat, et p_1 = 1).
Plus précisément, pour la 2x2matrice ci-dessus , Mnous pouvons trouver en la multipliant par les quatre configurations possibles ( [+-1; +-1]), que chaque vecteur résultant est différent. Donc, dans ce cas, il y a quatre résultats, et par conséquent p_1 = p_2 = p_3 = p_4 = 1/2^2 = 1/4. Rappelant que log_2(1/4) = -2nous avons:
- sum p_i log_2(p_i) = -(4*(-2)/4) = 2
La sortie finale de cette matrice est donc 2.
Cas de test
Contribution:
-1 -1
-1 -1
Production:
1.5
Contribution:
-1 -1 -1 -1
-1 -1 -1 -1
Production:
2.03063906223
Contribution:
-1 -1 -1 1
1 -1 -1 -1
Production:
3
x? 2. Afin de rendre la question autonome, commentMxdéfinit-on l' entropie binaire de Shannon ?