Základy informatiky přednášky Efektivní kódy.

Slides:



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

PRIPO Principy počítačů
Číselné soustavy Pro člověka je přirozené počítat do deseti, protože má deset prstů. Matematici s oblibou říkají, že počítáme v desítkové soustavě. To.
Interpretovaná Matematika
Statistická indukce Teorie odhadu.
Analýza spolehlivosti tlakové nádoby metodou Monte Carlo Jakub Nedbálek Katedra Aplikované Matematiky, Fakulta Elektrotechniky a Informatiky VŠB - Technická.
Cvičení Úloha 1: Rozhodněte zda posloupnost znaků v poli délky n tvoří palindrom (slovo, které je stejné při čtení zprava i zleva). Př.: [a,l,e,l,a] [a,n,n,a]
Poměr.
Aplikační a programové vybavení
Aplikace teorie grafů Základní pojmy teorie grafů
základní pojmy posloupností
Střední škola Oselce Škola: SŠ Oselce, Oselce 1, Nepomuk, Projekt: Registrační číslo: CZ.1.07/1.5.00/ Název: Modernizace.
Základy informatiky přednášky Kódování.
Téma 3 ODM, analýza prutové soustavy, řešení nosníků
Vznik a vývoj teorie informace
3. PRINCIP MAXIMÁLNÍ VĚROHODNOSTI
Booleova logika(algebra)
RoBla Číselné soustavy.
Teoretické Základy Informatiky
Základy informatiky přednášky Pojem informace.
Regresní analýza a korelační analýza
Bayesův teorém – cesta k lepší náladě
Výukový materiál zpracován v rámci projektu EU peníze školám
CHYBY MĚŘENÍ.
Náhodná veličina.
Název školy: Základní škola a Mateřská škola Kladno, Vodárenská 2115 Autor: Mgr. Ilona Sadílková Materiál: VY_32_INOVACE_ICT35.01 Téma: Excel Číslo projektu:
Geometrická posloupnost (3.část)
Obchodní akademie, Ostrava-Poruba, příspěvková organizace
Posloupnosti, řady Posloupnost je každá funkce daná nějakým předpisem, jejímž definičním oborem je množina všech přirozených čísel n=1,2,3,… Zapisujeme.
Informatika pro ekonomy II přednáška 2
ARITMETICKÁ POSLOUPNOST, SOUČET PRVNÍCH N ČLENŮ Autorem materiálu a všech jeho částí, není-li uvedeno jinak, je RNDr. Zdeněk Binar Obchodní akademie a.
Základy informatiky přednášky Entropie.
SWI072 Algoritmy komprese dat1 Algoritmy komprese dat Statistické metody komprese dat a Shannon-Fanův kód.
ČÍSLICOVÁ TECHNIKA Aritmetické operace
Náhoda, generátory náhodných čísel
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.
Radim Farana Podklady pro výuku pro akademický rok 2013/2014
SWI072 Algoritmy komprese dat1 Algoritmy komprese dat Teorie informace.
Obchodní akademie, Ostrava-Poruba, příspěvková organizace
Matematický aparát v teorii informace Základy teorie pravděpodobnosti
Lineární rovnice – 1. část
Abeceda a formální jazyk
Příklady jazyků Příklad 1: G=({S}, {0,1}, P, S)
Dominik Šutera ME4B.  desítková nejpoužívanější  binární (dvojková) počítače (mají jen dva stavy)  šestnáctková (hexadecimální) ◦ Používají jej programátoři.
VY_32_INOVACE_21-10 TEST č. 1.
Základy informatiky přednášky Bezpečnostní kódy.
Statika nosných konstrukcí
Číselné soustavy david rozlílek ME4B
Radim Farana Podklady pro výuku
Systematické a nesystematické
KOMBINAČNÍ LOGICKÉ FUNKCE
Tento výukový materiál vznikl v rámci Operačního programu Vzdělávání pro konkurenceschopnost 1. KŠPA Kladno, s. r. o., Holandská 2531, Kladno,
Posloupnosti a jejich vlastnosti (2.část)
Tento výukový materiál vznikl v rámci Operačního programu Vzdělávání pro konkurenceschopnost 1. KŠPA Kladno, s. r. o., Holandská 2531, Kladno,
Experimentální fyzika I. 2
Základy zpracování geologických dat
2. Vybrané základní pojmy matematické statistiky
Informatika pro ekonomy přednáška 4
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í.
Radim Farana Podklady pro výuku
Soustavy dvou lineárních rovnic se dvěma neznámými
ŠKOLA:Městská střední odborná škola, Klobouky u Brna, nám. Míru 6, příspěvková organizace ČÍSLO PROJEKTU:CZ.1.07/1.5.00/ NÁZEV PROJEKTU:Peníze do.
Znázornění dopravní sítě grafem a kostra grafu Předmět: Teorie dopravy - cvičení Ing. František Lachnit, Ph.D.
Indexní analýza Centrum pro virtuální a moderní metody a formy vzdělávání na Obchodní akademii T. G. Masaryka, Kostelec nad Orlicí.
Zabezpečení přenosu dat
Informatika pro ekonomy přednáška 4
Neparametrické testy pro porovnání polohy
Toky v sítích.
ANALÝZA A KLASIFIKACE DAT
Informatika pro ekonomy přednáška 4
Transkript prezentace:

Základy informatiky přednášky Efektivní kódy

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

KÓDOVÁNÍ Efektivní kódy

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Í.

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:

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 .

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ň

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:

Pro předcházející příklad:

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

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.

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  = 96.97 %

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  = 98.36 % n = 2, 2, 3, 3, 3, 4, 5, 5 = 2.80 Zde je možné ověřit a vyzkoušet Shannon-Fanovu metodu.

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

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

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.

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

= 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).

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,4 0,2 0,1 0,1 0,1 0,06 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.

KONEC