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

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

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

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

Diszkrét matematika 2.C szakirány

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

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

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

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

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

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

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

Diszkrét matematika 2.C szakirány

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

Diszkrét matematika 2.C szakirány

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

Diszkrét matematika 2.C szakirány

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

Diszkrét matematika 2.C szakirány

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

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

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

Diszkrét matematika alapfogalmak

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 ősz

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,

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

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

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

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

dolás, felbontható kód Prefix kód Blokk kódk Kódfa

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 ősz

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

Informatikai Rendszerek Alapjai

Diszkrét matematika 2.C szakirány

Diszkrét matematika I.

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

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

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

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

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

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

Diszkrét matematika 2.

Mohó algoritmusok. Példa:

Az Informatika Elméleti Alapjai

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

Diszkrét matematika 2.C szakirány

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

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

Zárthelyi dolgozat feladatainak megoldása õsz

Diszkrét matematika 1.

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

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

17. előadás: Vektorok a térben

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

Diszkrét matematika 2.C szakirány

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

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

Az Informatika Elméleti Alapjai

Diszkrét matematika 2.

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

Diszkrét matematika I.

Az Informatika Elméleti Alapjai

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

Halmazelmélet. 1. előadás. Farkas István. DE ATC Gazdaságelemzési és Statisztikai Tanszék. Halmazelmélet p. 1/1

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

KÓDOLÁSTECHNIKA PZH december 18.

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

Diszkrét matematika 1.

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

Diszkrét matematika I.

Diszkrét matematika 2.

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

f(x) vagy f(x) a (x x 0 )-t használjuk. lim melyekre Mivel itt ɛ > 0 tetszőlegesen kicsi, így a a = 0, a = a, ami ellentmondás, bizonyítva

Algoritmuselmélet 6. előadás

1. Gráfok alapfogalmai

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

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

Leképezések. Leképezések tulajdonságai. Számosságok.

Diszkrét matematika 1.

Diszkrét matematika I.

KOVÁCS BÉLA, MATEMATIKA I.

Fraktálok. Kontrakciók Affin leképezések. Czirbusz Sándor ELTE IK, Komputeralgebra Tanszék. TARTALOMJEGYZÉK Kontrakciók Affin transzformációk

Diszkrét Matematika 2 (C)

Permutációk véges halmazon (el adásvázlat, február 12.)

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

Vizsgatematika Bevezetés a matematikába II tárgyhoz tavasz esti tagozat

Kvantumcsatorna tulajdonságai

Diszkrét matematika 2.

A sorozat fogalma. függvényeket sorozatoknak nevezzük. Amennyiben az értékkészlet. az értékkészlet a komplex számok halmaza, akkor komplex

Diszkrét matematika 2.

Diszkrét matematika I.

Információs rendszerek elméleti alapjai. Információelmélet

Számelmélet (2017. február 8.) Bogya Norbert, Kátai-Urbán Kamilla

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

1. Részcsoportok (1) C + R + Q + Z +. (2) C R Q. (3) Q nem részcsoportja C + -nak, mert más a művelet!

Funkcionálanalízis. n=1. n=1. x n y n. n=1

Átírás:

Diszkrét matematika 3. estis képzés 2018. ősz 1. Diszkrét matematika 3. estis képzés 10. 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. Definíció Tekintsük az injektív ϕ : A B + leképezést, illetve az általa meghatározott ψ betűnkénti kódolást. Ha rng(ϕ) prefixmentes halmaz, akkor prefix kódról beszélünk. Ha rng(ϕ) elemei azonos hosszúságúak, akkor egyenletes kódról, fix hosszúságú kódról, esetleg blokk-kódról beszélünk. Vesszős kódról beszélünk, ha van egy olyan ϑ B + szó (a vessző), amely minden kódszónak szuffixe, de egyetlen kódszó sem áll elő αϑβ alakban nem üres β szóval. Álĺıtás Prefix kód felbontható. Bizonyítás Konstruktív: nézzük az eddig beérkezett szimbólumokból összeálló szót. Amint ez kiadja a kódolandó ábécé valamely betűjének a kódját, azonnal dekódolhatunk a megfelelő betűre, mert a folytatásával kapott jelsorozat egyetlen betűnek sem lehet a kódja.

Kódolás Diszkrét matematika 3. estis képzés 2018. ősz 3. Álĺıtás Egyenletes kód prefix (így nyilván felbontható is). Bizonyítás Mivel a kódszavak hossza azonos, ezért csak úgy lehet egy kódszó prefixe egy másiknak, ha megegyeznek. Álĺıtás Vesszős kód prefix (így nyilván felbontható is). Bizonyítás A vessző egyértelműen jelzi egy kódszó végét, hiszen ha folytatva kódszót kapnánk, abban a vessző tiltott módon szerepelne.

Kódolás Diszkrét matematika 3. estis képzés 2018. ősz 4. Példák Legyen A = {a,b,c}, B = {0,1}, ϕ : A B + pedig az alábbi módon definiált. 1. 2. 3. 4. 5. 6. ϕ(a) 01 1 01 0 00 01 ϕ(b) 1101 01 011 10 10 001 ϕ(c) 01 10 11 11 11 0001 1. ϕ(a) = ϕ(c) = ϕ nem injektív 2. ψ(ab) =101= ψ(ca) = nem felbontható 3. nem prefix, de felbontható 4. prefix 5. egyenletes 6. vesszős

Kódolás Diszkrét matematika 3. estis képzés 2018. ősz 5. Tétel (McMillan-egyenlőtlenség, NB) Legyen A = {a 1, a 2,..., a n } és B két ábécé, B elemeinek száma r 2, és ϕ : A B + injektív leképezés. Ha a ϕ által meghatározott betűnkénti kódolás felbontható, akkor l j = ϕ(a j ) jelöléssel r l j 1. Tétel (McMillan-egyenlőtlenség,,megfordítása, NB) Az előző tétel jelöléseit használva, ha l 1, l 2,..., l n olyan pozitív egész számok, hogy n r l j 1, akkor van az A-nak a B elemeivel való olyan felbontható (sőt prefix) kódolása, hogy az a j betű kódjának hossza l j.

Kódolás Diszkrét matematika 3. estis képzés 2018. ősz 6. Definíció Legyen A = {a 1, a 2,..., a n } a kódolandó ábécé, p 1, p 2,..., p n a betűk eloszlása, ϕ : A B + injektív leképezés, továbbá l j = ϕ(a j ). Ekkor l = n p jl j a kód átlagos szóhossza. Ha adott elemszámú ábécével és eloszlással egy felbontható betűnkénti kód átlagos szóhosszúsága minimális, akkor optimális kódnak nevezzük. Megjegyzés Az átlagos kódhossz valós szám, és valós számok halmazában nem feltétlenül van minimális elem (ld. { 1 n n N}), ezért optimális kód létezése nem triviális.

Kódolás Diszkrét matematika 3. estis képzés 2018. ősz 7. Álĺıtás Adott ábécé és eloszlás esetén létezik optimális kód. Bizonyítás Válasszunk egy tetszőleges felbontható kódot (Miért van ilyen?), ennek átlagos szóhosszúsága legyen l. Mivel p j l j > l esetén a kód nem lehet optimális (Miért?), ezért elég azokat a kódokat tekinteni, amelyekre l j l p j, ha j = 1, 2,..., n. Ilyen kód csak véges sok van, így van köztük minimális átlagos hosszúságú.

Kódolás Diszkrét matematika 3. estis képzés 2018. ősz 8. Tétel (Shannon tétele zajmentes csatornára) Legyen A = {a 1, a 2,..., a n } a kódolandó ábécé, p 1, p 2,..., p n a betűk eloszlása, ϕ : A B + injektív leképezés, B elemeinek a száma r 2, továbbá l j = ϕ(a j ). Ha a ϕ által meghatározott betűnkénti kódolás felbontható, akkor H r (p 1, p 2,..., p n ) l. Bizonyítás = l H r (p 1, p 2,..., p n ) = p j ( log r (r l j ) ) + log r ( p j l j + ( 1 p j log r p j r l j ) p j log r p j = ) = log r 1 = 0 ( r l ) j p j log r p j

Kódolás Diszkrét matematika 3. estis képzés 2018. ősz 9. Tétel (Shannon kód létezése) Az előző tétel jelöléseivel, ha n > 1, akkor van olyan prefix kód, amire l < H r (p 1, p 2,..., p n ) + 1. Bizonyítás Válasszunk olyan l 1, l 2,..., l n természetes számokat, amelyekre r l j p j < r l j +1, ha j = 1, 2,..., n (Miért tudunk ilyeneket választani?). Ekkor n r l j n p j = 1, így a McMillan-egyenlőtlenség megfordítása miatt létezik prefix kód az adott l j hosszakkal. Mivel l j < 1 log r p j (Miért?), ezért l = p j l j < p j (1 log r p j ) = 1 + H r (p 1, p 2,..., p n ).

Kódolás Diszkrét matematika 3. estis képzés 2018. ősz 10. Optimális kódkonstrukció: Huffman-kód Legyen {a 1, a 2,..., a n } az üzenetek halmaza, a hozzájuk tartozó eloszlás pedig {p 1, p 2,..., p n }, a kódábécé elemszáma r. Rendezzük relatív gyakoriság szerint csökkenő sorrendbe a betűket. Osszuk el maradékosan n 2-t r 1-gyel: n 2 = q(r 1) + m 0 m < r 1, és legyen t = m + 2. Helyettesítsük az utolsó t betűt egy új betűvel, amihez az elhagyott betűk relatív gyakoriságainak összegét rendeljük, és az így kapott gyakoriságoknak megfelelően helyezzük el az új betűt a sorozatban. Ezek után ismételjük meg az előző redukciót, de most már minden lépésben r betűvel csökkentve a kódolandó halmazt, mígnem már csak r betű marad. Most a redukált ábécé legfeljebb r betűt tartalmaz, és ha volt redukció, akkor pontosan r-et. Ezeket a kódoló ábécé elemeivel kódoljuk, majd a redukciónak megfelelően visszafelé haladva, az összevont betűk kódját az összevonásként kapott betű már meglévő kódjának a kódoló ábécé különböző betűivel való kiegészítésével kapjuk.

Kódolás Diszkrét matematika 3. estis képzés 2018. ősz 11. Példa Huffman-kódra Legyen A = {a, b,..., j}, a relatív gyakoriságok 0, 17; 0, 02; 0, 13; 0, 02; 0, 01; 0, 31; 0, 02; 0, 17; 0, 06; 0, 09, a kódoló ábécé pedig {0, 1, 2}. 10 2 = 4 (3 1) + 0, így t = 0 + 2 = 2. f 0,31 a 0,17 h 0,17 c 0,13 j 0,09 i 0,06 b 0,02 d 0,02 g e 0,02 0,01 } 0, 03 f 0,31 a 0,17 h 0,17 c 0,13 j 0,09 i 0,06 (g,e) b d 0,03 0,02 0,02 0, 07 f 0,31 a 0,17 h 0,17 c 0,13 j ((g,e),b,d) i 0,09 0,07 0,06 0, 22 f 0,31 (j,((g,e),b,d),i) 0,22 a 0,17 h 0,17 c 0,13 0, 47 (a,h,c) 0,47 f 0,31 (j,((g,e),b,d),i) 0,22

Kódolás Diszkrét matematika 3. estis képzés 2018. ősz 12. Példa Huffman-kódra folyt. (a,h,c) 0,47 f 0,31 (j,((g,e),b,d),i) 0,22 Kódolás: (a,h,c) 0 f 1 (j,((g,e),b,d),i) 2 Entrópia: 1, 73. Átlagos szóhossz: 1, 79. a 00 h 01 c 02 j 20 ((g,e),b,d) 21 (g,e) 210 g 2100 e 2101 b 211 d 212 i 22

Kódolás Diszkrét matematika 3. estis képzés 2018. ősz 13. Tétel (NB) A Huffman-kód optimális. Példa Shannon-kódra Az előző példában használt ábécét és eloszlást fogjuk használni. Rendezzük sorba az ábécét relatív gyakoriságok szerinti csökkenő sorrendben: f 0,31 a 0,17 h 0,17 c 0,13 j 0,09 i 0,06 b 0,02 d 0,02 g 0,02 e 0,01

Kódolás Diszkrét matematika 3. estis képzés 2018. ősz 14. Példa Shannon-kódra folyt. Határozzuk meg a szükséges szóhosszúságokat: 1 9 0, 31; 0, 17; 0, 13 < 1 3, ezért f, a, h és c kódhossza 2. 1 27 0, 09; 0, 06 < 1 9, ezért j és i kódhossza 3. 1 1 81 0, 02 < 27, ezért b, d és g kódhossza 4. 1 1 243 0, 01 < 81, ezért e kódhossza 5. Az f kódja 00, az a kódja 01, a h kódja 02, és ez utóbbihoz 1-et adva hármas alapú számrendszerben kapjuk c kódját, ami 10. Ehhez 1-et adva 11-et kapunk, de j kódjának hossza 3, ezért ezt még ki kell egészíteni jobbról egy 0-val, tehát j kódja 110. Hasonlóan folytatva megkapjuk a teljes kódot: f 00 a 01 h 02 c 10 j 110 i 111 b 1120 d 1121 g 1122 e 12000 Átlagos szóhossz: 2, 3 < 1, 73 + 1.