Stáhnout prezentaci
Prezentace se nahrává, počkejte prosím
1
Základy informatiky přednášky Efektivní kódy
2
ZÁKLADY INFORMATIKY – Efektivní kódy
Vznik a vývoj teorie informace Matematický aparát v teorii informace Základy teorie pravděpodobnosti – Náhodné veličiny Číselné soustavy Informace Základní pojmy – jednotka a zobrazení informace, informační hodnota Entropie – vlastnosti entropie Zdroje zpráv – spojité zdroje zpráv, diskrétní zdroje zpráv Přenos informace – vlastnosti přenosu kanálů, poruchy a šumy přenosu, způsoby boje proti šumu Kódování Elementární teorie kódování Rovnoměrné kódy – telegrafní kód Nerovnoměrné kódy – Morseova abeceda, konstrukce nerovnoměrných kódů Efektivní kódy – Shannonova – Fanova metoda, Huffmanova metoda Bezpečností kódy Zabezpečující schopnosti kódů, Systematické kódy, Nesystematické kódy
3
KÓDOVÁNÍ Efektivní kódy
4
EFEKTIVNÍ KÓDY U běžného kódování známe pravděpodobnosti výskytu znaku ai zdrojové abecedy P(ai) = pi ale neznáme délky kódových slov ni. Musíme proto hledat délky kódových slov tak, aby průměrný počet kódových znaků připadajících na jeden zdrojový znak byl minimální. Takové kódy nazýváme : EFEKTIVNÍ nebo MINIMÁLNÍ.
5
Takové číslo existuje jediné a platí pro něj:
Prvotní myšlenka efektivního kódu je založena na následujícím tvrzení: Pro nezávislé vysílání znaků zdrojové abecedy A={a1, a2, ... , aN} s pravděpodobností jednotlivých znaků P(ai) = pi, i=1, ..., N, zvolme délku kódového slova ni tak, že platí: Takové číslo existuje jediné a platí pro něj:
6
Délky kódových slov jsou: 3, 3, 3, 3, 4, 4, 5, 6 .
Příklad: Zjistěte délku kódových slov, když zdrojová abeceda A má 8 znaků s pravděpodobnostmi výskytu 0.22, 0.2, 0.16, 0.16, 0.1, 0.1, 0.04, 0.02. Musí platit: Délky kódových slov jsou: 3, 3, 3, 3, 4, 4, 5, 6 .
7
Konstrukce kódu je stejná jako u nerovnoměrných kódů.
Je zřejmé, že tímto způsobem nejde o konstrukci nejefektivnějšího kódu. (ve stromě se nacházejí neobsazené volné uzly) 001001 6.úroveň 00101 5.úroveň 0000 0011 4.úroveň 010 011 110 111 3.úroveň 2.úroveň 1.úroveň 1 0.úroveň
8
Z důvodu možnosti porovnání kódů z hlediska úspornosti, byly zavedeny tyto proměnné:
Průměrná délka kódového slova: Efektivnost kódu pro zdrojovou abecedu A={a1, a2, ... , aN} s pravděpodobností jednotlivých znaků P(ai) = pi, i=1, ..., N je:
9
Pro předcházející příklad:
10
Shannonova-Fanova metoda
Tato metoda je nejpoužívanější metodou pro sestrojení minimálního (efektivního) kódu. Pro sestrojení je třeba dodržet určitý postup - algoritmus
11
Zdrojové znaky se uspořádají postupně podle pravděpodobnosti pi v klesajícím pořadí.
Zdrojové znaky se rozdělí na dvě podskupiny tak, aby součet pravděpodobností v obou skupinách byl přibližně stejný. První skupině se přiřadí kódový znak 1 a druhé znak 0. Každou podskupinu opět rozdělíme na dvě podskupiny s přibližně stejným součtem pravděpodobností. Prvním podskupinám se přiřadí znak 1 a druhým 0. Tak získáme druhý kódový znak. V dělení na skupiny pokračujeme dokud v každé podskupině nezůstane pouze jeden zdrojový znak.
12
Příklad: Zjistěte délku kódových slov pomocí Shannonovy – Fanovy metody na základě předcházejícího zadání. a) znaky P(ai) a5 a2 a8 a1 a3 a4 a7 a6 0,16 0,10 0,02 0,04 0,22 0,20 znaky P(ai) a1 a2 a3 a4 a5 a6 a7 a8 0,22 0,20 0,16 0,10 0,04 0,02 0,22 1 1 11 0,58 1 0,20 1 101 0,36 1 0,16 100 1 0,16 1 011 0,26 1 0,10 010 0,10 1 001 0,42 0,16 0,04 1 0001 0,06 0,02 0000 n = 2, 3, 3, 3, 3, 3, 4, 4 = 2.84 = %
13
b) znaky P(ai) a1 a2 a3 a4 a5 a6 a7 a8 0,22 0,20 0,16 0,10 0,04 0,02 znaky P(ai) a5 a2 a8 a1 a3 a4 a7 a6 0,16 0,10 0,02 0,04 0,22 0,20 0,22 1 1 11 0,42 1 10 0,20 1 0,16 1 011 0,32 1 0,16 010 0,10 1 001 0,10 1 0001 0,58 0,26 0,16 0,04 1 00001 0,06 0,02 00000 = % n = 2, 2, 3, 3, 3, 4, 5, 5 = 2.80 Zde je možné ověřit a vyzkoušet Shannon-Fanovu metodu.
14
Na řešení má vliv subjektivní rozhodnutí řešitele.
Tato metoda tedy nedává jednoznačný výsledek, ani z hlediska délky kódových slov, ani z hlediska efektivnosti. V programu je možné provést také porovnání s HUFFMANOVOU metodou ukázka vhodnosti jednotlivé metody
15
HUFFMANOVA metoda Tato matematická metoda konstrukce minimálního kódu je složitější než předchozí metoda, vede ale vždy ke kódu s maximální efektivnosti. Pro sestrojení kódu podle této metody je třeba opět dodržet určitý postup - algoritmus
16
Zdrojové znaky se uspořádají postupně podle pravděpodobnosti pi v klesajícím pořadí.
Sečteme poslední dvě pravděpodobnosti a výsledek zařadíme podle velikosti mezi ostatní pravděpodobnosti - redukce. 3. Znovu sečteme dvě poslední pravděpodobnosti a výsledek opět zařadíme podle velikosti. Sečítání pravděpodobností provádíme tak dlouho, až dojdeme k součtu 1. 5. Posledním dvěma znakům přiřadíme kódové znaky 0 a 1. 6. Zpětným postupem přiřazujeme jednotlivým sčítancům vždy kódové znaky 0 a 1, dokud nepřiřadíme kódové znaky všem zdrojovým znakům.
17
Příklad: Zjistěte délku kódových slov pomocí Huffmanovy metody na základě předcházejícího zadání. znaky P(ai) a1 a2 a3 a4 a5 a6 a7 a8 0,22 0,20 0,16 0,10 0,04 0,02 znaky P(ai) a5 a2 a8 a1 a3 a4 a7 a6 0,16 0,10 0,02 0,04 0,22 0,20 0,22 0,20 0,16 0,10 0,06 0,22 0,20 0,16 0,10 0,26 0,22 0,20 0,16 0,32 0,26 0,22 0,20 0,42 0,32 0,26 0,58 0,42 10 10 1 10 01 00 11 11 11 00 10 01 1 000 000 000 11 01 10 001 001 001 000 11 011 011 010 001 011 0100 0100 01010 0101 01011
18
= 2,8 Další výpočty k příkladu:
Zde je možné ověřit a vyzkoušet HUFFMANOVU metodu. Podrobnější úvahou je možné zjistit, že ani Huffmanova konstrukce není jednoznačná. Pokud má více znaků stejnou pravděpodobnost, je řešení ovlivněno tím, kam se zařadí součty pravděpodobností (redukované znaky).
19
Příklad: Navrhněte kód pro zdrojovou abecedu, která obsahuje 7 symbolů a pravděpodobnosti výskytu jednotlivých symbolů jsou dány takto: 0, , , , , , ,04. Použijte metodu Shannon–Fanovu i metodu Huffmanovu. Určete průměrnou délku kódového slova a efektivnost pro navržený kód. Sestrojte strom navrženého kódu.
20
KONEC
Podobné prezentace
© 2024 SlidePlayer.cz Inc.
All rights reserved.