Scrivi un programma o una funzione che stima l'entropia di Shannon di una determinata stringa.
Se una stringa ha n caratteri, d caratteri distinti , x i è il primo carattere distinto e P (x i ) è la probabilità che quel carattere si verifichi nella stringa, la nostra stima dell'entropia di Shannon per quella stringa è data da:
Per la stima in questa sfida ipotizziamo che la probabilità che un personaggio si presenti in una stringa è semplicemente il numero di volte in cui si presenta diviso per il numero totale di caratteri.
La tua risposta deve essere accurata con almeno 3 cifre dopo il periodo.
Casi test:
"This is a test.", 45.094
"00001111", 8.000
"cwmfjordbankglyphsvextquiz", 122.211
" ", 0.0
Entropy
conta i bit per carattere, non il totale per la stringa; vabbè ...