Schreiben Sie ein Programm oder eine Funktion, die die Shannon-Entropie einer bestimmten Zeichenfolge schätzt.
Wenn eine Zeichenkette n Zeichen und d verschiedene Zeichen hat, x i das i- te verschiedene Zeichen ist und P (x i ) die Wahrscheinlichkeit ist, dass dieses Zeichen in der Zeichenkette vorkommt, dann ist unsere Shannon-Entropieschätzung für diese Zeichenkette gegeben durch:
Für die Schätzung in dieser Herausforderung nehmen wir an, dass die Wahrscheinlichkeit, dass ein Zeichen in einer Zeichenfolge vorkommt, einfach die Häufigkeit des Auftretens dividiert durch die Gesamtzahl der Zeichen ist.
Ihre Antwort muss nach dem Zeitraum auf mindestens 3 Stellen genau sein.
Testfälle:
"This is a test.", 45.094
"00001111", 8.000
"cwmfjordbankglyphsvextquiz", 122.211
" ", 0.0
Entropy
Bits pro Zeichen, nicht die Gesamtzahl für die Zeichenfolge.