Title: Nessun titolo diapositiva
1Teoria dei codici correttori d'errore Fondatore
Richard W. Hamming Articolo Error Detecting and
Error Correcting Codes (1950) In ogni
trasmissione digitale possono avvenire errori.
Es. ricezione da sonde spaziali o satelliti
canale molto disturbato, segnale molto debole ?
errori frequenti. Es. riproduzione musica o
immagini digitali supporto fisico danneggiato.
Senza metodi efficaci e veloci di correzione
degli errori non darebbe possibile ricevere
informazioni dallo spazio, usare un lettore di CD
o un telefonino! Es. graffio di alcuni
millimetri sulla superficie di un CD non
pregiudica l'ascolto grazie a codice di Reed -
Solomon, in grado di correggere 'raffiche' di
errori consecutivi di notevole lunghezza. Applica
zioni nei campi più diversi dalle
telecomunicazioni alla biologia molecolare
2Gestione errore su 1 bit in sequenze di bit.
Codice di ripetizione Ripeti ciascun bit 3
volte Se uno dei bit è erroneamente invertito,
viene riconosciuto e corretto durante la
decodifica del suo blocco di 3 bit.
Inefficiente rapporto tra i bit attuali e i bit
totali è solo 1/3 (per
memorizzare/comunicare 1MB si memorizzano/inviano
3Mb) Codifica Hamming Data una sequenza di bit,
la suddividiamo in porzioni da 4 bit. Sia b
il vettore che rappresenta una di tali porzioni,
e codifichiamo b come bG a 7 bit, (operazioni
modulo 2) Il tasso è 4/7, molto migliore
del precedente. Resta da dimostrare che
correggere 1 errore.
3- Affermazione Per ogni b e b, le codifiche bG e
bG differiscono in 3 coordinate - Aalfabeto
- Aninsieme di sequenze di n simboli su A
- Definizione. La distanza di Hamming tra x e y in
An è - d(x, y)numero di
coordinate i t.c. xi diverso da yi - La distanza di Hamming è una metrica
- d(x, y) d(y, x)
- d(x, z) lt d(x, y) d(y, z)
- d(x, y) 0 sse xy
4- Affermazione Per ogni b e b, le codifiche bG e
bG differiscono in 3 coordinate - d(x, y) numero coordinate i con xi diverso da
yi. - Spazio di tutte le possibili parole codice 0,
17. - Se possiamo dimostrare Affermazione 1
- ?ogni parola-codice bG non ha altre
parole-codice in un raggio 2 intorno ad essa. - ? ogni punto a distanza Hamming 1 da una parola
codice è sicuramente più vicina a quella parola
di qualunque altra, e dunque possiamo in tal modo
correggere gli errori a 1 bit.
c y x c d(c,c)3,
d(c,x)1
5Definizione Un codice a correzione di errore è
un sottoinsieme C di An. La distanza minima di C
è (minimo su tutte le coppie di parole diverse
in C)
d(C)min d(x,y) Definizione C è e error
detecting se può rilevare lte errori
C è t error correcting se può correggere
ltt errori Proposizione Se d(C)gt2t1, C e 2t
error detecting e t error correcting Dim.
d(C)2t1 ? sequenza a distanza 2t da parola
codice non è in C ? 2t error detecting
d(C) 2t1 ? sequenza r a distanza t da p.c. ha
distanza gtt da ogni altra p.c. ?
prendendo la p.c. più vicina a r correggiamo t
errori ? t error correcting
y
x
r t
t
1
6 Parametri q A n lunghezza delle parole
codice k lunghezza del messaggio (lunghezza
pre-codifica) logq C d d(C) Si vuole
valori grandi di k e d, e valori piccoli di n.
Possiamo anche cercare di massimizzare il tasso
del codice k/n codice a correzione di errore con
questi parametri ? codice (n, k, d)q . Nostra
affermazione (Per ogni b e b, le codifiche bG e
bG differiscono in 3
coordinate) ? bGb in 0, 14 è un codice
(7, 4, 3).
7Codici a correzione di errore Applicazioni in
vari campi matematica e informatica. Esempio 1
Derandomizzazione di algoritmi Definizione
- A algoritmo randomizzato (usa n random bits
indip.) - A volte basta indipendenza limitata.
- Pairwise independence sufficiente ?
derandomizzazione possibile - Invece di y di n bits random
- (A corretto ?
prob scegliere y con successo pgt0) - run A per ogni y in S
- ( A corretto ?
esiste y con successo) - Algoritmo Deterministico A
- running time T(A) O(ST(A))
- vogliamo S piccolo
- Teroria dei codici ? Esiste S dimensione
O(n)
8- Esempio 2 Problema dei cappelli.
- Tre giocatori Anna, Beppe e Carlo.
- Possono, prima della partita, concordare
strategia. - Inizia il gioco.
- Sulla testa di ognuno viene messo un cappello,
rosso o blu. - Il colore è scelto in modo casuale, lanciando una
moneta. - Ciascuno può vedere il cappello degli altri ma
non il proprio. Non possono comunicare in alcun
modo. - Osservando il colore dei cappelli degli amici,
Anna, Beppe e Carlo devono scrivere
indipendentemente su di un foglietto quello che
ritengono il colore del loro cappello oppure
'passo'. - A, B e C vincono solo se non tutti sono passati e
se tutti - quelli che hanno indicato un colore lo hanno
indicato giusto.
9SOLUZIONI E possibile garantirsi la vincita con
probabilità ½ A e B passano e C scrive a caso
rosso o blu. E' possibile vincere con
probabilità 3/4 Se vedo due colori diversi
passo se vedo lo stesso colore nei due cappelli
scrivo l'altro colore. Otto casi possibili In
due casi (1/4 dei casi) i tre cappelli hanno lo
stesso colore tutti e tre i giocatori
sbaglieranno. Nei rimanenti 6 casi (3/4 del
totale), ci saranno due cappelli dello stesso
colore e uno diverso. I giocatori con il cappello
dello stesso colore passeranno, vedendo due
colori diversi, mentre il terzo risponderà
correttamente!
10- Numero n qualsiasi di giocatori.
- Ci sono n giocatori, numerati da 1 ad n.
- I giocatori concordano una strategia, prima
dell'inizio del gioco. - Sul capo di ciascuno di essi viene messo un
cappello rosso o blu. - Il colore del cappello è scelto a caso.
- I giocatori non conoscono il colore del proprio
cappello. - I giocatori non possono comunicare durante il
gioco. - I giocatori vedono il colore dei cappelli degli
altri. - I giocatori consegnano un foglio con 'passo
oppure un colore. - Se tutti passano, perdono.
- Se il colore scritto su uno dei fogli non
corrisponde al colore del cappello di chi lo ha
consegnato, i giocatori perdono. - Se tutti i giocatori che non hanno scritto
passo, hanno riportato il colore corretto allora
i giocatori vincono. - Se n2k-1, esiste strategia con cui si perde in 1
caso su 2k. - Strategia Basata sulla Teoria dei codici per il
controllo degli errori
11- Trasmissione su canali rumorosi
- confronto tra Teoria di Hamming e Teoria di
Shannon - (Visione ad Alto Livello)
- Obiettivi
- Shannon funzioni di codifica e decodifica.
- Hamming codici, distanza minima.
- Scopo
- Shannon massimizzare il tasso e minimizzare la
probabilità di decodifica errata. - Hamming massimizzare il tasso e la distanza
minima. - Modello derrore
- Shannon casuale. Hamming avversariale
(caso peggiore). - In Pratica
- Risultati di Shannon ottimali ma non costruttivi
- Teoria dei codici non ottimali ma efficienti e
veloci
12Codici lineari Alfabeto A campo finito (es.
0,,q-1, q primo, operazioni mod q) codice è
lineare ? esiste una matrice di controllo parità
H (n-k x n) su S tale che C è lo spazio nullo di
H, cioè C y
HyT 0 C lineare è un sottospazio lineare
di Sn ? x, y ? C ? x y ? C
x ? C, a ? S ? ax ? C. C
lineare generato da una matrice G (k x n) righe
insieme massimale di parole codice linearmente
indipendenti base spazio lineare.
Codice x xaG
13Codice di Hamming n723-1
Codice spazio nullo di H x
HxT0 Numero parole codice 27-324
Codice di Hamming n2l-1
Codice spazio nullo di H x
HxT0 Numero parole codice
14Definizione w(x) peso di Hamming di x
numero componenti di x non nulle
w(C) minx in Cw(x) Lemma Dato
codice lineare C w (C) min numero
colonne linearmente dipendenti di H Dim. H ha
r colonne l.d. in posizioni i1,,ir ?
esistono a1,...,ar tali che ? Esiste parola
codice di peso r
15- Lemma Dato codice lineare C
- w (C) min numero colonne
linearmente dipendenti di H - Per codici di Hamming wmin3
- Tutte colonne non nulle ? min num colonne l.d. gt1
- Tutte colonne diverse ? cc non nullo ? min
num colonne l.d. gt2 - In H tutti vettori ? date c,c esiste in H
colonna ccc - ? c c c 0 ? min num colonne
l.d. è 3
16Lemma Dato codice lineare C, w (C)
d(C) Dim.
Corollario Un codice lineare C corregge t errori
se w (C) d(C) gt 2t1
CODIFICA/DECODIFICA?
17CODIFICA/DECODIFICA dei Codici di Hamming
D(C)3 ? corregge 1 errore Siano
c(c0,,cn-1)parola codice, r(r0,,rn-1)seque
nza da decodificare
c
r
rce, ei1 sse errore in posizione i
HrTH(ce)THcT HeTHeT 0 errori
? rc e0 ? HrTH0T0
1 errore posizione i ? rc(0...0100)cei ?
HrTHeiTai DECODIFICA Calcola sindrome
sHrT se s0 output r
se sai output rei Se
si sono avuti gt2 errori?
18CODIFICA dei Codici di Hamming
INPUT bit di informazione blocco di k2l-l-1
bits Vogliamo codifica sistematica bit di
informazione in primi k bit della p.c. Proprietà
Se scegliamo HA In-k allora GIk
AT Dim. Dobbiamo mostrare che
CODIFICA SISTEMATICA input
a(a0,,ak-1) output parola
codice caG c(a0,,ak-1,ck,,cn-1)
19(No Transcript)
20- Codici a correzione di errore
- Applicazioni in vari campi matematica e
informatica. Es. - Complessità per pseudo-randomness, hardness
amplification, probabilistically checkable
proofs. - Crittografia schemi di condivisione segreti,
sistemi crittografici. - Matematica combinatoria e ricreativa.