Sei sulla pagina 1di 4

Disuguaglianza di KraftMcMillan

Appunti scritti da Alberto Leporati e-mail: alberto.leporati@unimib.it Dipartimento di Informatica, Sistemistica e Comunicazione (DISCo) Universit` degli Studi di Milano Bicocca a Via Bicocca degli Arcimboldi 8, 20126 Milano

Sul libro di testo [1] vengono enunciati i due teoremi seguenti. Teorema 1 (Disuguaglianza di Kraft). Sia S una sorgente avente q simboli. Condizione necessaria e suciente anch esista un codice istantaneo r-ario e avente codeword di lunghezza 1 , 2 , . . . , q ` che valga: e
q

i=1

1 1 r i

Teorema 2 (Disuguaglianza di McMillan). Sia S una sorgente avente q simboli. Condizione necessaria e suciente anch esista un codice univocamente e decodicabile r-ario avente codeword di lunghezza 1 , 2 , . . . , q ` che valga: e
q

i=1

1 1 r i

(1)

Linterpretazione che sembra scaturire dalla lettura del libro di testo ` che la e condizione (1) caratterizza sia i codici istantanei che quelli univocamente decodicabili; detto in altre parole, il primo teorema sembrerebbe dire che un codice avente codeword di lunghezza 1 , 2 , . . . , q ` istantaneo se e solo se vale la (1), e mentre il secondo teorema sembrerebbe dire che un codice avente codeword di lunghezza 1 , 2 , . . . , q ` univocamente decodicabile se e solo se vale la (1). e Poich esistono codici che sono univocamente decodicabili ma non istantanei, e questa interpretazione lascia sicuramente perplessi. Inoltre, se consideriamo il seguente codice, con q = 4 e r = 2: s1 0, s2 01, 1 s3 011, s4 111

si pu` facilmente vericare che il codice ` univocamente decodicabile ma non o e istantaneo; la regola da seguire per la decodica ` la seguente: ogni volta che e si legge uno 0 si memorizzano (oppure si contano) gli 1 che lo seguono, e si decodica a partire dal fondo della stringa letta. Le lunghezze delle codeword sono 1, 2, 3, 3 e vale: 1 1 1 K = + 2 +2 3 =11 2 2 2 Quindi, linterpretazione data ` sicuramente falsa per i codici istantanei. e In realt`, linterpretazione corretta dei due teoremi enunciati ` che la condia e zione (1) caratterizza lesistenza sia dei codici istantanei che di quelli univocamente decodicabili (e non linsieme dei codici istantanei e/o linsieme dei codici univocamente decodicabili). Inoltre, sul libro di testo viene mostrata solo met` della dimostrazione del a primo teorema, ovvero: per ogni codice istantaneo vale K 1 ragionando sugli alberi di decodica, che abbiamo visto essere in corrispondenza biunivoca con i codici istantanei. Manca quindi la dimostrazione della seguente proposizione, che sviluppiamo qui di seguito. Proposizione 1. Se K = q r1i 1 allora esiste un codice istantaneo r-ario i=1 avente codeword di lunghezza 1 , 2 , . . . , q . Dimostrazione. Supponiamo che valga q r1i 1, e sia = max{1 , 2 , . . . , q } i=1 la lunghezza della codeword pi` lunga. Per ogni j {1, 2, . . . , }, indichiamo con u tj il numero di codeword di lunghezza j. Allora la disuguaglianza pu` essere o scritta come: 1 ti i 1 r
i=1

Moltiplicando entrambi i membri per r e risistemando i termini otteniamo: t r t1 r 1 t2 r 2 . . . t1 r Dato che t 0, otteniamo: 0 r t1 r 1 t2 r 2 . . . t1 r Dividendo per r e risistemando i termini otteniamo: t1 r 1 t1 r 2 t2 r 3 . . . t2 r Continuando allo stesso modo, usando ti 0, otteniamo: t2 r 2 t1 r 3 t2 r 4 . . . t3 r t2 r 2 t1 r t1 r 2

Di tali disuguaglianze, lultima ` ovviamente necessariamente vera, mentre le e altre non sono cos` ovvie. Costruiamo ora una funzione di codica f : S iniziando dalle lunghezze pi` corte. Si scelgano anzitutto t1 codeword di lunghezza 1, e si denisca f in u modo che assegni tali codeword a t1 simboli qualsiasi di S. Rimangono r t1 parole di lunghezza 1 non assegnate, e quindi possiamo formare (r t1 )r parole di lunghezza 2 i cui primi caratteri sono diversi da quelli usati per formare le codeword di lunghezza 1. Questo fatto ci assicura che il codice costruito nora ` istantaneo. Tuttavia dobbiamo formare solo t2 codeword di lunghezza 2 (e e denire f in modo che assegni t2 simboli di S a tali codeword). Le disuguaglianze di cui sopra ci assicurano che ci` ` possibile, dato che: oe t2 r 2 t1 r Rimangono (r t1 )r t2 codeword di lunghezza 2 non assegnate, e tali che il primo carattere non codica alcun simbolo. Quindi ci sono ((r t1 )r t2 )r codeword di lunghezza 3 in cui sia il primo carattere che la pressa di lunghezza 2 non sono la codica di alcun simbolo. Ne scegliamo t3 in maniera arbitraria. Dalla disuguaglianza: t3 r 3 t1 r 2 t2 r di cui sopra vediamo che ci` ` possibile. Continuando in questo modo riusciamo oe a costruire il codice f . Abbiamo quindi dimostrato il primo teorema. Per quanto riguarda il secondo teorema (disuguaglianza di McMillan) valgono le osservazioni fatte sul libro di testo. In particolare, la proposizione appena dimostrata implica il seguente corollario. Corollario 1. Se K 1 allora esiste un codice univocamente decodicabile r-ario avente codeword di lunghezza 1 , 2 , . . . , q . Dimostrazione. Procedendo come nella dimostrazione della Proposizione 1, a partire dalla disuguaglianza K 1 si costruisce un codice istantaneo rario avente codeword di lunghezza 1 , 2 , . . . , q . Tale codice ` univocamente decodicabie le. Inne, sul libro di testo viene dimostrata la proposizione: per ogni codice univocamente decodicabile vale K 1 che completa la dimostrazione del Teorema 2. La conclusione importante di questo discorso ` che non vale la pena di lavorare e con codici univocamente decodicabili, per cui K 1, che non siano istantanei. Ad esempio, un codice istantaneo binario per la sorgente di 4 simboli considerata sopra, avente codeword di lunghezza 1, 2, 3, 3, ` il seguente comma code: e s1 0, s2 10, 3 s3 110, s4 111

Quindi, per il Teorema 2 vale K 1 per il codice univocamente decodicabile (ma non istantaneo) considerato sopra, mentre per il Teorema 1 esiste un codice istantaneo che ha le stesse lunghezze di codeword (anche se il teorema non ci dice come costruirlo).

Riferimenti bibliograci
[1] R. H. Hamming. Coding and Information Theory. Second Edition. Prentice Hall, Englewood Clis, 1986.

Potrebbero piacerti anche