130
Gheorghe M.Panaitescu Aplicaţii la disciplina TRANSMITEREA ŞI CODAREA INFORMAŢIEI Universitatea Petrol-Gaze Ploiesti 2013 1

Aplicatii Tci

  • Upload
    vlad-m

  • View
    103

  • Download
    0

Embed Size (px)

DESCRIPTION

Aplicatii Tci

Citation preview

  • Gheorghe M.Panaitescu

    Aplicaii la disciplina

    TRANSMITEREA I CODAREAINFORMAIEI

    Universitatea Petrol-Gaze Ploiesti2013

    1

  • 2

  • CUVNT NAINTE

    Volumul acesta este o colectie de aplicatii dezvoltate/propuse n sprijinulntelegerii mai adnci a disciplinei Transmiterea si codarea informatieipredat anului II de la specializarea Electronic aplicat.

    n parte, aplicatiile sunt produse de autor. Partea majoritar ns este preluatdin literatur. Au fost consultate cteva sute de probleme destinate studentilorde pe alte meridiane, unele au fost retinute si au fost traduse si adaptate pentrustudentii pe care i instruiesc.

    Solutiile la enunturile de mprumut un mprumut fcut de cele mai multe oricu acordul autorilor de origine sunt si ele n mare parte mprumutate. Unelemi apartin sau le-am adaptat. Interventia mea n rezolvri este de la caz la cazn proportii diferite si de aceea greu de cuantificat. Dar acesta este un fapt cutotul secundar.

    Unele aplicatii se pot trata/rezolva pe cale exclusiv analitic. Altele necesitrecursul la calculator. De aceea sunt propuse pe alocuri unele secvente sau chiarprograme/scrpturi Matlab pentru ca studentii s nu risipeasc prea mult timp cuelaborarea de programe proprii, ci s se concentreze mai curnd asupraproblemei si asupra semnificatiei solutiilor obtinute. Desigur, nu este interzis, cieste chiar recomandat ca secventele de program din aceast lucrare s fieameliorate sau chiar nlocuite cu altele noi, mai performante.

    Aplicatiile sub form de probleme au uzual solutii complete. Unele au solutiinumai schitate. Cile ctre solutii pot fi desigur si altele, diferite de celepropuse aici. Studentii au sansa de a rezolva prin forte proprii, n varianteproprii, probleme n domeniul acesta att de cuprinztor al transmiterii sicodrii informatiei.

    Suportul teoretic este prezent aici n form condensat. Teoria in extenso poatefi gsit n varii surse. Una din ele este postat pe site-ul catedrei Automatic sicalculatoare: http://ac.upg-ploiesti.ro/gpanaitescu/tci.pdf.

    Asa cum am afirmat, lucrarea este dedicat studentilor de anul II de laElectronic. Este ns util si studentilor de la specializrile Automatic siCalculatoare. Sper c si ei, ca si altii o vor gsi util.

    Autorul

    3

  • 4

  • C U P R I N S U L

    APLICATII DIN TEORIA PROBABILITTILOR 7

    SURSE DE INFORMATIE 19

    Lucrarea 1Tema 1: Entropia surselor de informatie fr memorie.Tema 2: Entropia surselor duble de informatie

    Lucrarea 2Tema: Entropia surselor de informatie markoviene.

    Lucrarea 3Tema: Entropia surselor de informatie Markov binare.

    CANALE DE TRANSMITERE A INFORMATIEI 43

    Lucrarea 4Tema: Transinformatia si capacitatea canalelor.

    CODAREA PENTRU CANALE FR PERTURBATII 55

    Lucrarea 5. Codarea HuffmanTema 1: Algoritmul Huffman pentru coduri compacteTema 2: Un cod Huffman n aciune

    Lucrarea 6. Codarea aritmeticTema 1. Codarea aritmetic n numere realeTema 2. Codarea aritmetic n numere ntregi

    CRIPTAREA 83

    Lucrarea 7Tema 1: Criptarea RSATema 2: Criptarea cu curbe eliptice

    CODAREA PENTRU CANALE CU PERTURBATII 91

    Lucrarea 8Tema 1: Codurile Hamming (corectoare de o eroare)Tema 2: Codul Hamming (7,4) n aciune

    5

  • SEMNALE 121

    Lucrarea 9Tema 1: Serii FourierTema 2: Compensarea fenomenului Gibbs

    Lucrarea 10Tema 1: Eantionarea semnalelor; reconstituirea din eantioane

    6

  • APLICATII DIN TEORIA PROBABILITTILOR

    Problema 1.

    Se alege la ntmplare o lun a anului. Apoi, tot la ntmplare, se alege o zi dinacea lun (se admite c anul nu este bisect).a. Descrieti toate rezultatele (lun, zi) care formeaz spatiul probelor pentru

    acest experiment aleator.b. Care este probabilitatea ca luna s fie de 31 de zile?c. Care este probabilitatea ca ziua aleas s fie ntre a zecea (inclusiv) si a

    douzecea (inclusiv)?d. Care este rspunsul la punctul c. dac anul este bisect?Solutie.a. Se enumer datele calendaristice sub form de perechi lun-zi (l, z).b. Prin raportarea numrului de luni de 31 de zile (7) la numrul de luni ale

    unui an, rezult 7/12c. Formula probabilittii totale conduce la rezultat:

    Pr(10 z 20) = )12/7)(31/11()12/4)(30/11()12/1)(28/11( ++Primul termen este pentru februarie, urmtorul pentru lunile de 30 de zile,ultimul pentru lunile de 31 de zile.

    d. Se modific contributia lunii februarie: n loc de )12/1)(28/11( se pune)12/1)(29/11( .

    Problema 2.

    Fie A, B evenimente produse de un acelasi experiment aleator. Dacprobabilitatea ca cel putin unul din cele dou evenimente s se produc este 0,7si dac probabilitatea ca cel putin unul din cele dou evenimente s nu seproduc este 0,6, calculati probabilitatea ca exact unul dintre cele douevenimente s se produc.Solutie. Este de calculat

    Pr(AB) = Pr[(A B) (B A)] = Pr(A) + Pr(B) 2Pr(A B)pentru diferenta simetric AB.Se scriu relatiile

    Pr(A B) = Pr(A) + Pr(B) Pr(A B) = 0,76,0)Pr()Pr()Pr()Pr( =+= BABABA

    Prin adunare se obtine3,1)Pr()Pr()Pr()Pr()Pr()Pr( =+++ BABABBAA

    ceea ce echivaleaz cu

    7

  • 1 + 1 Pr(A B) )Pr( BA = 1,3 (de Morgan)si apoi

    1 + 1 Pr(A B) (1 Pr(A B)) = 1,3 (probabilitatea contrarului)si mai departe

    Pr(A B) = 2 (1 0,7) 1,3 = 0,4Revenind la prima formul (si la a doua) se obtine

    Pr(AB) = Pr(A) + Pr(B) Pr(A B) Pr(A B) == Pr(A B) Pr(A B) = 0,7 0,4 = 0,3

    Problema 3.

    Trei evenimente A, B, C asociate cu un anumit experiment aleator satisfacrelatiile urmtoare: P(A) = 0,25; P(B) = 0,2; P(C) = 0,25 P(A B) = 0,1; P(A B C) = 0,05; P(A C) = 2P(B C) Probabilitatea ca cel putin dou din evenimentele A, B, C s se produc este

    0,3a. Calculati probabilitatea ca nici unul dintre cele trei evenimente s nu se

    produc.b. Calculati probabilitatea ca s se produc exact unul dintre cele trei

    evenimenteSolutie. Propozitia a treia a enuntului spune c

    P[A B) (A C) (B C)] = 0,3Dezvoltat, aceast relatie conduce la

    P(A B) + P(A C) + P(B C) 2P(A B C) = 0,3 (v.figura)

    Fig.1. O posibilitate de a judeca cu arii n loc de probabilitti

    Prin nlocuirea datelor numerice se obtineP(A C) + P(B C) = 0,3 0,1 + 2.0,05 = 0,3

    care alturi deP(A C) = 2P(B C)

    permite evaluarea lui P(A C) = 0,2 si a lui P(B C) = 0,1.Acum se poate trece la evalurile cerute de problem.a. Trebuie calculat probabilitatea

    )(1)()( CBAPCBAPCBAP ==

    C

    A B

    8

  • Dar probabilitateaP(A B C) = P(A) + P(B) + P(C) P(A B) P(A C) P(B C) +

    + P(A B C)este deplin calculabil din datele problemei.

    b. Trebuie calculat probabilitateaP[(A B C) (B A C) (C A B)]

    pentru o reuniune de evenimente dou cte dou mutual incompatibile.Rezultatul este suma probabilittilor celor trei evenimente. Se evalueaz caexemplu una din ele

    )()()]([

    )]([)(

    CBAPCBAPCBAP

    CBAPCBAP

    ===

    ==

    Calculul probabilittii de mai sus trece prin relatia cunoscut (si de lapunctul a.)

    P( A B C) = P( A ) + P(B) + P(C) P( A B) P( A C) P(B C)+

    + P( A B C)Dar

    P( A B) + P(A B) = P(B)din motive de incompatibilitate mutual a celor dou evenimente A B,A B si pentru c ( A B) (A B) = B. n relatia ultim exist un singurtermen necunoscut: P( A B).Analog se evalueaz P( A C) si P( A B C) care, ca si P( A B) senlocuiesc n fromula pentru )( CBAP .Rezult imediat )( CBAP .Asemntor se evalueaz si ceilalti termeni din probabilitatea cerut.

    Problema 4.

    Se arunc dou zaruri, unul corect, altul incorect. Cel incorect are probabilittilefetelor cu 1, 2, 3, 4, 5, 6 puncte nu egale ci P(1) = P(2) = P(3) = 2P(4) = 2P(5)= 2P(6). Fie X variabila aleatoare care ia valorile de pe zarul corect si Yvariabila aleatoare care ia valori conform zarului incorect.a. Calculati probabilittile asociate valorilor variabilei aleatoare Yb. Calculati valorile medii si dispersiile celor dou variabile aleatoare X si Yc. Fie Z variabila aleatoare Z = X Y. Valorile posibile ale lui Z sunt 0, 1, 2,

    3, 4, 5. Evaluati probabilittile P(Z = 0), P(Z = 1), P(Z = 2), P(Z =3), P(Z = 4), P(Z = 5). Faceti o diagram P(Z = z) cu z n abscis, pentruz = 0, 1, 2, 3, 4, 5.

    d. Fie S o secvent de 36 de perechi (i, j), cu i = 1, 2, 3, 4, 5, 6 valori alevariabilei aleatoare X, cu j = 1, 2, 3, 4, 5, 6 valori ale variabilei aleatoare Y.

    9

  • n alt exprimare X(i, j) = i, Y(i, j) = j pentru oricare din perechile (i, j) S.Fie evenimentul Z = 4. Calculati probabilitatea ca evenimentul acesta s nuapar nici mcar o dat ntr-o asemenea secvent.

    Solutie.a. Mai nti, dac fetele zarului corect sunt echiprobabile, toate fetele avnd

    aceeasi probabilitate de 1/6, la zarul incorect se rezolv ecuatia 2x + 2x + 2x+ x + x + x = 1 din care rezult probabilittile pentru fiecare fat: 2/9, 2/9,2/9, 1/9, 1/9, 1/9, respectiv pentru Y = 1, 2, 3, 4, 5, 6.

    b. Se aplic fromulele binecunoscute.c. Probabilittile cerute se evalueaz prin inventarierea efectiv a cazurilor. De

    pild, Z = 4 se obtine n cazul perechilor (1, 5), (2, 6) (5, 1) si (6, 2)(cifrele fr accent sunt obtinute pe zarul corect, cele cu accent pe zarulincorect). Probabilittile perechilor sunt respectiv (1/6)(1/9), (1/6)(1/9),(1/6)(2/9), (1/6)(2/9) ca produs de probabilitti ale unor evenimenteindependente. Probabilitatea P(Z = 4) este suma acestor probabilitti(perechile enumerate sunt mutual incompatibile), adic 1/9. La fel secalculeaz si alte probabilitti cerute prin enunt.

    d. Probabilitatea evenimentului Z = 4 este 4/54. Probabilitatea evenimentuluicontrar, Z 4 este 50/54. Cele 36 de aruncri succesive sunt independente,evenimentul lipsei totale a evenimentului Z = 4 este acelasi lucru curepetarea (intersectie) de 36 de ori a evenimentului Z 4. Probabilitateaacestui eveniment este (50/54)36 0,0626, o probabilitate destul de mic.

    Problema 5.

    Fie o secvent de date {x1, x2, , xn} n care fiecare xi provine din multimea {1,2, 3, 4}. Din aceste date se poate construi un asa-numit model predictiv careconst n 16 probabilitti conditionate p(j/i), i, j = 1, 2, 3, 4 calculate n moduldescris mai jos. Pentru fiecare pereche (i, j) fie N(i) numrul de ntregi 1 m n pentru care xm = i, si fie N(i, j) numrul de ntregi 1 m n 1 astfel nct(xm, xm+1) = (i, j). Probabilitatea conditionat cutat este estimat prin

    )(),()/(

    iNjiNijp =

    a. Fie x o secvent de date pseudoaleatoare de lungime 1000 generat deurmtorul script Matlab:

    clearnk=zeros(1,4);nij=zeros(4,4);samp1=ceil(4*rand); % initializarefor k=1:1000 samp=ceil(4*rand); nk(samp)=nk(samp)+1; if k>1 nij(samp1,samp)=nij(samp1,samp)+1; samp1=samp; endend % generare de numere aleatoare uniform pe multimea {1,2,3,4}

    10

  • nk % frecvente absolutenij % frecvebte absolute conditionatenk=nk/sum(nk) % frecvente relatives=sum(nij');for m=1:4 nij(m,:)=nij(m,:)/s(m);endnij % frevente relative conditionate

    Utilizati scriptul pentru a calcula modelul predictiv p(j|i) pentru secventa x.Exprimati rspunsul ca o matrice de probabilitti conditionate 44, cu sumape fiecare linie egal cu unitatea.

    b. Pentru modelul predictiv p(j|i) stabilit la punctul anterior, care este cel maiprobabil j dac i = 1? Care este cel mai probabil j dac i = 2? Care este celmai probabil j dac i = 3? Care este cel mai probabil j dac i = 4? (Indicatie:Se caut cea mai mare valoare pentru fiecare linie a matricei 44 stabilit lapunctul a.).

    c. Fie acum x = (x1, x2, , x1000) secventa generat ca la punctul a. Se admitec modelul predictiv este utilizat n modul descris imediat, pentru a ajungela o secvent predictiv pentru termenii din x, ),,,( 100021 xxx .Se ia prima valoare din secventa predictiv ca fiind 11 xx = . Pentru 1 < m 1000, se iau predictiile mx pentru xm ca o valoare j {1, 2, 3, 4} pentrucare probabilitatea p(j|xm1) este cea mai mare (conform punctului b.).Utilizati un script Matlab pentru a genera secventa ),,,( 100021 xxx potrivit aceastei reguli de predictie simple. Calculati probabilitatea empirica predictiei eronate, cu alte cuvinte, numrati pentru cti de m, 1 < m 1000

    mx xm si apoi mprtiti la 999.

    Problema 6.

    Fie Y o variabil aleatoare caracterizat astfel: Pr(Y = 1) = 0,25, Pr(Y = 2) =0,25, Pr(Y = 3) = 0,50.a. Reprezentati grafic asa-numita functie de probabilitate pY(y).b. Calculati Pr(Y < 1), Pr(Y 1), Pr(Y > 2) si Pr(Y 2).c. Calculati Pr(1 Y 3), Pr(1 Y < 3), Pr(1 < Y 3) si Pr(1 < Y < 3).

    Problema 7.

    Comutatoarele 1, 2, 3 opereaz corect cu probabilittile 0,88, 0,92, respectiv0,90. Ele opereaz independent.a. Aflati probabilitatea ca un curent s circule de la A la B n circuitul de mai

    jos.

    11

  • b. Aflati probabilitatea ca un curent s circule de la A la B n circuitul schitatmai jos.

    Solutie:a. Curentul circul de la A la B dac si numai dac comutatoarele sunt n

    strile descrise n expresia comutatorul 1 functional I (comutatorul 2functional SAU comuratorul 3 functional) cu operatorul logic SAU ntelesnu ca exclusivitate, nu ca un SAU EXCLUSIV. Starea perechii decomutatoare n paralel 2 si 3 contrar celei exprimate n parantez este ceade nefunctionare concomitent a lor. Probabilitatea acestei situatii, Pr(2nefunctional) I Pr(3 nefunctional) este (1 0,92)(1 0,9) = 0,008 datfiind independenta functional a comutatoarelor. Starea cuprins nparanteza mentionat este probabil n msura 1 0,008 = 0,992.Tot n virtutea independentei functionale a comutatoarelor, probabilitateacerut este 0,880,992 = 0,87296.

    b. Se observ c n circuit comutatorul 1 este de prisos si starea lui nuafecteaz n nici un fel transparena de la A la B. Rmn determinantestrile comutatoarelor 2 si 3. La punctul anterior s-a stabilit ctransparena este asigurat cu o probabilitate de 0,992.

    Problema 8. Formula lui Bayes.

    O companie productoare de automobile produce marca Lstun 2009 n patrulocatii diferite: I, II, III si IV. Se presupune c 20% din acestea sunt produse lafabrica I, 23% sunt produse la fabrica II, 27% sunt produse la fabrica III sirestul la fabrica IV. Se presupune de asemenea c 5% din masinile produse nlocatia I trebuie rechemate pentru remedieri, la fel 6% din cele produse nlocatia II, 3% din cele produse n locatia III si 8% din cele produse n locatiaIV.a. Care este probabilitatea ca un Lstun 2009 ales la ntmplare s fie

    rechemat pentru remedieri?

    A B1

    3

    2

    A B

    1 2

    3

    12

  • b. Stiind c un automobil a fost rechemat pentru remedieri, calculatiprobabilitatea conditionat ca el s fie produs la fabrica I (II, III sau IV)

    c. Stiind c un automobil nu trebuie rechemat pentru remedieri, calculatiprobabilitatea conditionat ca el s fie produs la fabrica I (II, III sau IV)

    Problema 9.

    Se dau dou cutii. Cutia 1 contine 10 crti din care 3 sunt marcate fiecare cunumrul 1 si celelalte 7 sunt marcate cu numrul 2. Cutia 2 contine 15 crtidintre care 9 sunt marcate cu 1, iar restul de 6 sunt marcate cu 2.Se execut urmtorul experiment aleator, n trei pasi. La pasul 1 se alege aleatorechiprobabil o cutie si apoi se alege aleator o carte din acea cutie; numrul depe carte (1 sau 2) este notat s-i spunem numrul N1. La pasul 2, se alege lantmplare o carte din cutia N1 si numrul de pe carte este si el notat fie acestaN2. La pasul 3 se alege tot aleator din cutia N2 si numrul de pe carte se noteaz,de asemenea fie acela N3. Se consider ca spatiu al esantioanelor pentru acestexperiment multimea tuturor valorilor triple (N1, N2, N3). Sunt 8 rezultateposibile n spatiul esantioanelor. Folositi teorema multiplicrii ca ajutor n acalcula probabilitatea fiecruia din cele 8 rezultate, n cazurile urmtoare:a. n cazul cnd cartea este totdeauna pus napoi n cutia din care a fost aleas

    nainte de alegerea unei alte crti.b. n cazul cnd o carte este totdeauna pus napoi, dar n cealalt cutie.c. S presupunem c primul caz (a.) prevaleaz. Calculati probabilittile Pr(N3

    = 1) si Pr(N3 = 2).

    Problema 10.

    Se presupune c pachetele de biti sosesc la un server Internet de rutare la o ratmedie de 2,3 pachete pe milisecund.a. Fie X numrul de pachete de mesaje care sosesc ntr-un interval de 10

    milisecunde. Calculati probabilittile Pr(X 22) si Pr(17 X 25)(Indicatie: X este o variabil aleatoare poissonian).

    b. Se presupune c serverul ruteaz pachetele pe care le primeste n modulurmtor: mai nti intervalul este fragmentat n 10 subintervale de omilisecund; apoi primul pachet sosit (dac soseste vreunul) n fiecaresubinterval de o milisecund este rutat si pachetele sosite rmase nu suntrutate (sunt distruse, de pild). Fie Y numrul total de pachte rutate de servern intervalul de 10 milisecunde. Calculati Pr(Y = 8) si Pr(6 < Y < 10).(Indicatie: Y nu are o distributie Poisson ci are o distributie binomial).

    c. Se presupune c serverul de rutare ruteaz pachetele pe care le primeste n10 milisecunde n modul urmtor: mai nti intervalul este fragmentat n 10subintervale de o milisecund; apoi primul si al doilea pachet care sosesc(dac sosesc) n fiecare milisecund sunt rutate, iar celelalte pachete caresosesc (dac sosesc) sunt distruse. Fie Z numrul total de pachete rutate deserver tr-un interval de 10 milisecunde. Estimati Pr(Z = 16) si Pr(14 Z

    13

  • 18) utiliznd 10.000 de observatii asupra lui Z simulate (Matlab). (Vor fidesigur niste valori estimate).

    Problema 11.

    Mary, Bill si Joe joac jocul urmtor cu o moned corect (cel ce pierde d unrnd de beri): mai nti Mary arunc moneda dac obtine cap cstig jocul;altminteri Bill arunc si el moneda dac obtine cap cstig jocul; altminteriJoe arunc si el moneda dac obtine cap cstig jocul. Dac nimeni nu cstigjocul la primul tur de aruncri se procedeaz la alte tururi identice cu primul,pn cnd cineva cstig jocul.a. Fie Z o variabil aleatoare geometric cu parametrul p = 1/2. Stabiliti o

    partitie de ntregi pozitivi n trei submultimi E1, E2, E3 astfel nctprobabilittile evenimentelor {Z E1}, {Z E2}, {Z E3} s msoaresansele ca jocul s fie cstigat de Mary, de Bill, respectiv de Joe.

    b. Calculati probabilittile ca Mary s cstige jocul, ca Bill s cstige jocul, caJoe s cstige jocul, respectiv, uznd de distributia geometric.

    Problema 12. Functii de repartitie

    Se genereaz un tabel de valori ale unei functii de repartitie si se utilizeazpentru a calcula eficient probabilitti.a. Rulati programul Matlab care urmeaz pentru a genera un vector de valori

    ale functiei de repartitie pentru o variabil aleatoare X distribuit binomialcu parametrii n = 13 si p = 0,3.

    s=1;n=13;p=0.3;for i=1:n

    v1=[0 s];v2=[s 0];s=p*v1+(1-p)*v2;

    endcdf_values=cumsum(s);

    Afisati sub form de tabel cele 14 valori ale functiei de repartitie FX(x)pentru x = 0, 1, 2, , 13. Calculati probabilitatea Pr(X > 2) printr-o singurcutare n tabel. Calculati probabilitatea Pr(2 X 5) prin numai doucutri n tabel.

    b. Executati programul Matlab urmtor pentru a genera un vector cu primele18 valori ale functiei de repartitie a variabilei aleatoare Y distribuit dup olege Poisson cu parametrul = 5,7.

    lambda=5.7;s(1)=1;for k=1:17

    14

  • s(k+1)=lambda*s(k)/k;endy=exp(-lambda)*s;cdf_values=cumsum(y);

    Afisati sub form de tabel cele 18 valori ale functiei FY(y) pentru y = 0, 1, 2,, 17. Calculati probabilitatea Pr(X 4) printr-o singur cutare n tabel.Calculati probabilitatea Pr(2 < X < 5) prin numai dou cutri n tabel.

    Problema 13.

    Fie U o variabil aleatoare distribuit uniform pe intervalul [2, 13]. Utilizndsintaxa Matlab, se poate defini o variabil aleatoare Z astfel:

    Z = (U < 4) + (U < 7) + (U < 8) + (U < 11)Z este o variabil aleatoare discret care ia valorile 0, 1, 2, 3, 4. Stabiliti functiade probabilitate pentru variabila Z (calculati pZ(z) pentru z = 0, 1, 2, 3, 4).Solutie: Din enunt se ntelege c evenimentele (U < a) genereaz un 1 sau un 0dup cum ele se produc sau nu. Astfel, pentru (U 11), Z = 0 deoarece niciunul dintre cele patru evenimente nu se produce. Se mai observ faptul c uneledintre evenimente le pot implica pe altele. De pild (U < 4) le implic pe toatecelelalte. Si acum calculul probabilittilor cerute:

    11/2)11Pr()0( == UpZ11/3)118Pr[()1( =

  • Q(x) =

    0, nulpentru D < 0.Calculati E(D) si Var(D).Indicatie: Calea cea mai facil de a rezolva aceast problem trece prinformulele

    E[D] = E[D|D = 0]Pr(D = 0) + E[D|D > 0]Pr(D > 0)

    17

  • E[D2] = E[D2|D = 0]Pr(D = 0) + E[D2|D > 0]Pr(D > 0)

    18

  • SURSE DE INFORMATIE

    Lucrarea 1

    Tema 1: Entropia surselor de informatie fr memorie.

    Sursele studiate au un alfabet care poate cuprinde de la 2 la 15 simboluri sinumrul n al simbolurilor este limitat prin program.Alegerea numrului de simboluri se face intervenind n program: linia n care sepoate face modificarea este marcat cu un comentariu potrivit. Se poateinterveni si asupra limitelor 2, 15, dar aceast interventie nu aduce n discutieaspecte noi si de aceea nu este recomandat n mod special.Simbolurile sursei sunt considerate a fi chiar numerele de la 1 la n.n prima faz este evaluat entropia maxim a unei surse cu un alfabet alctuitdin n simboluri, entropie care se atinge atunci cnd simbolurile suntechiprobabile.n faza a doua se genereaz o list de probabilitati asociate celor n simboluriarbitrar. Cum este de asteptat, entropia sursei este totdeauna inferioarentropiei maxime.Diferenta dintre entropia maxim si cea efectiv este redundanta sursei.Programul evalueaz entropia efectiv si redundanta sursei.Asupra sursei se fac succesiv unele modificri (trei).Prima modificare: Se aleg la ntmplare dou simboluri ale sursei. Uzualacestea au probabilitti de aparitie diferite. Se face o medie aritmetic a celordou probabilitti si se atribuie ca valori noi probabilittilor celor dousimboluri selectate. Prin aceasta se aduce o uniformizare (partial) n lista deprobabilitti. Efectul: cresterea entropiei.A doua modificare: Se reduce numrul de simboluri de la n la n 1. Penultimulsimbol din sursa originar se comaseaz cu ultimul si probabilittile lor seadun. Penultimul simbol devine ultimul. Efectul: scderea entropiei.A treia modificare: Se adaug la lista de n 1 simboluri ale sursei precedenteun nou simbol, al n-lea, cu probabilitatea de aparitie nul. Efectul: entropiarmne aceeasi.Programul apeleaz ocazional functia entropie, dat si ea n listingul alturat.Functia aceata nu este altceva dect transcrierea n Matlab a formuleibinecunoscute pentru entropia unei surse simple fr memorie.Se recomand executarea repetat a programului, cu acelasi numr n desimboluri, cu valori n diferite. A se observa entropiile, redundantele, efecteleunor particularitti ale sursei.

    clearn=8; % numarul de simboluri ale surseiif n>15

    19

  • n=15;end % o limitare a numarului de simboluriif n0 ent=ent-s(i)*log(s(i));

    20

  • endendent=ent/log(2);entropie=ent;

    Tema 2: Entropia surselor duble de informatie

    Programul Matlab care urmeaz se ocup de caracterizarea surselor deinformatie pereche de surse simple (A, B), notate si AB, independente saudependente una de cealalt. Sursele acestea privite unitar genereaz simboluriproprii, perechi ordonate de simboluri (a, b), unul din alfabetul sursei A, altuldin alfabetul sursei B.Dac sursele simple componente sunt independente, atunci probabilittilesimbolurilor (a, b) se obtin prin multiplicarea probabilittilor asociatesimbolurilor din pereche. Dac sursele A, B sunt dependente atunci intr n rolformula probabilittilor conditionate. Pentru calculul probabilittii unei perechi(a, b), se multiplic probabilitatea lui a cu probabilitatea lui b conditionat de asau se multiplic probabilitatea lui b cu probabilitatea lui a conditionat de b.Toate aceste relatii se pot regsi n programul alturat.Programul ncepe cu alocarea dimensiunilor m si n ale celor dou multimi desimboluri (multimi alfabetice) pentru cele dou surse A si B.n prima parte a programului, sursele A si B sunt considerate independente.Rezultatul calculelor este: entropia sursei AB este egal cu suma entropiilorsurselor A si B.n partea a doua, sursele A si B se fac dependente. Sursa A se mentine n formainitializat n partea introductiv a programului. Sursa B nu mai poate fiarbitrar, cea deja utilizat. Sursa B, chiar dac numrul de simboluri rmneneschimbat are o list de probabilitti care rezult din conditionarea(dependena) mutual a celor dou surse simple. Rezultatul ultim al calculeloreste: entropia sursei AB este mai mic dect suma entropiilor surselor A si Bluate separat.

    clearm=7;n=5; % se alege numarul simbourilor generate de cele doua surseproa=rand(1,m); % generarea a m numere aleatoare intre 0 si 1proa=proa/sum(proa); % normaliarea listei de m numere; suma =1prob=rand(1,n); % generarea a n numere aleatoare intre 0 si 1prob=prob/sum(prob); % normaliarea listei de n numere; suma =1disp(' ')s='Surse independente, probabilitati, entropii';disp(s)A=proaB=proba=entropie(proa); % entropia sursei A

    21

  • b=entropie(prob); % entropia sursei BEntropii=[a b]Suma_entropiilor=a+b % suma entropiilorprod=proa'*prob; % probabilitatile perechilor (a,b), A, B independenteAXB=prodfor i=1:m entrl(i)=entropie(prod(i,:));endentropie_AXB=sum(entrl) % entropia sursei duble AXB, A, B independnetedisp(' ')s='Surse dependente, probabilitati, entropii';disp(s)cond=rand(m,n);for i=1:m cond(i,:)=cond(i,:)/sum(cond(i,:));end % generarea probabilitatilor conditionate P(b/a)disp(' ')s='Matricea de conditionare b/a';disp(s)condfor i=1:n prod(:,i)=proa'.*cond(:,i);end % calculul probabilitatilor pe perechi (a,b), A, B dependenteprob=sum(prod); % calculul probabilitatilor pentru sursa BB=probb=entropie(prob) % entropia sursei BEntropii=[a b]Suma_entropiilor=a+b % suma entropiilorAXB=prodfor i=1:m entrl(i)=entropie(prod(i,:));endentropie_AXB=sum(entrl) % entropia sursei duble AXB, A, B independente

    Lucrarea 2

    Tema: Entropia surselor de informatie markoviene.

    Sursele Markov propuse spre studiu au de la 2 la 8 stri si numrul n al striloreste limitat prin program.Alegerea numrului de stri se face intervenind n program: linia n care sepoate face modificarea este marcat cu un comentariu potrivit. Se poateinterveni si asupra limitelor 2, 8, dar aceast interventie nu aduce aspecte noi side aceea nu se recomand n mod special.Se genereaz aleator o matrice a probabilittilor de tranzitie din cele n stri ncele n stri ale sursei. Matricea p nu poate fi dect ptrat, nn, cu suma liniiloregal cu unitatea.

    22

  • Starea initial s a sursei este precizat uzual printr-un vector (linie) deprobabilitti, cu suma componentelor egal cu 1. n program, starea initialpoate fi modificat n linia/liniile unde ea este definit, marcat si ea cu uncomentariu. Starea initial, ca si oricare alt stare ulterioar este caracterizat deo entropie care este evaluat cu functia entropie reprodus ntr-un listingaparte, la finalul acestor cteva pagini de ndrumare. Functia entropie nu estealtceva dect transcrierea n Matlab a formulei binecunoscute pentru entropiaunei surse simple (fr memorie).nainte de prima pauz n executia programului, se afiseaz matricea detranzitie, starea initial si entropia corespunztoare.Apoi se simuleaz o evolutie a sursei (10 pasi). De regul, sursa evolueaz ctreo stare stationar. Se afiseaz strile succesive si entropiile asociate. Se poateobserva o convergent ctre o stare numit si stare stationar. Aceast stare nueste explicit, este numai bnuit din evolutia sursei. Lucrurile devin ceva maiclare dac se extinde evolutia la mai mult de 10 pasi, prin modificarea limiteisuperioare a instructiunii for k=1:10.Dup urmtoarea pauz n executie se calculeaz efectiv starea stationar.Rezultatele afisate difer ntructva de ultima stare din secventa evolutivanterioar. De regul, starea stationar este descris printr-un vector deprobabilitti cu toate componentele nenule. Se zice n aceste cazuri c sursa esteergodic. Uneori, un vector al unei stri stationare contine componente nule(stri excluse pe termen lung) sau o component unitar si celelalte nule (striabsorbante). Aceste situatii caracterizeaz surse neergodice.Se recomand executarea repetat a programului, cu acelasi numr n de strisau cu valori ale lui n diferite. A se observa evolutia sursei, strile si entropiileasociate, starea stationar.

    clearn=4; % numarul de stari ale surseiif n>8 n=8;end % o limitare a numarului de stariif n

  • s=s*p; starea_curenta_si_entropia=[s entropie(s)]enddisplay('*** Uremaza calculul starii stationare a sursei Markov***')display('*** Pentru continuare apasati Enter! ***')pausea=p-eye(n);a=a';ap=zeros(n-1);for i=1:n k=0; for j=1:n if j~=i k=k+1; ap(1:(n-1),k)=a(2:n,j); end end compl(i)=(-1)^i*det(ap);end % evaluarea starii stationares=compl/sum(compl); % probabilitatile starii stationarestarea_stationara=sstarea_stationara=s*p % verificarea starii stationarestarea_stationara_si_entropia=[starea_stationara entropie(s)]

    function entropie=ent(s)% s este vectorul (linie) al probabilitatilor[n,m]=size(s);ent=0;for i=1:m if s(i)>0 ent=ent-s(i)*log(s(i)); endendent=ent/log(2);entropie=ent;

    Lucrarea 3

    Tema: Entropia surselor de informatie Markov binare.

    Sursele Markov binare studiate au 2, 4, 8 sau 16 stri, numrul strilor n estetotdeauna o putere a lui 2 si este limitat prin program. Exponentul este ordinulsursei.Alegerea ordinului se face intervenind n program: linia n care se poate facemodificarea este marcat de un comentariu adecvat. Se poate interveni si asupralimitelor 2 si 16, dar aceast interventie nu aduce aspecte noi si de aceea nu esterecomandat special.Se genereaz aleator o matrice a probabilittilor de tranzitie din cele n stri ncele n stri ale sursei. Matricea p nu poate fi dect ptrat, nn, cu suma liniiloregal cu unitatea. Multe elemente n aceast matrice pot fi si chiar sunt nule. De

    24

  • fapt, pe fiecare linie numai dou elemente sunt nenule deoarece numai doutranzitii sunt posibile, din starea de plecare n numai alte dou stri care se obtinprin deplasarea spre stnga a expresiei binare a strii curente si nlocuireaultimului bit cu 0 sau 1. De pild, din starea curent 101 nu se poate ajumgedect n strile 010 sau 011 (s-a subliniat de fiecare dat partea rmas dinexpresia binar a strii curente dup deplasarea la stnga cu pierderea primuluibit). O trecere din starea 101 n alte stri, de pild n starea 110, nu este posibilntr-un singur pas.Starea initial s a sursei este precizat printr-un vector (linie) de probabilitti,cu suma componentelor egal cu 1. n program, starea initial poate fimodificat n linia/liniile unde ea este definit, marcat dealtfel cu uncomentariu. Starea initial, ca si oricare alt stare ulterioar este caracterizat deo entropie care este evaluat cu functia entropie, dat si ea n listingulalturat. Functia aceasta nu este altceva dect transcrierea n Matlab a formuleibinecunoscute pentru entropia unei surse simple (fr memorie).nainte de prima pauz n executia programului, se afiseaz matricea detranzitie, starea initial si entropia corespunztoare.Apoi se simuleaz o evolutie a sursei (10 pasi). De regul, sursa evolueaz ctreo stare stationar. Se afiseaz strile succesive si entropiile asociate. Se poateobserva o convergent ctre o stare numit si stare stationar. Aceast stare nueste explicit, este numai bnuit din evolutia sursei. Lucrurile devin ceva maiclare dac se extinde evolutia la mai mult de 10 pasi, prin modificarea limiteisuperioare pentru k n instructiunea for k=1:10.Dup urmtoarea pauz n executie se calculeaz efectiv starea stationar.Rezultatele afisate difer ntructva de ultima stare din secventa evolutivanterioar. De regul, starea stationar este descris printr-un vector deprobabilitti cu toate componentele nenule. Se zice n aceste cazuri c sursa esteergodic. Uneori, un vector al unei stri stationare contine componente nule(stri excluse pe termen lung) sau o component unitar si celelalte nule (striabsorbante). Aceste situatii caracterizeaz sursele neergodice.Se recomand executarea repetat a programului, pentru surse de acelasi ordinsau de ordine diferite. A se observa evolutia sursei, strile si entropiile asociate,starea stationar.

    clearordin=2; % ordinul sursein=2^ordin; % numarul de stari ale surseiif n>16 n=16;end % o limitare a numarului de stariif n

  • endstarip=zeros(n);for i=1:n m=mod(2*(i-1),n); m1=m; m2=mod(m+1,n); p(i,m1+1)=rand; p(i,m2+1)=rand;endfor i=1:n suml=sum(p(i,:)); p(i,:)=p(i,:)/suml;end % crearea unei matrici a tranzitiilormatricea_tranzitiilor=ps=zeros(1,n);s(1)=1; % starea initialastarea_initiala_si_entropia=[s entropie(s)]display('*** Uremaza o evolutie a sursei Markov (10 pasi) ***')display('*** Pentru continuare apasati Enter! ***')pausefor k=1:10 s=s*p; starea_curenta_si_entropia=[s entropie(s)]end % evolutia surseidisplay('*** Uremaza calculul starii stationare a sursei Markov***')display('*** Pentru continuare apasati Enter! ***')pausea=p-eye(n);a=a';ap=zeros(n-1);for i=1:n k=0; for j=1:n if j~=i k=k+1; ap(1:(n-1),k)=a(2:n,j); end end compl(i)=(-1)^i*det(ap);end % evaluarea starii statinares=compl/sum(compl); % probabilitatile starii stationarestarea_stationara=sstarea_stationara=s*p % verificarea starii stationarestarea_stationara_si_entropia=[starea_stationara entropie(s)]

    function entropie=ent(s)% s este vectorul (linie) al probabilitatilor[n,m]=size(s);ent=0;for i=1:m if s(i)>0 ent=ent-s(i)*log(s(i));

    26

  • endendent=ent/log(2);entropie=ent;

    Problema 19.

    O moned perfect este aruncat succesiv pn apare prima stem. Fie Xnumrul de aruncri necesare.a. Aflati entropia H(X) n biti. Expresiile urmtoare pot fi utile n evaluarea

    cerut:

    rrr

    n

    n

    ==

    11, 2

    1 )1( rrnr

    n

    n

    ==

    b. Potrivit acestei scheme se genereaz o variabil aleatoare X. Stabiliti osecvent eficient de ntrebri cu rspunsuri da-nu, de forma Este Xcontinut n multimea S?. Comparati H(X) cu numrul mediu de ntrebrinecesare pentru a determina X.

    Solutie.a. La prima aruncare, probabilitatea de a ncheia experimentul este 1/2.

    Probabilitatea de a ncheia experimentul la a doua aruncare este 1/4.Probabilitatea de a obtine prima oar stem la a n-a aruncare este (1/2)n.Variabila aleatoare X este de tip discret cu probabilittile asociatenumerelor naturale egale cu puterile succesive ale lui 1/2. Entropia ceruteste dat de formula

    H(X) = 2)2/11(

    2/1212log

    21

    211

    =

    =

    =

    =

    = n

    n

    n

    nn n

    b. Ideea este a obtine maximum de informatie la fiecare ntrebare. Fie a unnumr care partitioneaz prin ordine (n a, n > a) multimea numerelornaturale n multimea S si multimea N S. ntrebarea Este X continut n

    multimea S? poate avea rspunsul da cu probabilitatea kk

    nn 2

    1121

    1

    ==

    ,

    nu cu probabilitatea kkn

    n 21

    21

    1=

    +=

    (a 1 < k a).

    Informatia medie obtinut la o ntrebare de acest gen este

    kkkk 21log

    21

    211log

    211

    etc.

    Problema 20. Regula gruprii pentru entropie.

    Fie p = (p1, p2, , pm) o distributie de probabilitti pentru m elemente, adic unvector de m numere nenegative care nsumate dau unitatea. Se defineste odistributie nou, q pentru m 1 elemente conform schemei q1 = p1, q2 = p2, ,qm 2 = pm 2 si qm 1 = pm 1 + pm, cu alte cuvinte distributia nou este aceeasi cu

    27

  • cea initial pentru indici de la 1 la m 2 si probabilitatea qm 1 se obtine prinnsumarea ultimelor dou valori din lista de probabilitti initial. Artati c

    ++++=

    mm

    m

    mm

    mmm pp

    ppp

    pHppqHpH11

    121 ,)()()(

    unde H2(a, b) = a log a b log b.

    Problema 21.

    Fie X o variabil aleatoare discret. Artati c entropia unei functii de X esteinferioar cel mult egal cu entropia lui X prin justificarea pasilor urmtori:

    )()/)(()())(,( XHXXgHXHXgXH =+=))(())(/())(())(,( XgHXgXHXgHXgXH +=

    prin urmare )())(( XHXgH .Solutie: H(X, g(X)) = H(X) + H(g(X)|X) rezult din simpla utilizare a unei formulepentru entropii discutate la curs.H(g(X)|X) = 0 deoarece pentru orice valoare a lui X, g(X) este univocdeteminat asa nct H(g(X)|X) = xp(x)H(g(X)|X = x) = x 0 = 0.H(X, g(X)) = H(g(X)) + H(X|g(X)) rezult tot asa prin simpla utilizare a aceleiasiformule pentru entropii discutat la curs.H(X|g(X)) 0, cu egalitate dac si numai dac X este o functie de g(X), cu altecuvinte functia g() este o corespondent biunivoc. Asadar, H(X, g(X)) H(g(X)).Prin combinarea afirmatiilor a doua si a patra, se obtine H(g(X)) H(X).

    Problema 22. Functii

    a. Fie Y = X 5, cu X o variabil aleatoare care ia valori pozitive si valorinegative. Care este relatia ntre entropiile H(X) si H(Y)?

    b. Dar dac Y = X 2?c. Dar dac Y = tgX?Solutie: Din problema precedent, se stie c prin trecerea unei variabilealeatoare printr-o functie nu se poate dect reduce entropia sau poate fi, n cazulbiunivocittii, mentinut la aceeasi valoare. Ea niciodat nu creste. Asadar,H(g(X)) H(X), pentru orice functie g. Ratiunea este simpl: dac functia g nueste biunivoc, atunci ea pune laolalt unele stri si prin aceasta reduceentropia.Solutia acestei probleme rezid n a determina de la caz la caz dac este vorbasau nu de o aplicatie bijectiv. De observat c bijectivitatea se refer exclusiv lasuportul variabilei X, adic la acele valori x pentru care p(x) > 0.a. Y = X 5 este o bijectie, asadar entropia este o functie numai de parobabilitti

    (si nu de valorile rezultatelor observate) si de aceea nu se schimb: H(X) =H(Y).

    28

  • b. Y = X 2 este o functie par si, n consecint, nu este o corespondentbiunivoc cu exceptia cazului n care suportul variabilei X nu continesimultan valori x si opusele lor x.

    c. Ca si la punctul a., Y = tgX este o bijectie (ca functie pe ntregi) si H(X) =H(Y).

    n general, pentru punctul b., H(Y) H(X). Pentru acest caz este posibil a se dao margine superioar pentru H(X): deoarece X poate lua numai dou valori laorice Y dat, H(X|Y) log2 = 1. Asadar

    H(Y) H(X) = H(X, Y) = H(Y) + H(X|Y) H(Y) + 1

    Problema 23. Bytes (octeti)

    Entropia, Ha(X) = p(x)logap(x) se exprim n biti dac logaritmul este n baza2 si n bytes (octei) dac logaritmul este n baza 256. Care este relaia ntreH2(X) si H256(X)?Solutie:

    === 2log2log)(log)()(log)()(

    256

    256222

    xpxpxpxpXH

    2log)()(log)(

    2log1

    2log)(log)(

    256

    256256

    256256

    256 XHxpxpxpxp ===Astfel

    H2(X) = 8H256(X)

    Problema 24. Cntrirea monedelor

    Se admite existena a n monede ntre care una ar putea fi contrafcut, fals.Dac exist o moned fals, ea poate fi sau mai grea, sau mai usoar dectcelelalte. Monedele urmeaz a fi cntrite cu o balan.a. Numrati strile n care pot fi cele n monede si numrati rezultatele

    cntririlor n numr de k. Prin comparare, evaluai o limit superioar anumrului de monede n astfel nct prin k operaii de cntrire s segseasc moneda fals (dac ea exist) si s se precizeze dac ea este maigrea sau este mai usoar.

    b. (Mai dificil, deci optional) Care este strategia potrivit pentru k = 3 cntririsi n = 12 monede?

    Solutie:a. Pentru n monede, sunt 2n + 1 situatii posibile sau stri.

    Una din cele n monede este mai grea; Una din cele n monede este mai usoar; Toate au aceeasi greutate.Fiecare cntrire poate avea unul din trei rezultate posibile: egalitate, taleruldin stnga mai greu sau talerul din dreapta mai greu. n k operaii decntrire, sunt posibile 3k rezultate ceea ce face posibil distincia ntre celmult 3k stri diferite. Asadar, 2n + 1 3k, sau n (3k 1)/2.

    29

  • Din punct de vedere al informaiei, fiecare cntrire aduce cel mult log23biti de informatie. Sunt 2n + 1 stri posibile, cu un maxim de entropie delog2(2n + 1) biti. n consecin, n aceast situaie sunt necesare cel puinlog2(2n + 1)/log23 cntriri pentru a extrage suficient informatie despremoneda fals. Se observ, rezultatul este acelasi ca acela de mai devreme.

    b. Aceast problem cunoaste mai multe abordri posibile. Una din ele sebazeaz pe sistemul de numeratie ternar.Numerele {12, 11, , 1, 0, 1, , 12} se pot exprima ntr-un sistem denumeratie ternar cu alfabetul {1, 0, 1}. De pild numrul 8 este (1)01deoarece (1)30 + 031 + 132 = 8. Se formeaz o matrice cu coloanelereprezentnd numere pozitive

    1 2 3 4 5 6 7 8 9 10 11 1230 1 1 0 1 1 0 1 1 0 1 1 0 1 = 031 0 1 1 1 1 1 1 0 0 0 1 1 2 = 232 0 0 0 0 1 1 1 1 1 1 1 1 3 = 8

    Se observ c nu toate sumele pe linii sunt nule. Se pot nega(tiviza) unelecoloane pentru a face suma pe linii nul. De exemplu, prin schimbarea desemn a coloanelor 7, 9, 11 si 12 se obtine

    1 2 3 4 5 6 7 8 9 10 11 1230 1 1 0 1 1 0 1 1 0 1 1 0 1 = 031 0 1 1 1 1 1 1 0 0 0 1 1 2 = 032 0 0 0 0 1 1 1 1 1 1 1 1 3 = 0

    Acum se plaseaz monedele pe balant porivit regulii urmtoare: pentrucntrirea numrul i, se plaseaz moneda n pe talerul stng dac ni = 1; alturi dac ni = 0; pe talerul din dreapta dac ni = 1.Rezultatul celor trei cntriri va stabili moneda diferit (dac exist una) siva spune dac este mai grea sau mai usoar. Rezultatul fiecrei cntriri este0 dac cele dou talere sunt n echilibru, 1 dac talerul stng este mai greu,1 dac talerul drept este mai greu. Atunci cele trei cntriri dau dezvoltareaternar a indicelui monedei cu defect de greutate. Dac dezvoltarea asteaceeasi cu aceea din matrice, ea indic faptul c moneda este mai grea.Dac dezvoltarea este de semn contrar, atunci moneda este mai usoar. Deexemplu, 0(1)(1) conduce la 030 + (1)31 + (1)32 = 12 ceea ceindic moneda numrul 12 ca fiind mai grea, 10(1) indic moneda numrul8 ca fiind mai usoar, 000 indic absenta monedei cu defect.De ce aceast schem lucreaz? Ea este un cod Hamming corector de oeroare pentru alfabetul ternar (v.capitolul dedicat subiectului). Urmeazcteva detalii.

    30

  • De observat mai nti cteva proprieti ale matricii de mai sus care estefolosit n schem. Toate coloanele sunt distincte si nici o pereche decoloane adunate nu dau vectorul nul. Totodat, dac o moned este maigrea, ea va produce secventa de cntriri care se potriveste cu coloana ei dinmatrice. Dac moneda este mai usoar, produce ca secvent de cntririnegativa coloanei ei. Prin combinarea tuturor acestor fapte, se poate vedeac orice moned (unic) diferit ca greutate va produce o secvent decntriri (unic) si moneda poate fi determinat din acea secvent.Una din ntrebrile care se pot formula este dac limita stabilit la punctul(a) este realmente accesibil. De pild, se pot tria 13 monede prin treicntriri? Desi nu se poate cu o schem ca aceea de mai sus, se poate nipoteza n care s-a extras limita de mai devreme. Limita nici nu interzicemprtirea monedelor n dou submultimi, nici nu exclude existenta uneialte monede cunoscut ca normal. n oricare din aceste condiii, esteposibil a gsi moneda diferit dintre cele 13 prin 3 cntriri.

    Problema 25. Exemplu de entropie combinat

    Fie probabilittile p(x, y) date de tabelul alturat.

    YX 0 1

    0 1/3 1/31 0 1/3

    Stabiliti:a. H(X) si H(Y)b. H(Y|X) si H(X|Y)c. H(Y, X)d. H(Y) H(Y|X)Solutie:a. H(X) = (2/3)log(3/2) + (1/3)log3 0,918 biti. Aceeasi entropie pentru Y.b. H(X|Y) = (1/3)H(X|Y = 0) + (2/3)H(X|Y = 1) 0,667 biti. Rezultat identic si

    pentru H(Y|X).c. H(X,Y) = 3(1/3)log3 1,585 biti.d. H(Y) H(Y|X) 0,251 biti.

    Problema 26.

    Artati c dac H(Y/X) = 0 atunci Y este o functie de X, adic pentru orice x cup(x) > 0 exist numai o valoare posibil pentru y cu p(x, y) > 0.

    Problema 27.

    31

  • n sporturile de echip sunt campionate care se ncheie cu o serie de saptejocuri. Seria se ncheie cnd una din echipe cstig patru jocuri. Fie X variabilaaleatoare care reprezint rezultatul seriei de jocuri dintre echipele A si B;valorile posibile ale lui X sunt AAAA, BABABAB, BBBAAAA etc. Fie Ynumrul de jocuri efectiv jucate, numr ntre 4 si 7. Admitnd c echipele A siB sunt egale ca trie si c jocurile sunt independente unul de altul, s secalculeze H(X), H(Y), H(Y/X) si H(X/Y).

    Problema 28.

    Fie X si Y dou variabile aleatoare care iau valorile x1, x2, , xr, respectiv y1, y2,, ys si fie Z = X + Y.a. S se verifice prin calcul direct c H(Z/X) = H(Y/X). Pe baza acestui fapt,

    argumentati c dac X si Y sunt independente, atunci H(Y) H(Z).(Indicatie: informatia este totdeauna nenegativ)

    b. Dati un exemplu n care H(X) > H(Z) si H(Y) > H(Z). (Indicatie: ncercati sfaceti H(Z) = 0)

    c. n ce conditii are loc relatia H(Z) = H(X) + H(Y)?

    Problema 29.

    Artati c entropia pentru distributia probabilistic (p1, , pi, , pj, , pm) estemai redus dect cea a distributiei (q1, , qm) n care qi = qj = (pi + pj)/2 si qk =pk pentru orice k diferit de i si j. (Indicatie: calculati Hp Hq uznd de relatia dedefinitie). Observati c acest rezultat particular este legat de un adevr general:mpingerea unei distributii spre uniformitate are ca efect cresterea entropiei.Solutie. Entropia sursei n forma originar este

    =

    =

    m

    kkkp ppH

    1

    log

    Entropia sursei modificate este

    =

    =

    m

    kkkq qqH

    1

    log

    n cele dou sume cei mai multi termeni sunt identici si anume aceia de indice kdiferit de i si de j. Asadar, diferenta celor dou entropii este

    jjiijiji

    pq pppppppp

    HH loglog2

    )(log

    2)(

    2 ++++

    = =

    =

    +

    + jjiiiiii pppppppp log2

    1log21

    21

    21log

    21

    212

    Pe baza convexittii functiei xlogx, rezult pozitivitatea diferentei. Ceea cetrebuia demonstrat.

    Problema 30. Entropie diferential

    32

  • Evaluati entropia diferential h(X) = f ln f pentru:a. Densitatea exponential, f(x) = e x, x 0b. Densitatea Laplace, f(x) = (1/2) e |x|c. Suma variabilelor aleatoare independente X1 si X2 distribuite normal cu

    mediile i si dispersiile i2, i = 1, 2.

    Problema 31.

    Fie p(x) o functie de probabilitate. Dovediti c pentru orice 0d

    )(1log})(Pr{ XHd

    dxp

    (Inegalitatea lui Markov).Solutie. Probabilittile sunt numere pozitive, asadar

    p(x) d 1/p(x) 1/d.Expresia entropiei variabilei X este

    H(X) =

    dxxp

    xp)(

    1log)(

    Relatia aceasta combinat cu inegalitatea de mai devreme conduce la

    H(X) ddxxpd1log)(1log =

    Deoarece orice probabilitate este un numr nenegativ subunitar,

    ddxp

    d1log})(Pr{1log

    De unde inegalitatea din enunt.

    Problema 32. Entropia unui amestec disjunct

    Fie X1 si X2 variabile aleatoare discrete extrase conform functiilor deprobabilitate p1(.) si p2(.) pe multimile X1 = {1, 2, , m} si X2 = {m + 1, , n}.Cele dou multimi nu se intersecteaz, dup cum usor se observ. Fie

    =

    X

    XX 1 ateaprobabilitcu ateaprobabilitcu

    2

    1

    a. Exprimati H(X) n functie de H(X1), H(X2) si .b. Maximizati n raport cu pentru a arta c )()()( 21 222 XHXHXH + si

    interpretati utiliznd notiunea dup care 2H(X) este dimensiunea efectiv aalfabetului.

    c. Fie X1 si X2 distribuite uniform pe multimile lor alfabetice. Care estevaloarea care maximizeaz entropia H(X) asociat.

    Solutie:a. Aceast problem poate fi rezolvat prin scrierea relatiei de definitie a

    entropiei si prin dezvoltarea termenilor diversi pe care aceasta n contine.Dar aici se utilizeaz algebra legat de entropii pentru o demonstratie maisimpl. Deoarece X1 si X2 au multimi de definitie disjuncte, se poate scrie

    33

  • =

    1ateaprobabilitcu

    ateaprobabilitcu 2

    1XXX

    Se defineste o functie de X

    =

    ===

    2

    1pentru2pentru1)( XX

    XXXf

    Apoi, ca n Problema 21,H(X) = H(X,f(X)) = H() + H(X|) =

    = H() + p( = 1)H(X| = 1) + p( = 2)H(X| = 2) == H() + H(X1) + (1 )H(X2)

    cu H() = log (1 )log(1 ).b. Punnd F() = H() + H(X1) + (1 )H(X2), se observ c F este o functie

    concav de a asa nct ea este maxim n punctul de anulare a derivatei.Rezolvnd

    F() = log + log(1 ) + H(X1) H(X2) = 0se obtine succesiv

    )()(

    )(*

    21

    1

    222

    XHXH

    XH

    +=

    ( ))()(* 21 22log)( XHXHF += .Asadar,

    H(X) = H() + H(X1) + (1 )H(X2) = F() ( ))()(* 21 22log)( XHXHF +=n final,

    )()()( 21 222 XHXHXH +c. Deoarece X1 si X2 sunt uniforme pe multimile lor alfabetice, entropiile lor

    sunt date de cardinalele acestor multimi. Astfel, H(X1) = log|X1| = logm siH(X2) = log|X2| = log(n m). Prin nlocuirea acestor valori n expresia lui *de la punctul anterior, se obtine

    nm

    mnmm

    mnm

    m

    XHXH

    XH

    =

    +=

    +=

    +=

    )(222

    222

    )log(log

    log

    )()(

    )(*

    21

    1

    Problema 33. Entropie maxim

    Aflati densitatea de maxim entropie f care satisface relatiile EX = 1, Elnx =2. n alt formulare, stabiliti

    max{h(f)}n conditiile

    = 1)( dxxxf , = 2)()(ln dxxfxCe familie de densitti de probabilitate este aceasta?Solutie. Distributia de maxim entropie supus la restrictiile din enunt este deforma

    34

  • xxx ecxexf 12210 ln)( == ++

    care face parte din familia distributiilor Gamma. Constantele se aleg pentru asatisface relatiile restrictive.

    Problema 34. Random walk ntr-un cub

    O pasre zboar din ncpere n ncpere ntr-un cub 333 (egal probabil prinfiecare perete interior). Care este rata entropiei?Solutie: Rata entropiei unei deplasri aleatoare (random walk) ntr-un graf estedat de relatia

    =

    EE

    EEHEXH m

    2,...,

    2)2log()( 1

    Un cub are 8 vrfuri, 12 muchii, 6 fete si un centru. Vrfurile au 3 arce,muchiile au 4 arce, fetele au 5 arce si centrele au 6 arce. Asadar numrul totalde arce este E = 54. Astfel,

    +

    +

    +=108

    4log108

    412108

    3log108

    38108log)(XH

    03,2108

    6log108

    61108

    5log108

    56 =

    +

    + biti.

    Problema 35. Entropia grafurilor

    Se consider o deplasare aleatoare (random walk) ntr-un graf (conex) cu 3arce.

    Graful 1 Graful 2 Graful 3

    Grafuri cu trei arce

    a. Care graf are cea mai sczut rat a entropiei? Care este acea rat?b. Care graf are cea mai nalt rat a entropiei?Solutie: Sunt posibile trei grafuri cu trei arce, ca n figura alturat.Rata entropiei este dat de

    ==i

    ii

    i jijiji ww

    wppH loglog

    Pentru graful 1, {wi} ={2, 2, 2} de unde rezult H = 3[(2/6)log2] = 1.Pentru graful 2, {wi} ={1, 1, 1, 3} de unde rezult H = (3/6)log3 0,79.Pentru graful 3, {wi} ={1, 2, 2, 1} de unde rezult H = 2[(2/6)log2] 0,667.Asadar, graful 1 are cea mai mare entropie, graful 3 are cea mai mic entropie.

    35

  • Problema 36. Entropia unui arbore aleator

    Se consider urmtoarea metod de generare aleatoare a unui arbore binar cu nnoduri. Mai nti se dezvolt nodul rdcin:

    Apoi se dezvolt unul din cele dou noduri terminale la ntmplare:

    La pasul k, se alege unul din cele k 1 noduri terminale potrivit unei distributiiuniforme si se dezvolt acel nod. Se continu pn cnd se genereaz n noduriterminale. Astfel, o secvent care conduce la cinci noduri poate arta astfel:

    Surprinztor, metoda urmtoare de generare de arbori aleatori produce aceeasidistributie probabilistic pe arbori cu n noduri terminale. Mai nti se alege unntreg N1 uniform distribuit pe multimea {1, 2, , n}. Se obtine imaginea:

    Apoi se alege un ntreg N2 uniform distribuit pe {1, 2, ,N1 1} si,independnent un alt ntreg N3 uniform distribuit peste {1, 2, , (n N1) 1}.Figura se modific astfel:

    N1 n N

    1

    36

  • Se continu procesul pn cnd nu se mai pot face alte subdiviziuni.(Echivalenta celor dou scheme de generare decurge, de pild, din modelulurnei datorat lui Polya).Se noteaz acum cu Tn un arbore aleator cu n noduri generat ca mai sus.Distributia probabilistic a acestor arbori pare dificil de descris, dar se poateafla entropia acestei distributii n form recursiv.Mai nti cteva exemple.Pentru n = 2, exist un singur arbore. Asadar, H(T2) = 0.Pentru n = 3, sunt doi arbori posibili, egal probabili: entropia este H(T3) = log2.Pentru n = 4, sunt posibili cinci arbori, cu probabilittile 1/3, 1/6, 1/6, 1/6, 1/6.Acum, pentru o relatie de recurent, fie N1(Tn) numrul de noduri terminale alearborelui Tn n jumtatea din dreapta a acelui arbore. Justificati fiecare din pasiiurmtori:

    =

    =

    +=

    +

    +=

    +=+=

    =

    1

    1

    1

    1

    1

    11

    1

    )(1

    2)1log(

    )]()([1

    1)1log(

    )|()1log()|()(

    ),()(

    n

    kk

    n

    kknk

    n

    n

    nn

    THn

    n

    THTHn

    n

    NTHnNTHNH

    TNHTH

    Utilizati succesiunea de egalitti de mai sus pentru a arta c(n 1)Hn = nHn 1 + (n 1)log(n 1) (n 2)log(n 2)

    sau

    nnn c

    nH

    nH

    +

    =

    11

    cu adaosul cn potrivit definit. Deoarece cn = c < , s-a dovedit prin aceasta cH(Tn)/n tinde ctre o constant. Astfel, numrul mediu statistic de biti necesaripentru a descrie arborele aleator Tn creste liniar cu n.Solutie: Prin conditionarea n lant a entropiilor si pentru c N1 este o functie de Tn,H(Tn,N1) = H(Tn) + H(N1|Tn) = H(Tn) + 0.Prin conditionarea n lant a entropiilor, H(Tn,N1) = H(N1) + H(Tn|N1).H(N1) = log(n 1) deoarece N1 este uniform pe {1, 2, , n 1}.

    N1 N

    1 N

    2 N

    3 n N

    1 N

    3

    37

  • Prin definitia entropiei conditionate,

    =

    =

    =

    ====

    1

    11

    1

    1111 )|(1

    1)|()()|(n

    kn

    n

    knn kNTHn

    kNTHkNpNTH

    Deoarece conditionat de N1, subarborele din stnga si subarborele din dreaptasunt alegeri independente, H(Tn|N1 = k) = H(Tk,Tn k|N1 = k) = H(Tk) + H(Tn k)asa nct

    =

    +

    =

    1

    11 )]()([1

    1)|(n

    kknkn THTHn

    NTH

    Printr-o simpl schimbare de variabile,

    =

    =

    =

    1

    1

    1

    1

    )()(n

    kk

    n

    kkn THTH

    Dac punem Hn = H(Tn),

    =

    +=1

    1

    2)1log()1()1(n

    kkn HnnHn

    =

    +=2

    11 2)2log()2()2(

    n

    kkn HnnHn

    Prin scderea relatiei din urm din cea anterioar se obtine(n 1)Hn (n 2)Hn 1 = (n 1)log(n 1) (n 2)log(n 2) + 2Hn 1

    sau

    nnnn C

    nH

    nnnn

    nn

    nH

    nH

    +

    =

    +

    =

    1)1()2log()2()1log(

    111

    Asupra termenului Cn se mai poate lucra:

    )1()2log(2

    1)2log()1log(

    )1()2log()2()1log(

    +

    =

    =

    nnn

    nn

    nn

    nnnn

    nnCn

    Substituind ecuatia pentru Hn 1 n ecuatia pentru Hn si procednd recursiv, seobtine o sum telescopic

    )1log(1)1(

    )2log(22 3

    2

    1

    +

    =+= ==

    nnii

    iHCn

    H n

    i

    n

    ii

    n

    Deoarece limita cnd n a ultimului termen din expresia din urm este nul

    =

    =

    =

    =

    =

    22

    32

    3

    log2)1(

    )1log(2)1(

    )2log(2limiii

    nn iii

    iii

    in

    H

    Pentru i suficient de mare, ii log de unde rezult c ultima serie esteconvergent (este majorat de seria cu termenul general i (3/2), convergent larndul ei).Limita de mai devreme exist. O evaluare pe calculator arat c ea are valoareaproximativ de 1,736 biti.Asadar, numrul de biti necesari pentru a descrie un arbore binar aleator cu nnoduri creste liniar cu n.

    Problema 37. Lan Markov

    38

  • Se d matricea

    ==

    2/14/14/14/12/14/14/14/12/1

    ][ ijPP

    Fie X1 distribuit uniform pe strile {0, 1, 2}. Fie {Xi}1 un lan Markov cumatricea de tranzitie P, astfel nct Pr(Xn + 1 = j|Xn = i) = Pij, i, j {0, 1, 2}.a. Este {Xn} stationar?b. Aflati limn H(X1, , Xn).Considerati acum procesul derivat Z1, Z2, , Zn n care

    Z1 = X1Zi = Xi Xi 1 (mod 3), i = 2, 3, , n

    Asadar, Zn face o codare a tranzitiilor, nu a strilor.c. Aflati H(Z1, Z2, , Zn).d. Aflati H(Zn) si H(Xn) pentru n 2.e. Aflati H(Zn|Zn 1) pentru n 2.f. Sunt, pentru n 2, Zn 1 si Zn independente?Solutie:a. Fie n functia de probabilitate la momentul n. Deoarece 1 = (1/3, 1/3, 1/3)

    si 2 = 1P = 1, n = 1 = (1/3, 1/3, 1/3) pentru orice n si {Xn} estestationar.Alternativ, observatia c P este dublu stochastic conduce la aceeasiconcluzie.

    b. Deoarece {Xn} este un proces Markov stationar

    23

    41,

    41,

    21

    313

    )|()()|(),...,(lim2

    0121121

    =

    =

    ===== =

    H

    kXXHkXPXXHXXHk

    nn

    c. Deoarece secventele (X1, , Xn) si (Z1, , Zn) sunt n corespondentbiunivoc, prin regula conditionrilor succesive ale entropiilor si dinmarkovianism

    H(Z1, , Zn) = H(X1, , Xn) = ==

    n

    kkk XXXH

    111 ),...,|(

    )1(233log)|()1()()|()( 121

    211 +=+=+=

    =

    nXXHnXHXXHXHn

    kkk

    Ca alternativ, se pot utiliza rezultatele de la punctele urmtoare, (d), (e) si(f). Deoarece Z1, , Zn sunt independente si Z2, , Zn sunt distribuiteidentic, cu functia de probabilitate (1/2, 1/4, 1/4),

    H(Z1, , Zn) = H(Z1) + + H(Zn) = H(Z1) + (n 1)H(Z2) = )1(233log + n

    d. Deoarece {Xn} este un proces Markov stationar cu n = (1/3, 1/3, 1/3),H(Xn) = H(X1) = H(1/3, 1/3, 1/3) = log3.

    Pentru n 2

    39

  • =

    4/1teaprobabiltacu 24/1teaprobabiltacu 12/1teaprobabiltacu 0

    nZ

    Asadar,H(Zn) = H(1/2, 1/4, 1/4) = 3/2.

    e. Datorit simetriei lui P, Pr[Zn|Zn1] = Pr[Zn] pentru orice n 2. Astfel, H[Zn|Zn1] = H[Zn] = 3/2.Ca demonstratie alternativ, utiliznd rezultatul de la punctul (f), se poateajunge elementar la aceeasi concluzie.

    f. Fie k 2. Se observ din simetria lui P c Zk+1 = Xk+1 Xk este independentde Xk. Acum din

    Pr[Zk+1|Xk, Xk1] = Pr[Xk+1 Xk|Xk, Xk1] = Pr[Xk+1 Xk|Xk] == Pr[Xk+1 Xk] = Pr[Zk+1]

    rezult c Zk+1 este independent de (Xk, Xk1) si este deci independent si de Zk= Xk Xk1. Pentru k = 1, din nou din simetria lui P rezult imediat c Z2 esteindependent de Z1 = X1.

    Problema 38. Markov de ordinul doi

    Fie {Xn}, Xn {0, 1} un proces stochastic binar. Fie Xn + 1 = Xn Xn 1 Zn + 1,cu operatorul de adunare modulo 2 si {Zn} un proces Bernoulli(p). Careeste rata entropiei pentru {Xn}? Ar putea fi util a redefini acest proces Markovde ordinul doi ca un proces Markov de primul ordin.Solutie: Fie Yi = (Xi, Xi1) pentru orice i. Este usor de vzut c limnH(Xn)/n =limnH(Yn)/n, si c {Yi} este un proces Markov de ordinul 1. Asadar rataentropiei pentru {Xn} este aceeasi cu rata entropiei procesului {Yn}. Deoarece{Yn} este un proces Markov de ordinul nti, are loc

    )()(1lim)|(1lim)(1lim11

    1 pHpHnYYH

    nYH

    n

    n

    in

    n

    iiinnn ===

    =

    =

    Se poate conchide c {Xn} are rata entropiei H(p).Alternativ, se poate ataca direct rata entropiei unui proces Markov de ordinul 2{Xn} astfel

    )(),|(1lim

    )|(1lim)(1lim

    121

    1

    1

    pHXXXHn

    XXHn

    XHn

    n

    iiiin

    n

    i

    iin

    nn

    =

    ==

    =

    =

    n ultima egalitate se evidentiaz ordinul procesului, 2, iar limita provine dinfaptul c )(),|( 21 pHXXXH nnn = pentru orice n 3 (Cesro).

    40

  • 41

  • CANALE DE TRANSMITERE A INFORMATIEI

    Lucrarea 4

    Tema: Transinformatia si capacitatea canalelor.

    Canalul are un alfabet de intrare alctuit din n simboluri. Alfabetul observat laiesire este compus din m simboluri.

    42

  • Matricea de probabilitti conditionate care caracterizeaz canalul este o matricenm cu sumele elementelor fiecrei linii egale cu unitatea. n program, aceastmatrice este generat aleator.Sursa de informatie care debiteaz la intrarea canalului este caracterizat de unvector (linie) cu n elemente, probabilittile de aparitie ale simbolurilor sursei.Vectorul acesta este generat, de asemenea, aleator. Se evalueaz o entropie asursei numit si entropie apriori.Probabilittile simbolurilor sursei observate la iesirea canalului rezult prinmultiplicarea vectorului asociat sursei cu matricea canalului. Rezultatul acesteioperatii este un vector cu m componente care nsumate dau tot unitatea.Entropia acestei surse secundare este uzual diferit de entropia apriori datoritlucrrii canalului asupra informatiei generate de surs.n conditiile observrii unui anumit simbol/caracter la iesire se pot evaluaprobabilitti conditionate de acest eveniment pentru fiecare simbol al sursei.Este ceea ce se face n program n secventa median, acolo unde se calculeazmatricea pab. Coloanele acestei matrici sunt tocmai probabilittile conditionatementionate. Suma lor este unitar si se calculeaz o entropie aposteriori a sursein fiecare caz, pentru fiecare din cele m observatii posibile la iesirea canalului.O medie a acestor entropii care ia n considerare probabilittile simbolurilor laiesire produce o entropie a sursei de la intrare conditionat de sursa de la iesireacanalului.Diferenta dintre entropia (apriori) a sursei si entropia conditionat evaluatastfel poart numele de transinformatie sau de informatie mutual si estecantitatea de informatie transmis prin canal.Transinformatia este variabil pentru surse diferite care debiteaz la intrareacanalului. Variabilitatea se refer numai la lista probabilittilor de aparitie asimbolurilor sursei si nu la modificarea vreuneia din cele dou multimialfabetice, de intare si de iesire, cu care lucreaz canalul.Transinformatia este o mrime simetric: dac intrarea devine iesire siviceversa, dac matricile de probabilitti conditionate se schimb ntre ele, pabn loc p, se obtine aceeasi valoare a transinformatiei. Un canal lucreaz la fel debine (sau de ru) si ntr-un sens si n cellalt. Se propune studentilor realizareaunei variante a programului capabil a evalua informatia mutual prin canal nsituatia aceasta modificat.Exist o limit superioar a transinformatiei, care nu poate fi depsit. Aceasttransinformatie maxim poart numele de capacitate a canalului. Capacitateacanalului se poate evalua analitic rezolvnd o problem de extrem supus lalegturi/restrictii, pe o multime de n variabile, probabilittile simbolurilor de laintare, supuse la legtura/restrictia unic de sum general egal cu unitatea.n program s-a preferat numai o explorare a limitei maxime pentrutransinformatie prin generarea aleatoare a mai multor surse cu n simboluri siprin evaluarea de fiecare dat a informatiei mutuale. Se poate observa o cea-mai-mare-valoare a transinformatiei ntre aceste realizri posibile, care seapropie de capacitatea canalului.

    43

  • Se sugereaz si explorarea canalelor binare (n = m = 2) simetrice (matricea psimetric fat de diagonala principal) si a canalelor binare cu stergere (n = 2,m = 3) care au n alfabetul de iesire, nafar de valorile binare obisnuite si un altreilea simbol care nu poate fi asimilat niciunuia din valorile transmise.Se propune urmtorul script Matlab:

    clearn=3;m=4;p=rand(n,m);for i=1:n suml=sum(p(i,:)); p(i,:)=p(i,:)/suml;end % crearea unei matrici a canaluluimatricea_canalului=pa=rand(1,n);a=a/sum(a); % probabilitati sursa de intrareb=a*p; % probabilitati sursa observata la iesireprobabilitatile_simbolurilor_de_intrare=aha=entropie(a); % entropia apriorientropia_apriori=haprobabilitatile_simbolurilor_de_iesire=bhb=entropie(b);entropia_sursei_observate_la_ieisre=hbpab=zeros(n,m);for i=1:n for j=1:m pab(i,j)=p(i,j)*a(i)/b(j); endendprobabilitati_intrare_condiditionate_de_iesiri=pabfor j=1:m enap(j)=entropie((pab(:,j))');end % entropii aposteriorientropii_aposteriori=enapentropia_conditionata_de_iesirea_observata=b*enap'transinformatia=ha-b*enap'display('*** Uremaza o cautare aleatoare a capacitatii canalului***')display('*** Pentru continuare apasati Enter! ***')pause % cautarea aleatoare a capacitatii canaluluifor k=1:20 a=rand(1,n);a=a/sum(a);b=a*p; ha=entropie(a); for i=1:n for j=1:m pab(i,j)=p(i,j)*a(i)/b(j); end end for j=1:m enap(j)=entropie((pab(:,j))'); end sursa_la_intrare_si_transinformatia=[a ha-b*enap']

    44

  • end

    Pentru un canal binar simetric, secventa introductiv a scriptului se modificastfel:

    clearn=2;m=2;p=rand(n,m);for i=1:n suml=sum(p(i,:)); p(i,:)=p(i,:)/suml;end % crearea unei matrici a canaluluip(2,1)=p(1,2);p(2,2)=p(1,1); % simtetrizarea

    Modificrile aduse aceleiasi secvente pentru cazul unui canal binar simetric custergere sunt urmtoarele:

    clearn=2;m=3;p=rand(n,m);for i=1:n suml=sum(p(i,:)); p(i,:)=p(i,:)/suml;end % crearea unei matrici a canaluluip(2,1)=p(1,3);p(2,2)=p(1,2);p(2,3)=p(1,1); % simterizarea

    Problema 39.

    Artati c un canal de transmitere a informatiei caracterizat de matricea

    =

    3/23/103/13/13/1

    03/13/2P

    are o capacitate care este atins la o intrare care are un simbol de probabilitatenul. Care este capacitatea acestui canal? Gsiti o explicatie intuitiv a faptuluic una din literele alfabetului de intrare nu este folosit.Solutie: Fie probabilittile simbolurilor de la intrare P(A) = ][ rqp cu p +q + r = 1. Atunci, probabilittile simbolurilor de iesire sunt

    ++=

    = rqqprqpBP32

    31

    31

    31

    32

    3/23/103/13/13/1

    03/13/2][)(

    si probabilittile simbolurilor de la intrare (A), conditionate de cele de la iesire(B) sunt

    ++

    ++=

    )2/(2)2/(0

    0)2/()2/(2)/(

    rqrrqqrqp

    qpqqppBAP

    45

  • Entropia apriori a sursei A este

    rr

    qq

    ppAH 1log1log1log)( ++=

    Entropiile aposteriori ale sursei A sunt

    qqp

    qpq

    pqp

    qppbAH +

    ++

    +

    +=

    2log22

    2log2

    2)/( 1

    )(1log1log1log)/( 2 AHrr

    qq

    ppbAH =++=

    rrq

    rqr

    qrq

    rqqbAH

    22log

    222log

    2)/( 3

    +

    ++

    +

    +=

    si entropia sursei A conditionat de B este

    32

    22log

    22

    32

    22log

    22

    32)(

    32)(

    )2log()2(31)2log()2(

    31

    )(31)(

    32)(

    32

    )2log()2(31

    21log

    321log

    31

    )(31)2log()2(

    311log

    31

    21log

    32

    )/(3

    2)/(31)/(

    32)/( 321

    ++

    +

    +

    ++=

    =++++++

    +++=

    =+++++

    ++++++=

    =+

    +++

    =

    rqrq

    qpqprpAH

    rqrqqpqp

    AHrpAH

    rqrqr

    rq

    q

    AHqpqpq

    qp

    p

    bAHrqbAHbAHqpBAH

    Transinformatia (informatia mutual) care trebuie maximizat pentru a stabilicapacitatea canalului este dat de relatia

    == )/()();( BAHAHBAI

    32

    22log

    22

    22log

    22

    32)(

    32

    +

    ++

    +

    +++=

    rqrq

    qpqprp

    Paranteza contine expresia entropiei unei surse cu dou simboluri. Aceasta estemaxim cnd simbolurile sunt echiprobabile

    22

    22 rqqp +

    =+

    adic atunci cnd p = r. Primul termen este maxim cnd p = r = 1/2 si q = 0.Ultimul termen este constant si nu conteaz la maximizarea transinformatiei.

    Problema 40.

    Se consider un canal cu intrri binare care are si erori si stergere (stergere =aparitia la iesire a unui al treilea simbol, neuzual). Fie probabilitatea erorii sifie probabilitatea stergerii astfel nct canalul este reprezentat de graful dinfigur:

    46

  • Aflati capacitatea acestui canal.Particularizati pentru cazul canalului binar simetric ( = 0).Particularizati pentru cazul canalului binar cu stergere ( = 0).

    Problema 41.

    Se consider un canal cu alfabet binar care preia simboluri de doi biti si producela iesire simboluri de doi biti conform asocierii urmtoare: 00 01, 01 10,10 11 si 11 00. Astfel, dac secventa de doi biti 01 este introdus ncanal, iesirea este 10 cu probabilitatea 1. Fie X1, X2 dou simboluri la intrare siY1, Y2 simbolurile de iesire corespunztoare.Calculati informatia mutual I(X1, X2 ; Y1, Y2) ca functie de distributia la intrarea celor patru perechi de intrare posibile.Artati c pentru transmiterea n perechi capacitatea acestui canal este de 2 biti.Artati c la maximizare prin distributia la intrare, I(X1 ; Y1) = 0.Asadar, distributia secventelor de intrare care atinge capacitatea canalului numaximizeaz n mod necesar informatia mutual ntre simboluri individuale sicorespunztoarele lor la iesire.

    Problema 42. Canal sum

    Se consider dou canale fr memorie (X1, p(y1/x1),Y1) si (X2, p(y2/x2),Y2) cucapacittile C1, respectiv C2. Se defineste un canal nou astfel: alfabetul deintrare este reuniunea celor dou multimi alfabetice X1 si X2, alfabetul de iesireeste reuniunea celor dou multimi alfabetice Y1 si Y2 si matricea de probabilittide tranzitie este p(y/x) = p(y1/x1) dac x X1 si p(y/x) = p(y2/x2) dac x X2.Asadar, canalul are la dispozitie ambele canale simple, dar acestea sunt utilizatealternativ. Artati c acest canal sum are capacitatea

    )22log( 21 CCC +=Utilizati acest rezultat pentru a calcula capacitatea canalului urmtor:

    47

  • Problema 43. Capacitatea canalelor

    Calculati capacitatea canalelor de mai jos, caracterizate de multimile alfabeticespecificate si de matricile de tranzitie alturate:

    X = Y = {0, 1, 2},

    =

    3/13/13/13/13/13/13/13/13/1

    )|( xyp

    X = Y = {0, 1, 2},

    =

    2/102/12/12/10

    02/12/1)|( xyp

    X = Y = {0, 1, 2, 3},

    =

    qqqq

    pppp

    xyp

    100100

    001001

    )|(

    Problema 44. Capacitatea canalelor

    Care sunt capacittile canalelor

    Y

    pppp

    pppp

    X

    40014310032010210011

    Ypp

    pppp

    X

    301321021011

    ?

    Problema 45. Canal cu stergere

    Fie {X, p(y|x), Y} un canal discret fr memorie de capacitate C. Se admite cacest canal este conectat imediat n cascad cu un canal cu stergere {Y, p(s|y),S} care sterge fractia din simboluri.

    2

    1

    0

    2

    1

    0pp

    1 p

    1 p

    1

    48

  • Mai precis, S = {y1, y2, , ym, e} si Pr[S = y|X = x] = (1 )p(y|x) pentru y Ysi Pr[S = e|X = x] = .Evaluati capacitatea acestui canal.

    Problema 46. Informatia mutual ntre fetele unei monede

    a. Se consider o aruncare a unei monede corecte. Care este informatiamutual ntre fata de deasupra si fata de dedesubt a monedei?

    b. Un zar corect cu 6 fete este fcut s se rostogoleasc. Care este informatiamutual ntre fata de deasupra si fata de dedesubt?

    c. Care este informatia mutual ntre faa de deasupra a unui zar si faa din fa(cea mai vizibil pentru experimentator)?

    Solutie:a. Se observ c

    I(T; B) = H(B) H(B|T) = log2 = 1deoarece B ~ Bernoulli(1/2) si B este o functie de T. Aici B si T suntprescurtri pentru bottom si top.

    b. Se observ c fata de dedesubt B este din nou functie de fata de deasupra T(B + T = 7) si sunt sase posibilitti egal probabile pentru B. Asadar,

    I(T; B) = H(B) H(B|T) = log6 = log3 + 1c. Se observ c avnd rezultatul relativ la faa din fa F, rmn patru

    posibiliti egal probabile pentru faa de deasupra T. Asadar,I(T; F) = H(B) H(B|F) = log6 log4 = log3 1

    deoarece T este repatizat uniform pe {1, 2, , 6}.

    Problema 47. Dubla privire

    Comparati informatia mutual I(X; Y1, Y2) pe care (Y1, Y2) o furnizeaz despre X,cu suma informatiilor mutuale I(X; Y1) si I(X; Y2) pentru fiecare din cele doufunctii de probabilitate de mai departe.a. Dou priviri independente:

    p(x, y1, y2) = p(x)p(y1|x)p(y2|x)b. O privire la dou observatii independente:

    p(x, y1, y2) = p(y1)p(y2)p(x|y1, y2)Solutie:a. Dou priviri independente:

    I(X; Y1, Y2) = H(Y1, Y2) H(Y1,Y2|X) == [H(Y1) + H(Y2) I(Y1;Y2)] H(Y1,Y2|X) =

    = [H(Y1) + H(Y2) I(Y1;Y2)] [H(Y1|X) + H(Y2|X)] == I(X;Y1) + I(X;Y2) I(Y1;Y2) I(X;Y1) + I(X;Y2)

    n succesiunea de relatii de mai sus s-au utilizat: relatia de definitie ainformatiei mutuale, formula pentru calculul entropiei surselor compuse,absenta conditionrii ntre Y1 si Y2 cnd este dat X si nenegativitatea informatieimutuale.

    49

  • b. O privire la dou observatii independente:I(X; Y1, Y2) = H(Y1, Y2) H(Y1,Y2|X) =

    = [H(Y1) + H(Y2)] H(Y1,Y2|X) == [H(Y1) + H(Y2)] [H(Y1|X) + H(Y2|X) I(Y1;Y2|X)] =

    = I(X;Y1) + I(X;Y2) + I(Y1;Y2|X) I(X;Y1) + I(X;Y2)Aici s-au folosit: relatia de definitie a informatiei mutuale, independenta ntreY1 si Y2, identitatea pentru entropia H(Y1,Y2|X), din nou relatia de definitie ainformatiei mutuale si nenegativitatea informatiei mutuale.

    Problema 48. Rata entropiei pentru secvente restrictionate

    n cazul nregistrrilor magnetice, mecanismul de nregistrare si de redare abitilor impune restrictii asupra secventei de biti care poate fi nregistrat. Depild, pentru a asigura sincronizarea adecvat, este necesar adesea a limitalungimea secventelor de zerouri ntre doi de unu. De asemenea pentru a reduceinterferenta ntre simboluri, poate fi impus ca necesar cel putin un zero ntre doide unu. Se arat n continuare un exemplu simplu de astfel de restrictii.Se presupune c se cere ca ntr-o secvent, ntre doi de 1 s fie cel putin un 0 sicel mult doi de zero. Astfel, secvente de genul 101001 si 0101001 sunt valide,dar 0110010 si 0000101 nu sunt. Se urmreste calculul numrului de secventevalide de lungime n.a. Artati c multimea de secvente restrictionate este aceeasi cu multimea

    cilor permise n diagrama de stare alturat.

    b. Fie Xi(n) numrul de ci valide de lungime n cu finalul n starea i.Argumentati c X(n) = [X1(n) X2(n) X3(n)]T verific relatia de recurent demai jos:

    )1()1()1()1(

    010001110

    )()()(

    3

    2

    1

    3

    2

    1=

    =

    nA

    nXnXnX

    nXnXnX

    X

    cu conditia initial X(1) = [1 1 0]T.c. Apoi, prin inductie are loc

    X(n) = AX(n 1) = A2X(n 2) = = An1X(1)Utiliznd descompunerea lui A dup valorile proprii, pentru cazul valorilorproprii distincte, se poate scrie A = U 1U, cu matricea diagonal avalorilor proprii. Atunci An1 = U 1n1U. Artati c se poate scrie

    X(n) = 11n Y1 + 12n Y2 + 13n Y3

    1 2 3

    50

  • n care Y1, Y2, Y3 nu depind de n. Pentru n mare, aceast sum estedominat de termenul cel mai mare. Demonstrati c pentru i = 1, 2, 3 are loc

    log)(log1 nXn i

    cu valoarea proprie (pozitiv) ce mai mare. Astfel, pentru n mare,numrul de secvente de lungime n creste ca n. Calculati pentru matriceaA de mai sus (cazul n care valorile proprii nu sunt distincte poate fimanipulat n mod similar).

    d. Se abordeaz acum o tratare diferit. Se consider lantul Markov cudiagrama de stare dat la punctul a. dar cu probabilittile tranzitiilorarbitrare. Prin urmare matricea de tranzitie a lantului Markov este

    =

    01000110

    P

    Artati c distributia stationar a lantului Markov esteT

    =

    31

    31

    31

    e. Maximizati rata entropiei lantului Markov n raport cu . Care este entropiamaxim a lantului?

    f. Comparati rata maxim a entropiei obtinut la punctul e. cu log de lapunctul c. De ce cele dou rspunsuri sunt identice?

    Problema 49. Un canal de comunicatie

    Figura alturat reprezint schematic un canal de comunicatie.

    Intrarea este pe dou niveluri, fie X = A, fie X = A, cu A o amplitudine destabilit n cursul solutionrii problemei. Canalul este afectat de zgomotul aditivZ, gaussian cu media 0 si dispersia 100.a. Gsiti constanta K astfel nct

    Pr(Y < A + K|X = A) = 0,90Pr(A K Y |X = A) = 0,90

    Valoarea K se poate calcula chiar dac A nu a fost nc evaluat. (Indicatie:se utilizeaz faptul c dac X = A atunci distributia conditionat a lui Yeste gaussian cu media A si cu dispersia 100 si dac X = A atunci

    +X = A Y = X + Z

    Z

    51

  • distributia conditionat a lui Y este gaussian cu media A si cu dispersia100).

    Solutie: Repartitia valorilor unei variabile aleatoare X normal (gaussian) estedescris de functia densitate de probabilitate

    2

    2

    2)(

    21)(

    pi

    mx

    exf

    =

    definit pe ntreaga ax real, depinznd de parametrii m (media) si 2(dispersia). Acesti parametri sunt n cazul de fat, respectiv, A si 100.Prima valoare K cerut se calculeaz prin rezolvarea ecuatiei n x

    9,0)( =

    x

    dxxf

    punnd n f(x), m = A.A doua valoare K cerut se calculeaz prin rezolvarea unei alte ecuatii n x

    9,0)(1 =

    x

    dxxf

    punnd n f(x) de data aceasta, m = A.O integral de genul celor care apar n cele dou ecuatii este cunoscut nliteratur ca functia de repartitie F(x) egal cu probabilitatea ca variabilaaleatoare X s ia valori inferioare valorii x. Valorile functiei de repartitie pentruvalori x variate se pot calcula de pild cu functia Matlab normcdf sau, invers,cu functia norminv , dar sunt si tabelate n crti pentru o variabil aleatoarenormal normat (de medie nul si de dispersie egal cu unitatea). Un apelMatlab

    x = norminv(0.9, 0, 10)produce valoarea x = 12.8155, iar un apel

    x = norminv(0.1, 0, 10)produce valoarea x = - 12.8155. Acestea sunt valorile pentru care functia derepartitie ia valoarea 0,9, respectiv 0,1, atunci cnd media variabilei este zero siabaterea medie ptratic este = 10. O deplasare a mediei n A sau n + Adeplaseaz si valorile x cu aceleasi cantitti. Este usor de constatat c ambeleecuatii au solutia K = 12,8155.b. Alegeti nivelul A, acel numr real pozitiv minim pentru care evenimentele

    {Y < A + K} si {A K Y } nu se pot produce simultan.Solutie: Cele dou intervale de valori care corespund celor dou evenimentetrebuie s fie disjuncte. La limit, este permis ca A + K = A K, adic A = K =12,8155.c. Pentru numerele K si A stabilite mai devreme, se formeaz din observatiile

    Y estimrile X ale intrrilor X ale canalului conform relatiei

    52

  • +0 nc=nc+1; endendncnc/n

    53

  • CODAREA PENTRU CANALE FR PERTURBATII

    Lucrarea 5.

    54

  • Tema 1. Algoritmul Huffman pentru coduri compacte

    Se consider o surs fr memorie generatoare a n simboluri, 2 n 15.Simbolurile pot fi chiar numerele naturale de la 1 la n.Programul Matlab care urmeaz este implementarea algoritmului Huffman ncazul binar si se disting cu usurint cteva etape de calcul.Se alege mai nti numrul n de simboluri, printr-o modificare n linia a doua aprogramului.Se genereaz aleator n numere subunitare, probabilittile de aparitie a celor nsimboluri. Probabilittile se ordoneaz descresctor, asa cum cere algoritmulHuffman.Se parcurge partea direct a algoritmului cnd se realizeaz succesiv surselereduse, cu grija de a fi si ordonate. Se ajunge n cele din urm la o surs reduscu numai dou simboluri.Urmeaz parcursul invers n cadrul cruia se atribuie efectiv, pas cu pas, codurisimbolurilor sursei.Se afiseaz cuvintele alocate ale codului alturi de probabilittile simbolurilorasociate.Se evalueaz lungimea medie a codului si entropia sursei. Se poate face astfel ocomparatie ntre lungimea medie a codului cu entropia sursei.Se recomand repetarea executrii calculelor pentru surse diferite ntre ele prinlista de probabilitti si/sau prin numrul n de simboluri generate.Orice ameliorare a programului propus este apreciat.

    clearn=15; % numarul de simboluri ale surseiif n>15 n=15;end % o limitare a numarului de simboluriif n

  • probabilitati_ordonate=y(1,:)i(1,:)=1:n;for j=2:(n-1) y(j,:)=y(j-1,:); y(j,n-j+1)=y(j-1,n-j+2)+y(j-1,n-j+1); y(j,n-j+2)=0; [y(j,1:(n-j+1)),i(j,1:(n-j+1))]=sort(y(j,1:(n-j+1)),'descend');end % secventa directa a algoritmului Huffmanlun(n-1,1)=1;lun(n-1,2)=1;num(n-1,1)=0;num(n-1,2)=1;for j=(n-1):(-1):2 [l,m]=max(i(j,:)); %[l m] i2=0; for k=1:(n-j+1) if k~=m i2=i2+1; lun(j-1,i2)=lun(j,k); num(j-1,i2)=num(j,k); end end lun(j-1,l)=lun(j,m)+1; lun(j-1,l+1)=lun(j,m)+1; num(j-1,l)=2*num(j,m); num(j-1,l+1)=2*num(j,m)+1;end % secventa inversa a algoritmului Huffmanlungimi_cuvinte_de_cod=lun(1,:)% afisarea lungimilor cuvintelor de codcuvinte_de_cod='';for j=1:n cuvinte_de_cod=[cuvinte_de_cod,' ',dec2bin(num(1,j),lun(1,j))];endcuvinte_de_cod % afisarea cuvintelor de cod Huffmanentropia_sursei=-y(1,:)*log((y(1,:))')/log(2)% entropia surseilungimea_medie_a_codului=lun(1,:)*(y(1,:))'% lungimea medie a codului

    Tema 2. Un cod Huffman n aciune

    Se selecteaz un fisier de un tip anumit. Numele lui (si calea dac este cazul)sunt nlocuite n linia a doua a programului. n varianta alturat, este trecutsirul 'TCI5.doc' care presupune c fisierul este n acelasi folder/director cuprogramul.Se citeste fisierul ales ca o succesiune de octeti (bytes). Se face statisticafisierului considerat surs de informatie, surs de simboluri ASCII

    56

  • corespunztoare unor numere de la 0 la 255. Frecventele relative suntconsiderate probabilitti. Fisierul este considerat fr memorie.Se aplic algoritmul Huffman care duce la alocarea unor cuvinte de cod fiecruicod ASCII.Se calculeaz lungimea medie a codului, se calculeaz eficienta codului.Se recomand executarea programului pentru mai multe fisiere de acelasi tip(aceeasi extensie), pentru fisiere de tipuri variate. Se compar eficientacodurilor n cazurile studiate, se compar si cu eficienta comprimrii fisierelorcu programele de comprimare comerciale.

    clearidf=fopen('TCI5.doc');% se creaza un identificator pentru fisierul ales[a,n]=fread(idf);% se citeste fisierul ca o secventa de n bytesst=fclose(idf); % se inchide fisierulp=zeros(256,256);f=zeros(1,256);iper=f;for i=1:n % se calculeaza frecventele absolute f(a(i)+1)=f(a(i)+1)+1;endsf=sum(f);f=f/sf; % se calculeaza frecventele relativeh=0; % se calculeaza entropiafor i=1:256 if f(i)>0 h=h-f(i)*log(f(i)); endendh=h/log(2);% incepe comprimarea Huffman[y,in]=sort(-f);p(:,1)=-y';for k=2:255% se realizeaza "redusele" (parcursul direct) z=p(258-k,k-1)+p(257-k,k-1); p(257-k,k)=z; p(258-k,k)=0; p(1:256-k,k)=p(1:256-k,k-1); [y,inc]=sort(-p(:,k)); p(:,k)=-y; ina=(1:256)'; iper(k)=1; for i=1:257-k% se localizeaza simbolul rezultat din alte doua if ina(i)==inc(i) iper(k)=i+1; end iper(k)=min(iper(k),257-k); endend% parcursul invers

    57

  • lcod=zeros(256,1);lcod(1)=1;lcod(2)=1;nc=1;for k=254:(-1):1 nc=nc+1; lcper=lcod(iper(k+1)); for i=1:nc if i>iper(k+1) lcod(i-1)=lcod(i); end end lcod(nc)=lcper+1; lcod(nc+1)=lcod(nc);endlmed=lcod'*p(:,1);'Entropia si lungimea medie a codului (biti):',h,lmed'eficienta codului (%):',efi=100*h/lmed Lucrarea 6. Codarea aritmetic

    Suportul teoretic al codrii aritmetice si multe aspecte de ordin practic aleacestui gen de codare sunt foarte bine explicate n lucrarea Arithmetic Codingrevealed. A guided tour from theory to praxis de E.Bodden, M.Clasen siJ.Kneis. Lucrarea este bogat citat n Notele de curs la disciplina Transmitereasi codarea informatiei.n Anexele lucrrii lui E.Bodden, M.Clasen si J.Kneis este dat si oimplementare a codrii aritmetice scris n C++. Lectura lucrrii citate siparcurgerea Anexelor ei reprezint o invitatie la a experimenta si a aprofundatema att de generoas a codrii aritmetice.Din motive de simplitate, n lucrarea prezent se sugereaz utilizarea a douimplemetri n Matlab, una realizat de autor, cealalt adaptat din literatur.

    Tema 1. Codarea aritmetic n numere reale

    Prima tem a acestei lucrri cuprinde codarea aritmetic prin numere reale si,numai ca tentativ, o transformare a codului real n cod binar.Programul didactic arit1 execut codarea aritmetic a unor mesaje scurte, depn la 10 caractere, prin numere reale. Sursa de informatie este dat printr-unmodel static, asadar probabilittile asociate caracterelor sunt mereu aceleasi.Aceste probabilitti sunt generate aleator n primele linii ale programului.Probabilittile se pot initializa si dup dorint, introducnd o linie de programspecial dup initilaizarea aleatoare.

    % Program ARIT1 de codare aritmetica prin numere reale% a mesajelor scurteclearn=5; % Numarul de caractere din alfabetul sursei (la alegere)p=rand(1,n);p=p/sum(p); % Generarea de probabilitati pentru sursadisp('Probabiltatile celor n simboluri si entropia sursei')

    58

  • [p entropie(p)]cum(1)=0;for i=1:n cum(i+1)=sum(p(1:i));end % Calculul vectorului probabilitatilor cumulate disp('Vectorul probabilitatilor cumulate')cumlow=cum(1);high=cum(n+1); % Initializarea limitelor intervaluluim=10; % Lungimea mesajului (la alegere)disp('Un mesaj de m simboluri')mesaj=unidrnd(n,1,m) % Generarea aleatoare a mesajuluifor k=1:m i=mesaj(k); lowprim=low+(high-low)*cum(i); highprim=low+(high-low)*cum(i+1); nc=num2str(k,3); disp(strcat(nc,' caractere codate; limitele intervalului dupa codare')) format long, [lowprim highprim] low=lowprim; high=highprim;end % Calculul intervalului care contine codul realcodul_real=(low+high)/2disp('Lungimea codului')nb=floor(log2(1./(high-low)))+1disp('Lungimea medie a codului')nb/mdisp('Expresia binara a limitelor intervalului si a codului pe 40 de biti')bs=real2bin(high,40);bm=real2bin((low+high)/2,40);bi=real2bin(low,40);[bs; bm; bi]disp('Codul se limiteaza la nb biti')

    Programul arit2 elaborat tot n scop didactic parcurge algoritmul de decodarea unui cod aritmetic. El preia de la programul arit1 executat n prealabil, listacumulativ a probabilittilor asociate simbolurilor sursei, codul ca numr real,lungimea mesajului codat precum si codul binar obtinut prin conversia pe unnumr limitat de biti (cel mult 40) a codului real.Conform comentariilor inserate n program, rezult dou secvente decodate,reconstituite din cele dou coduri utilizate, unul ca numr real, altul ca numrreal reconstituit dintr-o secvent finit de biti.

    % Program ARIT2 de decodare a unui cod aritmetic% Programul preia de la programul ARIT1 lungimea mesajului m,% vectorul cum, valoarea codul_real si codul binar.cum1=cumcodul_reallungimea_mesajului=m

    59

  • bm1=bm(1:(nb+2)); % Codul binar al mesajului limitat la nb+2 =cum1(i) & v=cum1(i) & v
  • prov=zeros(1,n);a=a/2;for i=1:n prov(i)=floor(2*a); a=2*a-prov(i);endb=prov;

    function entropie=ent(s)% s este vectorul (linie) al probabilitatilor[n,m]=size(s);ent=0;for i=1:m if s(i)>0 ent=ent-s(i)*log(s(i)); endendent=ent/log(2);entropie=ent;

    Tema 2. Codarea aritmetic n numere ntregi

    Urmtoarele dou functii Matlab, arithenco si arithdeco sunt preluate dincapitolul Matlab-ului 7.1 denumit toolbox\comm\comm. Sursa este descrisaici prin frecvenele absolute (numere ntregi) ale caracterelor generate.O lectur atent a comentariilor din programe face posibil utilizarea corect aacestor functii de codare si de decodare pentru codurile aritmetice.Deoarece functia arithdeco preia rezultatele codrii efectuate de functiaarithenco, se propune imediat un script ari al autorului care cupleazoperatiile de codar