Écrivez un programme ou une fonction qui estime l'entropie de Shannon d'une chaîne donnée.
Si une chaîne a n caractères, d caractères distincts , x i est le i ème caractère distinct et P (x i ) est la probabilité que ce caractère se produise dans la chaîne, alors notre estimation d'entropie de Shannon pour cette chaîne est donnée par:
Pour l'estimation dans ce défi, nous supposons que la probabilité qu'un caractère apparaisse dans une chaîne est simplement le nombre de fois où il se produit divisé par le nombre total de caractères.
Votre réponse doit être précise à au moins 3 chiffres après la période.
Cas de test:
"This is a test.", 45.094
"00001111", 8.000
"cwmfjordbankglyphsvextquiz", 122.211
" ", 0.0
Entropy
compte les bits par caractère, pas le total pour la chaîne; eh bien ...