Komprese dat. Jan Outrata KATEDRA INFORMATIKY UNIVERZITA PALACKÉHO V OLOMOUCI. přednášky

Rozměr: px
Začít zobrazení ze stránky:

Download "Komprese dat. Jan Outrata KATEDRA INFORMATIKY UNIVERZITA PALACKÉHO V OLOMOUCI. přednášky"

Transkript

1 Komprese dat Jan Outrata KATEDRA INFORMATIKY UNIVERZITA PALACKÉHO V OLOMOUCI přednášky

2 Statistické metody Jan Outrata (Univerzita Palackého v Olomouci) Komprese dat Olomouc, únor březen / 23

3 Tunstallův kód = zdrojová slova proměnné délky kódována na kódová slova pevné délky k log m n kódových symbolů = blokový kód, variable-to-fixed code (n je velikost zdrojové abecedy, m je velikost kódové abecedy) chyby v kódových slovech se při dekódování nešíří robustnost požadavky: 1 každou (neprázdnou) posloupnost zdrojových symbolů musí být možné vyjádřit jako (případně prefix) zřetězení právě jedné posloupnosti zdrojových slov kódovaných na kódové slovo jednoznačná kódovatelnost 2 průměrná délka zdrojových slov kódovaných na kódové slovo je maximální = optimální kód delší zdrojová slova mají větší pravděpodobnost výskytu 3 je použito maximum kódových slov, ideálně všech m k optimalita prefixový pro zdrojová slova kódovaná na kódové slovo, jednoznačná kódovatelnost k průměrná délka kódu:, t počet zdrojových slov w t i=1 P (w i délky l(w i ) s i)l(w i ) pravděpodobností výskytu P (w i ) pouze statický a semi-adaptivní model Jan Outrata (Univerzita Palackého v Olomouci) Komprese dat Olomouc, únor březen / 23

4 Tunstallův kód B. P. Tunstall Input : číslo k Uses : zdrojová abeceda A, n = A, pravděpodobnosti P (A + ) výskytu slova z A, velikost m kódové abecedy Output: C(U) T A; i 0; while n + (i + 1)(n 1) m k do x w T, P (w) P (w ), w T ; T (T \ {x}) {xy y A}; i i + 1; C(T ) {kódová slova délky k} libovolně; PRIKLAD: k = 4, A = {a, b, r, u, o}, p(a) = 7 20, p(b) = 5 20, p(r) = 5 20, p(u) = 2 p(o) = 1 20, m = 2, vstup barbaraabarboraubaru, redundance 20, Jan Outrata (Univerzita Palackého v Olomouci) Komprese dat Olomouc, únor březen / 23

5 Shannon-Fanovo kódování C. E. Shannon, R. M. Fano první pokus o optimální binární prefixový kód využití distribuční funkce/kumulované pravděpodobnosti (cumulative distribution function) zdroje Input : čísla a, b Uses : zdrojová abeceda A = {a 1,..., a n}, n 2, pravděpodobnosti {p 1,..., p n}, p i p j pro i < j, výskytu a i Output : kód C(A) if a + 1 = b then C(a a) 0; C(a b ) I; j najdi j takové, že i=a p b i i=j+1 p i je minimální; C(A) zavolej se rekurzivně s a, j a s j + 1, b; C(a i ) 0C(a i ) pro i = a,..., j; C(a i ) IC(a i ) pro i = j + 1,..., b; Run with: 1, n PRIKLAD: A = {a, b, r, u, o}, p(a) = 7 20, p(b) = 5 20, p(r) = 5 20, p(u) = 2 20, p(o) = 1 20, vstup barbaraabarboraubaru, redundance optimální při k p k = j i=a p i b i=j+1 p i = l p l, k, l {a,..., b}, {k} {l} =, minimální Jan Outrata (Univerzita Palackého v Olomouci) Komprese dat Olomouc, únor březen / 23

6 Huffmanovo kódování David A. Huffman: A method for the construction of minimum-redundancy codes. Proceedings of the I.R.E., pp , optimální prefixové, vyplývá z vlastností optimálního prefixového kódu (viz Věta dříve) a následujícího Lemma Jan Outrata (Univerzita Palackého v Olomouci) Komprese dat Olomouc, únor březen / 23

7 Huffmanovo kódování David A. Huffman: A method for the construction of minimum-redundancy codes. Proceedings of the I.R.E., pp , optimální prefixové, vyplývá z vlastností optimálního prefixového kódu (viz Věta dříve) a následujícího Lemma Lemma Nechť C : A B +, kde A = {a 1,..., a n }, n m 2, a i = a i A, i < n, pravděpodobnosti výskytu symbolů a i jsou p i = p i, i < n, p n = n j=n m +1 p j, A = {a 1,..., a n }, n = n + m 1, s pravděpodobnostmi výskytu p i symbolů a i, kde p n m +1,..., p n jsou nejmenší, m {2, 3,..., m}, m n (mod (m 1)), B = {b 1,..., b m }, je optimální prefixový kód ze zdrojové abecedy A do kódové abecedy B. Pak kód C : A B +, C(a i ) = C (a i ), i < n, C(a n m +j) = C (a n )b j, j m, ze zdrojové abecedy A do kódové abecedy B je také optimální. Jan Outrata (Univerzita Palackého v Olomouci) Komprese dat Olomouc, únor březen / 23

8 Huffmanovo kódování Statický a semi-adaptivní model Input : abeceda A = {a 1,..., a n }, pravděpodobnosti {p 1,..., p n } výskytu a i Uses : zdrojová abeceda A = {a 1,..., a n }, pravděpodobnosti {p 1,..., p n } výskytu a i, kódová abeceda B = {b 1,..., b m } Output : kód C(A ) setřiď a i a p i tak, že p i p j pro i < j; if n m then C(a i ) b i pro i = 1,..., n ; else if n = n then m (n 2) mod (m 1) + 2; else m = m C(A ) zavolej se rekurzivně s A \ {a n m +2,..., a n }, {p 1,..., p n m, n i=n m +1 p i }; C(a n m +i ) C(a n m +1 )b i pro i = 1,..., m ; Run with: A = {a 1,..., a n }, {p 1,..., p n } PRIKLAD: A = {a, b, r, u, o}, p(a) = 7 20, p(b) = 5 20, p(r) = 5 20, p(u) = 2 20, p(o) = 1 20, m = 2, vstup barbaraabarboraubaru, m = 3, vstup??, redundance Jan Outrata (Univerzita Palackého v Olomouci) Komprese dat Olomouc, únor březen / 23

9 Huffmanovo kódování Proč m a ne m? Protože při tomto počtu nejdelších kódových slov bude u všech kratších kódových slov a prefixů využito všech m symbolů kódové abecedy a kód má být optimální prefixový. Huffmanův strom T H (A) = V H (A), E H (V H (A)) = reprezentace Huffmanova kódu C(A) formou m-árního stromu: listové uzly v l (a i ) V H (A) pro symboly a i A, i = 1,..., n vnitřní uzly v(a n ) V H(A) pro všechny a n (ve všech rekurzivních voláních) + kořenový uzel v r V H (A) hrany v(a n ), v(a n m +i ) b i E H (V H (A)) a v r, v(a i ) b i E H (V H (A)) označené b i B z uzlu pro a n následujícího rekurzivního volání do uzlů pro a n m +i, i = 1,..., m při n > m a z kořenového uzlu do uzlů pro a i, i = 1,..., n při n m C(a) = zřetězení b B označujících hrany na cestě stromem z v r do v l (a) PRIKLAD Jan Outrata (Univerzita Palackého v Olomouci) Komprese dat Olomouc, únor březen / 23

10 Huffmanovo kódování minimální rozdíly v délkách kódových slov (pro jejich minimální bufferování při pevné rychlosti přenosu/ukládání): třídění a i a p i tak, že původní a n bude po zatřídění a i, i < j pro všechna j, pro která p j = p i m = 2 a p i > n j=i+2 p j, p i p j pro i < j (speciálně p i = 2 i, i = 1,..., n 1 a p n = 2 (n 1) ) unární číselný kód i 1 pro a i, i = 1,..., n 1 a n I pro a n m = 2 a p 1 < p n 1 + p n, p i p j pro i < j (speciálně p i = 1 n ) blokový kód délky k = log 2 n pro a 1,..., a 2 k a délky k + 1 pro a 2 k +1,..., a n PRIKLADY Jan Outrata (Univerzita Palackého v Olomouci) Komprese dat Olomouc, únor březen / 23

11 Huffmanovo kódování Adaptivní model binární kód triviálně: znovuvytváření kódu pro každý další symbol na vstupu výpočetně náročné Faller, Gallager, Knuth, Vitter vlastnost Huffmanova stromu (tzv. sibling property): p n... p n m +1 p n... p n m +1 následujícího rekurzivního volání musí stále platit v následujících algoritmech zajištěno pomocí (aktuálního) počtu n(x) výskytů symbolu x a čísla i(v(x)), v(x) V H (A) speciální (escape) symbol e značící neexistující/první výskyt symbolu T H (A) {v l (e)},, C(e) prázdný řetězec; n(e) 0; i(v l (e)) 1; while načti ze vstupu symbol a A do if v l (a) V H (A) then zapiš na výstup C(e) a kód a; else zapiš na výstup C(a); zavolej následující algoritmus; Jan Outrata (Univerzita Palackého v Olomouci) Komprese dat Olomouc, únor březen / 23

12 Huffmanovo kódování Adaptivní model binární kód if v l (a) V H (A) then V H (A) V H (A) {v l (a), v(x)}; n(a) n(x) 1; i(v(x)) i(v l (e)); i(v l (a)) i(v(x)) + 1; i(v l (e)) i(v l (a)) + 1; E H (V H (A)) (E H (V H (A)) \ { u, v l (e) b }) { v(x), v l (e) I, v(x), v l (a) 0, u, v(x) b }; else v(x) v l (a); while v(x) v r do if v(x), v l (e) E H (V H (A)) then najdi v(y) takové, že i(v(y)) < i(v(z)), v(z) V H (A), n(y) = n(z); if v(y) v(x) v(y), v(x) E H (V H (A)) then v v(x); v(x) v(y); v(y) v; i i(v(x)); i(v(x)) i(v(y)); i(v(y)) i; n(x) n(x) + 1; v(x) u, u, v(x) E H (V H (A)); n(x) n(x) + 1; PRIKLAD Jan Outrata (Univerzita Palackého v Olomouci) Komprese dat Olomouc, únor březen / 23

13 Huffmanovo kódování Adaptivní model binární kód T H (A) {v l (e)}, ; n(e) 0; i(v l (e)) 1; while není konec vstupu do v v r ; while v v l (a) do načti ze vstupu symbol b B; v u, v, u b E H (V H (A)); if a = e then načti ze vstupu kód symbolu a A; dekóduj kód a a zapiš na výstup a; else zapiš na výstup symbol a A; zavolej předchozí algoritmus; PRIKLAD Jan Outrata (Univerzita Palackého v Olomouci) Komprese dat Olomouc, únor březen / 23

14 Huffmanovo kódování Aplikace často v návaznosti na jiné metody, např. na diferenční kódování (obraz, zvuk) Jan Outrata (Univerzita Palackého v Olomouci) Komprese dat Olomouc, únor březen / 23

15 Aritmetické kódování průměrná délka optimálního prefixového kódu, např. Huffmanova, je minimálně rovna entropii zdroje a nejvýše o 1 větší než entropie (Shannon noisless coding theorem, viz Věta dříve) platí těsnější, nejvýše o nejvyšší pravděpodobnost p max 0.5 zdrojových symbolů nebo o p max , p max < 0.5 změna zdrojové abecedy na k-tice (nezávislých) symbolů z původní abecedy A pro přiblížení se entropii ale zvyšuje velikost abecedy, a tím i Huffmanova stromu, na A k, např. pro p 1 = 0.95, p 2 = 0.03, p 3 = 0.02 je entropie přibližně b/symbol, průměrná délka Huffmanova kódu 1.05 b/symbol, kódu pro 9 dvojic symbolů přibližně b/symbol a kódu pro??tic symbolů přibližně? b/symbol! výhodnější kódovat zdrojová slova než samostatné symboly ale nevytvářet kód pro všechna slova dané délky, např. Huffmanův! kód pouze pro zdrojová slova na vstupu vhodné pro malé zdrojové abecedy, např. binární, s velkými rozdíly v pravděpodobnostech symbolů = kódování zdrojových slov do čísel z podintervalů [0, 1) kódovaných do binárního kódu Jan Outrata (Univerzita Palackého v Olomouci) Komprese dat Olomouc, únor březen / 23

16 Aritmetické kódování Pasco, Rissanen, 1976, Rissanen, Langdon, 1979 využití distribuční funkce/kumulované pravděpodobnosti (cumulative distribution function) F X (i) = i k=1 P (X = k), P (X = k) = P (a k ) = p k zdroje (nezávisle se stejným pravděpodobnostním rozložením se vyskytujících) symbolů z abecedy A = {a 1, a 2,..., a n } jako náhodných proměnných X(a i ) = i, F X (0) = 0 l p 0; u p 1; while načti ze vstupu symbol a i A do l l p + (u p l p )F X (i 1); u l p + (u p l p )F X (i); l p l; u p u; // přeškálování [l, u) zapiš na výstup C = binární reprezentace jakéhokoliv čísla z [l, u) s minimem bitů; PRIKLAD Jan Outrata (Univerzita Palackého v Olomouci) Komprese dat Olomouc, únor březen / 23

17 Aritmetické kódování C(A + ) je prefixový binární kód ze zdrojových slov nad abecedou A, průměrná délka pro slova délky k je H(A k ) l(c(a k )) < H(A k ) + 1 průměrná délka na symbol z A je H(A) l < H(A) + 1 k pro dekódování je nutné znát délku L kódovaného zdrojového slova uložit spolu s komprimovanými daty nebo speciální zdrojový symbol značící konec vstupu l p 0; u p 1; j 0; načti ze vstupu binární reprezentaci čísla x [0, 1); while j < L do najdi i {1,..., n} takové, že F X(i 1) x lp u p l p < F X(i); zapiš na výstup symbol a i A; j j + 1; if j < L then l l p + (u p l p)f X(i 1); u l p + (u p l p)f X(i); l p l; u p u; // přeškálování [l, u) PRIKLAD Jan Outrata (Univerzita Palackého v Olomouci) Komprese dat Olomouc, únor březen / 23

18 Aritmetické kódování u kódování i dekódování žádoucí průběžný výstup během čtení vstupu, ne až po načtení celého vstupu kód čísla z [l, u) průběžně [l, u) se s délkou zdrojového slova zmenšuje, ale uložení necelých čísel je v praxi s omezenou přesností omezení délky slova nebo přeškálování [l, u): 1 u < 0.5: x 2x, x {l, u} 2 l 0.5: x 2(x 0.5), x {l, u} 3 l 0.25 u < 0.75: x 2(x 0.25), x {l, u} c-krát c-krát c-krát c-krát {}}{{}}{{}}{{}}{ případy = a = Jan Outrata (Univerzita Palackého v Olomouci) Komprese dat Olomouc, únor březen / 23

19 Aritmetické kódování c 0; // while... while u < 0.5 l 0.5 (l 0.25 u < 0.75) do if l 0.25 u < 0.75 then // případ 3 c c + 1; d 0.25; else if u < 0.5 then // případ 1 b 0; d 0; else // případ 2 b I; d 0.5; zapiš na výstup b; while c > 0 do zapiš na výstup inverzi b; c c 1; l 2(l d); u 2(u d); zapiš na výstup C = I; Jan PRIKLAD Outrata (Univerzita Palackého v Olomouci) Komprese dat Olomouc, únor březen / 23

20 Aritmetické kódování načti ze vstupu log 2 p min bitů binární reprezentace čísla x [0, 1), p min nejnižší pravděpodobnost zdrojových symbolů; // while... while u < 0.5 l 0.5 (l 0.25 u < 0.75) do if l 0.25 u < 0.75 then d 0.25; else if u < 0.5 then d 0; else d 0.5; l 2(l d); u 2(u d); načti ze vstupu další bit b anebo b 0; x 2(x d) + b 1 2 log 2 p min ; PRIKLAD Jan Outrata (Univerzita Palackého v Olomouci) Komprese dat Olomouc, únor březen / 23

21 Aritmetické kódování Celočíselná implementace zobrazení [0, 1) na [0, M 1) (0.25 M 4, 0.5 M 2, M 4 ), M 4 1 p min, M typicky 2 8, 2 16, 2 32 nebo 2 64 podle datového typu pro čísla z [0, M 1) odhad F X (i) s frekvencemi/četnostmi f(a k ) = n(a k) výskytu symbolu a A j=1 n(a k A j) místo pravděpodobností P (a k ) l l p + (u p l p + 1)F X (i 1), u l p + (u p l p + 1)F X (i) 1, u 2(u d) + 1, x 2(x d) + b kvůli celočíselné aritmetice načti ze vstupu log 2 M bitů binární reprezentace čísla x [0, M 1) x l p+1 u p l p+1, při M = 2 k pro nějaké k 2: u < M 2 nejvýznamnější bit l i u je 0 l M 2 nejvýznamnější bit l i u je I l M 4 u < 3M 4 druhý nejvýznamnější bit l je I a u je 0 2x a 2(x M 2 ) bitový posun x doleva o 1 bit, 2(x M 4 ) navíc inverze (nového) nejvýznamnějšího bitu PRIKLAD Jan Outrata (Univerzita Palackého v Olomouci) Komprese dat Olomouc, únor březen / 23

22 Aritmetické kódování Adaptivní model průběžný odhad F X (i) s frekvencemi/četnostmi f(a k ) = n(a k) A výskytu symbolu j=1 n(a j) a k A místo pravděpodobností P (a k ) inicializace na známý odhad nebo počet n(a) = 1 výskytu každého symbolu a A inkrementace n(a) po (de)kódování symbolu a uložení p min spolu s komprimovanými daty, u celočíselné implementace nesmí p min klesnout pod 4 1 M v praxi n(a j) n(a j) 2 pro n(a j ) > 1 při A j=1 n(a j) = M 4 Aplikace ve standardech komprese multimediálních dat (obraz, video, zvuk) Jan Outrata (Univerzita Palackého v Olomouci) Komprese dat Olomouc, únor březen / 23

23 Aritmetické kódování QM kódování = modifikované adaptivní binární aritmetické kódování (Q kódování, skew kódování), tj. pro binární zdrojovou abecedu s adaptivním modelem A = u l místo u: l l p + A p F X (i 1) a A A p p i místo 2 symbolů A, a 1 = 0 a a 2 = I, a 1 = více (MPS) a a 2 = méně (LPS) pravděpodobný symbol s průběžně odhadovanými frekvencemi/četnostmi 1 q a q výskytu l l p a A A p (1 q) pro MPS l l p + A p (1 q) a A A p q pro LPS x l p A p < 1 q pro MPS a 1 q pro LPS potlačení násobení (i pro nebinární zdrojové abecedy) udržování hodnoty A v [0.75, 1.5) a zanedbání násobení A p l l p a A A p q pro MPS l l p + A p q a A q pro LPS x l p < 1 q pro MPS a 1 q pro LPS přeškálování l, A: A < 0.75: A 2A, l 2l pro l < 0.5 a l 2(l 0.5) pro l 0.5 Jan Outrata (Univerzita Palackého v Olomouci) Komprese dat Olomouc, únor březen / 23

24 Aritmetické kódování QM kódování while A < 0.75 do if l < 0.5 then b 0; d 0; else b I; d 0.5; zapiš na výstup b; l 2(l d); A 2A; zapiš na výstup C = I; načti ze vstupu log 2 q bitů binární reprezentace čísla x [0, 1); // while... while A < 0.75 do if l < 0.5 then d 0; else d 0.5; l 2(l d); A 2A; načti ze vstupu další bit b anebo b 0; 1 x 2(x d) + b ; 2 log 2 q Jan PRIKLAD Outrata (Univerzita Palackého v Olomouci) Komprese dat Olomouc, únor březen / 23

25 Aritmetické kódování QM kódování inicializace q = 0.5 a aktualizace q podle tabulky hodnot při přeškálování, ne po (de)kódování každého symbolu při častějším výskytu LPS než MPS, q > A q, prohození symbolů včetně aktuálních hodnot l a A, při přeškálování celočíselná implementace: zobrazení [0, 1.5) na [0, M 1) (0.25 M 6, 0.5 M 3, 0.75 M 2, 1 2M 3 ), M q, i pro hodnoty q použití ve standardu JPEG (JBIG) komprese obrazu Jan Outrata (Univerzita Palackého v Olomouci) Komprese dat Olomouc, únor březen / 23

Komprese dat. Jan Outrata KATEDRA INFORMATIKY UNIVERZITA PALACKÉHO V OLOMOUCI. přednášky

Komprese dat. Jan Outrata KATEDRA INFORMATIKY UNIVERZITA PALACKÉHO V OLOMOUCI. přednášky Komprese dat Jan Outrata KATEDRA INFORMATIKY UNIVERZITA PALACKÉHO V OLOMOUCI přednášky Obsah 1 Úvod Potřebné pojmy z teorie informace a kódování (entropie), taxonomie kompresních metod, modely dat, základní

Více

Komprese dat. Jan Outrata KATEDRA INFORMATIKY UNIVERZITA PALACKÉHO V OLOMOUCI. přednášky

Komprese dat. Jan Outrata KATEDRA INFORMATIKY UNIVERZITA PALACKÉHO V OLOMOUCI. přednášky Komprese dat Jan Outrata KATEDRA INFORMATIKY UNIVERZITA PALACKÉHO V OLOMOUCI přednášky Slovníkové metody Jan Outrata (Univerzita Palackého v Olomouci) Komprese dat Olomouc, únor březen 2016 1 / 23 Slovníkové

Více

Komprese dat (Komprimace dat)

Komprese dat (Komprimace dat) Komprese dat (Komprimace dat) Př.: zakódovat slovo ARARAUNA K K 2 četnost absolutní relativní A 4,5 N,25 R 2,25 U,25 kód K : kód K 2 :... 6 bitů... 4 bitů prefixový kód: žádné kódové slovo není prefixem

Více

Algoritmy komprese dat

Algoritmy komprese dat Algoritmy komprese dat Úvod do teorie informace Claude Shannon (1916 2001) 5.11.2014 NSWI072-7 Teorie informace Informace Co je to informace? Můžeme informaci měřit? Existují teoretické meze pro délku

Více

Komprese dat. Jan Outrata KATEDRA INFORMATIKY UNIVERZITA PALACKÉHO V OLOMOUCI. přednášky

Komprese dat. Jan Outrata KATEDRA INFORMATIKY UNIVERZITA PALACKÉHO V OLOMOUCI. přednášky Komprese dat Jan Outrata KATEDRA INFORMATIKY UNIVERZITA PALACKÉHO V OLOMOUCI přednášky Literatura Sayood K.: Introduction to Data Compression, Fourth Edition. Morgan Kaufmann, 2012. ISBN 978-0124157965

Více

KOMPRESE OBRAZŮ. Václav Hlaváč. Fakulta elektrotechnická ČVUT v Praze katedra kybernetiky, Centrum strojového vnímání. hlavac@fel.cvut.

KOMPRESE OBRAZŮ. Václav Hlaváč. Fakulta elektrotechnická ČVUT v Praze katedra kybernetiky, Centrum strojového vnímání. hlavac@fel.cvut. 1/24 KOMPRESE OBRAZŮ Václav Hlaváč Fakulta elektrotechnická ČVUT v Praze katedra kybernetiky, Centrum strojového vnímání hlavac@fel.cvut.cz http://cmp.felk.cvut.cz/ hlavac KOMPRESE OBRAZŮ, ÚVOD 2/24 Cíl:

Více

KOMPRESE OBRAZŮ. Václav Hlaváč, Jan Kybic. Fakulta elektrotechnická ČVUT v Praze katedra kybernetiky, Centrum strojového vnímání.

KOMPRESE OBRAZŮ. Václav Hlaváč, Jan Kybic. Fakulta elektrotechnická ČVUT v Praze katedra kybernetiky, Centrum strojového vnímání. 1/25 KOMPRESE OBRAZŮ Václav Hlaváč, Jan Kybic Fakulta elektrotechnická ČVUT v Praze katedra kybernetiky, Centrum strojového vnímání hlavac@fel.cvut.cz http://cmp.felk.cvut.cz/ hlavac KOMPRESE OBRAZŮ, ÚVOD

Více

Kompresní techniky. David Bařina. 15. února David Bařina Kompresní techniky 15. února / 37

Kompresní techniky. David Bařina. 15. února David Bařina Kompresní techniky 15. února / 37 Kompresní techniky David Bařina 15. února 2013 David Bařina Kompresní techniky 15. února 2013 1 / 37 Obsah 1 Pojmy 2 Jednoduché techniky 3 Entropická kódování 4 Slovníkové metody 5 Závěr David Bařina Kompresní

Více

Teorie informace: řešené příklady 2014 Tomáš Kroupa

Teorie informace: řešené příklady 2014 Tomáš Kroupa Teorie informace: řešené příklady 04 Tomáš Kroupa Kolik otázek je třeba v průměru položit, abychom se dozvěděli datum narození člověka (den v roce), pokud odpovědi jsou pouze ano/ne a tázaný odpovídá pravdivě?

Více

Informatika Kódování. Obsah. Kód. Radim Farana Podklady předmětu Informatika pro akademický rok 2007/2008

Informatika Kódování. Obsah. Kód. Radim Farana Podklady předmětu Informatika pro akademický rok 2007/2008 Informatika Kódování Radim Farana Podklady předmětu Informatika pro akademický rok 27/28 Obsah Základy pojmy diskrétních kódů. Druhy kódů. Nejkratší kódy. Detekce chyb, Hammingova vdálenost. Kontrolní

Více

Teorie informace II: obtížnější řešené příklady 2014 Tomáš Kroupa

Teorie informace II: obtížnější řešené příklady 2014 Tomáš Kroupa Teorie informace II: obtížnější řešené příklady 204 Tomáš Kroupa. Máme n mincí, z nichž nejvýše jedna je falešná. Pozná se podle toho, že má jinou hmotnost než ostatní mince (ty váží všechny stejně). Mince

Více

Dynamické datové struktury III.

Dynamické datové struktury III. Dynamické datové struktury III. Halda. Tomáš Bayer bayertom@natur.cuni.cz Katedra aplikované geoinformatiky a kartografie, Přírodovědecká fakulta UK. Tomáš Bayer bayertom@natur.cuni.cz (Katedra aplikované

Více

Algoritmy komprese dat

Algoritmy komprese dat Algoritmy komprese dat Slovníkové metody Phillip Walter Katz (1962-2000) 2.12.2015 NSWI072-10 Slovníkové metody komprese dat Idea opakující se fráze uloženy do slovníku výskyty fráze v textu ukazatel do

Více

Binární vyhledávací stromy pokročilé partie

Binární vyhledávací stromy pokročilé partie Binární vyhledávací stromy pokročilé partie KMI/ALS lekce Jan Konečný 30.9.204 Literatura Cormen Thomas H., Introduction to Algorithms, 2nd edition MIT Press, 200. ISBN 0-262-5396-8 6, 3, A Knuth Donald

Více

Dynamické programování

Dynamické programování Dynamické programování prof. Ing. Pavel Tvrdík CSc. Katedra počítačových systémů Fakulta informačních technologií České vysoké učení technické v Praze c Pavel Tvrdík, 2010 Efektivní algoritmy (BI-EFA)

Více

Testování prvočíselnosti

Testování prvočíselnosti Dokumentace zápočtového programu z Programování II (NPRG031) Testování prvočíselnosti David Pěgřímek http://davpe.net Úvodem V různých oborech (například v kryptografii) je potřeba zjistit, zda je číslo

Více

Úvod do teorie informace

Úvod do teorie informace PEF MZLU v Brně 24. září 2007 Úvod Výměna informací s okolím nám umožňuje udržovat vlastní existenci. Proces zpracování informací je trvalý, nepřetržitý, ale ovlivnitelný. Zabezpečení informací je spojeno

Více

Jak v Javě primitivní datové typy a jejich reprezentace. BD6B36PJV 002 Fakulta elektrotechnická České vysoké učení technické

Jak v Javě primitivní datové typy a jejich reprezentace. BD6B36PJV 002 Fakulta elektrotechnická České vysoké učení technické Jak v Javě primitivní datové typy a jejich reprezentace BD6B36PJV 002 Fakulta elektrotechnická České vysoké učení technické Obsah Celočíselný datový typ Reálný datový typ Logický datový typ, typ Boolean

Více

ZÁPADOČESKÁ UNIVERZITA V PLZNI

ZÁPADOČESKÁ UNIVERZITA V PLZNI ZÁPADOČESKÁ UNIVERZITA V PLZNI FAKULTA PEDAGOGICKÁ KATEDRA VÝPOČETNÍ A DIDAKTICKÉ TECHNIKY KOMPONENTY PRO VÝUKOVÝ ELEKTRONICKÝ MATERIÁL - KOMPRESE V OBLASTI POČÍTAČŮ BAKALÁŘSKÁ PRÁCE Lukáš Smutný Přírodovědná

Více

Aplikovaná informatika. Podklady předmětu Aplikovaná informatika pro akademický rok 2006/2007 Radim Farana. Obsah. Obsah předmětu

Aplikovaná informatika. Podklady předmětu Aplikovaná informatika pro akademický rok 2006/2007 Radim Farana. Obsah. Obsah předmětu 1 Podklady předmětu pro akademický rok 2006/2007 Radim Farana Obsah 2 Obsah předmětu, Požadavky kreditového systému, Datové typy jednoduché, složené, Programové struktury, Předávání dat. Obsah předmětu

Více

Základní datové struktury III: Stromy, haldy

Základní datové struktury III: Stromy, haldy Základní datové struktury III: Stromy, haldy prof. Ing. Pavel Tvrdík CSc. Katedra počítačových systémů Fakulta informačních technologií České vysoké učení technické v Praze c Pavel Tvrdík, 2010 Efektivní

Více

Kódy pro odstranění redundance, pro zabezpečení proti chybám. Demonstrační cvičení 5 INP

Kódy pro odstranění redundance, pro zabezpečení proti chybám. Demonstrační cvičení 5 INP Kódy pro odstranění redundance, pro zabezpečení proti chybám Demonstrační cvičení 5 INP Princip kódování, pojmy Tady potřebujeme informaci zabezpečit, utajit apod. zpráva 000 111 000 0 1 0... kodér dekodér

Více

Stromy, haldy, prioritní fronty

Stromy, haldy, prioritní fronty Stromy, haldy, prioritní fronty prof. Ing. Pavel Tvrdík CSc. Katedra počítačů FEL České vysoké učení technické DSA, ZS 2008/9, Přednáška 6 http://service.felk.cvut.cz/courses/x36dsa/ prof. Pavel Tvrdík

Více

Informační systémy ve zdravotnictví

Informační systémy ve zdravotnictví Informační systémy ve zdravotnictví ZS 2008/2009 Zoltán Szabó Tel.: (+420) 312 608 207 E-mail: szabo@fbmi.cvut.cz č.dv.: 504, 5.p Dnešní přednáška Kódování, komprese 2 1 Komprese dat Cíl komprese: redukovat

Více

- znakové konstanty v apostrofech, např. a, +, (znak mezera) - proměnná zabírá 1 byte, obsahuje kód příslušného znaku

- znakové konstanty v apostrofech, např. a, +, (znak mezera) - proměnná zabírá 1 byte, obsahuje kód příslušného znaku Znaky - standardní typ char var Z, W: char; - znakové konstanty v apostrofech, např. a, +, (znak mezera) - proměnná zabírá 1 byte, obsahuje kód příslušného znaku - v TP (často i jinde) se používá kódová

Více

B3B33ALP - Algoritmy a programování - Zkouška z předmětu B3B33ALP. Marek Boháč bohacm11

B3B33ALP - Algoritmy a programování - Zkouška z předmětu B3B33ALP. Marek Boháč bohacm11 333LP - lgoritmy a programování - Zkouška z předmětu 333LP Jméno Příjmení Už. jméno Marek oháč bohacm11 Zkouškový test Otázka 1 Jaká je hodnota proměnné count po vykonání následujícího kódu: data=[4,4,5,5,6,6,6,7,7,7,7,8,8]

Více

B3B33ALP - Algoritmy a programování - Zkouška z předmětu B3B33ALP. Marek Boháč bohacm11

B3B33ALP - Algoritmy a programování - Zkouška z předmětu B3B33ALP. Marek Boháč bohacm11 Jméno Příjmení Už. jméno Marek oháč bohacm11 Zkouškový test Otázka 1 Jaká je hodnota proměnné count po vykonání následujícího kódu: data=[4,4,5,5,6,6,6,7,7,7,7,8,8] count=0 for i in range(1,len(data)):

Více

DIPLOMOVÁ PRÁCE. Petr Uzel Entropické kodéry

DIPLOMOVÁ PRÁCE. Petr Uzel Entropické kodéry Univerzita Karlova v Praze Matematicko-fyzikální fakulta DIPLOMOVÁ PRÁCE Petr Uzel Entropické kodéry Katedra softwarového inženýrství Vedoucí diplomové práce: Mgr. Jan Lánský, Ph.D. Studijní program: Informatika,

Více

KOMPRESE DAT ARNOŠT VEČERKA KATEDRA INFORMATIKY PŘÍRODOVĚDECKÁ FAKULTA UNIVERZITA PALACKÉHO

KOMPRESE DAT ARNOŠT VEČERKA KATEDRA INFORMATIKY PŘÍRODOVĚDECKÁ FAKULTA UNIVERZITA PALACKÉHO KATEDRA INFORMATIKY PŘÍRODOVĚDECKÁ FAKULTA UNIVERZITA PALACKÉHO KOMPRESE DAT ARNOŠT VEČERKA VÝVOJ TOHOTO UČEBNÍHO TEXTU JE SPOLUFINANCOVÁN EVROPSKÝM SOCIÁLNÍM FONDEM A STÁTNÍM ROZPOČTEM ČESKÉ REPUBLIKY

Více

Technická kybernetika. Obsah. Principy zobrazení, sběru a uchování dat. Měřicí řetězec. Principy zobrazení, sběru a uchování dat

Technická kybernetika. Obsah. Principy zobrazení, sběru a uchování dat. Měřicí řetězec. Principy zobrazení, sběru a uchování dat Akademický rok 2016/2017 Připravil: Radim Farana Technická kybernetika Principy zobrazení, sběru a uchování dat 2 Obsah Principy zobrazení, sběru a uchování dat strana 3 Snímač Měřicí řetězec Měřicí obvod

Více

Vyhledávání v textu. doc. Mgr. Jiří Dvorský, Ph.D. Katedra informatiky Fakulta elektrotechniky a informatiky VŠB TU Ostrava

Vyhledávání v textu. doc. Mgr. Jiří Dvorský, Ph.D. Katedra informatiky Fakulta elektrotechniky a informatiky VŠB TU Ostrava Vyhledávání v textu doc. Mgr. Jiří Dvorský, Ph.D. Katedra informatiky Fakulta elektrotechniky a informatiky VŠB TU Ostrava Prezentace ke dni 9. března 209 Jiří Dvorský (VŠB TUO) Vyhledávání v textu 402

Více

TGH07 - Chytré stromové datové struktury

TGH07 - Chytré stromové datové struktury TGH07 - Chytré stromové datové struktury Jan Březina Technical University of Liberec 1. dubna 2014 Prioritní fronta Datová struktura s operacemi: Odeber Minum (AccessMin, DeleteMin) - vrat prvek s minimálním

Více

Reprezentace aritmetického výrazu - binární strom reprezentující aritmetický výraz

Reprezentace aritmetického výrazu - binární strom reprezentující aritmetický výraz Reprezentace aritmetického výrazu - binární strom reprezentující aritmetický výraz (2 + 5) * (13-4) * + - 2 5 13 4 - listy stromu obsahují operandy (čísla) - vnitřní uzly obsahují operátory (znaménka)

Více

Select sort: krok 1: krok 2: krok 3: atd. celkem porovnání. výběr nejmenšího klíče z n prvků vyžaduje 1 porovnání

Select sort: krok 1: krok 2: krok 3: atd. celkem porovnání. výběr nejmenšího klíče z n prvků vyžaduje 1 porovnání Select sort: krok 1: výběr klíče z n prvků vyžaduje 1 porovnání krok 2: výběr klíče z 1 prvků vyžaduje 2 porovnání krok 3: výběr klíče z 2 prvků vyžaduje 3 porovnání atd. celkem porovnání Zlepšení = použít

Více

1. Převeďte dané číslo do dvojkové, osmičkové a šestnáctkové soustavy: a) 759 10 b) 2578 10

1. Převeďte dané číslo do dvojkové, osmičkové a šestnáctkové soustavy: a) 759 10 b) 2578 10 Úlohy- 2.cvičení 1. Převeďte dané číslo do dvojkové, osmičkové a šestnáctkové soustavy: a) 759 10 b) 2578 10 2. Převeďte dané desetinné číslo do dvojkové soustavy (DEC -> BIN): a) 0,8125 10 b) 0,35 10

Více

Vyhledávání. doc. Mgr. Jiří Dvorský, Ph.D. Katedra informatiky Fakulta elektrotechniky a informatiky VŠB TU Ostrava. Prezentace ke dni 21.

Vyhledávání. doc. Mgr. Jiří Dvorský, Ph.D. Katedra informatiky Fakulta elektrotechniky a informatiky VŠB TU Ostrava. Prezentace ke dni 21. Vyhledávání doc. Mgr. Jiří Dvorský, Ph.D. Katedra informatiky Fakulta elektrotechniky a informatiky VŠB TU Ostrava Prezentace ke dni 21. září 2018 Jiří Dvorský (VŠB TUO) Vyhledávání 242 / 433 Osnova přednášky

Více

Informace v počítači. Výpočetní technika I. Ing. Pavel Haluza ústav informatiky PEF MENDELU v Brně haluza@mendelu.cz

Informace v počítači. Výpočetní technika I. Ing. Pavel Haluza ústav informatiky PEF MENDELU v Brně haluza@mendelu.cz .. Informace v počítači Ing. Pavel Haluza ústav informatiky PEF MENDELU v Brně haluza@mendelu.cz Osnova přednášky Úvod do teorie informace základní pojmy měření množství informace ve zprávě přenos a kódování

Více

AUTOMATY A GRAMATIKY. Pavel Surynek. Kontextové uzávěrové vlastnosti Turingův stroj Rekurzivně spočetné jazyky Kódování, enumerace

AUTOMATY A GRAMATIKY. Pavel Surynek. Kontextové uzávěrové vlastnosti Turingův stroj Rekurzivně spočetné jazyky Kódování, enumerace AUTOMATY A 11 GRAMATIKY Pavel Surynek Univerzita Karlova v Praze Matematicko-fyzikální fakulta Katedra teoretické informatiky a matematické logiky Kontextové uzávěrové vlastnosti Turingův stroj Rekurzivně

Více

Data v počítači. Informační data. Logické hodnoty. Znakové hodnoty

Data v počítači. Informační data. Logické hodnoty. Znakové hodnoty Data v počítači Informační data (elementární datové typy) Logické hodnoty Znaky Čísla v pevné řádové čárce (celá čísla) v pohyblivé (plovoucí) řád. čárce (reálná čísla) Povelová data (instrukce programu)

Více

Osnova přednášky. Informace v počítači. Interpretace dat. Údaje, data. Úvod do teorie informace. Výpočetní technika I. Ochrana dat

Osnova přednášky. Informace v počítači. Interpretace dat. Údaje, data. Úvod do teorie informace. Výpočetní technika I. Ochrana dat Osnova přednášky 2/44 Informace v počítači Ing Pavel Haluza ústav informatiky PEF MENDELU v Brně haluza@mendelucz základní pojmy měření množství informace ve zprávě přenos a kódování dat parita kontrolní

Více

Vzdálenost jednoznačnosti a absolutně

Vzdálenost jednoznačnosti a absolutně Vzdálenost jednoznačnosti a absolutně bezpečné šifry Andrew Kozlík KA MFF UK Značení Pracujeme s šifrou (P, C, K, E, D), kde P je množina otevřených textů, C je množina šifrových textů, K je množina klíčů,

Více

Automaty a gramatiky(bi-aag) Formální překlady. 5. Překladové konečné automaty. h(ε) = ε, h(xa) = h(x)h(a), x, x T, a T.

Automaty a gramatiky(bi-aag) Formální překlady. 5. Překladové konečné automaty. h(ε) = ε, h(xa) = h(x)h(a), x, x T, a T. BI-AAG (2011/2012) J. Holub: 5. Překladové konečné automaty p. 2/41 Formální překlady BI-AAG (2011/2012) J. Holub: 5. Překladové konečné automaty p. 4/41 Automaty a gramatiky(bi-aag) 5. Překladové konečné

Více

Prioritní fronta, halda

Prioritní fronta, halda Prioritní fronta, halda Priority queue, heap Jan Kybic http://cmp.felk.cvut.cz/~kybic kybic@fel.cvut.cz 2016 2018 1 / 26 Prioritní fronta Halda Heap sort 2 / 26 Prioritní fronta (priority queue) Podporuje

Více

Poslední nenulová číslice faktoriálu

Poslední nenulová číslice faktoriálu Poslední nenulová číslice faktoriálu Kateřina Bambušková BAM015, I206 Abstrakt V tomto článku je popsán a vyřešen problém s určením poslední nenulové číslice faktoriálu přirozeného čísla N. Celý princip

Více

Kompresní metody první generace

Kompresní metody první generace Kompresní metody první generace 998-20 Josef Pelikán CGG MFF UK Praha pepca@cgg.mff.cuni.cz http://cgg.mff.cuni.cz/~pepca/ Stillg 20 Josef Pelikán, http://cgg.mff.cuni.cz/~pepca / 32 Základní pojmy komprese

Více

Vyhledávání. doc. Mgr. Jiří Dvorský, Ph.D. Katedra informatiky Fakulta elektrotechniky a informatiky VŠB TU Ostrava. Prezentace ke dni 12.

Vyhledávání. doc. Mgr. Jiří Dvorský, Ph.D. Katedra informatiky Fakulta elektrotechniky a informatiky VŠB TU Ostrava. Prezentace ke dni 12. Vyhledávání doc. Mgr. Jiří Dvorský, Ph.D. Katedra informatiky Fakulta elektrotechniky a informatiky VŠB TU Ostrava Prezentace ke dni 12. září 2016 Jiří Dvorský (VŠB TUO) Vyhledávání 201 / 344 Osnova přednášky

Více

Aplikovaná informatika. Podklady předmětu Aplikovaná informatika pro akademický rok 2013/2014 Radim Farana. Obsah. Kybernetika

Aplikovaná informatika. Podklady předmětu Aplikovaná informatika pro akademický rok 2013/2014 Radim Farana. Obsah. Kybernetika 2 Podklady předmětu pro akademický rok 2013/2014 Radim Farana Obsah Základní pojmy z Teorie informace, jednotka informace, informační obsah zprávy, střední délka zprávy, redundance. Přenosový řetězec.

Více

Množinu všech slov nad abecedou Σ značíme Σ * Množinu všech neprázdných slov Σ + Jazyk nad abecedou Σ je libovolná množina slov nad Σ

Množinu všech slov nad abecedou Σ značíme Σ * Množinu všech neprázdných slov Σ + Jazyk nad abecedou Σ je libovolná množina slov nad Σ Abecedou se rozumí libovolná konečná množina Σ. Prvky abecedy nazýváme znaky (symboly) Slovo (řetězec) v nad abecedou Σ je libovolná konečná posloupnost znaků této abecedy. Prázdné posloupnosti znaků odpovídá

Více

Algoritmizace Dynamické programování. Jiří Vyskočil, Marko Genyg-Berezovskyj 2010

Algoritmizace Dynamické programování. Jiří Vyskočil, Marko Genyg-Berezovskyj 2010 Dynamické programování Jiří Vyskočil, Marko Genyg-Berezovskyj 2010 Rozděl a panuj (divide-and-conquer) Rozděl (Divide): Rozděl problém na několik podproblémů tak, aby tyto podproblémy odpovídaly původnímu

Více

Paralelní grafové algoritmy

Paralelní grafové algoritmy Paralelní grafové algoritmy Značení Minimální kostra grafu Nejkratší cesta z jednoho uzlu Nejkratší cesta mezi všemi dvojicemi uzlů Použité značení Definition Bud G = (V, E) graf. Pro libovolný uzel u

Více

Časová a prostorová složitost algoritmů

Časová a prostorová složitost algoritmů .. Časová a prostorová složitost algoritmů Programovací techniky doc. Ing. Jiří Rybička, Dr. ústav informatiky PEF MENDELU v Brně rybicka@mendelu.cz Hodnocení algoritmů Programovací techniky Časová a prostorová

Více

Algoritmus Minimax. Tomáš Kühr. Projektový seminář 1

Algoritmus Minimax. Tomáš Kühr. Projektový seminář 1 Projektový seminář 1 Základní pojmy Tah = přemístění figury hráče na tahu odpovídající pravidlům dané hry. Při tahu může být manipulováno i s figurami soupeře, pokud to odpovídá pravidlům hry (např. odstranění

Více

TGH07 - Chytré stromové datové struktury

TGH07 - Chytré stromové datové struktury TGH07 - Chytré stromové datové struktury Jan Březina Technical University of Liberec 5. dubna 2017 Prioritní fronta Datová struktura s operacemi: Odeber Minum (AccessMin, DeleteMin) - vrat prvek s minimálním

Více

V kompletním grafu nenastává problém. Každý uzel je soused se zbytkem vrcholů a může s nimi kdykoliv komunikovat.

V kompletním grafu nenastává problém. Každý uzel je soused se zbytkem vrcholů a může s nimi kdykoliv komunikovat. 1 SMĚROVÁNÍ (ROUTING) V kompletním grafu nenastává problém. Každý uzel je soused se zbytkem vrcholů a může s nimi kdykoliv komunikovat. Problém nastává u ostatních grafů: Kritéria dobrého směrování: a)

Více

TGH09 - Barvení grafů

TGH09 - Barvení grafů TGH09 - Barvení grafů Jan Březina Technical University of Liberec 15. dubna 2013 Problém: Najít obarvení států na mapě tak, aby žádné sousední státy neměli stejnou barvu. Motivační problém Problém: Najít

Více

Racionální čísla, operátory, výrazy, knihovní funkce

Racionální čísla, operátory, výrazy, knihovní funkce Příprava studijního programu Informatika je podporována projektem financovaným z Evropského sociálního fondu a rozpočtu hlavního města Prahy. Praha & EU: Investujeme do vaší budoucnosti Racionální čísla,

Více

Teorie kódování aneb jak zhustit informaci

Teorie kódování aneb jak zhustit informaci Teorie kódování aneb jak zhustit informaci Jan Paseka Masarykova Univerzita Brno 13. února 2015 Cíl přednášky V této přednášce se pokusíme o stučný úvod do historie teorie kódování včetně teorie informace

Více

Poslední aktualizace: 14. října 2011

Poslední aktualizace: 14. října 2011 Lexikální analýza Překladače, přednáška č. 2 Šárka Vavrečková Ústav informatiky, FPF SU Opava sarka.vavreckova@fpf.slu.cz http://fpf.slu.cz/ vav10ui Poslední aktualizace: 14. října 2011 Symboly Co je to

Více

Úvod do programovacích jazyků (Java)

Úvod do programovacích jazyků (Java) Úvod do programovacích jazyků (Java) Michal Krátký Katedra informatiky VŠB Technická univerzita Ostrava Úvod do programovacích jazyků (Java), 2007/2008 c 2006 2008 Michal Krátký Úvod do programovacích

Více

Vzdálenost uzlů v neorientovaném grafu

Vzdálenost uzlů v neorientovaném grafu Vzdálenosti a grafy Vzdálenost uzlů v neorientovaném grafu Je dán neorientovaný neohodnocený graf G = (V,E,I) vzdálenost uzlů u a v v neorientovaném souvislém grafu G je délka nejkratší cesty spojující

Více

Teorie informace a kódování (KMI/TIK) Reed-Mullerovy kódy

Teorie informace a kódování (KMI/TIK) Reed-Mullerovy kódy Teorie informace a kódování (KMI/TIK) Reed-Mullerovy kódy Lukáš Havrlant Univerzita Palackého 10. ledna 2014 Primární zdroj Jiří Adámek: Foundations of Coding. Strany 137 160. Na webu ke stažení, heslo:

Více

Hammingovy kódy. dekódování H.kódů. konstrukce. šifrování. Fanova rovina charakteristický vektor. princip generující a prověrková matice

Hammingovy kódy. dekódování H.kódů. konstrukce. šifrování. Fanova rovina charakteristický vektor. princip generující a prověrková matice Hammingovy kódy konstrukce Fanova rovina charakteristický vektor šifrování princip generující a prověrková matice dekódování H.kódů třída lineárních binárních kódů s A n, 3 n = délka kódu, d = distance

Více

Třídění a vyhledávání Searching and sorting

Třídění a vyhledávání Searching and sorting Třídění a vyhledávání Searching and sorting Jan Kybic http://cmp.felk.cvut.cz/~kybic kybic@fel.cvut.cz 2016 1 / 33 Vyhledávání Třídění Třídící algoritmy 2 / 33 Vyhledávání Searching Mějme posloupnost (pole)

Více

Algoritmy výpočetní geometrie

Algoritmy výpočetní geometrie Algoritmy výpočetní geometrie prof. Ing. Pavel Tvrdík CSc. Katedra počítačových systémů Fakulta informačních technologií České vysoké učení technické v Praze c Pavel Tvrdík, 2010 Efektivní algoritmy (BI-EFA)

Více

Reprezentace dat. INP 2008 FIT VUT v Brně

Reprezentace dat. INP 2008 FIT VUT v Brně Reprezentace dat INP 2008 FIT VUT v Brně Pojem kód a typy kódů Definice: Kód je vzájemně jednoznačné přiřazení mezi symboly dvou množin. (Tedy tabulka.) Přehled kódů pro reprezentaci dat: Data můžeme rozdělit

Více

Algoritmy a datové struktury

Algoritmy a datové struktury Algoritmy a datové struktury Stromy 1 / 32 Obsah přednášky Pole a seznamy Stromy Procházení stromů Binární stromy Procházení BS Binární vyhledávací stromy 2 / 32 Pole Hledání v poli metodou půlení intervalu

Více

NPRG030 Programování I, 2018/19 1 / :03:07

NPRG030 Programování I, 2018/19 1 / :03:07 NPRG030 Programování I, 2018/19 1 / 20 3. 12. 2018 09:03:07 Vnitřní třídění Zadání: Uspořádejte pole délky N podle hodnot prvků Měřítko efektivity: * počet porovnání * počet přesunů NPRG030 Programování

Více

Dijkstrův algoritmus

Dijkstrův algoritmus Dijkstrův algoritmus Hledání nejkratší cesty v nezáporně hranově ohodnoceném grafu Necht je dán orientovaný graf G = (V, H) a funkce, která každé hraně h = (u, v) H přiřadí nezáporné reálné číslo označované

Více

BI-PA1 Programování a algoritmizace 1, ZS Katedra teoretické informatiky

BI-PA1 Programování a algoritmizace 1, ZS Katedra teoretické informatiky Příprava studijního programu Informatika je podporována projektem financovaným z Evropského sociálního fondu a rozpočtu hlavního města Prahy. Praha & EU: Investujeme do vaší budoucnosti Vstup, výstup BI-PA1

Více

IB108 Sada 1, Příklad 1 Vypracovali: Tomáš Krajča (255676), Martin Milata (256615)

IB108 Sada 1, Příklad 1 Vypracovali: Tomáš Krajča (255676), Martin Milata (256615) IB108 Sada 1, Příklad 1 ( ) Složitost třídícího algoritmu 1/-Sort je v O n log O (n.71 ). Necht n = j i (velikost pole, které je vstupním parametrem funkce 1/-Sort). Lehce spočítáme, že velikost pole předávaná

Více

Základní principy zobrazení čísla Celá čísla s pevnou řádovou čárkou Zobrazení reálných čísel Aritmetika s binárními čísly

Základní principy zobrazení čísla Celá čísla s pevnou řádovou čárkou Zobrazení reálných čísel Aritmetika s binárními čísly Počítačové systémy Zobrazení čísel v počítači Miroslav Flídr Počítačové systémy LS 2007-1/21- Západočeská univerzita v Plzni Vážený poziční kód Obecný předpis čísla vyjádřeného v pozičním systému: C =

Více

Bakalářská matematika I

Bakalářská matematika I 1. Funkce Diferenciální počet Mgr. Jaroslav Drobek, Ph. D. Katedra matematiky a deskriptivní geometrie Bakalářská matematika I Některé užitečné pojmy Kartézský součin podrobnosti Definice 1.1 Nechť A,

Více

IB111 Úvod do programování skrze Python

IB111 Úvod do programování skrze Python Vyhledávání, řazení, složitost IB111 Úvod do programování skrze Python 2012 Otrávené studny 8 studen, jedna z nich je otrávená laboratorní rozbor dokáže rozpoznat přítomnost jedu ve vodě je drahý (je časově

Více

Základy teorie pravděpodobnosti

Základy teorie pravděpodobnosti Základy teorie pravděpodobnosti Náhodná veličina Roman Biskup (zapálený) statistik ve výslužbě, aktuálně analytik v praxi ;-) roman.biskup(at)email.cz 12. února 2012 Statistika by Birom Základy teorie

Více

AUTOMATY A GRAMATIKY

AUTOMATY A GRAMATIKY AUTOMATY A 1 GRAMATIKY Pavel Surynek Univerzita Karlova v Praze Matematicko-fyzikální fakulta Katedra teoretické informatiky a matematické logiky Stručný přehled přednášky Automaty Formální jazyky, operace

Více

1 Báze a dimenze vektorového prostoru 1

1 Báze a dimenze vektorového prostoru 1 1 Báze a dimenze vektorového prostoru 1 Báze a dimenze vektorového prostoru 1 2 Aritmetické vektorové prostory 7 3 Eukleidovské vektorové prostory 9 Levá vnější operace Definice 5.1 Necht A B. Levou vnější

Více

STRUKTURA RASTROVÝCH DAT

STRUKTURA RASTROVÝCH DAT STRUKTURA RASTROVÝCH DAT dva typy rastrové vrstvy v GIS 1) Digitální obraz TV, počítač, mobil - obrazovka obraz z bodů mapa - mřížka s barevnými plochami 2) Rastrová data data pro analýzu a) binární -

Více

Algoritmy I. Číselné soustavy přečíst!!! ALGI 2018/19

Algoritmy I. Číselné soustavy přečíst!!! ALGI 2018/19 Algoritmy I Číselné soustavy přečíst!!! Číselné soustavy Každé číslo lze zapsat v poziční číselné soustavě ve tvaru: a n *z n +a n-1 *z n-1 +. +a 1 *z 1 +a 0 *z 0 +a -1 *z n-1 +a -2 *z -2 +.. V dekadické

Více

4 Stromy a les. Definice a základní vlastnosti stromů. Kostry grafů a jejich počet.

4 Stromy a les. Definice a základní vlastnosti stromů. Kostry grafů a jejich počet. 4 Stromy a les Jedním ze základních, a patrně nejjednodušším, typem grafů jsou takzvané stromy. Jedná se o souvislé grafy bez kružnic. Přes svou (zdánlivou) jednoduchost mají stromy bohatou strukturu a

Více

3. Třídy P a NP. Model výpočtu: Turingův stroj Rozhodovací problémy: třídy P a NP Optimalizační problémy: třídy PO a NPO MI-PAA

3. Třídy P a NP. Model výpočtu: Turingův stroj Rozhodovací problémy: třídy P a NP Optimalizační problémy: třídy PO a NPO MI-PAA Jan Schmidt 2011 Katedra číslicového návrhu Fakulta informačních technologií České vysoké učení technické v Praze Zimní semestr 2011/12 MI-PAA EVROPSKÝ SOCIÁLNÍ FOND PRAHA & EU: INVESTUJENE DO VAŠÍ BUDOUCNOSTI

Více

Pokročilé haldy. prof. Ing. Pavel Tvrdík CSc. Fakulta informačních technologií České vysoké učení technické v Praze c Pavel Tvrdík, 2010

Pokročilé haldy. prof. Ing. Pavel Tvrdík CSc. Fakulta informačních technologií České vysoké učení technické v Praze c Pavel Tvrdík, 2010 Pokročilé haldy prof. Ing. Pavel Tvrdík CSc. Katedra počítačových systémů Fakulta informačních technologií České vysoké učení technické v Praze c Pavel Tvrdík, 2010 Efektivní algoritmy (I-EFA) ZS 2010/11,

Více

4EK311 Operační výzkum. 5. Teorie grafů

4EK311 Operační výzkum. 5. Teorie grafů 4EK311 Operační výzkum 5. Teorie grafů 5. Teorie grafů definice grafu Graf G = uspořádaná dvojice (V, E), kde V označuje množinu n uzlů u 1, u 2,, u n (u i, i = 1, 2,, n) a E označuje množinu hran h ij,

Více

Pracovní listy - programování (algoritmy v jazyce Visual Basic) Algoritmus

Pracovní listy - programování (algoritmy v jazyce Visual Basic) Algoritmus Pracovní listy - programování (algoritmy v jazyce Visual Basic) Předmět: Seminář z informatiky a výpočetní techniky Třída: 3. a 4. ročník vyššího stupně gymnázia Algoritmus Zadání v jazyce českém: 1. Je

Více

LabView jako programovací jazyk II

LabView jako programovací jazyk II LabView jako programovací jazyk II - Popis jednotlivých funkcí palety Function II.část - Funkce Numeric, Array, Cluster Ing. Martin Bušek, Ph.D. Práce s daty typu NUMERIC Numerické funkce obsahuje funkce

Více

Informatika Datové formáty

Informatika Datové formáty Informatika Datové formáty Radim Farana Podklady předmětu Informatika pro akademický rok 2007/2008 Obsah Datové formáty (datové typy). Textové formáty, vlastnosti zdroje zpráv. Číselné formáty, číselné

Více

Teorie informace 21.9.2014. Obsah. Kybernetika. Radim Farana Podklady pro výuku

Teorie informace 21.9.2014. Obsah. Kybernetika. Radim Farana Podklady pro výuku Teorie Radim Farana Podklady pro výuku Obsah Seznámení s problematikou a obsahem studovaného předmětu. Základní pojmy z Teorie, jednotka, informační obsah zprávy, střední délka zprávy, redundance. Kód.

Více

Rekurzivní algoritmy

Rekurzivní algoritmy Rekurzivní algoritmy prof. Ing. Pavel Tvrdík CSc. Katedra počítačových systémů Fakulta informačních technologií České vysoké učení technické v Praze c Pavel Tvrdík, 2010 Efektivní algoritmy (BI-EFA) ZS

Více

Předmluva k aktuálnímu vydání Úvod k prvnímu vydání z roku Typografické a syntaktické konvence... 20

Předmluva k aktuálnímu vydání Úvod k prvnímu vydání z roku Typografické a syntaktické konvence... 20 Obsah 5 Obsah Předmluva k aktuálnímu vydání 15 1 Úvod k prvnímu vydání z roku 2000 16 Typografické a syntaktické konvence................ 20 2 Základní pojmy 21 2.1 Trocha historie nikoho nezabije................

Více

III. Úplná pravděpodobnost. Nezávislé pokusy se dvěma výsledky. Úplná pravděpodobnost Nezávislé pokusy se dvěma výsledky Náhodná veličina

III. Úplná pravděpodobnost. Nezávislé pokusy se dvěma výsledky. Úplná pravděpodobnost Nezávislé pokusy se dvěma výsledky Náhodná veličina III Přednáška Úplná pravděpodobnost Nezávislé pokusy se dvěma výsledky Náhodná veličina Pravděpodobnost při existenci neslučitelných hypotéz Věta Mějme jev. Pokud H 1,H 2, : : :,H n tvoří úplnou skupinu

Více

1 2 3 4 5 6 součet cvičení celkem. známka. Úloha č.: max. bodů: skut. bodů:

1 2 3 4 5 6 součet cvičení celkem. známka. Úloha č.: max. bodů: skut. bodů: Úloha č.: max. bodů: skut. bodů: 1 2 3 4 5 6 součet cvičení celkem 20 12 20 20 14 14 100 známka UPOZORNĚNÍ : a) Písemná zkouška obsahuje 6 úloh, jejichž řešení musí být vepsáno do připraveného formuláře.

Více

Projekt z předmětu Kryptografie a počítačová bezpečnost

Projekt z předmětu Kryptografie a počítačová bezpečnost Projekt z předmětu Téma: Prefixové kódy VŠB-TU Ostrava:Fakulta Elektrotechniky a informatiky březen 2 Martin Dočkal doc68 dockal.martin@gmail.com Obsah Obsah... 2 2 Abstrakt... 2 3 Klíčová slova... 2 4

Více

UNIVERZITA PARDUBICE. Fakulta elektrotechniky a informatiky

UNIVERZITA PARDUBICE. Fakulta elektrotechniky a informatiky UNIVERZITA PARDUBICE Fakulta elektrotechniky a informatiky Bezztrátová komprimace dat Josef Haken Bakalářská práce 2008 SOUHRN Práce se zabývá bezztrátovou komprimací dat. Popisuje základní principy

Více

Stromy. Příklady. Rekurzivní datové struktury. Základní pojmy

Stromy. Příklady. Rekurzivní datové struktury. Základní pojmy Základní pojmy Stromy doc. Ing. Miroslav Beneš, Ph.D. katedra informatiky FEI VŠB-TUO A-1007 / 597 324 213 http://www.cs.vsb.cz/benes Miroslav.Benes@vsb.cz Graf uzly hrany orientované / neorientované Souvislý

Více

kryptosystémy obecně další zajímavé substituční šifry klíčové hospodářství kryptografická pravidla Hillova šifra Vernamova šifra Knižní šifra

kryptosystémy obecně další zajímavé substituční šifry klíčové hospodářství kryptografická pravidla Hillova šifra Vernamova šifra Knižní šifra kryptosystémy obecně klíčové hospodářství klíč K, prostor klíčů T K kryptografická pravidla další zajímavé substituční šifry Hillova šifra Vernamova šifra Knižní šifra klíč K různě dlouhá posloupnost znaků

Více

Zadání druhého zápočtového projektu Základy algoritmizace, 2005

Zadání druhého zápočtového projektu Základy algoritmizace, 2005 Zadání druhého zápočtového projektu Základy algoritmizace, 2005 Jiří Dvorský 2 května 2006 Obecné pokyny Celkem je k dispozici 8 zadání příkladů Každý student obdrží jedno zadání Vzhledem k tomu, že odpadly

Více

Vyhodnocování dotazů slajdy k přednášce NDBI001. Jaroslav Pokorný MFF UK, Praha

Vyhodnocování dotazů slajdy k přednášce NDBI001. Jaroslav Pokorný MFF UK, Praha Vyhodnocování dotazů slajdy k přednášce NDBI001 Jaroslav Pokorný MFF UK, Praha pokorny@ksi.mff.cuni.cz Časová a prostorová složitost Jako dlouho trvá dotaz? CPU (cena je malá; snižuje se; těžko odhadnutelná)

Více

Racionální čísla, operátory, výrazy, knihovní funkce

Racionální čísla, operátory, výrazy, knihovní funkce Evropský sociální fond Praha & EU: Investujeme do vaší budoucnosti Racionální čísla, operátory, výrazy, knihovní funkce BI-PA1 Programování a algoritmizace 1 Katedra teoretické informatiky Miroslav Balík

Více

25. DIGITÁLNÍ TELEVIZNÍ SIGNÁL A KABELOVÁ TELEVIZE

25. DIGITÁLNÍ TELEVIZNÍ SIGNÁL A KABELOVÁ TELEVIZE 25. DIGITÁLNÍ TELEVIZNÍ SIGNÁL A KABELOVÁ TELEVIZE Digitalizace obrazu a komprese dat. Uveďte bitovou rychlost nekomprimovaného číslicového TV signálu a jakou šířku vysílacího pásma by s dolním částečně

Více

Samoopravné kódy. Katedra matematiky a Institut teoretické informatiky Západočeská univerzita

Samoopravné kódy. Katedra matematiky a Institut teoretické informatiky Západočeská univerzita Katedra matematiky a Institut teoretické informatiky Západočeská univerzita Seminář pro učitele středních a vysokých škol, Plzeň, 30. března 2012 jsou všude Některé oblasti využití: CD přehrávače mobilní

Více

Faculty of Nuclear Sciences and Physical Engineering Czech Technical University in Prague

Faculty of Nuclear Sciences and Physical Engineering Czech Technical University in Prague 1 / 23 Faculty of Nuclear Sciences and Physical Engineering Czech Technical University in Prague 2 / 23 biologové často potřebují najít často se opakující sekvence DNA tyto sekvence bývají relativně krátké,

Více