Introduzione alla scienza della comunicazione (E. T. Jaynes)



Documenti analoghi
OSSERVAZIONI TEORICHE Lezione n. 4

Siamo così arrivati all aritmetica modulare, ma anche a individuare alcuni aspetti di come funziona l aritmetica del calcolatore come vedremo.

2) Codici univocamente decifrabili e codici a prefisso.

Corso di Informatica Generale (C. L. Economia e Commercio) Ing. Valerio Lacagnina Rappresentazione in virgola mobile

Algoritmi e strutture dati. Codici di Huffman

Strutturazione logica dei dati: i file

PROBABILITA CONDIZIONALE

Statistica Matematica A - Ing. Meccanica, Aerospaziale I prova in itinere - 19 novembre 2004

Entropia. Motivazione. ? Quant è l informazione portata dalla sequenza? Abbiamo una sequenza S di N simboli (campioni audio, pixel, caratteri,...

Calcolo delle Probabilità

Il concetto di valore medio in generale

Statistica e biometria. D. Bertacchi. Variabili aleatorie. V.a. discrete e continue. La densità di una v.a. discreta. Esempi.

Un modello matematico di investimento ottimale

PROBABILITA CONDIZIONALE

La variabile casuale Binomiale

PROBABILITA. Sono esempi di fenomeni la cui realizzazione non è certa a priori e vengono per questo detti eventi aleatori (dal latino alea, dado)

PROBABILITÀ - SCHEDA N. 2 LE VARIABILI ALEATORIE


Probabilità condizionata: p(a/b) che avvenga A, una volta accaduto B. Evento prodotto: Evento in cui si verifica sia A che B ; p(a&b) = p(a) x p(b/a)

Corso di Matematica. Corso di Laurea in Farmacia, Facoltà di Farmacia. Università degli Studi di Pisa. Maria Luisa Chiofalo.

Esercizi di Probabilità e Statistica

Dispense di Informatica per l ITG Valadier

Esercitazione #5 di Statistica. Test ed Intervalli di Confidenza (per una popolazione)

Codifiche a lunghezza variabile

Fondamenti e didattica di Matematica Finanziaria

Capitolo 13: L offerta dell impresa e il surplus del produttore

Una sperimentazione. Probabilità. Una previsione. Calcolo delle probabilità. Nonostante ciò, è possibile dire qualcosa.

Probabilità discreta

(concetto classico di probabilità)

Statistiche campionarie

PROCEDURA INVENTARIO DI MAGAZZINO di FINE ESERCIZIO (dalla versione 3.2.0)

Dimensione di uno Spazio vettoriale

4 3 4 = 4 x x x 10 0 aaa

Calcolo delle probabilità

La distribuzione Normale. La distribuzione Normale

Sistema operativo: Gestione della memoria

LA TRASMISSIONE DELLE INFORMAZIONI QUARTA PARTE 1

COMUNICAZIONI ELETTRICHE + TRASMISSIONE NUMERICA COMPITO 13/7/2005

matematica probabilmente

Test statistici di verifica di ipotesi

Distribuzioni discrete

Cosa dobbiamo già conoscere?

risulta (x) = 1 se x < 0.

MINIMI QUADRATI. REGRESSIONE LINEARE

Schemi delle Lezioni di Matematica Generale. Pierpaolo Montana

APPUNTI SU PROBLEMI CON CALCOLO PERCENTUALE

Metodi statistici per le ricerche di mercato

Relazioni statistiche: regressione e correlazione

f(x) = 1 x. Il dominio di questa funzione è il sottoinsieme proprio di R dato da

A intervalli regolari ogni router manda la sua tabella a tutti i vicini, e riceve quelle dei vicini.

Sommario. Definizione di informatica. Definizione di un calcolatore come esecutore. Gli algoritmi.

Appunti di informatica. Lezione 2 anno accademico Mario Verdicchio

1. Distribuzioni campionarie

VINCERE AL BLACKJACK

LE FUNZIONI A DUE VARIABILI

Basi di matematica per il corso di micro

Informazione analogica e digitale

E naturale chiedersi alcune cose sulla media campionaria x n

APPUNTI DI MATEMATICA LE FRAZIONI ALGEBRICHE ALESSANDRO BOCCONI

Metodi e Modelli Matematici di Probabilità per la Gestione

Prova di autovalutazione Prof. Roberta Siciliano

Teoria dei Giochi. Anna Torre

Corrispondenze e funzioni

Elementi di Psicometria con Laboratorio di SPSS 1

Matematica generale CTF

CORSO DI CALCOLO DELLE PROBABILITÀ E STATISTICA. Esercizi su eventi, previsioni e probabilità condizionate

Viene lanciata una moneta. Se esce testa vinco 100 euro, se esce croce non vinco niente. Quale è il valore della mia vincita?

G3. Asintoti e continuità

1. la probabilità che siano tutte state uccise con pistole; 2. la probabilità che nessuna sia stata uccisa con pistole;

la scienza della rappresentazione e della elaborazione dell informazione

Psicometria (8 CFU) Corso di Laurea triennale STANDARDIZZAZIONE

Corso di Laurea in Scienze e Tecnologie Biomolecolari. NOME COGNOME N. Matr.

Macroeconomia, Esercitazione 2. 1 Esercizi. 1.1 Moneta/ Moneta/ Moneta/3. A cura di Giuseppe Gori (giuseppe.gori@unibo.

MICROECONOMIA La teoria del consumo: Alcuni Arricchimenti. Enrico Saltari Università di Roma La Sapienza

Economia Applicata ai sistemi produttivi Lezione II Maria Luisa Venuta 1

LEZIONE 23. Esempio Si consideri la matrice (si veda l Esempio ) A =

ESERCITAZIONE 13 : STATISTICA DESCRITTIVA E ANALISI DI REGRESSIONE

Quando troncare uno sviluppo in serie di Taylor

Statistica. Lezione 6

Determinare la grandezza della sottorete

Corso di. Dott.ssa Donatella Cocca

LA STATISTICA si interessa del rilevamento, dell elaborazione e dello studio dei dati; studia ciò che accade o come è fatto un gruppo numeroso di

Teoria delle code. Sistemi stazionari: M/M/1 M/M/1/K M/M/S

ANALISI DELLE FREQUENZE: IL TEST CHI 2

1. PRIME PROPRIETÀ 2

CAPITOLO 10 I SINDACATI

Un modello matematico di investimento ottimale

Funzioni. Parte prima. Daniele Serra

Corso di Matematica per la Chimica

Statistica inferenziale

Il sapere tende oggi a caratterizzarsi non più come un insieme di contenuti ma come un insieme di metodi e di strategie per risolvere problemi.

APPUNTI DI MATEMATICA ALGEBRA \ INSIEMISTICA \ TEORIA DEGLI INSIEMI (1)

Misure di base su una carta. Calcoli di distanze

SPC e distribuzione normale con Access

LA DISTRIBUZIONE DI PROBABILITÀ DEI RITORNI AZIONARI FUTURI SARÀ LA MEDESIMA DEL PASSATO?

VARIABILI ALEATORIE CONTINUE

UNIVERSITÀ DEGLI STUDI DI TERAMO

Informatica 3. LEZIONE 21: Ricerca su liste e tecniche di hashing. Modulo 1: Algoritmi sequenziali e basati su liste Modulo 2: Hashing

3 GRAFICI DI FUNZIONI

Più processori uguale più velocità?

Transcript:

Introduzione alla scienza della comunicazione (E T Jaynes) S Bonaccorsi Department of Mathematics University of Trento Corso di Mathematical model for the Physical, Natural and Social Sciences

Outline 1 Introduzione 2 Un canale senza rumore 3 La sorgente di informazioni 4 Entropia 5 Codifica ottimale 6 Un canale con rumore

Origini della teoria La scienza della comunicazione ha una data di nascita precisa, identificata nel lavoro di Shannon del 1948

Origini della teoria Claude Shannon Nel 1948 pubblicò in due parti il saggio Una teoria matematica della comunicazione, in cui si concentrava sul problema di ricostruire, con un certo grado di certezza, le informazioni trasmesse da un mittente Shannon utilizzò strumenti quali l analisi casuale e le grandi deviazioni, che in quegli anni si stavano appena sviluppando Fu in questa ricerca che Shannon coniò la parola bit, per designare l unità elementare d informazione La sua teoria dell informazione pose le basi per progettare i sistemi informatici Come tutte le teorie scientifiche importanti, ha avuto dei precursori I precursori Il lavoro di Shannon si basa e riorganizza in maniera sistematica le ricerche di Gibbs, Nyquist, Hartley, Szilard, von Neumann e Wiener

Origini della teoria Claude Shannon Nel 1948 pubblicò in due parti il saggio Una teoria matematica della comunicazione, in cui si concentrava sul problema di ricostruire, con un certo grado di certezza, le informazioni trasmesse da un mittente Shannon utilizzò strumenti quali l analisi casuale e le grandi deviazioni, che in quegli anni si stavano appena sviluppando Fu in questa ricerca che Shannon coniò la parola bit, per designare l unità elementare d informazione La sua teoria dell informazione pose le basi per progettare i sistemi informatici Come tutte le teorie scientifiche importanti, ha avuto dei precursori I precursori Il lavoro di Shannon si basa e riorganizza in maniera sistematica le ricerche di Gibbs, Nyquist, Hartley, Szilard, von Neumann e Wiener

Canali, messaggi, trasmissioni Iniziamo con la trasmissione di un segnale da un trasmettitore a un ricevitore Parleremo spesso in termini antropomorfi (la persona che invia il messaggio, chi lo riceve) ma ovviamente uno o entrambi potrebbero essere macchine La trasmissione avviene tramite un canale Se il messaggio ricevuto determina in maniera univoca il messaggio inviato allora diremo che il canale è senza rumore

Canali, messaggi, trasmissioni Già Nyquist e Hartley compresero che non era il messaggio in sé, ma la varietà di possibili messaggi, a determinare l utilità di un canale di trasmissione: un canale è tanto più utile quanto più è in grado di inviare messaggi diversi Indichiamo con W (t) il numero di messaggi diversi che avrebbero potuto essere inviati in un tempo t W (t) è un numero che cresce in maniera esponenziale, W (t) exp(c t): Esempio: alfabeto binario tempo: possibili messaggi: t = 1 0, 1 t = 2 00, 01, 10, 11 t = 3 000, 001,, 111

Canali, messaggi, trasmissioni Definizione La capacità di un canale di trasmissione è l esponente che determina il comportamento di W (t): 1 C = lim log W (t) t t L unità di misura di C è il bit, se il logaritmo è preso in base 2, oppure il nit se prendiamo logaritmi in base naturale Example Un canale di trasmissione che invia n segnali al secondo presi da un alfabeto che contiene a simboli ha la potenzialità di inviare W (t) = a n t messaggi in un tempo t e una capacità C = n log 2 (a) (espressa in bit/sec)

Canali, messaggi, trasmissioni Definizione La capacità di un canale di trasmissione è l esponente che determina il comportamento di W (t): 1 C = lim log W (t) t t L unità di misura di C è il bit, se il logaritmo è preso in base 2, oppure il nit se prendiamo logaritmi in base naturale Example Un canale di trasmissione che invia n segnali al secondo presi da un alfabeto che contiene a simboli ha la potenzialità di inviare W (t) = a n t messaggi in un tempo t e una capacità C = n log 2 (a) (espressa in bit/sec)

Canale di trasmissione con vincolo di frequenza Supponiamo di imporre un vincolo ai messaggi inviati, richiedendo una frequenza f i al simbolo A i ( i f i = 1) Allora il numero di possibili N! messaggi di lunghezza N = n t è W (t) = e si ottiene (N f 1 )! (N f a )! (formula di Stirling) C = n f i log(f i ) in nits/sec i Se imponiamo una distribuzione uniforme ai vari simboli, otterremo che C = n log(a), ossia la stessa capacità del canale senza vincoli Se vincoliamo un canale a trasmettere tutti i simboli con uguale frequenza, non diminuiamo la sua capacità Possiamo anche leggere la cosa da un altro punto di vista: in un canale, la gran parte dei messaggi possibili hanno una frequenza uniforme di presenza delle varie lettere

Canale di trasmissione con vincolo di frequenza Supponiamo di imporre un vincolo ai messaggi inviati, richiedendo una frequenza f i al simbolo A i ( i f i = 1) Allora il numero di possibili N! messaggi di lunghezza N = n t è W (t) = e si ottiene (N f 1 )! (N f a )! (formula di Stirling) C = n f i log(f i ) in nits/sec i Se imponiamo una distribuzione uniforme ai vari simboli, otterremo che C = n log(a), ossia la stessa capacità del canale senza vincoli Se vincoliamo un canale a trasmettere tutti i simboli con uguale frequenza, non diminuiamo la sua capacità Possiamo anche leggere la cosa da un altro punto di vista: in un canale, la gran parte dei messaggi possibili hanno una frequenza uniforme di presenza delle varie lettere

Canale di trasmissione con vincolo di tempo Supponiamo che ad ogni simbolo A i sia associato un tempo di trasmissione t i In questo caso, i dettagli del calcolo della capacità C sono più complicati; il risultato, invece, si può esprimere molto semplicemente Theorem Per calcolare la capacità di un canale in cui ogni simbolo A i ha tempo di trasmissione t i e non vi sono altri vincoli sui possibili messaggi, definita la funzione di partizione Z (λ) = i exp( λ t i), si ottiene la capacità C come la radice reale dell equazione Z (λ) = 1 La quantità W (t) si massimizza scegliendo la distribuzione di frequenze canonica, ossia f i = exp( C t i ) Questo non vuol dire che il canale è più efficiente nel trasmettere messaggi codificati in questo modo (nella pratica, il canale trasmette sempre e solo un messaggio per volta) Invece, lo interpretiamo dicendo che la gran parte dei potenziali messaggi che potrebbero essere inviati in un tempo t nel canale verificano la distribuzione canonica delle frequenze relative dei simboli

La sorgente di informazioni Abbiamo visto che in un canale con vincolo sui tempi, la maggior parte dei messaggi che il canale può inviare ha una distribuzione di frequenze canonica: f i = exp( C t i ) In un sistema di comunicazione, in realtà, si lavora in senso opposto: se è nota la frequenza dei vari simboli, si sceglieranno i tempi di invio dei simboli in accordo con la formula precedente, in modo da rendere massima la capacità del canale Il codice Morse Il codice Morse è una forma di alfabeto che viene usata in un canale di trasmissione binario; tuttavia, a differenza dei moderni codici binari che usano solo due stati (comunemente rappresentati con 0 e 1), il Morse ne usa cinque: punto ( ), linea ( ), intervallo breve (tra ogni lettera), intervallo medio (tra parole) e intervallo lungo (tra frasi) Il costo di un messaggio telegrafato dipendeva dalla sua lunghezza, per questo vennero scegli codici brevi per i simboli frequentemente usati (E =, T = ) e codici lunghi per i simboli meno frequenti Q = )

La sorgente di informazione in termini probabilistici Fu N Wiener a suggerire che la sorgente di informazioni dovesse essere descritta in termini probabilistici: associare ad un possibile messaggio M k la sua probabilità p k

La sorgente di informazione in termini probabilistici Probabilità per chi? Da un punto di vista concettuale, è difficile comprendere questo passo Chi invia il messaggio sa che cosa vuole inviare; non è qui la sorgente di incertezza Il messaggio inviato è unico ; non ha senso parlare di probabilità come frequenza (pensate ad esempio ad un canale di trasmissione che si distruggerà dopo aver inviato un unico messaggio) Chi riceve il messaggio non sa che cosa riceverà Qui vi è incertezza Tuttavia, questa mancanza di conoscenza non è legata al canale, né può servire a costruire il canale di trasmissione stesso (che esiste indipendentemente, in qualche senso, dal fatto che qualcuno riceva il messaggio) La risposta che Jaynes dà al problema è più semplice: l incertezza di cui parla Shannon è di chi disegna il canale di trasmissione

La sorgente di informazione in termini probabilistici Probabilità per chi? Da un punto di vista concettuale, è difficile comprendere questo passo Chi invia il messaggio sa che cosa vuole inviare; non è qui la sorgente di incertezza Il messaggio inviato è unico ; non ha senso parlare di probabilità come frequenza (pensate ad esempio ad un canale di trasmissione che si distruggerà dopo aver inviato un unico messaggio) Chi riceve il messaggio non sa che cosa riceverà Qui vi è incertezza Tuttavia, questa mancanza di conoscenza non è legata al canale, né può servire a costruire il canale di trasmissione stesso (che esiste indipendentemente, in qualche senso, dal fatto che qualcuno riceva il messaggio) La risposta che Jaynes dà al problema è più semplice: l incertezza di cui parla Shannon è di chi disegna il canale di trasmissione

La sorgente di informazione in termini probabilistici Probabilità per chi? Da un punto di vista concettuale, è difficile comprendere questo passo Chi invia il messaggio sa che cosa vuole inviare; non è qui la sorgente di incertezza Il messaggio inviato è unico ; non ha senso parlare di probabilità come frequenza (pensate ad esempio ad un canale di trasmissione che si distruggerà dopo aver inviato un unico messaggio) Chi riceve il messaggio non sa che cosa riceverà Qui vi è incertezza Tuttavia, questa mancanza di conoscenza non è legata al canale, né può servire a costruire il canale di trasmissione stesso (che esiste indipendentemente, in qualche senso, dal fatto che qualcuno riceva il messaggio) La risposta che Jaynes dà al problema è più semplice: l incertezza di cui parla Shannon è di chi disegna il canale di trasmissione

La sorgente di informazione in termini probabilistici Probabilità per chi? Da un punto di vista concettuale, è difficile comprendere questo passo Chi invia il messaggio sa che cosa vuole inviare; non è qui la sorgente di incertezza Il messaggio inviato è unico ; non ha senso parlare di probabilità come frequenza (pensate ad esempio ad un canale di trasmissione che si distruggerà dopo aver inviato un unico messaggio) Chi riceve il messaggio non sa che cosa riceverà Qui vi è incertezza Tuttavia, questa mancanza di conoscenza non è legata al canale, né può servire a costruire il canale di trasmissione stesso (che esiste indipendentemente, in qualche senso, dal fatto che qualcuno riceva il messaggio) La risposta che Jaynes dà al problema è più semplice: l incertezza di cui parla Shannon è di chi disegna il canale di trasmissione

La sorgente di informazione in termini probabilistici Probabilità per chi? Da un punto di vista concettuale, è difficile comprendere questo passo Chi invia il messaggio sa che cosa vuole inviare; non è qui la sorgente di incertezza Il messaggio inviato è unico ; non ha senso parlare di probabilità come frequenza (pensate ad esempio ad un canale di trasmissione che si distruggerà dopo aver inviato un unico messaggio) Chi riceve il messaggio non sa che cosa riceverà Qui vi è incertezza Tuttavia, questa mancanza di conoscenza non è legata al canale, né può servire a costruire il canale di trasmissione stesso (che esiste indipendentemente, in qualche senso, dal fatto che qualcuno riceva il messaggio) La risposta che Jaynes dà al problema è più semplice: l incertezza di cui parla Shannon è di chi disegna il canale di trasmissione

Le probabilità a priori Come può, allora, un ingegnere determinare la distribuzione a priori p k del messaggio M k? Nella scienza delle comunicazioni classica, l unico tipo di conoscenza a priori a disposizione dell ingegnere è statistica anche perché questa è l unica che possa essere trattata correttamente dalla matematica Conclusione Il tipico problema che deve essere affrontato risulta, allora, quello di costruire un sistema di codifica e di invio di messaggi, su un canale affidabile, in cui i simboli trasmessi rappresentano un testo scritto, in modo da rendere massima la velocità di trasmissione del messaggio

Entropia Entropia Nella teoria dell informazione - e in rapporto alla teoria dei segnali - l entropia misura la quantità di incertezza o informazione presente in un segnale aleatorio Per definire l entropia, iniziamo a fissare la nozione di informazione Diremo che l informazione veicolata dall accadere di un evento ha il signoficato tecnico di misura della sorpresa veicolata dall evento L informazione, nel senso della teoria delle comunicazioni, è tanto maggiore quanto meno l evento era atteso L informazione I(A) di un evento A sarà la funzione I(A) = log 2 (P(A)), A Ω

Entropia Entropia Nella teoria dell informazione - e in rapporto alla teoria dei segnali - l entropia misura la quantità di incertezza o informazione presente in un segnale aleatorio Per definire l entropia, iniziamo a fissare la nozione di informazione Diremo che l informazione veicolata dall accadere di un evento ha il signoficato tecnico di misura della sorpresa veicolata dall evento L informazione, nel senso della teoria delle comunicazioni, è tanto maggiore quanto meno l evento era atteso L informazione I(A) di un evento A sarà la funzione I(A) = log 2 (P(A)), A Ω Se un evento è certo: P(A) = 1, allora l informazione veicolata da A è nulla: I(A) = 0 Se un evento è impossibile: P(B) = 0, allora I(B) = + che interpretiamo dicendo che non è possibile ottenere informazione da un evento impossibile

Entropia Entropia Nella teoria dell informazione - e in rapporto alla teoria dei segnali - l entropia misura la quantità di incertezza o informazione presente in un segnale aleatorio Per definire l entropia, iniziamo a fissare la nozione di informazione Diremo che l informazione veicolata dall accadere di un evento ha il signoficato tecnico di misura della sorpresa veicolata dall evento L informazione, nel senso della teoria delle comunicazioni, è tanto maggiore quanto meno l evento era atteso L informazione I(A) di un evento A sarà la funzione I(A) = log 2 (P(A)), A Ω L entropia di una variabile aleatoria X è la media dell informazione I(x i ) dei possibili valori della variabile stessa: H(X) = i p i log 2 (p i ), p i = P(X = x i )

Entropia Iniziamo dal caso del lancio di una moneta (X ha una distribuzione di Bernoulli; il suo vettore di probabilità è π = (x, 1 x) con 0 x 1) L entropia è H(X) = h(x) = x log(x) (1 x) log(1 x) H(X) 10 05 0 e la scriviamo come una funzione della probabilità x di ottenere un successo La funzione h(x) si annulla agli estremi ed è massima al centro; in altre parole: l incertezza è nulla in corrispondenza alle situazioni in cui il risultato dell esperimento è determinato già a priori, ed è massima quando gli esiti a priori possibili sono equiprobabili, e non si sa davvero che pesci pigliare : 0 05 10 Pr(X = 1) l entropia è una misura dell incertezza

Entropia Può sembrare strano che si usi una media per determinare l incertezza di una variabile aleatoria Il punto è capire che l incertezza è informazione potenziale mentre, a posteriori, sapere l esito dell esperimento aumenta l informazione e diminuisce l incertezza Theorem Se Ω è un alfabeto con a simboli, 0 H(X) log(a) con H(X) = 0 se e solo se X è deterministica (assume uno dei suoi valori con probabilità 1), H(X) = log(a) se e solo se X ha una distribuzione uniforme

Codifica di messaggi con frequenza di simboli nota Ritorniamo al nostro ingegnere alle prese con la scelta della distribuzione a priori sullo spazio dei messaggi Supponiamo di avere a disposizione le frequenze relative dei simboli A i osservate nel passato Se non abbiamo a disposizione altre informazioni, potremo ritenere che queste frequenze si conserveranno anche in futuro Allora, cercheremo una distribuzione di probabilità P sullo spazio dei messaggi che ci porti ad avere le frequenze attese uguali a quelle osservate nel passato Dopo alcuni passaggi si ottiene che la distribuzione da scegliere è data da P(M) = f N 1 1 f N 2 2 fa Na dove N 1,, N a sono le quantità dei simboli A 1,, A a rispettivamente presenti nel messaggio M

Codifica di messaggi con frequenza di simboli nota Ritorniamo al nostro ingegnere alle prese con la scelta della distribuzione a priori sullo spazio dei messaggi Supponiamo di avere a disposizione le frequenze relative dei simboli A i osservate nel passato Se non abbiamo a disposizione altre informazioni, potremo ritenere che queste frequenze si conserveranno anche in futuro Allora, cercheremo una distribuzione di probabilità P sullo spazio dei messaggi che ci porti ad avere le frequenze attese uguali a quelle osservate nel passato Dopo alcuni passaggi si ottiene che la distribuzione da scegliere è data da P(M) = f N 1 1 f N 2 2 fa Na dove N 1,, N a sono le quantità dei simboli A 1,, A a rispettivamente presenti nel messaggio M

Codifica efficiente Avendo trovato le probabilità P(M), il nostro ingegnere può tradurre il messaggio in codice binario con un efficiente algoritmo messo a punto dallo stesso Shannon (1948) e, indipendentemente, da R M Fano Il codice di Shannon-Fano è un codice prefisso, ossia ha la proprietà che nessuna codifica valida è il prefisso (parte iniziale) di un altra codifica valida del sistema Questo codice è subottimale nel senso che, in genere, la sua codifica non ha la migliore possibile lunghezza attesa delle parole codici; da un punto di vista pratico, è stato sostituito dal codice di Huffman e poi da codifiche più complesse

Codifica efficiente Avendo trovato le probabilità P(M), il nostro ingegnere può tradurre il messaggio in codice binario con un efficiente algoritmo messo a punto dallo stesso Shannon (1948) e, indipendentemente, da R M Fano Diamo un esempio in un caso in cui la codifica del codice di Shannon-Fano non è ottimale Si inizia elencando i messaggi possibili in ordine decrescente di probabilità: Messaggi: probabilità: A 0,39 B 0,18 C 0,16 D 0,15 E 0,12

Codifica efficiente Avendo trovato le probabilità P(M), il nostro ingegnere può tradurre il messaggio in codice binario con un efficiente algoritmo messo a punto dallo stesso Shannon (1948) e, indipendentemente, da R M Fano Se separano in due classi, in modo che le probabilità delle due classi siano circa uguali: Classi di messaggi: probabilità: A, B 0,57 e si continua a dividere finché C, D, E 0,43 tutte le classi non sono ridotte a un solo elemento:

Codifica efficiente Avendo trovato le probabilità P(M), il nostro ingegnere può tradurre il messaggio in codice binario con un efficiente algoritmo messo a punto dallo stesso Shannon (1948) e, indipendentemente, da R M Fano così: A, B C, D, E 1 simbolo: 0 1 simbolo: 1 A B C D, E 2 simbolo: 0 2 simbolo: 1 2 simbolo: 0 2 simbolo: 1 D E 3 simb: 0 3 simb: 1

Codifica efficiente Abbiamo quindi ottenuto la seguente codifica Messaggi: probabilità: codifica: A 0,39 00 B 0,18 01 C 0,16 10 D 0,15 110 E 0,12 111 per cui si ottiene che il numero medio di simboli inviati, per ogni messaggio, è pari a 2 (0, 39 + 0, 18 + 0, 16) + 3 (0, 15 + 0, 12) = 2, 27

Un canale con rumore Esaminiamo il caso più semplice, in cui il rumore agisce indipendentemente, senza memoria, su ogni lettera che viene trasmessa Se ogni lettera ha una probabilità p di essere trasmessa in maniera errata, allora per un messaggio di N lettere la probabilità di contenere r errori è data dalla distribuzione binomiale P(r errori) = ( N r ) p r (1 p) N r ed il numero medio di errori attesi è Np Se Np << 1, potremmo ritenerci soddisfatti dal nostro canale di comunicazione oppure no: pensate ad esempio cosa succede se inviamo una istruzione errata ad un satellite in orbita! Abbiamo già parlato di codici a correzione di errore In questa lezione ci accontentiamo di un sistema più semplice, comunque molto utilizzato in pratica: il metodo della somma di controllo checksum

Un canale con rumore Esaminiamo il caso più semplice, in cui il rumore agisce indipendentemente, senza memoria, su ogni lettera che viene trasmessa Se ogni lettera ha una probabilità p di essere trasmessa in maniera errata, allora per un messaggio di N lettere la probabilità di contenere r errori è data dalla distribuzione binomiale P(r errori) = ( N r ) p r (1 p) N r ed il numero medio di errori attesi è Np Se Np << 1, potremmo ritenerci soddisfatti dal nostro canale di comunicazione oppure no: pensate ad esempio cosa succede se inviamo una istruzione errata ad un satellite in orbita! Abbiamo già parlato di codici a correzione di errore In questa lezione ci accontentiamo di un sistema più semplice, comunque molto utilizzato in pratica: il metodo della somma di controllo checksum

Un canale con rumore Esaminiamo il caso più semplice, in cui il rumore agisce indipendentemente, senza memoria, su ogni lettera che viene trasmessa Se ogni lettera ha una probabilità p di essere trasmessa in maniera errata, allora per un messaggio di N lettere la probabilità di contenere r errori è data dalla distribuzione binomiale P(r errori) = ( N r ) p r (1 p) N r ed il numero medio di errori attesi è Np Se Np << 1, potremmo ritenerci soddisfatti dal nostro canale di comunicazione oppure no: pensate ad esempio cosa succede se inviamo una istruzione errata ad un satellite in orbita! Abbiamo già parlato di codici a correzione di errore In questa lezione ci accontentiamo di un sistema più semplice, comunque molto utilizzato in pratica: il metodo della somma di controllo checksum

Un canale con rumore Supponiamo di avere un alfabeto formato da 2 8 = 256 caratteri (byte), ognuno dei quali viene inviato sotto forma di 8 bit (numeri binari) Al termine di un messaggio (N caratteri) viene inviato un N + 1-esimo carattere, pari alla somma (modulo 256) dei precedenti N Chi riceve il messaggio ricalcola questa somma e la confronta con il carattere di controllo: se i due numeri sono uguali, allora possiamo essere praticamente certi che non vi siano stati errori (infatti, gli errori avrebbero dovuto essere almeno 2 e tali da annullarsi a vicenda: evento che ha una probabilità assai bassa); se i due numeri sono diversi, allora c è stato sicuramente un errore di trasmissione e chi riceve può semplicemente chiedere che il messaggio venga inviato di nuovo

Un canale con rumore Supponiamo di avere un alfabeto formato da 2 8 = 256 caratteri (byte), ognuno dei quali viene inviato sotto forma di 8 bit (numeri binari) Al termine di un messaggio (N caratteri) viene inviato un N + 1-esimo carattere, pari alla somma (modulo 256) dei precedenti N Chi riceve il messaggio ricalcola questa somma e la confronta con il carattere di controllo: se i due numeri sono uguali, allora possiamo essere praticamente certi che non vi siano stati errori (infatti, gli errori avrebbero dovuto essere almeno 2 e tali da annullarsi a vicenda: evento che ha una probabilità assai bassa); se i due numeri sono diversi, allora c è stato sicuramente un errore di trasmissione e chi riceve può semplicemente chiedere che il messaggio venga inviato di nuovo

Un canale con rumore Supponiamo di avere un alfabeto formato da 2 8 = 256 caratteri (byte), ognuno dei quali viene inviato sotto forma di 8 bit (numeri binari) Al termine di un messaggio (N caratteri) viene inviato un N + 1-esimo carattere, pari alla somma (modulo 256) dei precedenti N Chi riceve il messaggio ricalcola questa somma e la confronta con il carattere di controllo: se i due numeri sono uguali, allora possiamo essere praticamente certi che non vi siano stati errori (infatti, gli errori avrebbero dovuto essere almeno 2 e tali da annullarsi a vicenda: evento che ha una probabilità assai bassa); se i due numeri sono diversi, allora c è stato sicuramente un errore di trasmissione e chi riceve può semplicemente chiedere che il messaggio venga inviato di nuovo

Un canale con rumore Indichiamo con q = (1 p) N+1 la probabilità che tutti i caratteri siano esattamente inviati Allora, per ottenere una trasmissione senza errori: con probabilità q, sono necessari N + 1 simboli; con probabilità (1 q)q sono necessari 2(N + 1) simboli; e, in generale, con probabilità q(1 q) k 1 sono necessari k(n + 1) simboli

Un canale con rumore Indichiamo con q = (1 p) N+1 la probabilità che tutti i caratteri siano esattamente inviati Allora, per ottenere una trasmissione senza errori: con probabilità q, sono necessari N + 1 simboli; con probabilità (1 q)q sono necessari 2(N + 1) simboli; e, in generale, con probabilità q(1 q) k 1 sono necessari k(n + 1) simboli

Un canale con rumore Indichiamo con q = (1 p) N+1 la probabilità che tutti i caratteri siano esattamente inviati Allora, per ottenere una trasmissione senza errori: con probabilità q, sono necessari N + 1 simboli; con probabilità (1 q)q sono necessari 2(N + 1) simboli; e, in generale, con probabilità q(1 q) k 1 sono necessari k(n + 1) simboli

Un canale con rumore La lunghezza media del messaggio inviato è data dalla formula E[L] = k(n + 1) q(1 q) k 1 = N + 1 (1 p) N+1 k=0 Se N >> 1, allora possiamo approssimare E[L] Ne Np Se Np = O(1) allora la procedura funziona abbastanza bene (ci aspettiamo di dover mandare un numero di caratteri dell ordine di N) Se Np >> 1 allora questa procedura non può funzionare (il numero di caratteri da inviare cresce esponenzialmente!)

Un canale con rumore La lunghezza media del messaggio inviato è data dalla formula E[L] = k(n + 1) q(1 q) k 1 = N + 1 (1 p) N+1 k=0 Se N >> 1, allora possiamo approssimare E[L] Ne Np Se Np = O(1) allora la procedura funziona abbastanza bene (ci aspettiamo di dover mandare un numero di caratteri dell ordine di N) Se Np >> 1 allora questa procedura non può funzionare (il numero di caratteri da inviare cresce esponenzialmente!)

Un canale con rumore La lunghezza media del messaggio inviato è data dalla formula E[L] = k(n + 1) q(1 q) k 1 = N + 1 (1 p) N+1 k=0 Se N >> 1, allora possiamo approssimare E[L] Ne Np Se Np = O(1) allora la procedura funziona abbastanza bene (ci aspettiamo di dover mandare un numero di caratteri dell ordine di N) Se Np >> 1 allora questa procedura non può funzionare (il numero di caratteri da inviare cresce esponenzialmente!)

Un canale con rumore C è un trucco che permette di fare funzionare l intera procedura Dividiamo l intero messaggio in m blocchi di lunghezza n = N/m e trasmettiamo ognuno di loro con il suo carattere di controllo Otteniamo, con un ragionamento analogo a quanto visto prima, che la lunghezza media del messaggio inviato è E[L] = m n + 1 (1 p) n+1 = N n + 1 n(1 p) n+1

Un canale con rumore C è un trucco che permette di fare funzionare l intera procedura Dividiamo l intero messaggio in m blocchi di lunghezza n = N/m e trasmettiamo ognuno di loro con il suo carattere di controllo Otteniamo, con un ragionamento analogo a quanto visto prima, che la lunghezza media del messaggio inviato è E[L] = m n + 1 (1 p) n+1 = N n + 1 n(1 p) n+1 Se i blocchi sono troppo lunghi, allora il numero di blocchi da ripetere sarà grande e quindi la lunghezza del messaggio esploderà; se i blocchi sono troppo corti, allora invieremo un numero elevato di codici di controllo sostanzialmente inutili

Un canale con rumore C è un trucco che permette di fare funzionare l intera procedura Dividiamo l intero messaggio in m blocchi di lunghezza n = N/m e trasmettiamo ognuno di loro con il suo carattere di controllo Otteniamo, con un ragionamento analogo a quanto visto prima, che la lunghezza media del messaggio inviato è E[L] = m n + 1 (1 p) n+1 = N n + 1 n(1 p) n+1 Se cerchiamo di minimizzare la lunghezza media E[L] fissato N, si ottiene il minimo con la scelta di 1 1 + n(n + 1) log(1 p) = 0, ossia n(n + 1) = log(1 p) quindi, in pratica, sarà sufficiente scegliere n 1 p

Un canale con rumore C è un trucco che permette di fare funzionare l intera procedura Dividiamo l intero messaggio in m blocchi di lunghezza n = N/m e trasmettiamo ognuno di loro con il suo carattere di controllo Otteniamo, con un ragionamento analogo a quanto visto prima, che la lunghezza media del messaggio inviato è E[L] = m n + 1 (1 p) n+1 = N n + 1 n(1 p) n+1 Se cerchiamo di minimizzare la lunghezza media E[L] fissato N, si ottiene il minimo con la scelta di 1 1 + n(n + 1) log(1 p) = 0, ossia n(n + 1) = log(1 p) quindi, in pratica, sarà sufficiente scegliere n 1 e la lunghezza p media del ( numero ) medio di messaggi inviati è dell ordine di n + 1 E[L] N exp(1/n) N(1 + 2 p) n

Un canale con rumore Se la probabilità di errore è p = 10 4 allora risulta praticamente impossibile mandare un messaggio di N = 10 5 caratteri senza errori: E[L] Ne Np Ci aspettiamo infatti di dover mandare in media e 10 N byte, ossia di dover ripetere l invio del messaggio 22 mila volte prima di ottenere un messaggio privo di errori Se dividiamo il messaggio in blocchi di lunghezza 100, allora la lunghezza( media) del messaggio inviato n + 1 E[L] N exp(1/n) N(1 + 2 p) n è dell ordine di 1, 02N Ossia, dobbiamo inviare N caratteri, n caratteri di controllo (che corrisponde al fattore ( ) n+1 n ) e in media 10 blocchi (che corrisponde al fattore exp(1/n)) devono essere ripetuti

Un canale con rumore Se la probabilità di errore è p = 10 4 allora risulta praticamente impossibile mandare un messaggio di N = 10 5 caratteri senza errori: E[L] Ne Np Ci aspettiamo infatti di dover mandare in media e 10 N byte, ossia di dover ripetere l invio del messaggio 22 mila volte prima di ottenere un messaggio privo di errori Se dividiamo il messaggio in blocchi di lunghezza 100, allora la lunghezza( media) del messaggio inviato n + 1 E[L] N exp(1/n) N(1 + 2 p) n è dell ordine di 1, 02N Ossia, dobbiamo inviare N caratteri, n caratteri di controllo (che corrisponde al fattore ( ) n+1 n ) e in media 10 blocchi (che corrisponde al fattore exp(1/n)) devono essere ripetuti

Un canale con rumore Inoltre, il minimo ( ) nella formula n + 1 E[L] N exp(1/n) N(1 + 2 p) n è stabile rispetto alla scelta di n: scegliendo comunque n nell intervallo (40, 250) si ottiene E[L] 1, 03N Se la probabilità di errore fosse dell ordine di p = 10 6, allora la tecnica di dividere il messaggio in blocchi di lunghezza n intorno a 1000 porta a inviare, in media E[L] 1, 002N caratteri

Un canale con rumore Inoltre, il minimo ( ) nella formula n + 1 E[L] N exp(1/n) N(1 + 2 p) n è stabile rispetto alla scelta di n: scegliendo comunque n nell intervallo (40, 250) si ottiene E[L] 1, 03N Se la probabilità di errore fosse dell ordine di p = 10 6, allora la tecnica di dividere il messaggio in blocchi di lunghezza n intorno a 1000 porta a inviare, in media E[L] 1, 002N caratteri