Calcolatore di entropia di Shannon
Dati di input
| Testo | hello |
|---|---|
| Base del logaritmo | Bit (base 2) |
Calcolatore di entropia di Shannon
Calcola l'entropia di Shannon di qualsiasi testo o sequenza di simboli. Inserisca una stringa per scoprire quanti bit, nat o hartley di informazione porta in media ciascun simbolo.
Dati di input
Parametri
Risultati
Inserisci un valore per visualizzare i risultati.
Entropia
Statistiche del testo
L'entropia di Shannon
L'entropia di Shannon è una misura del contenuto informativo medio, o imprevedibilità, di una sequenza di simboli. Introdotta da Claude Shannon nel 1948 come fondamento della teoria dell'informazione, risponde alla domanda: quanta informazione porta in media ciascun carattere di una stringa? Il concetto è centrale nella compressione dei dati, nella crittografia e nell'apprendimento automatico.
Formula
Per una sorgente che emette simboli da un alfabeto di dimensione , in cui il simbolo compare con probabilità , l'entropia di Shannon è:
La base del logaritmo determina l'unità di misura: la base 2 fornisce i bit, la base i nat e la base 10 gli hartley (detti anche ban o dit).
Esempio — "ciao"
La stringa "ciao" contiene quattro caratteri: c, i, a, o — tutti distinti. Frequenze dei caratteri:
| Carattere | Conteggio | Probabilità |
|---|---|---|
| c | 1 | 1/4 = 0,25 |
| i | 1 | 1/4 = 0,25 |
| a | 1 | 1/4 = 0,25 |
| o | 1 | 1/4 = 0,25 |
Con distribuzione perfettamente uniforme su 4 simboli, l'entropia è massima:
H=−4×0,25×log20,25=−4×0,25×(−2)=2,0000 bit per simboloL'entropia totale della stringa è bit. Si tratta del numero minimo teorico di bit necessari per codificare "ciao" senza perdita di informazione, utilizzando un codice ottimale per questa distribuzione di frequenze.
Per confronto, la stringa "hello" (il valore predefinito del calcolatore) contiene la lettera «l» due volte su cinque, rendendo la distribuzione non uniforme e abbassando l'entropia a circa 1,9219 bit per simbolo.
Perché la formula funziona
Ciascun termine rappresenta il contributo del simbolo all'incertezza complessiva. I simboli rari (con piccolo ) portano molta informazione quando compaiono: sono sorprendenti. I simboli frequenti (con grande ) portano poca informazione: sono attesi.
Shannon dimostrò che l'entropia è l'unica funzione che soddisfa tre assiomi intuitivi: è continua nelle probabilità, è massimizzata dalla distribuzione uniforme, e l'aggiunta di un simbolo che compare con certezza (probabilità 1) non la modifica. Questi tre assiomi individuano come l'unica misura corretta del contenuto informativo medio.
Entropia massima e minima
Per una sorgente con simboli distinti:
- Entropia massima: bit per simbolo, raggiunta quando tutti i simboli sono ugualmente probabili.
- Entropia minima: , raggiunta quando un solo simbolo compare con probabilità 1 (assenza di incertezza).
Il testo italiano reale si attesta intorno a 1–1,5 bit per lettera — ben al di sotto del massimo teorico di bit — a causa delle frequenze molto non uniformi delle lettere e delle forti dipendenze statistiche tra caratteri adiacenti. La lettera «e» è la più frequente in italiano, mentre «q» è quasi sempre seguita da «u».
Entropia e compressione dei dati
Il teorema di codifica della sorgente di Shannon dimostra che nessun algoritmo di compressione senza perdita può ridurre un messaggio al di sotto della propria entropia. L'entropia rappresenta quindi un limite inferiore assoluto sulla dimensione del file compresso.
Questo legame spiega perché:
- I file con contenuto ripetitivo (come log di sistema con righe simili) si comprimono efficacemente — la loro entropia è bassa.
- I dati veramente casuali o già cifrati non possono essere compressi — sono già al loro limite entropico.
- Algoritmi come la codifica di Huffman e la codifica aritmetica si avvicinano al limite entropico; la codifica di Huffman garantisce al massimo un bit aggiuntivo per simbolo rispetto al limite teorico.
Relazione con la sicurezza delle password
L'entropia delle password, nella sua accezione legata alla sicurezza informatica, è un concetto correlato ma distinto. Misura l'incertezza dal punto di vista di un attaccante, ipotizzando che la password sia estratta in modo uniforme e casuale da un insieme di stringhe possibili. La formula è , dove è la lunghezza della password e è la dimensione del pool di caratteri.
L'entropia di Shannon di una specifica password — come calcolata da questo strumento — misura invece la distribuzione delle frequenze dei caratteri in quella singola stringa. Una password come "aaaa" ha entropia di Shannon nulla ma rimane lunga quattro caratteri. Per la valutazione della sicurezza delle password, si utilizzi il Calcolatore di entropia delle password che modella lo spazio di ricerca dell'attaccante.
Domande frequenti (FAQ)
Cosa significa alta entropia?
Un'alta entropia indica che le frequenze dei simboli sono prossime a una distribuzione uniforme: ogni carattere è all'incirca ugualmente probabile, quindi ciascuno porta una maggiore quantità di informazione. Una stringa completamente casuale di 256 caratteri ASCII distinti ha entropia massima (8 bit per carattere), perché la conoscenza dei caratteri precedenti non fornisce alcuna indicazione sul successivo.
Una bassa entropia indica invece una distribuzione asimmetrica: alcuni caratteri dominano, rendendo la stringa prevedibile. La stringa "aaaa" ha entropia nulla perché ogni carattere è certo.
Qual è l'entropia massima per una stringa con N simboli distinti?
L'entropia di Shannon massima per una sorgente con N simboli distinti è log₂(N) bit per simbolo. Tale massimo si raggiunge solo quando tutti gli N simboli compaiono con la stessa probabilità (distribuzione uniforme).
Ad esempio: una stringa binaria (N = 2) può trasportare al massimo 1 bit per simbolo; una stringa estratta dall'alfabeto italiano di 21 lettere (N = 21) può trasportare al massimo log₂(21) ≈ 4,4 bit per simbolo. Il testo italiano reale si attesta intorno a 1–1,5 bit per lettera, a causa delle frequenze molto non uniformi di lettere e parole.
Qual è la relazione tra entropia e compressione dei dati?
Il teorema di codifica della sorgente di Shannon dimostra che nessun algoritmo di compressione senza perdita può comprimere una sequenza al di sotto del proprio valore di entropia (espresso in bit per simbolo). L'entropia costituisce quindi un limite inferiore teorico.
Una stringa con entropia H bit per simbolo può in linea di principio essere compressa fino a H bit per simbolo, ma non oltre. Per questo motivo i file con contenuto ripetitivo (come blocchi di testo identico) si comprimono efficacemente — la loro entropia è bassa — mentre i dati veramente casuali o già cifrati non possono essere compressi in modo significativo: sono già al loro limite entropico.
Qual è la differenza tra bit, nat e hartley?
Tutte e tre le unità misurano la stessa grandezza sottostante (il contenuto informativo) usando basi logaritmiche diverse:
- Bit (base 2): l'unità naturale per il calcolo binario. Un bit corrisponde all'informazione contenuta nel lancio di una moneta equa.
- Nat (base e ≈ 2,718): utilizzati nella matematica della teoria dell'informazione e nella meccanica statistica, perché il logaritmo naturale semplifica molte formule.
- Hartley (base 10): detti anche ban o dit. Un hartley corrisponde all'informazione contenuta nella scelta tra dieci esiti ugualmente probabili.
Conversione: 1 hartley ≈ 3,322 bit ≈ 2,303 nat.