Nagy Gábor compalg.inf.elte.hu/ nagy

Hasonló dokumentumok
Diszkrét matematika 2.C szakirány

Diszkrét matematika 2.C szakirány

Diszkrét matematika 2.

Diszkrét matematika 2.C szakirány

Nagy Gábor compalg.inf.elte.hu/ nagy

Nagy Gábor compalg.inf.elte.hu/ nagy

Nagy Gábor compalg.inf.elte.hu/ nagy

Diszkrét matematika 2.C szakirány

Hibajavító kódok május 31. Hibajavító kódok 1. 1

Diszkrét matematika 2. estis képzés

Alapfogalmak a Diszkrét matematika II. tárgyból

Diszkrét matematika 2. estis képzés

Diszkrét matematika 2.C szakirány

A továbbiakban Y = {0, 1}, azaz minden szóhoz egy bináris sorozatot rendelünk

Diszkrét matematika 1. estis képzés

Diszkrét matematika 1. estis képzés

Nagy Gábor compalg.inf.elte.hu/ nagy

Diszkrét matematika 2. estis képzés

Diszkrét matematika 2. estis képzés

Diszkrét matematika 2. estis képzés

Diszkrét matematika 2.C szakirány

Diszkrét matematika 2. estis képzés

Diszkrét matematika 2.C szakirány

Diszkrét matematika alapfogalmak

Diszkrét matematika 2.C szakirány

A kódok típusai Kódolás: adatok megváltoztatása. Dekódolás: a megváltoztatott adatból az eredeti visszanyerése.

Nagy Gábor compalg.inf.elte.hu/ nagy

Diszkrét matematika 2 (C) vizsgaanyag, 2012 tavasz

Diszkrét matematika 2.C szakirány

Nagy Gábor compalg.inf.elte.hu/ nagy ősz

Nagy Gábor compalg.inf.elte.hu/ nagy

1. Gráfok alapfogalmai

Nagy Gábor compalg.inf.elte.hu/ nagy

Hibajavító kódolás (előadásvázlat, november 14.) Maróti Miklós

Diszkrét matematika I.

Diszkrét matematika 2. estis képzés

Nagy Gábor compalg.inf.elte.hu/ nagy ősz

Nagy Gábor compalg.inf.elte.hu/ nagy ősz

Nagy Gábor compalg.inf.elte.hu/ nagy

Diszkrét matematika 1.

Diszkrét matematika 1. estis képzés

Nagy Gábor compalg.inf.elte.hu/ nagy ősz

Nagy Gábor compalg.inf.elte.hu/ nagy ősz

13. Egy x és egy y hosszúságú sorozat konvolúciójának hossza a. x-y-1 b. x-y c. x+y d. x+y+1 e. egyik sem

Kódoláselmélet. (Humann kód, hibajavító kódok, véges testek konstrukciója. Reed-Solomon kód és dekódolása.)

Nagy Gábor compalg.inf.elte.hu/ nagy

KÓDOLÁSTECHNIKA PZH december 18.

Az állítást nem bizonyítjuk, de a létezést a Paley-féle konstrukció mutatja: legyen H a

Diszkrét matematika II. feladatok

Nagy Gábor compalg.inf.elte.hu/ nagy

Nagy Gábor compalg.inf.elte.hu/ nagy

Nagy Gábor compalg.inf.elte.hu/ nagy ősz

Diszkrét matematika 2.

Diszkrét matematika gyakorlat 1. ZH október 10. α csoport

Nagy Gábor compalg.inf.elte.hu/ nagy ősz

Lineáris kódok. u esetén u oszlopvektor, u T ( n, k ) május 31. Hibajavító kódok 2. 1

Nagy Gábor compalg.inf.elte.hu/ nagy ősz

Nagy Gábor compalg.inf.elte.hu/ nagy ősz

Bevezetés az algebrába 2

Hibadetektáló és javító kódolások

Nagy Gábor compalg.inf.elte.hu/ nagy ősz

Diszkrét matematika 1.

Bevezetés az algebrába 2 Lineáris algebra alkalmazásai

Algoritmuselmélet 7. előadás

Hibajavítás, -jelzés. Informatikai rendszerek alapjai. Horváth Árpád november 24.

Nagy Gábor compalg.inf.elte.hu/ nagy ősz

Hamming-kód. Definíció. Az 1-hibajavító, perfekt lineáris kódot Hamming-kódnak nevezzük. F 2 fölötti vektorokkal foglalkozunk.

Nagy Gábor compalg.inf.elte.hu/ nagy ősz

Algoritmuselmélet 6. előadás

Miller-Rabin prímteszt

Nagy Gábor compalg.inf.elte.hu/ nagy ősz

Kódelméleti és kriptográai alkalmazások

Nagy Gábor compalg.inf.elte.hu/ nagy ősz

Diszkrét matematika II. feladatok

1. tétel - Gráfok alapfogalmai

Nagy Gábor compalg.inf.elte.hu/ nagy ősz

FELADATOK A BEVEZETŽ FEJEZETEK A MATEMATIKÁBA TÁRGY III. FÉLÉVÉHEZ. ÖSSZEÁLLÍTOTTA: LÁNG CSABÁNÉ ELTE IK Budapest

Aleksziev Rita Antónia Matematika BSc Alkalmazott matematikus szakirány. Golay-kódok

3. gyakorlat. Kettes számrendszer: {0, 1} Tízes számrendszer: {0, 1, 2,..., 9} 16-os (hexadecimális számrendszer): {0, 1, 2,..., 9, A, B, C, D, E, F}

Fraktálok. Hausdorff távolság. Czirbusz Sándor ELTE IK, Komputeralgebra Tanszék március 14.

Diszkrét matematika I.

Lineáris kódok. sorvektor. W q az n dimenziós s altere. 3. tétel. t tel. Legyen K [n,k,d] kód k d (k 1). Ekkor d(k)=w(k)

KOVÁCS BÉLA, MATEMATIKA I.

Diszkrét matematika 1. estis képzés. Komputeralgebra Tanszék ősz

Nagy Gábor compalg.inf.elte.hu/ nagy ősz

Mohó algoritmusok. Példa:

Feladatok, amelyek gráfokkal oldhatók meg 1) A königsbergi hidak problémája (Euler-féle probléma) a

Diszkrét matematika 2.C szakirány

Diszkrét matematika I.

Számítógépes Hálózatok

Diszkrét matematika 2.

Összeállította: dr. Leitold Adrien egyetemi docens

FEGYVERNEKI SÁNDOR, Valószínűség-sZÁMÍTÁs És MATEMATIKAI

KOVÁCS BÉLA, MATEMATIKA I.

Informatikai Rendszerek Alapjai

Diszkrét matematika 1. középszint

1. Generátorrendszer. Házi feladat (fizikából tudjuk) Ha v és w nem párhuzamos síkvektorok, akkor generátorrendszert alkotnak a sík vektorainak

Shannon és Huffman kód konstrukció tetszőleges. véges test felett

Vektorterek. =a gyakorlatokon megoldásra ajánlott

H=0 H=1. Legyen m pozitív egészre {a 1, a 2,, a m } különböző üzenetek halmaza. Ha az a i üzenetet k i -szer fordul elő az adásban,

Átírás:

Diszkrét matematika 3. estis képzés 2018. ősz 1. Diszkrét matematika 3. estis képzés 11. előadás Nagy Gábor nagygabr@gmail.com nagy@compalg.inf.elte.hu compalg.inf.elte.hu/ nagy Komputeralgebra Tanszék 2018. ősz

Kódolás Diszkrét matematika 3. estis képzés 2018. ősz 2. Betűnkénti kódolás Kódfa A betűnkénti kódolás szemléltethető egy címkézett irányított fával. Legyen ϕ : A B egy betűnkénti kódolás, és tekintsük rng(ϕ) prefixeinek halmazát. Ez a halmaz részbenrendezett a,,prefixe relációra. Vegyük ennek a Hasse-diagramját. Így egy irányított fát kapunk, aminek a gyökere az üres szó, és minden szó a hosszának megfelelő szinten van. A fa éleit címkézzük úgy B elemeivel, hogy ha β = αb valamely b B-re, akkor az α kezdőpontú és β végpontú él címkéje legyen b. A kódfa csúcsait is megcímkézhetjük: az a A kódjának megfelelő csúcs címkéje legyen a A; azon csúcs címkéje, amely nincsen rng(ϕ)-ben, legyen,,üres. Megjegyzés Az előbbi konstrukció meg is fordítható. Tekintsünk egy véges, élcímkézett irányított fát, ahol az élcímkék halmaza B, az adott kezdőpontú élek mind különböző címkéjűek, továbbá az A véges ábécének a csúcsokra való leképezését, amelynél minden levél előáll képként. Az a A betű kódja legyen az a szó, amelyet úgy kapunk, hogy a gyökértől az a-nak megfelelő csúcsig haladó irányított út mentén összeolvassuk az élek címkéit.

Kódolás Diszkrét matematika 3. estis képzés 2018. ősz 3. Kódfa Példa 0 1 2 0 1 2 f 0 1 2 a h c j 0 1 2 i 0 1 b d g e A Huffman-kódos példában szereplő kódhoz tartozó kódfa. ϕ(a) =00, ϕ(b) =211, ϕ(c) =02, ϕ(d) =212, ϕ(e) =2101, ϕ(f ) =1, ϕ(g) =2100, ϕ(h) =01, ϕ(i) =22, ϕ(j) =20. A kódszavak prefixeinek halmaza: {λ, 1, 00, 0, 01, 02, 20, 2, 22, 211, 21, 212, 2100, 210, 2101}

Kódolás Diszkrét matematika 3. estis képzés 2018. ősz 4. Kódfa Példa 0 1 0 1 2 0 1 2 f a h c 0 2 1 0 j i 0 1 2 0 b d g 0 e A Shannon-kódos példában szereplő kódhoz tartozó kódfa. ϕ(a) =01, ϕ(b) =1120, ϕ(c) =10, ϕ(d) =1121, ϕ(e) =12000, ϕ(f ) =00, ϕ(g) =1122, ϕ(h) =02, ϕ(i) =111, ϕ(j) =110. A kódszavak prefixeinek halmaza: {01, 0, λ, 1120, 112, 11, 1, 10, 1121, 12000, 1200, 120, 12, 00, 1122, 02, 111, 110}

Kódolás Diszkrét matematika 3. estis képzés 2018. ősz 5. Példa (ISBN (International Standard Book Number) kódolása) Legyen d 1, d 2,..., d n decimális számjegyek egy sorozata (n 10). Egészítsük ki a sorozatot egy n + 1-edik számjeggyel, amelynek értéke d n+1 = n j d j mod 11, j=1 ha az nem 10, különben d n+1 legyen X. Ha valamelyik számjegyet eĺırjuk, akkor az összefüggés nem teljesülhet: d n+1 eĺırása esetén ez nyilvánvaló, j n-re d j helyett d j -t írva pedig az összeg j(d j d j )-vel nőtt, ami nem lehet 11-gyel osztható (Miért?). Azt is észrevesszük, ha j < n esetén d j -t és d j+1 -et felcseréljük: az összeg jd j+1 + (j + 1)d j jd j (j + 1)d j+1 = d j d j+1 -gyel nő, ami csak akkor lehet 11-gyel osztható, ha d j = d j+1. Megjegyzés 2007 óta 13 jegyű. A személyi számnál is használják.

Kódolás Diszkrét matematika 3. estis képzés 2018. ősz 6. Példa (Paritásbites kód) Egy n hosszú 0-1 sorozatot egészítsünk ki egy n + 1-edik bittel, ami legyen 1, ha a sorozatban páratlan sok 1-es van, különben pedig legyen 0. Ha egy bit megváltozik, akkor észleljük a hibát. Példa (Kétdimenziós paritásellenőrzés) b 0,0 b 0,j b 0,n 1 b 0,n.......... b i,0 b i,j b i,n 1 b i,n.......... b m 1,0 b m 1,j b m 1,n 1 b m 1,n b m,0 b m,j b m,n 1 b m,n Oszlopok és sorok végén paritásbit. Ha megváltozik egy bit, akkor a sor és az oszlop végén jelez az ellenőrző bit, ez alapján tudjuk javítani a hibát. Ha két bit változik meg, akkor észleljük a hibát, de nem tudjuk javítani.

Kódolás Diszkrét matematika 3. estis képzés 2018. ősz 7. Definíció Egy kód t-hibajelző, ha minden olyan esetben jelez, ha az elküldött és megkapott szó legfeljebb t helyen tér el. Egy kód pontosan t-hibajelző, ha t-hibajelző, de van olyan t + 1-hiba, amit nem jelez. Példa ISBN - 1-hibajelző paritásbites kód - 1-hibajelző kétdimenziós paritásellenőrzés - 2-hibajelző Hiba javításának módjai ARQ (Automatic Retransmission Request) - újraküldés, FEC (Forward Error Correction) - javítható, pl.: kétdimenziós paritásell.

Kódolás Diszkrét matematika 3. estis képzés 2018. ősz 8. Definíció Legyen A véges ábécé, továbbá u, v A n. Ekkor u és v Hamming-távolsága alatt az azonos pozícióban lévő különböző betűk számát értjük: d(u, v) = {i : 1 i n u i v i }. Példa 0 1 1 1 0 1 0 1 0 1 = d(01110,10101)=4 A L M A A N N A = = d(alma,anna)=2

Kódolás Diszkrét matematika 3. estis képzés 2018. ősz 9. Álĺıtás A Hamming-távolság rendelkezik a távolság szokásos tulajdonságaival, vagyis tetszőleges u, v, w-re 1) d(u, v) 0; 2) d(u, v) = 0 u = v; 3) d(u, v) = d(v, u) (szimmetria); 4) d(u, v) d(u, w) + d(w, v) (háromszög-egyenlőtlenség). Bizonyítás 1), 2) és 3) nyilvánvaló. 4) Ha u és v eltér valamelyik pozicióban, akkor ott u és w, illetve w és v közül legalább az egyik pár különbözik.

Kódolás Diszkrét matematika 3. estis képzés 2018. ősz 10. Definíció A K kód távolsága (d(k)) a különböző kódszópárok távolságainak a minimuma. Példa (*) (0,0) (0,0,0,0,0) (0,1) (0,1,1,1,0) (1,0) (1,0,1,0,1) (1,1) (1,1,0,1,1) A kód távolsága 3. 3 4 3 3 3 4 Felmerül a kérdés, hogy vajon mi lehetett a kódszó, ha a (0,1,0,0,0) szót kapjuk.

Kódolás Diszkrét matematika 3. estis képzés 2018. ősz 11. Definíció Minimális távolságú dekódolás esetén egy adott szóhoz azt a kódszót rendeljük, amelyik hozzá a legközelebb van. Több ilyen szó esetén kiválasztunk ezek közül egyet, és az adott szóhoz mindig azt rendeljük. Megjegyzés A dekódolás két részre bontható: a hibajavításnál megpróbáljuk meghatározni, hogy mi volt az elküldött kódszó, majd visszaálĺıtjuk az üzenetet. Mivel az utóbbi egyértelmű, ezért hibajavító kódok dekódolásán legtöbbször csak a hibajavítást értjük. Definíció Egy kód t-hibajavító, ha minden olyan esetben helyesen javít, amikor egy elküldött szó legfeljebb t helyen változik meg. Egy kód pontosan t-hibajavító, ha t-hibajavító, de van olyan t + 1 hibával érkező szó, amit helytelenül javít, vagy nem javít.

Kódolás Diszkrét matematika 3. estis képzés 2018. ősz 12. Megjegyzés Ha a kód távolsága d, akkor minimális távolságú dekódolással t < d 2 esetén t-hibajavító. Példa Az előző példában szereplő kód pontosan 1-hibajavító. (0,0,0,0,0) (1,0,0,0,1) (1,0,1,0,1) Példa (ismétléses kód) a (a,a,a) d = 3 1-hibajavító, a (a,a,a,a,a) d = 5 2-hibajavító.

Kódolás Diszkrét matematika 3. estis képzés 2018. ősz 13. Tétel (Singleton-korlát) Ha K A n, A = q és d(k) = d, akkor K q n d+1. Bizonyítás Ha minden kódszóból elhagyunk d 1 betűt (ugyanazokból a pozíciókból), akkor az így kapott szavak még mindig különbözőek, és n d + 1 hosszúak. Az ilyen hosszú szavak száma szerepel az egyenlőtlenség jobb oldalán. Definíció Ha egy kódra a Singleton-korlát egyenlőséggel teljesül, akkor azt maximális távolságú szeparábilis kódnak (MDS-kód) nevezzük. Példa Az n-szeri ismétlés kódja. Ekkor d = n, és K = q.

Kódolás Diszkrét matematika 3. estis képzés 2018. ősz 14. Tétel (Hamming-korlát) Ha K A n, A = q és K t-hibajavító, akkor K t j=0 ( ) n (q 1) j q n. j Bizonyítás Mivel a kód t-hibajavító, ezért bármely két kódszóra a tőlük legfeljebb t távolságra lévő szavak halmazai diszjunktak (Miért?). Egy kódszótól pontosan j távolságra lévő szavak száma ( ) n j (q 1) j (Miért?), így egy kódszótól legfeljebb t távolságra lévő szavak száma t ( n ) j=0 j (q 1) j. A jobb oldalon az n hosszú szavak száma szerepel (Miért?).

Kódolás Diszkrét matematika 3. estis képzés 2018. ősz 15. Definíció Ha egy kódra a Hamming-korlát egyenlőséggel teljesül, akkor azt perfekt kódnak nevezzük. Példa (nem perfekt kódra) A (*) kód esetén K = 4, n = 5, q = 2 és t = 1. B.O.= 4 (( ) 5 0 (2 1) 0 + ( 5 1) ) (2 1) 1 = 4(1 + 5) = 24, J.O.= 2 5 = 32. Nem perfekt kód.

Kódolás Diszkrét matematika 3. estis képzés 2018. ősz 16. A kód távolságának és hibajelző képességének kapcsolata Tekintsünk egy kódot, aminek a távolsága d. Ha egy elküldött kódszó legalább 1, de d-nél kevesebb helyen sérül, akkor az így kapott szó biztosan nem kódszó, mivel két kódszó legalább d helyen különbözik. Tehát legfeljebb d 1 hiba esetén a kód jelez. A kódban van két olyan kódszó, amelyek távolsága d, és ha az egyiket küldik, és ez úgy változik meg, hogy éppen a másik érkezik meg, akkor d hiba történt, de nem vesszük észre. Tehát van olyan d hiba, amit a kód nem tud jelezni. Ezáltal a kód pontosan d 1-hibajelző.

Kódolás Diszkrét matematika 3. estis képzés 2018. ősz 17. A kód távolságának és hibajavító képességének kapcsolata Legyen a kód távolsága továbbra is d, és tegyük fel, hogy minimális távolságú dekódolást használunk. t < d 2 hiba esetén biztosan jól javítunk, hiszen a háromszög-egyenlőtlenség miatt az eredetileg elküldött kódszótól különböző bármely kódszó biztosan d 2 -nél több helyen tér el a vett szótól (Miért?). Másrészt legyenek u és w olyan kódszavak, amelyek távolsága d, és legyen v az a szó, amit úgy kapunk u-ból, hogy azon d pozícióból, amelyekben eltérnek, t d 2 helyre a w megfelelő pozíciójában lévő betűt írjuk. Ekkor v az u-tól t helyen, míg w-től d t d 2 t helyen különbözik. Ha a kód t-hibajavító lenne, akkor v-t egyrészt u-ra, másrészt w-re kellene javítania. Ezáltal a kód pontosan d 1 2 -hibajavító.

Kódolás Diszkrét matematika 3. estis képzés 2018. ősz 18. Gazdaságos kódolás Eddig betűnkénti kódolással foglalkoztunk, amely nem képes kihasználni, ha az egymás után következő betűk nem függetlenek egymástól. Ha egy karaktersorozat sokszor fordul elő, érdemes ezt egyben kezelni. Definíció A szótárkódok alapgondolata, hogy egy ϕ A B szótárt használunk a kódolásra, mely értelmezési tartománya tartalmazza A-t. Példa (LZW) A-beli sorozatokat kódolunk, a kódolás során a szótár bővül. Legyen adva egy kezdeti szótárunk (az A elemeit kódoljuk valahogyan). Egy lépésben az benne van, {}}{ a 1 a 2... a n a n+1 }{{} nincs benne a szótárban sorozatot olvassuk be. Ekkor elküldjük az a 1 a 2... a n -hez tartozó kódszót, és az a 1 a 2... a n a n+1 -et betesszük a szótárba.

Kódolás Diszkrét matematika 3. estis képzés 2018. ősz 19. Gazdaságos kódolás Példa Kódoljuk a gugogogogol szót. Legyen az eredeti kódolás az ASCII kód: g 67, u 75, o 6F és l 6C. Kódolandó szó Kódszó Bejegyzés g ugogogogol g 67 (gu, 80) ugogogogol u 75 (ug, 81) g ogogogol g 67 (go, 82) ogogogol o 6F (og, 83) gogogol go 82 (gog, 84) gog ol gog 84 (gogo, 85) ol o 6F (ol, 86) l l 6C