Napisz program lub funkcję, która oszacuje entropię Shannona danego ciągu.
Jeśli łańcuch ma n znaków, d różnych znaków, x i jest i- tym odrębnym znakiem, a P (x i ) jest prawdopodobieństwem wystąpienia tego znaku w ciągu, wówczas naszą ocenę entropii Shannona dla tego łańcucha podaje:
Do oszacowania w tym wyzwaniu zakładamy, że prawdopodobieństwo wystąpienia znaku w ciągu jest po prostu liczbą jego wystąpienia podzieloną przez całkowitą liczbę znaków.
Twoja odpowiedź musi zawierać co najmniej 3 cyfry po upływie tego okresu.
Przypadki testowe:
"This is a test.", 45.094
"00001111", 8.000
"cwmfjordbankglyphsvextquiz", 122.211
" ", 0.0
Entropy
zlicza bity na znak, nie całkowite dla łańcucha; no cóż ...