9. poglavje Teorija odiranja Uvod Enostavnejše ode za odpravljanje napa Glavni mejnii teorije odiranja Singletonova meja Linearne ode Ododiranje linearnih od Slovensi uvod: Sandi Klavžar, O teoriji odiranja, linearnih odah in sliah z Marsa, OMF 45 (998), 97-6. in pa R. Jamini, Elementi teorije informacije,... Na začetu so bili računalniši programi dovolj enostavni, tao da so tehnične napae (ponavadi je odpovedala eletrona) hitro postale očitne. Z razvojem strojne opreme so postajali programi vse obsežnejši in bolj zapleteni, s tem pa je postalo upanje, da bi laho hitro opazili majhne napae, i spremenijo delovanje naprave, zanemarljivo in zato tudi resna srb. Možnost, da se nam izmuzne ašna napaa, je vse večja tudi zato, er so eletronsa vezja iz dneva v dan manjša, računalnii pa vse hitrejši. Tudi če je možnost napae ena sama milijardina (npr. industrijsi standard za trde dise je ena napaa na milijard bitov), se bo 2GHz računalni, zmotil približno 2 /s. Glede na oličino podatov, i jih obdelujemo dandanes, je to pravšnji recept za vsaodnevne nevšečnosti. V času informacijse tehnologije (zgoščene, GSM telefoni, bančne artice, inte se vsi dobro zavedamo pomena hitrega in nata prenosa, obdelovanja in hranjenja informacij. Še tao popolne naprave delajo napa pa laho hitro spremenijo sicer izredno programso in strojno opremo v ničvredno nevarno orodje. Dolgo časa so se ljudje trudili izdelati računa pomnilnie, i bodo naredili oziroma vseboval da malo napa (cene izdelov pa so se višale). 79 7 7 Potem pa so se domislili, da bi raje računalnie same naučili isati in odpravljati napae. Razisovalci so našli odgovor v odah za odpravljanje napa. Koda je supina simbolov, i predstavlja informacijo. Kode obstajajo že tisočletja. To so npr. hieroglifi, grša abeceda, rimse števile ali pa genetsa oda za sestavljanje ribonuleinsih islin. Nastale so za različne potrebe: za zapis govora ali glasbe, Morsejeva abeceda za prenos informacij, za shranjevanje podatov itd. Kode za popravljanje napa (angl. error correcting codes) nam omogočajo, da popravljamo naljučne napae, i se pojavijo ob motnjah pri prenosu oziroma hranjenju (binarnih) podatov. digitalni onv. 2 ode za 3 odpravo napa modul. odiranje prase motnje 3 modul. deodir. 2 ode za odpravo analogni napa onv. Claude Shannon je postavil teoretične osnove teorije informacij in zanesljivega prenosa digitalnih podatov malu po oncu druge svetovne vojne. Za povečanje zanesljivosti prenosa in obdelave informacij smo dolgo časa uporabljali ontrolne bite (angl. parity-chec bits), ot npr. pri števili bančnega čea, i pa so služili le za odrivanje napa. Richard Hamming je leta 948 izumil metodo za popravljanje ene napae in odrivanja dveh napa. Ko je vnašal v računalni programe s pomočjo lunjača artic in mu je nato računalni večrat zavrnil paet artic zaradi napa, se je zamislil: Če zna računalni sam odriti napao, zaaj ne zna najti tudi njenega mesta in jo odpraviti. Enostavnejše ode za odpravljanje na Bistvo vseh metod za odpravljanja na dodajanje ontrolnih bitov. Najenostavnejša odpravljanje napa je zasnovana na ponavlja Na primer, če pričaujemo, da pri prenosu prišlo do več ot ene same napae, potem je da ponovimo vsa bit 3 in pri sprejemu upo večinso pravilo Primer: zaodiramo v prejmemo, popravimo sporoči in ga ončno še ododiramo v 73 74 75
5 2 3 7 4 6 5 2 3 7 4 6 V splošnem laho odpravimo n napa z (2n + )-ratnim ponavljanjem in uporabo večinsega pravila. Toda ta metoda je preveč potratna. V času, o si želimo hitrega prenosa čim večje oličine podatov, je to popolnoma nesprejemljivo. Namesto tega si želimo dodati manjše število ontrolnih bitov, i bodo ravno tao ali pa še bolj učinoviti. Oglejmo si najpreprostejši primer Hammingove ode za odpravljanje napa: Zelo rato simfonijo spravimo zaporedoma na rjavo (), zeleno (2), oranžno (3) in vijoličasto (4) polje, preostala polja pa dopolnimo tao, da bo v vsaem rogu vsota števil soda. Dobimo, jer zadnja tri mesta predstavljajo zaporedoma rumeno (5), rdeče (6) in modro (7) polje. Naštejmo vse odne besede, i jih dobimo na ta način:,,,,,,,,,,,,,,,. Recimo, da je prišlo do ene same napae in da smo prejeli vetor. Potem bo prejemni laho ugotovil, da je napaa v rumenem in rdečem rogu, ne pa v modrem, ar pomeni, da je potrebno popraviti oranžno (3) polje. Ni se težo prepričati, da je možno način odpraviti napao na poljubnem bit ontrolnem), pri pogoju, da je bila to edina na S Hammingovo odo nam je uspelo zmanjšat ontrolnih bitov z 8 na 3, tj. dobili smo informacijso stopnjo 4/7 namesto 4/2= Zgornjo Hammingovo odo laho seveda posp Običajno to storimo z neaj linearne algebre (m 77 78 79 Hammingova oda odrije, da je prišlo do napae pri prenosu tudi adar je prišlo do dveh napa, saj ne morejo vsi trije rogi vsebovati obeh polj na aterih je prišlo do napae (če pa na dveh mestih zaznamo samo izbris, potem seveda znamo ti mesti tudi popraviti - DN). Če bi test samo podvojili, bi dobili odo z informacijso stopnjo /2, i pa laho odriva samo samostojne napae, ne more pa jih odpravljati. V grobem laho rečemo, da je cilj teorije odiranja, najti smiselen ompromis med metodo s ontrolnimi biti in metodo s ponavljanji. Hammingova oda predstavlja prvi ora v to smer. Glavni mejnii teorije odiranja 947-48: začeti teorije informacij: znamenita izrea o Source Coding in pa Channel Capacity (C. Shannon) 949-5: odritje prvih od za odpravljanje napa (M. Golay, R. Hamming). 959-6: odritje BCH-od (R. Bose, D. Ray-Chaudhuri, A. Hochquenghem). 967: Viterby algoritm za ododiranje onvolucijsih od. 993: razvoj turbo od (C. Berrou, A. Glavieux, P. Titimajshima). Teorija odiranja predstavlja varnostno mrežo, svojevrstno matematično zavarovanje pred muhastim materialnim svetom, v aterem živimo. Tehnologija od za popravljanje napa je danes tao razširjena ot zgoščene (CD). Omogoča nam, da poslušamo priljubljeni Mozartov ali Madonnin CD brez aršnih oli motenj, četudi nam ga mača prav pošteno sprasa. Enao tehnologijo uporabljajo za omuniacijo vesoljse ladje in sonde, i razisujejo naše oso Kode za odpravljanje napa omogočajo, da pr na Zemljo, ljub eletromagnetnim motnjam, ristalno jasni posneti oddaljenih planetov pri tem pa za prenos porabijo manj energije ot hladilniova žar Gre torej za šepetanje, i mora prepotovati več milijard m. 72 722 723
Reed-Solomonove ode doživljajo vrhunec s svojo uporabo na področju hranjenja podatov (CD, DVD) ter prenašanja podatov v našem osončju (te dni bo sonda Cassini vstopila v Saturnovo orbito in od tam pošiljala slie na Zemljo). Koda je podmnožica neega prostora z razdaljo, njeni elementi pa so odne besede. Razdalja ode je najmanjša razdalja med različnimi odnimi besedami. Običajno razbijemo dano sporočilo na bloe fisne dolžine (n), i jih nato povežemo s odnimi besedami z neo bijetivno orespondenco. V tem primeru rečemo, da gre za bločne ode dolžine n. Najpogosteje si za prostor izberemo množico vseh n-teric s simboli iz nee ončne množice F, imenovane tudi abeceda: F n = {(a, a,..., a n ) a i F, i =,,..., n }. Razdalja med dvema n-tericama je število mest, na aterih se razliujeta. Pri odi nas najbolj zanima, olio napa laho odpravimo, glede na to olio ontrolnih bitov smo dodali osnovni informaciji. (Singletonova meja) Naj bo C bločna oda dolžine n nad abecedo s q elementi in d njena razdalja. Potem velja C q n d+. Proof. Naj bo C oda, i jo onstruiramo iz ode C tao, da izbrišemo supino ateriholi d oordinat v vseh odnih besedah. Ker je razdalja ode C enaa d, velja C = C. Dolžina ode C pa je n d +, zato ima največ q n d+ odnih besed, ar smo želeli poazati. Če so sporočila vse možne -terice nad abeced s q elementi ter obstaja bijecija med sporočil odnimi besedami, je C = q in pravimo, da za (n, )-odo. V tem primeru se Singletonova meja prevede v zgornjo mejo za razdaljo ode: d n +. 725 726 727 Naj bo -terica x informacija, i jo Anita zaodira v n-terico y ter pošlje po neem analu. Bojan prejme n-terico r, i ni nujno enaa y, in jo ododira po principu najbližjega soseda, tj. najprej poišče odno besedo y, i je najbližja n-terici r in nato izračuna -terico x, i se zaodira v y, v upanju, da je y = y in x = x. V tem primeru ima oda, i odpravi t napa, razdaljo d 2t+, saj morajo biti rogle s središčem v odnih besedah in radijem t disjuntne. Če torej pride pri prenosu do največ (d )/2 napa, tj. d 2t +, se nam po principu najbližjega soseda v resnicu posreči popraviti vse napae. Zato iz neenaosti () sledi, da ima taa oda vsaj 2t ontrolnih bitov, tj. n t. (2) 2 Trditev: (n, )-oda odpravi po principu najbližjega soseda večjemu (n )/2 napa. Naj bosta n in pozitivni števili, n. linearna (n, )-oda C je -razsežni vetorsi podprostor v F n. Za n razsežno matrio pravimo, da generira linearno codo C, če so njene vrstice baza za C. Za vetorja x, y F n je Hammingova razdalja, število ordinat, v aterih se x in y razliujeta. Označimo jo z d(x, y), Razdalja linearne (n, )-ode C je d(c) = min{d(x, y) x, y C, x y}. Oznaa: (n,, d)-oda. Ododiranje v prasi Če bi Bojan primerjal dobljeni vetor r z vsa besedo, bi morali opraviti esponentno število ( C = 2 ) glede na (to ni polinomsi algorit Nadzorna matria linearne (n,, d)-ode C (n ) n-dim. binarna matria H, i gener ortogonalni omplementa podprostora C. Le-tega označimo s C in ga imenujemo dualna oda ode C. 729 73 73
Za dani vetor r F n naj bo (n )-terica Hr T njegov sindrom. Izre: Naj bo C linearna (n, )-oda, i jo generira matria G, njena nadzorna matria pa H. Potem za x F n velja x C, tj. x je odna beseda Hx T =. Če je x C, e F n in r = x + e, potem velja Hr T = He T (tj. sindrom je odvisen samo od napa, ne pa tudi odne besede). Teža vetorja x (F) n, oznaa w(x), je število njegovih neničelnih oordinat, teža (n, )-ode C pa je w(c) = min{w(x) x C\{}}. Lema: Če je d razdalja (n, )-ode C, potem je d = w(c). Izre: Naj bo C linearna (n, )-oda ter H njena nadzorna matria. Potem ima oda C razdaljo vsaj s natano tedaj, o je poljubnih s stolpcev matrie H linearno neodvisnih. Sindromso ododiranje Izračunaj s = Hr T. Če je s ničelni vetor, ododiraj r ot r. Sicer pa generiraj vse vetorje napa s težo in njihove sindrome. Če je za aterega od teh vetorjev He T = s, potem ododiraj r ot r e. V nasprotnem primeru pa generiraj vse vetorje napa s težo 2,..., (d )/2 in preverjaj, ali je He T = s,... Po tem postopu ododiramo dobljeni vetor v ( ) ( ) n n + + + (d )/2 oraih ali pa ugotovimo, da je prišlo do (d )/2 napa. Medtem o ta metoda deluje za vsao linearn pa jo laho za naatere ode bistveno pospešim V splošnem pa je odločitvena verzija tega pr NP-poln problem (adar število napa ni om (d )/2 ). 733 734 735 Poseben primer linearnih od, za atere obstaja hiter algoritem za ododiranje, so Goppa ode. So lahe za generiranje in imajo velio število neevivalentnih od z istimi parametri. n = 2 m, d = 2t + in = n mt. Za praso je McEliece predlagal m = in t = 5, i nam da linearno (24, 524, )-odo. Čistopis je binarna 524-terica, tajnopis pa binarna 24-terica. Javni ljuč je (524 24)-dim. binarna matria. Opis riptosistema McEliece Naj bo G matria, i generira (n,, d) Goppa odo C. Naj bo S ( )-dim. binarna matria, i je obrnljiva v Z 2, P (n n)-dim. permutacijsa matria in naj bo G = SGP, P = (Z 2 ), C = (Z 2 ) n, K = {(G, S, P, G )}. Matria G je javna, matrii S in P pa tajni (privatni). Za K = (G, S, P, G ) naj bo e K (x, e) = xg + e, jer je e (Z 2 ) n naljučni binarni vetor s težo t. Bojan odšifrira tajnopis y (Z 2 ) n na naslednji način:. izračuna y = yp, 2. ododira y tao, da najde e = y x, jer je x C, 3. izračuna ta x (Z 2 ), da je x G = x, 4. izračuna x = x S. Za abecedo si izberimo elemente ončnega ob elementi, jer je q potenca neega praštevila, F = GF(q). Če je q praštevilo, je to ar praob Potem je F n z običajnim seštevanjem in mno po omponentah vetorsi prostor nad F. Čeprav ne bi bilo nujno, bomo obravnavo poen in v nadaljevanju privzeli, da je dolžina odni enaa ar n = q. Multipliativna grupa ončnega obsega je F ci To pomeni, da obstaja v F primitiven eleme ta element α F, da je α n = in α i i {,..., n }. 737 738 739
Reed-Salomonove ode Po odritju Hammingove ode je sledilo obdobje številnih posusov s odami za odpravljanje napa. Ko je bila teorija od stara let sta Irving Reed in Gustave Salomon (tarat zaposlena v Lincolnovem laboratoriju na MIT) zadela v polno. Namesto ničel in enic sta uporabila supine bitov, i jim tudi v računalništvu pravimo ar besede. Ta lastnost je pripomogla odpravljanju grozdnih napa, tj. napa, pri aterih se povari več zaporednih bitov. Npr. šest zaporednih napa laho povari največ dva bajta. Reed-Salomonova oda (na rato R-S oda) za odpravljanje dveh napa torej predstavlja že precej dobro zaščito. Današnje implementacije R-S od v CD tehnologiji laho odpravijo grozdne napae dolžine do celo 4 bitov. Reed in Solomon sta vpeljala RS(n, )-ode s pomočjo polinomov. Za sporočilo m = (m, m,..., m ) F s prirejenim polinomom m(x) = m + m x + + m x izračunamo vrednosti c i = m(α i ), i {,..., n } in iz njih sestavimo odno besedo: c = (c, c,..., c n ). V tem primeru nas dobro znana formula za poli interpolacijo prepriča, da ni preveč pričaovat ododirnega algoritema za RS-ode, i bi morebitne nepravilnosti in jih odpravil. Bistveno vprašanje pa je, ali je ta algoritem uč Prvi postope za ododiranje sta predlagal in Solomon. Temelji na reševanju veliega sistemov enačb. Da bo ododiranje možno, mora seveda veljati < n. 74 742 743 Ko sprejmemo odno besedo c = (c, c,..., c n ), laho sporočilo m = (m, m,..., m ) izračunamo iz naslednjega (predoločenega) sistema enačb c = m +m +m 2 + +m c = m +m α +m 2 α 2 + +m α c 2 = m +m α 2. +m 2 α 4 + +m α 2( ) c n = m +m α n +m 2 α (n ) 2 + +m α (n )( ). (3) Poglejmo množico poljubnih enačb, i ustrezajo - elementni podmnožici {a, a 2,..., a } {, α,..., α n }. Njihovi oeficienti tvorijo Vandermondovo matrio z determinanto a a 2... a a 2 a 2 2... a2.. = (a j a i ). a a 2... a i<j Le-ta je v obsegu F različna od, saj je a i a j za vse i, j {,..., }, za atere velja i j. Zato ima sistem enolično rešitev v F. Če se pri prenosu ne bi pojavila napaa, bi laho z izbiro poljubne -elementne podmnožice obrnljivih elementov v F dobili sistem enačb, iz aterega bi laho določili celotno sporočilo (m,..., m ). Tao -elementno podmnožico laho izberemo na ( ) n načinov. Če pa pri prenosu nastanejo napae, nam laho različni sistemi enačb dajo različne rešitve. Naslednja lema nam zagotovlja, da se prava rešitev pojavi največrat, če le število napa ni prevelio. LEMMA 2. Če pride pri prenosu ali bran odne besede (c,..., c n ) RS(n, )-ode d napa, se pri reševanju podsistema -tih en iz (3) pojavi napačna rešitev (-terica) naj ( ) s + -rat. Doaz: Enačbe sistema (3) ustrezajo -ra hiperravninam. Zaradi linearne neodvisnos poljubnih vetorjev, i določajo te hiperravn se poljubnih hiperravnin sea v eni toči. V napačni toči pa se laho sea največ s + hiperravnin, saj je med njimi laho največ i se pri prenosu niso spremenile ( nesprem enačb nam namreč že da pravo rešitev) in največ s taih, i so se spremenile. 745 746 747
IZREK 3. RS(n, )-oda je linearna (n, )-oda. Doaz: Naj bosta c in c poljubni odni besedi RS-ode ter m(x) in m (x) polinoma sporočila, aterima ustrezata ti dve odni besedi. Potem za λ, λ F in i {,,..., n } velja (λc + λ c ) i = λm(α i ) + λ m (α i ) = p(α i ), jer je p(x) = λm(x) + λ m (x). Od tod sledi, da je λc + λ c odna beseda, i ustreza sporočilu λm + λ m in je RS-oda linearna. Kodne besede a i := (, α i, α 2i,..., α (n )i ) s prirejenimi polinomi x i, i {,,..., } so linearno neodvisne, saj jih laho zložimo v Vandermondovo matrio, atere determinanta je različna od nič, er so števila, α, α 2,..., α paroma različna. Potrebno je le še preveriti, da je poljubna odna beseda c, i ustreza neemu polinomu sporočila m(x) = m ix i, linearna ombinacija le-teh: c = ( ) m i (α ) i, m i (α ) i,..., m i (α n ) i ( = m i (α ) i, (α ) i,..., (α n ) i) = m i a i. Torej je RS-oda res -razsežna. Sedaj pa se prepričajmo, da za RS(n, )-ode v Singletonovi oceni velja enaost, tj. za dani naravni števili n in RS(n, )-ode odpravijo največje možno število napa. IZREK 4. RS(n, )-oda odpravi (n )/2 napa, njena razdalja pa je n +. Doaz: Privzemimo, da je pri prenosu RS-odne besede prišlo do s napa. Po Lemi 2 dobimo pri reševanju vseh možnih podsistemov -tih enačb vsao napačno rešitev ( ) ( ) s + n s največ -rat, pravo pa -rat. Slednje število je večje natano tedaj, o je n s > s + oziroma s < (n + )/2. Ker je s celo število, laho RS-oda na ta način poljubnih (n )/2 napa. Torej je njena razdalja vsaj n +. ] Iz izrea 3 sledi, da ima RS-oda q elementov Zaradi Singletonove meje () oziroma (2) pa je r enaa n +. Seveda je ta način za ododiranje prepočasen, saj zahteva reševanje ( n ) sistemov enačb veliosti, ar je esponentna časovna zahtevnost glede n 749 75 75