Sunteți pe pagina 1din 31

Bazele Tehnologiei Informaţiei

Curs 2

Elemente de teoria transmisiei informației

Răzvan Daniel ZOTA


zota@ase.ro
https://zota.ase.ro/bti
Facultatea de Cibernetică, Statistică şi Informatică Economică
(CSIE) – ASE Bucureşti

Nov 27, 2023


Elemente de teoria transmisiei informaţiei

1. Entropia informaţională
Informaţia = mesaj care aduce o precizare într-o problemă cu un
anumit grad de incertitudine.
Incertitudinea (nedeterminarea) scade o dată cu apariţia
informaţiei
Fie experimentul X, cu repartiţia probabilistică:
 x x ... xn 
X   1 2 

 p1 p2 ... pn 
Sistemul de evenimente considerat este un sistem complet.
Formula lui Shannon

http
://www.math.harvard.edu/~ctm/home/text/others/shannon/entro
py/entropy.pdf
Claude E. Shannon a considerat următoarea formulă ca măsură
n
a nedeterminării:
H ( p1 , p2 ,..., pn )   pi log 2 pi
i 1

H se numeşte entropie informaţională.


Unitatea de măsură a informaţiei este bitul. Conform definiției
lui H, un bit (Binary digIT) poate fi definit ca fiind cantitatea de
informaţie obţinută prin precizarea unei variante din două egal
probabile*. https://news.mit.edu/2010/explained-shannon-0115
Exemplu de codificare

Ce înseamnă faptul că un semnal codificat are 1,75 biţi/simbol?


= putem converti semnalul original într-un şir de 1 şi 0 astfel încât
media este 1,75 cifre binare pentru fiecare simbol din semnalul
original.
Pp. că avem 4 simboluri: A, B, C, D cu probabilităţile:
PA=1/2; PB=1/4; PC=1/8; PD=1/8
-log2PA = 1 bit, -log2PB = 2 biţi, -log2PC = 3 biţi, -log2PD = 3 biţi
Conform formulei lui Shannon, nedeterminarea este:
1 1 1 1
H   1   2   3   3  1,75 biti
2 4 8 8
Exemplu de codificare (cont.)

Dacă folosim reprezentarea binară pentru simbolurile A,B,C,D:


A = 1; B = 01; C = 000; D = 001, atunci şirul ABADCAAB va fi
codificat astfel:
10110010001101
(14 cifre binare utilizate pentru codificarea celor 8 simboluri =>
media este 14/8 = 1,75)

Obs. Ce se întâmplă dacă folosim o codificare de genul:


A = 00; B = 01; C = 10; D = 11 ?
Schema transmisiei unui mesaj de la sursă la destinație

Conform lui C.E. Shannon, transmiterea semnalelor (mesajelor) de la o


sursă către o destinație se face după următoarea schemă funcțională:

Nov 27, 2023


Schema transmisiei unui mesaj de la sursă la destinație

Schemă detaliată a transmisiei:

Nov 27, 2023


Codificarea informaţiei în calculatoarele numerice

Claude Shannon a introdus conceptul de entropie în contextul unei probleme


practice de transmitere a unor variabile aleatoare, precum imaginile.
Presupunem că avem o variabilă S și vrem să transmitem în mod eficient
valorile acesteia, s ∈ A pe măsură ce sunt cunoscute.

Această problemă se rezolvă prin atribuirea unui cod c(s) fiecărei valori
posibile s și transmițând apoi secvența de cod atribuită.

În mod normal, fiecare cod are o anumită lungime l(c(s))

Întrebarea evidentă este: care este lungimea unei transmisiuni și cum poate
fi aceasta minimizată? Cu alte cuvinte, cum minimizăm valoarea:

Nov 27, 2023


Codificarea informaţiei în calculatoarele numerice

În mod evident, pentru a minimiza valoarea anterioară, ar trebui să


alegem o secvență mai scurtă de cod în cazul în care probabilitatea p este
mai mare. Să considerăm următorul exemplu prin folosirea biților 0 și 1
pentru codificare:

Nov 27, 2023


Exemplu

Codul 1 are L = 1 bit, deci este foarte scurt dar, evident, nu este de
nici un folos deoarece nu poate fi decodificat la receptor.

Codul 2 are L = 1,75 biți dar nu are o codificare unică pentru


fiecare rezultat/literă. Considerând transmisia 010, aceasta poate fi
b sau ca. În concluzie, nici acesta nu poate fi decodificat.

Nov 27, 2023


Exemplu (cont.)

Codul 3 are L = 2,125 biți, este mai lung, și poate fi unic decodificat.
Cu toate acestea însă, trebuie așteptată recepția întregului mesaj
înaintea decodificării, deci nu este unic decodabil instantaneu. Să
considerăm secvența 11000: primele 4 simboluri pot reprezenta cb
dar ultimul 0 ne spune că, de fapt, rezultatul este db.

Codul 4 are L = 1,75 biți, ca și codul 2 dar, în acest caz, poate fi în


mod instantaneu unic decodificat (nici un alt cod nu este prefixul
altui cod – pentru codul 3, c este prefix al lui d).

Observăm că am ales codificări scurte pentru probabilități mari și


codificări lungi pentru probabilități cu valori mai mici.

Nov 27, 2023


Codificarea informaţiei în calculatoarele numerice

Teoremă (Shannon):
Există un cod unic decodabil de lungime minimă care este
instantaneu decodabil. Lungimea minimă este dată de inegalitatea:

Se observă că, în cazul exemplului anterior, entropia calculată


după formula lui Shannon are valoarea de 1,75 biți, iar
lungimea L a codului 4 este tot de 1,75 biți, deci codul 4 este
un cod de lungime minimă.

Nov 27, 2023


Codificarea informaţiei în calculatoarele numerice

Fie S={s1, s2, s3,..., sn} o mulțime de simboluri primare emise de către
o sursă de informație și
A={a1, a2,..., aD} mulţimea simbolurilor codului folosit.

Cu aceste simboluri se formează n cuvinte de cod: C ={c1,c2,…,cn}


Cuvintele de cod sunt succesiuni finite de simboluri ale mulţimii A.
Codificarea reprezintă operaţia de stabilire a unei corespondenţe
biunivoce între simbolurile siS şi ciC. Totalitatea cuvintelor ci
(i=1..n) formează un cod.
În cazul unui cod pot exista:
• Cuvinte cu sens
• Cuvinte fără sens
Nov 27, 2023
Proprietăţile entropiei informaţionale

P1. H ( p1 , p2 ,..., pn )  0
P 2. H ( p1 , p2 ,..., pn )  0  k  1,2...n a.i. pk  1
1 1 1
P3. H ( p1 , p2 ,..., pn )  H ( , ,..., )
n n n
Proprietăţile entropiei informaţionale (cont.)

P 4. H ( p1 , p2 ,..., pn ,0)  H ( p1 , p2 ,..., pn )


P5. H ( X 1  X 2  ...  X n )  H ( X 1 )  H ( X 2 )  ...  H ( X n )
P 6. H ( X  Y )  H ( X )  H (Y / X ), X , Y
n
unde : H (Y / X )   p ( xk )  H (Y / xk )
k 1
m
H (Y / xk )   p ( yi / xk ) log 2 p ( yi / xk )
i 1
Proprietăţile entropiei informaţionale (cont.)

P 7. H (Y / X )  H (Y ), X , Y
P8. H ( X  Y )  H ( X )  H (Y )
P9. H ( X / Y )  H (Y / X )  H ( X )  H (Y )
Bazele aritmetice ale calculatoarelor

Sistem de numeraţie = totalitatea regulilor de reprezentare a


numerelor cu ajutorul unor simboluri (cifre).
Numărul de simboluri permise s.n. baza (rădăcina) sistemului de
numeraţie

Sisteme de numeraţie
• poziţionale
• nepoziţionale
Sistemul roman
I X C M V L D
1 10 100 1000 5 50 500
Bazele aritmetice ale calculatoarelor

Atunci când un simbol cu o valoare mai mică este poziţionat după un simbol
cu o valoare mai mare, valorile simbolurilor se adună.
Bazele aritmetice ale calculatoarelor

Atunci când un simbol cu o valoare mai mică este poziţionat înainte de un


simbol cu o valoare mai mare, valoarea mai mică se scade din cealaltă.
Reprezentarea într-o bază oarecare a unui
număr întreg

 Reprezentarea unui număr întreg

N  an an 1  a0
N  an  b n  an 1  b n 1    a0  b 0

Este reprezentarea numărului întreg N în baza b. Cifrele


numărului N au următoarea proprietate:
0  ai  b  1, i  0, n

Nov 27, 2023


Reprezentarea într-o bază oarecare a unui
număr real

 Reprezentarea unui număr real R

R  an an 1  a0 a1  a m
R  an  b n  an 1  b n 1    a0  b 0  a1  b 1    a m  b  m

Este reprezentarea numărului real R în baza b. Cifrele numărului


R au următoarea proprietate:
0  ai  b  1, i   m, n
nu există k astfel încât ak  ak 1  ak  2    b  1

Nov 27, 2023


Conversia bazei de numeratie

 Conversia bazei de numeraţie (partea întreagă, partea


fracţionară)
 Conversia rapidă între baze între care există relaţia:

b1  b2p , p 

Nov 27, 2023


Reprezentarea numerelor în virgula fixă

Reprezentarea în virgulă fixă


 cod direct (CD)
 cod invers (CI)
 cod complementar (CC)

Nov 27, 2023


Reprezentarea numerelor în cod direct (CD)

CD n 1
R  an  2 n   i
a 
i  m
2 i

0 , dacă R  0
an  
1, dacă R  0
an  bit de semn

Nov 27, 2023


Reprezentarea numerelor în cod invers (CI)

 n 1

CI 

0  2 n
 
i  m
a i  2 i
, dacă R  0
R  n 1
1  2 n 
 
i  m
a i  2i , dacă R  0

a i  1  ai , i   m, n  1, unde a i sunt cifrele binare ale lui R în


cod direct
Modalitate de calcul :
CI
R  2 n 1  R CD  2  m

Nov 27, 2023


Reprezentarea numerelor în cod complementar (CC)

 n 1

 0  2   ai  2i , dacă R  0
n
CC
 i  m
R  n 1
1  2 n 
 
i  m
a i  2i , dacă R  0
n 1 n 1

a
i  m
i 2 
i
a
i  m
i  2i  2  m , unde a i  a i - 1 şi a i sunt cifrele binare ale

lui R în cod direct

Modalitate de calcul :
CC
R  2 n 1  R CD

Nov 27, 2023


Adunarea/scăderea în virgulă fixă

 Adunarea în CD, CI şi CC (Ex. 93-27 în CI)


 Scăderea în CD, CI şi CC

Nov 27, 2023


Reprezentarea numerelor în format BCD

BCD (Binary Coded Decimal) – zecimal codificat binar


Format:
• împachetat (packed BCD)
• despachetat (unpacked BCD)
În format împachetat se reprezintă 2 cifre zecimale pe un octet (cifra
cmps pe biţii 0-3 şi cifra zecimală cms pe biţii 4-7):
96 = 1 0 0 1 0 1 1 0
7 43 0
În format despachetat se reprezintă o cifră zecimală pe un octet
memorată pe biţii 0-3, iar biţii 4-7 conţin informaţia Fh:
6= 11110110
7 43 0

Nov 27, 2023


Reprezentarea numerelor în format BCD la Intel

Tipul Lungime Precizie Domeniul de valori


(zecimal)

BCD 80 18 (cifre (-1018+1) – (1018-1)


împachetat zecimale)

S x D17 D16 D15 D1 D0

79 78 72 71 0

Nov 27, 2023


Adunarea numerelor în BCD

 Adunarea în BCD – adunare obişnuită în binar, pentru


fiecare grup de câte 4 cifre binare, avându-se în vedere
următoarele cazuri. Dacă a şi b sunt cele două cifre
zecimale codificate în binar, rezultatul c=a+b este:
 Corect, dacă 0000 < c <=1001

 Incorect, şi se adună 0110 astfel:

 1010 <= c <=1111 – nu corespunde unei cifre zecimale


(adunarea lui 0110 va determina transport la rangul
următor)
 0000 <= c < 1001, cu apariţia celei de-a 5-a cifre binare,
1, care reprezintă transport pentru tetrada superioară

Nov 27, 2023


Scăderea numerelor în BCD

 Scăderea în BCD – scădere obişnuită în binar, pentru fiecare


grup de câte 4 cifre binare, avându-se în vedere următoarele
cazuri:
 Dacă a şi b sunt cele două cifre zecimale codificate în binar,
rezultatul c = a - b este:
 corect, dacă c > 0

 Dacă c < 0 atunci se face împrumut de la tetrada

superioară, se face scăderea, apoi se scade valoarea de


corecţie 0110

Nov 27, 2023

S-ar putea să vă placă și