Registro delle lezioni Matematica Discreta, F. Battaglia,
Anno Accademico 2015-16
Indico con s.d. i risultati enunciati senza dimostrazione.
- 21.09.15 (ore 2).
Introduzione al corso: informazioni pratiche; programma; motivazioni. Esempi: Sistema crittografico a chiave pubblica RSA--
prima descrizione introduttiva; Introduzione alla teoria dei codici autocorrettivi--distanza di Hamming e ridondanza.
Per approfondimenti:
algoritmo RSA
e anche
elliptic curve cryptography;
elementary theory and practice of elliptic curves cryptography,
the new generation of public key systems.
Vedere anche la sezione 4.1 qui
At risk - Public key encryption.
- 22.09.15 (ore 3).
Definizione di gruppo, anello, campo. Esempi. Teorema della divisione.
Definizione della relazione di congruenza e relative proprietà:
ogni intero è congruo al suo resto modulo n; due interi sono congrui modulo n se e solo se hanno lo stesso resto quando divisi per n.
Somma e prodotto conservano la congruenza.L'importante identita' [xy]d=[[x]d[y]d]d con x,y numeri interi.
Algoritmo dei quadrati ripetuti.
Definizione dell'anello, Z/nZ, delle classi di resto modulo n. Esempi. Z/nZ non è un campo se n non è primo.
Sia div(n) l'insieme dei divisori di un intero n. Nota: div(0)={0,1,2,3,...}=N.
Lemma di Euclide (Euclide (300 a.C.): Siano m,n in Z. Allora esiste unico d in N tale che div(m) intersecato div(n) e' uguale a div(d).
Massimo comun divisore tra due numeri interi: definizione e prime proprieta';
- 28 Settembre 2015 (ore 2)
Algoritmo di Euclide per il calcolo del massimo comun divisore.
Proposizione: il massimo comun divisore di due interi a e b si puo' scrivere come combinazione lineare intera di a e b: algoritmo Euclideo esteso per la dimostrazione e il
calcolo dei coefficienti della combinazione lineare.
Proposizione: Due interi a e b sono co-primi se e solo esistono
x e y interi tali che xa+yb=1.
Proposizione: l'anello delle classi di resto Z/nZ e' un campo se e solo se n e' un numero primo.
Proposizione:
Se a divide bc e a e b sono primi tra loro, allora a divide c.
Proposizioni:
Se gcd(a,b)=1, a divide c e b divide c, allora ab divide c;
Se gcd(a,b)=1 e gcd(a,c)=1 allora gcd(a,bc)=1.
Introduzione al teorema cinese del resto.
- 29 Settembre 2015 (ore 3)
L'applicazione resto r da Z/nZ a Z/n1Z x ... Z/nrZ, con
n=n1...nr e gcd(ni,nj)=1 è un isomorfismo di anelli,
in particolare è biunivoca.
Si osserva che questo e'
equivalente all'esistenza e unicita della soluzione (modulo n) di un sistema di congruenze. Enunciato "classico" del
Teorema cinese del resto (Sun-Tsu 280-473, Chin Chiu Shao 1247) . La dimostrazione dell'esistenza e' costruttiva, l'esistenza di una soluzione e' provata mediante una procedura, che determina una soluzione esplicita,
basata sull'algoritmo euclideo esteso.
Esempio di applicazione del teorema cinese del resto: caso molto semplice del "secret sharing scheme" dovuto ad
A. Shamir.
Definizione di
(Z/nZ)* come sottoinsieme di Z/nZ delle classi prime con n. (Z/nZ)* e' un gruppo,
il gruppo degli invertibili dell'anello Z/nZ. In particolare, come gia' dimostrato,
Z/nZ e' un campo se e solo se n e' primo.
Definizione della funzione φ di Eulero (1707-1783).
Proposizione: Se n e m sono primi tra loro, allora φ(mn)=φ(m)φ(n).
Teorema di Eulero: siano a,n interi, primi tra loro, n naturale. Allora aφ(n)≡ 1(mod n).
Prima parte della dimostrazione.
Per approfondimenti:
Secret sharing.
- 5 Ottobre 2015 (2 ore)
Seconda parte della dimostrazione. Introduzione ai numeri primi, numeri di Mersenne, primi genemelli, cenno ad alcuni problemi aperti.
Definizione di numero primo; Lemma: ogni naturale non nullo e' prodotto di primi; Teorema (Euclide): ci sono
infiniti numeri primi; Lemma: se un primo p divide il prodotto di due interi ab, allora o p divide a oppure o divide b. Teorema: ogni naturale non nullo si scompone univocamente (a meno dell'ordine) nel prodotto di numeri primi (s.d.);
il calcolo della funzione di Eulero nota la scomposizione in fattori primi di un naturale.
Algoritmo RSA in dettaglio.
Per approfondimenti:
Twenty years of attacks on the RSA cryptosystem
di Dan Boneh.
The largest known primes- a summary,
Great internet Mersenne prime search,
Risultato del 2013 sul primes gap, articolo divulgativo,
Risultato del 2013 sul primes gap, articolo originale.
- 6 Ottobre 2015 (3 ore)
QUOZIENTI. Sia G un gruppo. Definizione di sottogruppo H di G, di classe laterale sinistra e di insieme G/H delle classi laterali sinistre. Indico con |G| il numero degli elementi di un gruppo finito.
Proposizione: sia G un gruppo finito, allora |H| divide |G|.
Sia g un elemento di un gruppo G.
Definizione di ordine di g, ord(g). Proposizione: Sia G un gruppo finito, allora
ord(g) divide |G|, g|G|=e, se gr=e, allora ord(g)
divide r.
Sia H un sottogruppo di G, se H soddisfa una particolare condizione (e' normale) allora G/H e' un gruppo. Se
G e' commutativo ogni sottogruppo H e' normale e dunque
il quoziente G/H e' sempre un gruppo con l'operazione
naturale di composizione tra le classi indotta dalla
composizione in G.
Siano G e K due gruppi. Un'applicazione f da G a K e' un
omomorfismo di gruppi se per ogni g,g' in G si ha
f(gg')=f(g)f(g'). Il nucleo di un omomorfismo f e l'insieme degli elementi
g in G tali che f(g)=e. Il nucleo di un omomorfismo e' un sottogruppo di G.
L'omomorfismo f e' iniettivo se e solo se ker(f)={e}.
Teorema: Siano G e K due gruppi e sia f un omomorfismo
da G a K. Allora f induce una applicazione ben definita e iniettiva
da G/Ker(f) in K che, composta con la proiezione naturale da G su G/Ker(f), da' f.
Definizione di un ideale I di un anello A.
Il quoziente A/I e' un anello. Sia f da A a B un omomorfismi di anelli.
Allora Ker(f) e' un ideale di A. Traduciamo al caso degli anelli il teorema
visto per i gruppi, ossia, sia f da A in B un omomorfismo di anelli, allora
f induce un'applicazione ben definita e iniettiva da A/I in B che, composta
con la proiezione naturale da A su A/I, da' f.
Il protocollo per lo scambio di chiavi di Diffie-Hellmann. L'unico modo noto per risolvere il problema di Diffie-Hellman (DHP) e' attraverso il logaritmo discreto. Cenno alla definzione e al problema del logaritmo discreto (DLP). La sicurezza del protocollo Diffie-Hellman si basa sulla difficolta' computazionale del DPL, cosi' come la sicurezza dell'RSA si basa sulla difficolta' computazionale della fattorizzazione in primi. Cosa significa esattamente "difficolta' computazionale"? Cosa dignifica che due problemi sono equivalenti? Il primo mattone per la teoria della complessita': la macchina di Turing deterministica.
Per approfondimenti: Gruppi ciclici finiti e il protocollo di scambio
delle chiavi di Diffie e Hellman.
Il
sistema crittografico di El Gamal.
A walk through combinatorics, Miklos Bona, sia la seconda che la terza edizione contengono i
capitoli sulla teoria della complessita' e una descrizione
chiara della macchina di Turing.
Notes on Turing machine.
- 12 Ottobre 2015 (ore 2)
Introduzione alla teoria della complessita' computazionale. Descrizione dei problemi elencati dopo la definizione di
linguaggio. Definizione:
Un linguaggio L e' l'insieme di tutti gli oggetti per cui la risposta a un dato problema decisionale
e' si'.
Esempi:
LPr=insieme dei numeri primi
LEC=insieme dei grafi connessi che ammettono un circuito Euleriano
LHC=insieme dei grafi connessi che ammettono un circuito Hamiltoniano
LTSP=insieme di coppie (G,B) con G grafo connesso pesato e B numero positivo tali che G
ammette un circuito Hamiltoniano con costo inferiore a B
LSAT=insieme delle formule Booleane AND of OR's soddisfacibili
Definizione delle seguenti nozioni: una macchina di Turing T accetta un linguaggio L;
un linguaggio L appartiene alla classe di complessita' computazionale P;
un linguaggio L appartiene alla classe di complessita' computazionale NP,
comprendente la nozione di testimone o certificato.
Brevemente P e' la classe dei linguaggi per cui, per ogni input, l'appartenenza o meno al linguaggio puo' essere
decisa in tempo polinomiale nella taglia dell'input.
NP e' la classe dei linguaggi per cui, per ogni input nel linguaggio, la prova di appartenenza
puo' essere verificata in tempo polinomiale nella taglia dell'input.
Cenno a due delle ipotesi principali alla base della teoria
della complessita' computazionale: la Church-Turing thesis e la Cobham-Edmonds thesis.
Per approfondimenti:
L'articolo originale in cui Turing introdusse la macchina di Turing
On computable numbers, with an application to the Entscheidungsproblem A. Turing,
Proceedings of the London Mathematical Society, (Ser. 2, Vol. 42, 1937), e, ancora,
Turing and the development of computational complexity di S. Homer e A. Selman (2011), dove vengono illustrate anche le ipotesi di cui sopra.
Definizione di formula Booleana AND of OR's.
Il materiale utilizzato per l'introduzione alla teoria della complessita' comprende anche la:
Conferenza di Vijaya Ramachandran: P vs NP problem, tenuta
al Clay Mathematics Institute, molto chiara, e i capitoli 17 e 18 del libro A walk through combinatorics, Miklos Bona citato anche nella scorsa lezione.
Per la teoria dei grafi vedere, ad esempio:
Corso di teoria dei grafi, Carlo Casolo e il libro di Bona succitato.
- 13 Ottobre (3 ore)
Dati due linguaggi L ed L' definiamo quando L e' riconducibile ad L', L≤pL'.
Definizione di NP completezza.
Teorema (Cook, 1961): LSAT e' NP completo. Proposizione: Se L e' NP completo e L≤pL', allora
L' e' NP completo. Ad ora si conoscono migliaia di linguaggi NP completi.
Altri esempi di linguaggi NP completi: LHC e LTSP.
P=NP se e solo se un linguaggio NP completo e' in P (segue dalla definizione di NP completezza).
Definizione di linguaggio NP-hard.
Esempi di estensione di campi: costruzione del campo dei numeri complessi C come campo quoziente
dell'anello dei
polinomi a coefficienti in R, modulo l'ideale generato dal polinomio irriducibile x2+1. Costruzione di
un campo con 4 elementi come campo quoziente
dell'anello dei
polinomi a coefficienti in F2[x], modulo l'ideale generato dal polinomio irriducibile x2+x+1:
elementi e tabelle additive e moltiplicative.
POLINOMI: L'anello dei polinomi, A[x], nell'indeterminata x a coefficienti in un anello A.
Grado di un polinomio. Siano f,g sono in K[x], allora
deg(fg)=def(f)+deg(g). Gli elementi invertibili di K[x] sono tutti e soli i polinomi costanti non nulli.
Teorema della divisione:Sia d un polinomio a coefficienti in un anello A, diverso
da 0 e tale che il coefficiente del monomio di grado massimo e' invertibile. Allora, dato f in A[x], esistono unici q e r in A[x]
tali che f=qd+r, con deg(r)< deg(d) o r=0.
Definizione di radice di un polinomio. Denotiamo con V(p) l'insieme delle radici del polinomio p. Un elemento a in
K e' una radice del polinomio p se e solo se (x-a) divide p. Definizione di molteplicita', νa(p)
di una radice a del polinomio p.
Si ha
V(fg)=V(f)UV(g). Teorema: Sia F in
K[x]. Se V(f)={a1,...,ar} allora
f=q(x-a1)νa1(p)...(x-ar)νar(p), con q in K[x] e V(q) vuoto.
Inoltre νa1+...+νar≤deg(f).
Derivata di un polinomio e sue proprietà .
Lemma: Siano f,g due polinomi in K[x]. Se f2
divide g, allora f divide Dg;
l'elemento a in K e' una radice del polinomio f con molteplicità maggiore
di 1 se e solo se e' una radice di f e di Df.
Radici n-esime di 1 nel campo dei complessi C: definizione, radici n-esime primitive di 1 in C (caratterizzazione e proprieta').
Per approfondimenti:
M. Agrawal, N. Kayal, N. Saxena, Primes is in P, Annals of Mathematics,
160 (2004) 781-793: We present an unconditional deterministic polynomial-time algorithm that determines whether an input number is prime or composite.
Un articolo molto bello sul risultato precedente, di A. Graville, sul Bull. of AMS. Per la teoria della complessita' vedere anche ad esempio:
il libro
Computational Complexity: A Modern Approach Sanjeev Arora and Boaz Barak, Cambridge University Press. E, in relazione con l'RSA, l'articolo
Complexity theory and the RSA cryptosystem
J. Garlapati.
Il certificato di Pratt.
Gli articoli originali di Cook e Levine (indipendenti) sulla NP-completezza di SAT:
S. Cook, The complexity of theorem proving procedures, Proceedings of the Third Annual ACM
Symposium on Theory of Computing, (1971) pp. 151-158. L. Levin, Universal search problems (in russo),
Problems of Information Transmission, 9 (3):
(1973) 115-116, translated into English by Trakhtenbrot, B. A. A survey of Russian approaches to perebor
(brute-force searches) algorithms, Annals of the History of Computing 6 (4) (1984).
- 19 Ottobre 2015 (ore 2)
L'insieme delle radici n-esime di 1 in C e' un gruppo moltiplicativo isomorfo al gruppo additivo Z/nZ.
Definizione e proprieta' dei polinomi ciclotomici. Esempi.
CARATTERISTICA DI UN CAMPO:
Dato un campo K esiste un'unico omomorfismo di anelli, f, dall'anello degli interi Z a K. Quindi ha senso vedere
gli interi come elementi di un campo qualunque K. Sia n in Z, quando scriviamo n in K intendiamo l'elemento f(n) in K.
L'ordine di 1 in (K,+) e' un'invariante fondamentale del campo K, detto caratteristica. Se 1 ha ordine infinito diciamo
che char(K)=0. Se ord(1)=n finito allora char(K)=n.
Quando la caratteristica e' finita possiamo pensarla come il piu' piccolo intero positivo tale che 1+1+...+1(n volte)=0.
Esempi: Char(Q)=0, Char(R)=0, Char(C)=0, Char(Fp)=p, Char(F2/2+x+1>)=2.
Proposizione: Sia K un campo tale che Char(K)=n. Allora c'e' un omorfismo iniettivo di Z/nZ in K. In particolare n e' primo.
Quindi riepilogando la caratteristica di un campo e' zero oppure un numero primo. Se e' zero l'omomorfismo f e' iniettivo epossiamo pensare a Z come a un sottoanello del campo K, se e' p allora Ker(f)=pZ e possiamo pensare a Fp come
a un sottocampo di K.
Osserviamo che
i polinomi ciclotomici, essendo a coefficienti interi, possono essere considerati in K[x] per ogni campo K. Esempio:
phi3=x2+x+1 in C ha per radici le due radici terze primitive di 1, in R e' irriducibile, in F2 e' irriducibile, in F3 ha una sola radice doppia x2+x+1=x2-2x+1=(x-1)2, in F4 ha due radici, entrambe radici terze (primitive) di 1. Definizione di radice n-esima primitiva in un campo K. Proprieta'. Enunciato del criterio per stabilire se un elemento di K e' radice n-esima primitiva in K.
- 20 Ottobre 2015 (ore 3)
Dimostrazione del criterio enunciato nella lezione precedente.
Definizione di gruppo ciclico.
Teorema di Gauss: un sottogruppo G finito del gruppo moltiplicativo di un campo K e' ciclico. Dimostrazione: si utilizza il criterio appena dimostrato.
Definizione di polinomio irriducibile.
Proposizione: Se f in K[x] ha grado 1 allora e' irriducibile.
se f e' irriducibile in K[x] e grado di f >1 allora f non ha radici
se f ha grado 2 o 3 e non ha radici in K allora e' irriducibile in K[x]
Definizione degli anelli quozienti Fp[x]/< f >.
Fp[x]/< f > e' un campo se e solo se f e' irriducibile in Fp[x].
Fp e' un sottocampo di L:=Fp[x]/< f >
Il polinomio f e' in Fp[x] e quindi in L[x]. L'elemento [x] in L e' una radice di f. Quindi abbiamo costruito
una estensione di Fp a un campo L che contiene una radice del polinomio f, irriducibile in Fp[x].
Il campo L= Fp[x]/< f > ha pn elementi.
Proposizione: Dato un campo K, l'anello K[x] e' un anello a ideali princincipali.
Applicazione: il massimo comun divisore tra due polinomi g e h in K[x] e' il generatore monico dell'ideale
I={ag+bh | a,b in K[x]}.
Esempio di costruzione di un campo con 9 elementi e di operazioni tra elementi del campo.
Proposizione: Sia F un campo finito. Allora esistono un numero primo p e un polinomio irriducibile in Fp[x]
tali che F e' isomorfo a Fp[x]/< f >.
Corollario: Un campo finito F ha cardinalita' uguale alla potenza di un primo. Questo primo e' la caratteristica del
campo.
- 26 ottobre 2015 (ore 2)
Riepilogo della lezione precedente. Esempio di campo con cardinalita' 8. Teorema di esistenza e unicita': dati un primo p e un intero n positivo esiste un campo F di cardinalita' pn. Il campo F e' unico a meno di isomorfismi. Se q=pn denotiamo con
Fq tale campo. Dimostriamo prima l'esistenza. Lemma:
sia f un fattore irriducibile in Fp[x] del
polinomio ciclotomico phipn-1, allora il grado di f e' uguale a n. Questo Lemma implica la parte di
esistenza del teorema. Dimostriamo il Lemma, occorre un Lemma ulteriore di semplice dimostrazione: siano r,s,t naturali con r>1, allora rs-1 divide rt-1 se e solo se s divide t.
- 27 ottobre 2015 (ore 3)
Definizione di ideale massimale in un anello. Lemma: un quoziente A/I e' un campo se e solo se I e' massimale in A. Si dimostra solo A/I campo inmplica I massimale. Dimostrazione della parte di unicita' del teorema. Osservazione:
dalla dimostrazione e' facile dedurre che ogni polinomio di grado n irriducibile in Fp ha n radici in
Fpn. Esempi. Teorema: il polinomio Xpn-X in Fp e' il prodotto DEI
polinomi irriducibili in Fp di grado d che divide n. Esempi. Contare i polinomi irriducibili in Fp di grado assegnato. Dimostrazione del teorema. Esercizio di introduzione all'algoritmo di Berlekamp per la fattorizzazione
di polinomi.
- 2 novembre 2015 (ore 2)
Seconda parte dell'esercizio iniziato la lezione precedente. Dimostrazione del seguente teorema: sia f un polinomio
in Fp[x], sia R l'anello Fp[x]/< f > e sia F : R ---> R la mappa di Frobenius, cosi' definita
f(v)=vp. Si consideri R come spazio vettoriale su Fp. Allora
1) F e' lineare
2) f e' irriducibile in Fp[x] se e solo se Ker(F)={0} e Ker(F-I)=Fp.
Dimostrazione: parte I: se f e' irriducibile allora Ker(F)={0} e Ker(F-I)=Fp. Si dimostra per assurdo e un
sottoprodotto della dimostrazione e' proprio l'algoritmo di Berlekamp per la fattorizzazione di polinomi in Fp[x].
Parte II: se Ker(F)={0} e Ker(F-I)=Fp allora f e' irriducibile in Fp[x]. Sappiamo che f irriducibile
in Fp se e solo se R e' un campo, quindi dimostriamo, essenzialmente con strumenti di algebra lineare che
R e' un campo.
- 3 novembre 2015 (ore 3)
Teoria dei codici: definizioni preliminari: alfabeto di taglia/cardinalita' q, parola q-aria, codice q-ario di lunghezza n, taglia o cardinalita' M di un codice, codici di tipo (n,M)q, information rate di un codice.
Canale di comunicazione: e' dato da un alfabeto (diamo la definzione con lo stesso alfabeto in entrata e in uscita)
e da una matrice di probabilita' di trasmissione in avanti. Canale senza memoria. Canale simmetrico. Canale fortemente
simmetrico. BSC=binary simmetric channel.
Distanza di Hamming, definizione e proprieta'.
Criterio di decodifica a minima distanza (DMD).
Proposizione: Per un canale senza memoria e fortemente simmetrico le decodifiche a massima probabilita' e minima distanza coincidono.
Distanza di Hamming di un codice.
Distanza d(x,C) di una parola w in An da un codice C.
Definizione di sfera aperta e chiusa di centro x e raggio s, denotate
(in questo registro) rispettivamente con Bs(x) e
Bs(x).
Un codice C segnala al piu' s errori in DMD se per ogni x in C
Bs(x)∩C={x}.
Teorema: un codice C segnala al piu' s errori se e solo se d(C)≥s+1
Per approfondimenti:
"probably no single work in this century has more profoundly altered man's understanding of communication than Shannon's
1948 paper A mathemathical theory of communication" (David Slepian (editor) in Key papers in the Development of Information Theory, IEEE Press, NY, 1974).
- 9 Novembre 2015 (ore 2)
Un codice corregge al piu' s errori se per ogni parola w in An tale che d(w,C) minore o uguale a s si ha che esiste un'unica parola c in C tale che w appartiene a Bs(c). Spieghiamo perche' questa definizione e'
corretta. Teorema: un codice C corregge al piu' s errori se e solo se d(C)≥2s+1. Lemma: sia C un codice.
Allora d(C)≥2s+1 se e solo se per ogni c e c' in C, con c diversa da c', si ha
Bs(c)∩Bs(c')=vuoto. Indichiamo con (n,M,d)q un codice q-ario
di lunghezza n, taglia M e distanza d. Il codice C segnala al piu' d-1 errori e corregge al piu' e=[d-1/2] errori ([]=parte intera inferiore). Fissato q, i parametri n,M,d sono parametri essenziali per il codice. Problema di ottimizzazione: fissati n e d qual e' la taglia massima Max tale che se M'> Max non esiste un codice (n,M',d)?
Teorema di Hamming: limitazione superiore per la taglia
M di un codice in funzione di n,d,q.
Lemma: numero di parole in una palla chiusa di raggio r.
- 10 novembre 2015 (ore 3)
Dimostrazione del teorema di Hamming. Definizione di codice perfetto.
Codici lineari. Definizione: un codice lineare e' un sottospazio vettoriale di Fqn (q=pr con p primo). Esempi. Prodotto scalare in Fqn. Definizione di ortogonale di C. Proprieta'. Definizione di matrice generatrice G e matrice di controllo di parita' H di un codice lineare: sia dim(C)=k, allora G e' una matrice
le cui righe costituiscono una base di C (dunque rango(G)=k), mentre H e' una matrice le cui righe costituiscono una base
dell'ortogonale di C (dunque rango(H)=n-k).
Proposizione: x in Fqn appartiene a C se e solo se
Hxt=0; x in Fqn appartiene all'ortogonale di C se e solo se
Gxt=0; una matrice H' M(n-k),n(Fq) di rango n-k e' una matrice di controllo di parita' di C se e solo se G(H')t=0; una matrice G' Mk,n(Fq) di rango k e' una matrice
generatrice di C se e solo se H(G')t=0.
Peso di Hamming di una parola x in Fqn, denotato con wt(x). Peso di Hamming, wt(C), di un codice C.
Proposizione: per un codice lineare C si ha d(C)=wt(C).
Calcolo della distanza mediante la matrice di controllo di parita' H. Proposizione: sia C un codice lineare e sia H una sua matrice di controllo di parita'. Allora si ha:
1) d(C) maggiore o uguale a l se e solo se ogni (l-1) colonne di H sono linearmente indipendenti.
2) d(C) minore o uguale a l se e solo se esistono l colonne di H linearmente dipendenti
3) d(C)=l se e solo se ogni (l-1) colonne di H sono linearmente indipendenti ed esistono l colonne di H linearmente dipendenti.
Esempio.
Codici equivalenti. Definizione di GP(n,Fq): gruppo delle permutazioni generalizzate. Proposizione:
il gruppo delle permutazioni generalizzate coincide con il sottogruppo degli isomorfismi di Fqn che conservano
il peso.
- 16 novembre 2015 (2 ore)
Definizione: due codici lineari C e C' in Fqn si dicono equivalenti se esiste
f: Fqn ---> Fqn in GP(n,Fq) tale che
f(C)=C'.
Teorema (Florence MacWlliams) Siano C e C' due
codici linearin in Fqn, se C e C' sono isometrici, ossia, se esiste f:C--->C'
isomorfismo che conserva la distanza, allora C e C' sono equivalenti, ossia f estende a un'isometria
di Fqn. S.D. Per una dimostrazione vedi
qui, il pdf e' disponibile.
Proposizione: due codici equivalenti hanno lo stesso peso e la stessa distanza.
Osservazione: sia G la matrice generatrice di un codice C, le seguenti operazioni sulle righe di G producono una nuova
matrice generatrice di C: scambiare due righe tra loro, moltiplicare una riga per uno scalare diverso da zero,
sostituire una riga con la riga stessa sommata a una combinazione lineare delle altre. Invece permutare le colonne
o moltiplicare una colonna per uno scalare
produce una matrice G' che definisce,
come matrice generatrice, un codice C' equivalente a C.
Codici di Hamming: definizione del codice di Hamming
Ham(r,q) (e' in realta' un'insieme di codici equivalenti).
I parametri dei codici di Hamming. in particolare i codici di Hamming hanno distanza 3 e sono codici perfetti.
- 17 Novembre 2015 (ore 3)
La matrice generatrice G di un codice si dice in forma standard se G=(Ik|X)
Teorema: ogni codice lineare C e' equivalente a un codice C' che ha una matrice generatrice in forma standard.
Dim: applicare la riduzione di Gauss ("per ogni riga all'avanti e all'indietro") e poi eventualmente operare sulle colonne come descritto sopra.
Proposizione: Sia G=(Ik|X)
matrice generatrice di un codice C in forma standard, allora la matrice H=(-Xt|In-k)
e' una matrice di controllo di parita' per C.
Processo di codifica per un codice lineare.
Message digits, check digits. Processo di decodifica a minima distanza (DMD) per un codice lineare.
Sia C un codice lineare in
Fqn di dimensione k. Si considera lo spazio vettoriale quoziente Fqn/C.
Tale spazio ha dimensione n-k e ha dunque qn-k elementi, ognuno di questi e', come sappiamo, una
classe laterale (coset). Sia w
la parola ricevuta. Nella decodifica a minima distanza cerco c in C che minimizza d(w,c).
Poiche' d(w,c)=wt(w-c), cerco la parola w-c, con c in C,
di peso minimo. Osservazione importante: w-c appartiene
alla stessa classe di w. Dunque cerco la parola nella
classe di w, ossia in w+C, di peso minimo.
Siamo quindi interessati a individuare, in ogni classe, le parole di peso minimo.
In ogni classe prendiamo LA (o una, se ce n'e' piu' d'una) parola di peso minimo, questa e' per definizione il capoclasse (coset leader) della classe.
La tabella standard (standard array)
e' costituita in questo modo: la prima colonna, ai1,
di qn-k elementi, da' la lista dei capoclasse, con a11=0.
Per ogni coset leader la riga corrispondente da' la lista degli elementi della classe, ossia fissato i,
per ogni j, aij=a1j+ai1.
Si segnalano con un asterisco le classi che hanno piu' di un elemento minimo.
Il procedimento di decodifica a minima distanza e' il seguente: ricevo w.
Controllo la tabella e individuo il capoclasse err(w)
corrispondente a w. Decodifico con c=w-err(w), che e' la prima parola della colonna di w.
Se w appartiene a una riga asteriscata o richiedo la trasmissione (decodifica incompleta) e procedo come sopra
(decodifica completa).
Decodifica a sindrome. Sia C un codice lineare [n,k,d]q, con matrice generatrice G e matrice di controllo
di parita' H. Definiamo l'applicazione lineare SH:Fqn--->Fqn-k
come SH(w)=(Hwt)t. La parola SH(w) si dice sindrome di w.
L'applicazione lineare SH e' suriettiva, il suo nucleo e' C.
Proposizione: L'applicazione SH induce un'isomorfismo da Fqn/C in Fqn-k. Dim: immediata utilizzando quanto fatto in precedenza.
Costruiamo una tabella detta tabella delle sindromi (syndrome look-up table) nel modo seguente:
la prima colonna coincide con la prima colonna della tabella standard, da' quindi una lista di capoclasse, con primo
elemento 0. La seconda colonna associa ad ogni capoclasse u la sua sindrome SH(u). Anche qui
indichiamo con asterisco le righe (classi) in cui non c'e' un'unica parola di peso minimo.
- 23 Novembre 2015 (ore 2)
Composizione della tabella delle sindromi elencando per prime, nella colonna dei capoclasse, le parole di Be(0). Infatti la sindrome SH
e' biunivoca sulla palla Be(0) e dunque le parole nella palla sono capoclasse delle rispettive classi.
Esempio. Esempio di decodifica a sindrome per i codici di Hamming, in particolare per Ham(2,3).
Bounds: definizione di A(n,d)q e di B(n,d)q. Enunciato del bound di Singleton e bound di Singleton
per codici lineari [n,k,d]q: k minore o uguale a n-d+1.
- 24 Novembre 2015 (ore 3)
Dimostrazione del bound di Singleton (upper bound). Sphere covering bound (lower bound). La dimostrazione e' dello stesso tipo di quella del bound di Hamming (upper bound): per quello di Hamming si ha che l'unione (disgiunta) di palle chiuse di raggio e centrate nelle parole del codice e' contenuta dello spazio totale, per lo sphere covering bound lo spazio totale e' contentuto (ricoperto) dall'unione delle palle chiuse di raggio d-1 centrate nelle parole del codice.
Teorema costruttivo preliminare al bound di Gilbert-Varshamov: se i parametri k,n,d soddisfano una opportuna condizione, allora esiste un codice lineare [n,k,d'] con d' maggiore o uguale a d.
- 29 Novembre 2015 (ore 2)
Bounds: Riepilogo della lezione precedente (Hamming bound (upper bound) e sphere packing bound (lower bound)).
Riepilogo della dimostrazione del Teorema spiegata alla lezione precedente.
Lemma sul logaritmo.
Corollario [Gilbert-Varshamov lower bound]:
Fissato q, per d,n tali che 2 ≤ d ≤ n si ha;
Bq(n,d)≥ qn-⌈ logq( Vn-1q(d-2)+1)⌉ ≥ qn-1/ Vn-1q(d-2).
Introduzione ai bounds asintotici.
Versione asintotica del bound di Gilbert-Varshamov, cenno
ai risultati di Goppa e Tfsasman-Vladut-Zink.
Codici ciclici: definizione ed enunciato del teorema di classificazione.
Approfondimenti: l'introduzione del seguente articolo
di M. Cheraghchi,
A. Shokrollahi, A. Wigderson
presenta in modo
preciso ed estremamente chiaro i bounds e cosa significa costruire codici con parametri estremali, anche per bounds
asintotici:
Computational Hardness and Explicit Constructions of
Error Correcting Codes
.
Nelle seguenti
note di Y. Lindell si trova il passaggio dal bound
di Gilbert-Varshamov alla sua versione asintotica, con notazioni compatibili con quelle del libro di testo.
In questa pagina si trova l'aggioramento continuo dei bounds sui
parametri di vari tipi di codici, la pagina e' esaustiva.
Note sintetiche su quanto trattato in questa lezione e nella precedente.
- 1 dicembre (ore 3)
Dimostrazione del teorema di classificazione dei codici ciclici: i codici ciclici in Fqn
sono in corrispondenza biunivoca con i divisori monici di xn-1 in Fq[x].
Dal polinomio generatore g, divisore monico di xn-1 di grado n-k, alla matrice generatrice G del codice ciclico corrispondente, di dimensione k.
Esempi. Codici corrispondenti a polinomi distinti possono essere equivalenti.
Dal polinomio generatore g alla matrice di controllo di parita' H del tipo (In-k|A).
Esempi.
- 14 Dicembre 2015 (2 ore)
Riepilogo sui codici ciclici. Decodifica di codici ciclici:con la matrice di controllo di parita' H del tipo (In-k|A), la sindrome di una parola w coincide con il resto della divisione del corrispondente polinomio w(x) per g(x). Calcolo della sindrome di shifts successivi di w.
Algoritmo di decodifica error trapping corregge
errori con sequenze cicliche di zeri sufficientemente lunghe e peso inferiore alla capacita' correttiva del codice.
Dimostrazione dell'algoritmo di decodifica error trapping
ed esempio. Cenno
all'algoritmo di decodifica per la correzione di errori di
tipo burst, perfettamente analogo al precedente.
Codici di Reed-Solomon: definizione come codici ciclici,
calcolo della distanza. Esercizi sui codici ciclici e sull'error trapping decoding.
|