Biljeske 04 - TehniÄki fakultet u Rijeci
Biljeske 04 - TehniÄki fakultet u Rijeci
Biljeske 04 - TehniÄki fakultet u Rijeci
Create successful ePaper yourself
Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.
TEORIJA INFORMACIJE<br />
Željko Jeričević, dr. sc.<br />
Zavod za računarstvo, Tehnički <strong>fakultet</strong> &<br />
Zavod za biologiju i medicinsku genetiku, Medicinski <strong>fakultet</strong><br />
51000 Rijeka, Croatia<br />
Phone: (+385) 51-651 594<br />
E-mail: zeljko.jericevic@riteh.hr<br />
http://www.riteh.uniri.hr/~zeljkoj/Zeljko_Jericevic.html
Information theory<br />
Iz dosadašnjeg gradiva znamo da se informacija prije slanja kroz<br />
kanal treba prirediti. To se postiže pretvorbom informacije u<br />
formu koja ima entropiju blisku maksimalnoj čime se efikasnost<br />
prenosa približava maksimalnoj. Ovo se može postići<br />
kompresijom bez gubitaka informacije (lossless compression),<br />
napr. Huffmanovim kodiranjem.<br />
Druga pretvorba odnosi se na sigurnost prenosa pri čemu se<br />
informacija prevodi u formu gdje je za određeni tip pogrešaka<br />
moguća automatska korekcija (napr. Hamming-ovim<br />
kodiranjem).<br />
10 February 2012 zeljko.jericevic@riteh.hr 2
Information theory history<br />
1950 Richard Wesley Hamming (1915-1998) prvi<br />
specificirao kodiranje koje omogućuje automatsku<br />
korekciju nekih grešaka<br />
10 February 2012 zeljko.jericevic@riteh.hr 3
Information theory<br />
Parity checking<br />
11010110010<br />
Neparni broj grešaka se može ovako detektirati, ali ne i<br />
parni<br />
11110110011<br />
Problemi:<br />
Što ako je greška u parity bit?<br />
Metoda ništa ne govori o lokaciji greške<br />
10 February 2012 zeljko.jericevic@riteh.hr 4
Information theory<br />
Parity checking<br />
Podaci se organiziraju<br />
kao u 2D polju<br />
Na kraju svakog retka je<br />
parity bit za redak, a<br />
zadnji redak sadrži<br />
parity bits za stupce.<br />
Pogreška bi aktivirala<br />
parity bit za red i<br />
stupac. Parity check za<br />
cijelu poruku je u<br />
donjem desnom uglu.<br />
zeljko.jericevic@riteh.hr 5
Information theory<br />
Parity checking<br />
Redundancy R<br />
R =<br />
sveukupni broj bitova<br />
broj bitova u poruci<br />
10 February 2012 zeljko.jericevic@riteh.hr 6
Parity checking<br />
Redundancy R za 2D<br />
polje.<br />
Za koji oblik polja je R<br />
minimalan?<br />
Information theory<br />
R<br />
=<br />
=<br />
sveukupni broj bitova<br />
broj bitova u poruci<br />
mn<br />
( m−1)( n−1)<br />
zeljko.jericevic@riteh.hr 7
Information theory<br />
Hamming-ova ideja<br />
za korekciju jedne pogreške i detekciju dvije pogreške.<br />
Koliko kontrolnih bitova je potrebno za detekciju i<br />
korekciju pogeške?<br />
Podjelimo poruku u subporuke (koje nisu neovisne) i<br />
provedimo kontrolu pariteta za svaku subporuku.<br />
Rezultati kontrole pariteta na subsekvencama daju<br />
takozvani “sindrom”, binarni broj koji daje lokaciju<br />
pogreške. Ako je sindrom 0 (nula) nema pogreške, sve<br />
kontrole pariteta su u redu. Sindrom 00110 znači<br />
pogreška je u 6-tom bitu poruke.
Information theory<br />
Implementacija Hamming-ove ideje:<br />
Ako je n bitova dužina poruke, a m bitova dužina<br />
sindroma onda vrijedi sljedeća nejednakost:<br />
(2 m –1) ≥ (n + m)<br />
Sindrom dužine m može pohraniti (2 m –1) adresa pogreške<br />
(-1 u nejednadžbi je za pohranu vrijednosti 0)<br />
Sljedi:<br />
n ≤ (2 m – m –1)
Information theory<br />
Implementacija Hamming-ove ideje:<br />
Efikasnost 11 = 11/15 = 73.33%<br />
Efikasnost 1013 = 1013/1023 = 99.02%<br />
n m<br />
1 2<br />
2 3<br />
3 3<br />
4 3<br />
5 4<br />
12 5<br />
27 6<br />
58 7<br />
121 8<br />
248 9<br />
503 10<br />
1014 11
Information theory<br />
Implementacija Hamming-ove ideje:<br />
Poruka 11 bitova + 4 kontrolana bita<br />
Pretpostavimo da je krajnja desna<br />
kontrola pariteta 1, znači pogreška je<br />
u jednom od neparnih bitova poruke:<br />
1, 3, 5, 7, 9, 11, 13, 15<br />
1 0001<br />
2 0010<br />
3 0011<br />
4 0100<br />
5 0101<br />
6 0110<br />
7 0111<br />
8 1000<br />
9 1001<br />
10 1010<br />
11 1011<br />
12 1100<br />
13 1101<br />
14 1110<br />
15 1111
Information theory<br />
Implementacija Hamming-ove ideje:<br />
Poruka 11 bitova + 4 kontrolana bita<br />
10111011011 + abcd<br />
Lokacija kontrolnih bitova (a, b, c, d) je proizvoljna ali<br />
kodiranje je jednostavnije s određenim izborima<br />
pozicija (naprimjer 1, 2, 4, 8)<br />
kod a b 1 c 0 1 1 d 1 0 1 1 0 1 1<br />
pozicija<br />
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
Information theory<br />
Implementacija Hamming-ove ideje:<br />
Poruka 11 bitova + 4 kontrolana bita<br />
10111011011 + abcd<br />
a = paritet neparnih pozicija: 1, 3, 5, 7, 9, 11, 13, 15 =5%2=1<br />
b = paritet pozicija: 2, 3, 6, 7, 10, 11, 14, 15 = 6%2 = 0<br />
c = paritet pozicija: 4, 5, 6, 7, 12, 13, 14, 15 = 5%2 = 1<br />
d = paritet pozicija: 8, 9, 10, 11, 12, 13, 14, 15 = 5%2 = 1<br />
Svaki kontrolni bit se pojavljuje samo u jednom subsetu!<br />
kod a b 1 c 0 1 1 d 1 0 1 1 0 1 1<br />
pozicija 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
Information theory<br />
Implementacija Hamming-ove ideje:<br />
izvor 1 0 1 1 0 1 1 1 1 0 1 1 0 1 1<br />
odrediste 1 0 1 1 0 1 0 1 1 0 1 1 0 1 1<br />
Na odredištu:<br />
a = paritet neparnih pozicija: 1, 3, 5, 7, 9, 11, 13, 15 =5%2=1<br />
b = paritet pozicija: 2, 3, 6, 7, 10, 11, 14, 15 = 5%2 = 1<br />
c = paritet pozicija: 4, 5, 6, 7, 12, 13, 14, 15 = 5%2 = 1<br />
d = paritet pozicija: 8, 9, 10, 11, 12, 13, 14, 15 = 6%2 = 0<br />
Sindrom dcba je 0111, pogreška je na poziciji 7<br />
% je znak za modulo
Information theory<br />
Implementacija Hamming-ove ideje:<br />
Poruka i kontrole pariteta se jednako tretiraju<br />
Za detekciju dvije pogreške u poruci dodamo ekstra bit za<br />
kontrolu pariteta cijele poruke<br />
Ako je jedna pogreška u poruci paritet cijele poruke ćebiti<br />
pogrešan, za dvije pogreške ćebititočan ali paritet<br />
subporuka nećebititočan
Information theory<br />
Hamming-ovo kodiranje i memorija računala:<br />
Kod paralelnog procesiranja i velikih problema potrebno<br />
je problem segmentirati – raspodjeliti među procesore i<br />
čvrste diskove, a međurezultate treba s vremena na<br />
vrijeme sihnhronizirati.<br />
Haming-ovo kodiranje se koristi za simultano testiranje<br />
diskova: ako se tokom testiranja utvrdi da dva diska<br />
imaju pogreške na istoj lokaciji, onda ih uklanjamo iz<br />
sustava.
Information theory<br />
Koliko daleko ima smisla ići s korekcijama?<br />
Možemo li konstruirati kod koji korigira 1, 2, 3, ...<br />
pogreške, sve do neke po volji malene vjerojatnosti<br />
pogreške?<br />
Zamislimo da šaljemo poruku duljine M c (poruka duljine<br />
M + kontrolni kod). Shannon je definirao odnos između<br />
M i M c ako je vjerojatnost jedne pogreške jednaka q:<br />
M ⎡ 1 1 ⎤<br />
≤ f ( q ) = 1− q log ( 1 q )<br />
⎢ + − log<br />
2 2 ⎥<br />
M q 1 − q<br />
c<br />
⎣<br />
⎦
Information theory<br />
Koliko daleko ima smisla ićis<br />
korekcijama?<br />
Ako nema ograničenja<br />
(kapacitet kanala!!) na<br />
duljinu M c , vjerojatnost<br />
pogreške se može učiniti po<br />
volji malena.<br />
Shannon-ov teorem govori da<br />
se to može učiniti, ali ne<br />
govori kako!<br />
Tablica gornje granice<br />
efikasnosti kodiranja <br />
q M / M M / M<br />
0.5 0<br />
1<br />
3<br />
0.082 12.2<br />
0.25 0.19 5.3<br />
0.1 0.53 1.9<br />
0.01 0.919 1.09<br />
0.001 0.988 1.012<br />
c<br />
c<br />
∞
Information theory<br />
Prostorna reprezentacija poruke<br />
Prostor poruke je skup poruka<br />
koje želimo prenjeti – tj<br />
diskretni, multidimenzionalni<br />
prostor čije (sve) točke<br />
predstavljaju poruke.<br />
Naprimjer 3-bitni kod ima<br />
sljedeće prihvatljive poruke:<br />
000, 001, 010, 011, 100, 101, 110,<br />
111
Information theory<br />
Prostorna reprezentacija<br />
poruke<br />
U ovom slučaju prostor<br />
poruke je gusto pakiran:<br />
promjenimo li jedan bit,<br />
dobivamo drugu<br />
prihvatljivu poruku.<br />
m-bitna poruka daje 2 m<br />
dimenzionalni prostor
Information theory<br />
Prostorna reprezentacija poruke<br />
Pogreška u poruci pomiče nasu<br />
neku drugu točku prostora.<br />
Možemo pretpostaviti da što je<br />
više pogrešaka, sve smo “dalje”<br />
u prostoru od izvorne poruke.<br />
Hamming-ova distanca je<br />
udaljenost dvaju točaka<br />
prostora, a predstavlja broj<br />
bitova koji treba promijeniti da<br />
se dođe od jedne do druge točke.
Information theory<br />
Prostorna reprezentacija<br />
poruke<br />
Hamming-ova distanca je od<br />
000 do 111 je 3, od 000 do<br />
010 je 1<br />
Jedna pogreška (e=1) u<br />
poruci odgovara<br />
Hamming-ovoj distanci od<br />
d=1, dvije (e=2) pogreške<br />
distanci od d=2, itd
Prostorna reprezentacija<br />
poruke<br />
Kodirati poruku M unutar<br />
većeporukeM c tako da e<br />
pogrešaka mogu biti<br />
jednoznačno korigirane.<br />
To znači da su prihvatljive<br />
poruke u prostoru M c<br />
međusobno udaljene za ne<br />
manje od:<br />
d = 2e + 1<br />
Information theory
Information theory<br />
Prostorna reprezentacija poruke<br />
Nema prekrivanja među sferama u prostoru M c znači da<br />
možemo korigirati e pogrešaka i detektirati 2e<br />
pogrešaka.
Information theory<br />
Primjer detekcije pogreške – kontrolni bit je desno<br />
M<br />
M c<br />
Poruka:<br />
000, 011, 101, 110<br />
Pogreške:<br />
001, 010, 100, 111
Hvala na pažnji<br />
Željko Jeričević, dr. sc.<br />
Zavod za računarstvo, Tehnički <strong>fakultet</strong> &<br />
Zavod za biologiju i medicinsku genetiku, Medicinski <strong>fakultet</strong><br />
51000 Rijeka, Croatia<br />
Phone: (+385) 51-651 594<br />
E-mail: zeljko.jericevic@riteh.hr<br />
http://www.riteh.uniri.hr/~zeljkoj/Zeljko_Jericevic.html<br />
10 February 2012 zeljko.jericevic@riteh.hr 26