Radim Farana Podklady pro výuku pro akademický rok 2013/2014

Slides:



Advertisements
Podobné prezentace
Vestavné mikropočítačové systémy
Advertisements

Komplexní čísla. Komplexní číslo je uspořádaná dvojice [x, y], kde číslo x představuje reálnou část a číslo y imaginární část. Pokud je reálná část nulová,
Fakulta životního prostředí Katedra informatiky a geoinformatiky
Rovnice s absolutními hodnotami
Fakulta životního prostředí Katedra informatiky a geoinformatiky
Dualita úloh lineárního programování a analýza citlivosti
Algebra.
Paritní bity Hashovací funkce Samoopravující kódy
Základy informatiky přednášky Kódování.
Fakulta životního prostředí Katedra informatiky a geoinformatiky
Fakulta životního prostředí Katedra informatiky a geoinformatiky
Sylabus V rámci PNV budeme řešit konkrétní úlohy a to z následujících oblastí: Nelineární úlohy Řešení nelineárních rovnic Numerická integrace Lineární.
Kombinatorické algoritmy
Lineární algebra.
LOGISTICKÉ SYSTÉMY 7/14.
Základní číselné množiny
Základy informatiky přednášky Efektivní kódy.
Fakulta životního prostředí Katedra informatiky a geoinformatiky
Informatika pro ekonomy II přednáška 2
Gaussova eliminační metoda
SWI072 Algoritmy komprese dat1 Algoritmy komprese dat Statistické metody komprese dat a Shannon-Fanův kód.
REDUKCE DAT Díváme-li se na soubory jako na text, pak je tento text redundantní. Redundance vyplývá z:  některé fráze nebo slova se opakují  existuje.
Fakulta životního prostředí Katedra informatiky a geoinformatiky
Radim Farana Podklady pro výuku pro akademický rok 2013/2014
SWI072 Algoritmy komprese dat1 Algoritmy komprese dat Teorie informace.
Orbis pictus 21. století Tato prezentace byla vytvořena v rámci projektu.
F U N K C E.
Základy číslicové techniky
Abeceda a formální jazyk
Základy číslicové techniky
ZPŮSOBY ZABEZPEČENÍ DIGITÁLNÍCH SIGNÁLŮ
Základy informatiky přednášky Bezpečnostní kódy.
Kódování Radim Farana Podklady pro výuku. Obsah Cyklické kódy.  Reedovy-Solomonovy kódy.
Číselné soustavy david rozlílek ME4B
Cyklické kódy Přednáška 6. Perfektní kód A.Opravuje největší množství chyb B.Má nejvíce kódových slov C.Má nejlepší poměr počet chyb/délka kódu.
Radim Farana Podklady pro výuku
Systematické a nesystematické
Fakulta životního prostředí Katedra informatiky a geoinformatiky
Matice.
Perfektní kódy.
Fakulta životního prostředí Katedra informatiky a geoinformatiky
Datové typy a struktury
Algebra II..
Základy číslicové techniky
Aplikační a programové vybavení
Orbis pictus 21. století Tato prezentace byla vytvořena v rámci projektu.
Lineární zobrazení.
Orbis pictus 21. století Tato prezentace byla vytvořena v rámci projektu.
Kódování Radim Farana Podklady pro výuku. Obsah Unikátní identifikátory. Kontrolní číslice, GUI,  realizace kontrolních číslic. Kódy konstantní změny,
Elektron v periodickém potenciálovém poli - 1D
Rozpoznávání v řetězcích
Orbis pictus 21. století Tato prezentace byla vytvořena v rámci projektu.
Radim Farana Podklady pro výuku
Vektorové prostory.
Radim Farana Podklady pro výuku
Lineární programování - charakteristika krajních bodů
Algoritmy komprese dat
Kódování Radim Farana Podklady pro výuku. Obsah Cyklické kódy.
Radim Farana Podklady pro výuku
Lineární kódy.
McEllisova šifra.
Lineární kódy.
Matice Přednáška č.4. Definice: Soubor prvků nazýváme maticí typu i-tý řádek j-tý sloupec prvky matice.
Složitost algoritmu Vybrané problémy: Při analýze složitosti jednotlivých algoritmů často narazíme na problém, jakým způsobem vzít v úvahu velikost vstupu.
Úvod do databázových systémů
AUTOMATIZAČNÍ TECHNIKA Kódy
Zabezpečení přenosu dat
1 Lineární (vektorová) algebra
ZPŮSOBY ZABEZPEČENÍ DIGITÁLNÍCH SIGNÁLŮ
Úvod do počítačových sítí - Linková úroveň
Transkript prezentace:

Radim Farana Podklady pro výuku pro akademický rok 2013/2014 Kódování Radim Farana Podklady pro výuku pro akademický rok 2013/2014

Obsah Základy pojmy z diskrétních kódů. Druhy kódů. Nejkratší kódy. Detekce chyb, Hammingova vzdálenost. Kontrolní a samoopravné kódy. Lineární kódy. Hammingovy kódy. Opakovací kódy.

Kód Popis přiřazení kódových slov jednotlivým zprávám (kódová kniha). Kódové slovo je posloupnost znaků použité abecedy. Abeceda je množina znaků (binární abeceda Z2 = {0, 1}) Minimální délka kódového slova: N*(x) = - log2(P(x)) [bit]

Vlastnosti kódu prosté kódování: různým zprávám odpovídají různá kódová slova, jednoznačná dekódovatelnost: ze znalosti zakódované zprávy lze jednoznačně určit zprávu zdrojovou, Kód K : A → B musí být prostým zobrazením.

Problém dekódování Zpráva Kód A 01 001 111 01 001 111 Posloupnost zpráv (kódových slov): 00100101111 nelze jednoznačně dekódovat Kód B 01 011 111 Posloupnost zpráv (kódových slov): 00101101111 lze jednoznačně dekódovat? Ano, ale jen „odzadu“, po přijetí celé posloupnosti zpráv. Kód C 10 110 111 Posloupnost zpráv (kódových slov): 01011010111 můžeme dekódovat on-line. Důvod? Žádné kódové slovo není začátkem jiného kódového slova (prefixem).

Druhy kódů Prefixový kód je prosté kódování u kterého žádné kódové slovo není začátkem jiného kódového slova. Blokový kód je prosté kódování u kterého mají všechna kódová slova stejnou délku (počet znaků). Protože musí být prostým zobrazením, je nutně také prefixovým kódem.

Použití kódů Nejkratší (optimální) kódy R → 0, L → min, Bezpečnostní kódy detekční kódy (odhalují chyby), samoopravné kódy (opravují chyby), Speciální kódy kódy konstantní změny (Grayův kód), čárové kódy, alfanumerické kódy, číselné kódy (datové formáty), …

Kraftova nerovnost Prefixový kód sestrojený nad n-prvkovou kódovou abecedou s délkami kódových slov existuje právě tehdy, když platí Kraftova nerovnost, tj.

Mc Millanova věta Každé jednoznačně dekódovatelné kódování splňuje Kraftovu nerovnost. Z těchto dvou vět vyplývá, že každé jednoznačně dekódovatelné kódování je prefixové, ale pokud není, existuje jiné kódování nad stejnou kódovou abecedou s danými délkami kódových slov, které již prefixové bude.

Příklad Máme za úkol sestavit binární prefixový kód číslic 0, 1, ..., 9 s délkami kódových slov: Kraftova nerovnost je rovna prefixový kód s těmito délkami slov neexistuje.

Příklad Zvolíme-li potom Kraftova nerovnost je a tedy takový prefixový kód existuje. Může vypadat například takto:

Nejkratší kódy Pokud má R → 0, neboli L → min, pak N(i) → N*(i) pro i = 1, 2, … n. Hledáme vhodný algoritmus konstrukce takového kódu: Huffmanův kód (1952), Shannon-Fanův kód. Algoritmy se liší, stejně tak i dosažené výsledky, Huffmanův kód se snáze algoritmizuje a tedy také realizuje Huffman, David A. * 1925, USA + 7. 10. 1999 California, USA http://www.ucsc.edu/currents/99-00/10-11/huffman.html

Huffmanův kód Příklad A P(i) 0,4 0,3 0,1 B C D E Zpráva Triviální případ Zpráva P(i) 1 > 2 < kód 1.redukce 0,4 0,3 0,2 0,1 1 2.redukce 0,4 0,3 1 Redukovaná abeceda Zpráva P(i) 1 » 2 > redukce 3 < 2,3 kód expanze 10 11 3.redukce 0,6 0,4 1 znaky 1 kód 1 00 011 0101 0100 Postup: seřazení podle pravděpodobnosti, postupná redukce a oprava pořadí, přiřazení znaků 0, 1 a zpětná expanze. Problémy: definice pořadí zpráv pro stejnou P(i), zařazení skupin se stejnou P(i), pořadí přiřazení znaků 0, 1.

Shannon-Fanova konstrukce kódu Zpráva A, B C, D, E A B C D, E D E 1 bit Fano, Robert Mario 1917 Turin, Italy http://en.wikipedia.org/wiki/File:Robert_Fano_2012-03-13.jpg Příklad Zpráva A B C D E P(i) 0,4 0,3 0,1 0,1 0,1 1 1 1 Postup: seřazení podle pořadí pravděpodobnosti, rozdělení na skupiny s co nejbližší pravděpodobností, přiřazení znaků 0, 1. 1 kód 10 110 1110 1111

Detekce chyb Množinu všech slov rozdělíme na slova kódová a slova nekódová. t-násobná chyba změní kódové slovo na nekódové, pokud se dvě kódová slova liší ve více než t znacích. Hammingova vzdálenost je počet znaků ve kterých se dvě kódová slova liší. Hammingova vzdálenost kódu d je nejmenší z nich.

Hammingova vzdálenost Hamming, Richard Wesley * 11. 2. 1915 Chicago, Il. USA + 7. 1. 1998 Monterey, Cal. USA http://cm.bell-labs.com/cm/cs/alumni/hamming/ Hammingova vzdálenost nekódová slova 001 d = 1 d = 1 000 010 011 kódové slovo kódové slovo 100 Kód odhaluje t-násobné chyby, pokud je Hammingova vzdálenost kódu d > t. Označení kódů (blokových): (n, k)-kód počet znaků počet informačních znaků (4, 3)-kód má jeden kontrolní znak, je schopen mít d = 2.

Opravování chyb nekódová slova 001 011 d = 1 d = 1 000 010 111 d = 2 kódové slovo kódové slovo 110 100 d = 3 Kód opravuje t-násobné chyby, pokud je Hammingova vzdálenost kódu d > 2.t.

Kód dvourozměrné kontroly parity Informační znaky zapíšeme do matice typu (p, q). Každému řádku přidáme jeden symbol kontroly parity řádku, podobně každému sloupci kontrolu parity sloupce. Paritě sloupce parit řádků pak znak „kontrola kontrol“, volený tak, aby i parita výsledné matice byla sudá. Např. pro p = 7 a q = 3 obdržíme ASCII (32, 21)-kód. Tento kód opravuje jednoduché chyby. Příklad

Lineární kódy (maticové kódy) Kódové slovo chápeme jako řádkový vektor v = [ 0 0 1]. Lineární kombinací libovolného počtu kódových slov vznikne opět kódové slovo. Kód je možno popsat pomocí generující matice (kterou tvoří báze kódu). 1 G = v = z.G

Systematické kódy Informační slovo tvoří začátek kódového slova. Určení informačního slova (dekódování) je triviální. Je možno snadno určit kontrolní matici kódu A syndrom přijatého slova Nenulový syndrom indikuje chybu. G = E B H = -B E’ T s = H.v T

Hammingovy kódy Opravují jednoduché chyby a jsou perfektní = při daných vlastnostech mají minimální možnou redundanci. Kód s m kontrolními znaky (m = 2, 3, …) má délku n = 2m – 1. Sloupce kontrolní matice tvoří binární rozvoj čísel 1, 2, …, 2m - 1 Nenulový syndrom je binárním rozvojem pozice chyby.

Opakovací kódy Velmi jednoduše se generují kódová slova i vyhodnocují přijatá slova. Jsou perfektní. Opakovací (3, 1)-kód se shoduje s Hammingovým (3, 1)-kódem.

Dekódování lineárních kódů Nechť K je lineární (n, k)-kód. Potom kód K tvoří podgrupu aditivní grupy Zn a odtud můžeme vytvořit faktorovou grupu Zn / K, která tvoří grupu tříd kódu K tak, že pro každé existuje třída jejímž je reprezentantem

Dekódování lineárních kódů Z algebry víme, že jednotlivé třídy jsou buď disjunktní nebo jsou si rovny. Budeme tedy pracovat se systémem různých tříd, přičemž jako reprezentanty zvolíme vždy slovo dané třídy s nejmenší Hammingovou váhou. Reprezentanty budeme označovat znakem e

Dekódování lineárních kódů Dekódování pak probíhá podle předpisu , kde je reprezentant třídy slova w. Můžeme použít: tabulku pro standardní dekódování syndromy

Standardní dekódovací tabulka budou vypsány všechny třídy a jejich slova. V prvním sloupci bude vždy reprezentant třídy a řádky budou vzestupně uspořádány podle Hammingovy váhy jednotlivých reprezentantů. V prvním řádku bude tedy vždy třída s nulovým reprezentantem, která tvoří kód. na pozici i-tý řádek a j-tý sloupec bude takové slovo dané třídy, jehož rozdíl od kódového slova v j-tém sloupci je roven reprezentantu třídy.

Standardní dekódovací tabulka Dekódovací tabulka pro koktavý (6, 3)- kód

Dekódování pomocí syndromů Standardní tabulku budeme redukovat na sloupec reprezentantů a jejich syndromů a využijeme vlastnost, že všechna slova dané třídy mají shodný syndrom.