Vyhledávání v textu. doc. Mgr. Jiří Dvorský, Ph.D. Katedra informatiky Fakulta elektrotechniky a informatiky VŠB TU Ostrava
|
|
- Vojtěch Procházka
- před 6 lety
- Počet zobrazení:
Transkript
1 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 / 442
2 Osnova přednášky Vyhledávání v textu Definice základních pojmů Vyhledávání hrubou silou Morris-Prattův algoritmus Knuth-Morris-Prattův algoritmus Jiří Dvorský (VŠB TUO) Vyhledávání v textu 403 / 442
3 Definice základních pojmů Definice Abeceda Σ je konečná neprázdná množina symbolů. Příklady: binární abeceda Σ = {0, }, Morseova abeceda Σ = {.,, /}, abeceda aminokyselin DNA Σ = {A, C, G, T }, anglická abeceda Σ = {a,..., z}. Jiří Dvorský (VŠB TUO) Vyhledávání v textu 404 / 442
4 Vlajková abeceda abeceda může mít i fyzickou podobu, viz například námořní vlajková abeceda, en.wikipedia.org/wiki/international_maritime_ signal_flags současná podoba z roku 93, celkem 40 vlajek 26 písmen, 0 číslic, potvrzovací vlajka a 3 opakovací, každá vlajka reprezentuje i jednu často opakovanou větu, například vlajka O znamená Muž přes palubu, případně lze vlajky kombinovat do číselných kódů odkazujících do smluveného slovníku. Jiří Dvorský (VŠB TUO) Vyhledávání v textu 405 / 442
5 Vlajková abeceda příklad Slavný signál admirála Nelsona England expects that every man will do his duty vyslaný v roce 805 před bitvou u Trafalgaru vypadá ve vlajkové abecedě takto: England expects that every man will do his D U T Y en.wikipedia.org/wiki/england_expects_that_every_man_will_ do_his_duty Jiří Dvorský (VŠB TUO) Vyhledávání v textu 406 / 442
6 Definice základních pojmů Definice Konečná posloupnost x symbolů ze Σ se nazývá řetězec nad Σ. Definice Prázdná posloupnost se nazývá prázdný řetězec, značíme ji ε. Definice Délka řetězce x se značí x a rovná se počtu výskytů symbolů v něm obsažených, ε = 0. Definice Množinu všech řetězců nad abecedou Σ bez prázdného řetězce budeme značit Σ +. Množinu všech řetězců nad abecedou Σ, včetně prázdného řetězce, budeme značit Σ *. Jiří Dvorský (VŠB TUO) Vyhledávání v textu 407 / 442
7 Definice základních pojmů (pokrač.) Věta Je zřejmé, že Σ * = Σ + {ε} Definice Nechť x a y jsou libovolné řetězce, pak xy označuje konkatenaci (zřetězení) řetězců x a y. Věta Konkatenace dvou řetězců není obecně komutativní, tj. x, y Σ + : xy yx Dále je zřejmé, že xy = yx = x + y Jiří Dvorský (VŠB TUO) Vyhledávání v textu 408 / 442
8 Definice základních pojmů (pokrač.) Definice Řetězec u se nazývá předponou (prefixem) řetězce w, jestliže existuje řetězec v (i prázdný) takový, že w = uv. Definice Řetězec v se nazývá příponou (sufixem) řetězce w, jestliže existuje řetězec u (i prázdný) takový, že w = uv. Definice Řetězec y se nazývá podřetězcem (faktorem) řetězce w, jestliže existují řetězce u a v (i prázdné) takové, že w = uzv. Jiří Dvorský (VŠB TUO) Vyhledávání v textu 409 / 442
9 Definice základních pojmů příklady Abeceda Σ = {A, C, G, T }, řetězce x = GCAGAGAG a y = TAA, x = 8 a y = 3. Konkatenace xy = GCAGAGAGTAA, yx = TAAGCAGAGAG, xy = yx = x + y =. Prefixem řetězce y jsou řetězce T, TA, TAA. Sufixem řetězce y jsou řetězce A, AA, TAA. Podřetězcem řetězce y jsou řetězce A, T, TA, AA, TAA. Jiří Dvorský (VŠB TUO) Vyhledávání v textu 40 / 442
10 Brute force algoritmus size_t BruteForce(const string& Text, const string& Pattern, const size_t StartPosition) 2 { 3 for (size_t i = StartPosition; i < Text.length() - Pattern.length(); i++) 4 { 5 size_t j = 0; 6 while (j < Pattern.length()) 7 { 8 if (Text[i + j]!= Pattern[j]) 9 break; 0 j += ; } 2 if (j == Pattern.length()) 3 return i; 4 } 5 return PatternNotFound; 6 } Jiří Dvorský (VŠB TUO) Vyhledávání v textu 4 / 442
11 Brute force algoritmus První pokus Posun o znak Druhý pokus Posun o znak Jiří Dvorský (VŠB TUO) Vyhledávání v textu 42 / 442
12 Brute force algoritmus (pokrač.) Třetí pokus Posun o znak Čtvrtý pokus Posun o znak Jiří Dvorský (VŠB TUO) Vyhledávání v textu 43 / 442
13 Brute force algoritmus (pokrač.) Pátý pokus Posun o znak Šestý pokus Posun o znak Jiří Dvorský (VŠB TUO) Vyhledávání v textu 44 / 442
14 Brute force algoritmus (pokrač.) Sedmý pokus Posun o znak Osmý pokus Posun o znak Jiří Dvorský (VŠB TUO) Vyhledávání v textu 45 / 442
15 Brute force algoritmus (pokrač.) Devátý pokus Posun o znak Desátý pokus 2 Posun o znak Jiří Dvorský (VŠB TUO) Vyhledávání v textu 46 / 442
16 Brute force algoritmus (pokrač.) Jedenáctý pokus Posun o znak Dvanáctý pokus 2 Posun o znak Jiří Dvorský (VŠB TUO) Vyhledávání v textu 47 / 442
17 Brute force algoritmus (pokrač.) Třináctý pokus Posun o znak Čtrnáctý pokus 2 Posun o znak Jiří Dvorský (VŠB TUO) Vyhledávání v textu 48 / 442
18 Brute force algoritmus (pokrač.) Patnáctý pokus Posun o znak Šesnáctý pokus Posun o znak Jiří Dvorský (VŠB TUO) Vyhledávání v textu 49 / 442
19 Brute force algoritmus (pokrač.) Sedmnáctý pokus Posun o znak Algoritmus provedl celkem 30 porovnání znaků. Jiří Dvorský (VŠB TUO) Vyhledávání v textu 420 / 442
20 Morris-Prattův algoritmus První pokus Posun o i Next[i] = 3 0 = 3 znaky Druhý pokus Posun o i Next[i] = 0 ( ) = znak Jiří Dvorský (VŠB TUO) Vyhledávání v textu 42 / 442
21 Morris-Prattův algoritmus (pokrač.) Třetí pokus Posun o i Next[i] = 0 ( ) = znak Čtvrtý pokus Posun o i Next[i] = 8 = 7 znaků Jiří Dvorský (VŠB TUO) Vyhledávání v textu 422 / 442
22 Morris-Prattův algoritmus (pokrač.) Pátý pokus Posun o i Next[i] = 0 = znak Šestý pokus 2 Posun o i Next[i] = 0 ( ) = znak Jiří Dvorský (VŠB TUO) Vyhledávání v textu 423 / 442
23 Morris-Prattův algoritmus (pokrač.) Sedmý pokus Posun o i Next[i] = 0 ( ) = znak Osmý pokus Posun o i Next[i] = 0 ( ) = znak Jiří Dvorský (VŠB TUO) Vyhledávání v textu 424 / 442
24 Morris-Prattův algoritmus (pokrač.) Devátý pokus Posun o i Next[i] = 0 ( ) = znak Algoritmus provedl celkem 9 porovnání znaků. Jiří Dvorský (VŠB TUO) Vyhledávání v textu 425 / 442
25 Knuth-Morris-Prattův algoritmus První pokus Posun o 4 znaky, tj. i Next[i] = 3 ( ) Druhý pokus Posun o znak, tj. i Next[i] = 0 ( ) Jiří Dvorský (VŠB TUO) Vyhledávání v textu 426 / 442
26 Knuth-Morris-Prattův algoritmus (pokrač.) Třetí pokus Posun o 7 znaků, tj. i Next[i] = 8 Čtvrtý pokus Posun o znak, tj. i Next[i] = 0 2 Jiří Dvorský (VŠB TUO) Vyhledávání v textu 427 / 442
27 Knuth-Morris-Prattův algoritmus (pokrač.) Pátý pokus Posun o znak, tj. i Next[i] = 0 ( ) Šestý pokus Posun o znak, tj. i Next[i] = 0 ( ) Jiří Dvorský (VŠB TUO) Vyhledávání v textu 428 / 442
28 Knuth-Morris-Prattův algoritmus (pokrač.) Sedmý pokus Posun o znak, tj. i Next[i] = 0 ( ) Osmý pokus Posun o znak, tj. i Next[i] = 0 ( ) Algoritmus provedl celkem 8 porovnání znaků. Jiří Dvorský (VŠB TUO) Vyhledávání v textu 429 / 442
29 KarpRabin Jiří Dvorský (VŠB TUO) Vyhledávání v textu 430 / 442
30 KarpRabin (pokrač.) Jiří Dvorský (VŠB TUO) Vyhledávání v textu 43 / 442
31 KarpRabin (pokrač.) Jiří Dvorský (VŠB TUO) Vyhledávání v textu 432 / 442
32 KarpRabin (pokrač.) Jiří Dvorský (VŠB TUO) Vyhledávání v textu 433 / 442
33 BoyerMoore Jiří Dvorský (VŠB TUO) Vyhledávání v textu 434 / 442
34 BoyerMoore (pokrač.) Jiří Dvorský (VŠB TUO) Vyhledávání v textu 435 / 442
35 QuickSearch Jiří Dvorský (VŠB TUO) Vyhledávání v textu 436 / 442
36 QuickSearch (pokrač.) Jiří Dvorský (VŠB TUO) Vyhledávání v textu 437 / 442
37 Kontrolní otázky. Definujte problém vyhledání vzorku v textu. Kde se lze s těmito problémy setkat? 2. Co je to předzpracování textu a vzorku? 3. Uveďte algoritmus, který pro svůj běh nepotřebuje předzpracovat ani text ani vzorek. 4. Uveďte příklad algoritmu (algoritmů), který předzpracovává vzorek ale nepředzpracovává prohledávaný text. 5. Uveďte příklad vyhledávací metody, která nepředzpracovává vzorek ale předzpracovává prohledávaný text. 6. Uveďte příklad vyhledávací metody, která předzpracovává vzorek i prohledávaný text. 7. Co je to abeceda? Označme ji například Σ. 8. Co je to řetězec nad abecedou Σ? Jak je definována délka řetězce? Jiří Dvorský (VŠB TUO) Vyhledávání v textu 438 / 442
38 Kontrolní otázky (pokrač.) 9. Máte dánu abecedu Σ a přirozená čísla m a n. Jak budou vypadat řetězce a m a a m b n, kde a, b Σ? 0. Co je to prázdný řetězec? Jak jej značíme? Jaká je jeho délka?. Máte dánu abecedu Σ. Co označují množiny Σ + a Σ *? 2. Co je to předpona (prefix) řetězce w? 3. Co je to přípona (sufix) řetězce w? 4. Co je to podřetězec (faktor) řetězce w? 5. Co je to hranice řetězce w? 6. Popište princip elementárního algoritmu (BruteForce Algorithm). 7. Jaká je časová složitost elementárního algoritmu? Jaké operace nás zajímají u výpočtu složitosti vyhledávacích algoritmů? 8. Jaká je očekávaná časová složitost elementárního algoritmu pro text a vzorek z přirozených jazyků? Jiří Dvorský (VŠB TUO) Vyhledávání v textu 439 / 442
39 Kontrolní otázky (pokrač.) 9. Elementární algoritmus provádí jednu činnost se vzorkem velice neefektivně. Tato neefektivita mu znemožňuje dosahovat menší časové složitosti při vyhledávání. O jako činnost je vzorkem jde a jak tuto neefektivitu řeší ostatní algoritmy? Například Knuth-Morris-Prattův? 20. Popište princip Shift-Or algoritmu. Jaké dvě bitové operace se tu používají? 2. Jaká je časová složitost Shift-Or algoritmu? 22. Popište princip Karp-Rabinova algoritmu. K čemu slouží u tohoto algoritmu hašovací funkce (Pozn. Vzpomeňte si na kapitolu o hašování a pohled na hašovací funkci jako na negativní filtr.)? 23. Co je to sousměrné a protisměrné vyhledávání? 24. Popište princip Boyer-Mooreova algoritmu. Soustřeďte se na využití protisměrného vyhledávání pro efektivní detekci (ne)výskytu vzorku v textu. Jiří Dvorský (VŠB TUO) Vyhledávání v textu 440 / 442
40 Kontrolní otázky (pokrač.) 25. Jaká je složitost Boyer-Mooreova algoritmu v nejhorším případě a jaká v nejlepším? Pro jakou kombinaci vzorku a textu dojde k nejhoršímu případu? Jiří Dvorský (VŠB TUO) Vyhledávání v textu 44 / 442
41 Děkuji za pozornost Jiří Dvorský (VŠB TUO) Vyhledávání v textu 442 / 442
Základy algoritmizace. Pattern matching
Základy algoritmizace Pattern matching 1 Pattern matching Úloha nalézt v nějakém textu výskyty zadaných textových vzorků patří v počítačové praxi k nejfrekventovanějším. Algoritmy, které ji řeší se používají
Metodický koncept k efektivní podpoře klíčových odborných kompetencí s využitím cizího jazyka ATCZ62 - CLIL jako výuková strategie na vysoké škole
Pattern matching Metodický koncept k efektivní podpoře klíčových odborných kompetencí s využitím cizího jazyka ATCZ62 - CI jako výuková strategie na vysoké škole Pattern matching porovnávání vzorů Hledání
Algoritmy II. Otázky k průběžnému testu znalostí
Algoritmy II Otázky k průběžnému testu znalostí Revize ze dne 19. února 2018 2 Lineární datové struktury 1 1. Vysvětlete co znamená, že zásobník představuje paměť typu LIFO. 2. Co je to vrchol zásobníku?
Hašování. doc. Mgr. Jiří Dvorský, Ph.D. Katedra informatiky Fakulta elektrotechniky a informatiky VŠB TU Ostrava. Prezentace ke dni 13.
Hašování doc. Mgr. Jiří Dvorský, Ph.D. Katedra informatiky Fakulta elektrotechniky a informatiky VŠB TU Ostrava Prezentace ke dni 13. února 2019 Jiří Dvorský (VŠB TUO) Hašování 375 / 397 Osnova přednášky
Vyhledávání řetězců. a b a c a a b. a b a c a b. a b a c a b
Vyhledávání řetězců (Pattern Matching) T: P: a b a c a a b a b a c a b 4 1 3 2 a b a c a b Přehled 1. Co je vyhledávání řetězců 2. Algoritmus hrubé síly (Brute force) 3. Algoritmus Boyer Moore 4. Knuth
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
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
Binární vyhledávací stromy II
Binární vyhledávací stromy II doc. Mgr. Jiří Dvorský, Ph.D. Katedra informatiky Fakulta elektrotechniky a informatiky VŠB TU Ostrava Prezentace ke dni 19. března 2019 Jiří Dvorský (VŠB TUO) Binární vyhledávací
Spojová implementace lineárních datových struktur
Spojová implementace lineárních datových struktur doc. Mgr. Jiří Dvorský, Ph.D. Katedra informatiky Fakulta elektrotechniky a informatiky VŠB TU Ostrava Prezentace ke dni 13. března 2017 Jiří Dvorský (VŠB
Rekurze. doc. Mgr. Jiří Dvorský, Ph.D. Katedra informatiky Fakulta elektrotechniky a informatiky VŠB TU Ostrava. Prezentace ke dni 12.
Rekurze 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) Rekurze 161 / 344 Osnova přednášky
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á
(Pattern Matching) a b a c a a b. a b a c a b. a b a c a b
Vyhledávání řetězců (Pattern Matching) T: P: a b a c a a b a b a c a b 4 1 3 2 a b a c a b 1 Přehled 1. Co je vyhledávání řetězců 2. Algoritmus hrubé síly (Brute-force) 3. Algoritmus Boyer-Moore 4. Knuth-Morris
Grafy. doc. Mgr. Jiří Dvorský, Ph.D. Katedra informatiky Fakulta elektrotechniky a informatiky VŠB TU Ostrava. Prezentace ke dni 13.
Grafy doc. Mgr. Jiří Dvorský, Ph.D. Katedra informatiky Fakulta elektrotechniky a informatiky VŠB TU Ostrava Prezentace ke dni 13. března 2017 Jiří Dvorský (VŠB TUO) Grafy 104 / 309 Osnova přednášky Grafy
Katedra počítačů FEL
TIS 311 1. Navrhněte KMP vyhledávací stroj pro vzorek v = kakadu, 2. Pro stejný vzorek navrhněte deterministický konečný automat. 3. Simulujte činnost obou strojů na textu T = dukakakaduka, porovnejte
Automaty a gramatiky(bi-aag) Motivace. 1. Základní pojmy. 2 domácí úkoly po 6 bodech 3 testy za bodů celkem 40 bodů
BI-AAG (2011/2012) J. Holub: 1. Základní pojmy p. 2/29 Hodnocení předmětu BI-AAG (2011/2012) J. Holub: 1. Základní pojmy p. 4/29 Automaty a gramatiky(bi-aag) 1. Základní pojmy Jan Holub Katedra teoretické
Hledání v textu algoritmem Boyer Moore
Zápočtová práce z Algoritmů a Datových Struktur II (NTIN061) Hledání v textu algoritmem Boyer Moore David Pěgřímek http://davpe.net Algoritmus Boyer Moore[1] slouží k vyhledání vzoru V v zadaném textu
ZADÁNÍ BAKALÁŘSKÉ PRÁCE
ZADÁNÍ BAKALÁŘSKÉ PRÁCE Název: Návrh a implementace modifikací algoritmu protisměrného vyhledávání ve stromech Student: Kamil Červený Vedoucí: Ing. Jan Trávníček Studijní program: Informatika Studijní
Formální jazyky. Z. Sawa (VŠB-TUO) Úvod do teoretické informatiky 2. března / 32
Formální jazyky Z. Sawa (VŠB-TUO) Úvod do teoretické informatiky 2. března 2017 1/ 32 Abeceda a slovo Definice Abeceda je libovolná neprázdná konečná množina symbolů(znaků). Poznámka: Abeceda se často
: Teoretická informatika(ti)
460-4065: Teoretická informatika(ti) prof. RNDr Petr Jančar, CSc. katedra informatiky FEI VŠB-TUO www.cs.vsb.cz/jancar Petr Jančar (FEI VŠB-TU) Teoretická informatika(ti) 460-4065 1/ 25 Základní informace
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.
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
Standardní algoritmy vyhledávací.
Standardní algoritmy vyhledávací. Vyhledávací algoritmy v C++ nám umožňují vyhledávat prvky v datových kontejnerech podle různých kritérií. Také se podíváme na vyhledávání metodou půlením intervalu (binární
Naproti tomu gramatika je vlastně soupis pravidel, jak
1 Kapitola 1 Úvod V přednášce se zaměříme hlavně na konečný popis obecně nekonečných množin řetězců symbolů dané množiny A. Prvkům množiny A budeme říkat písmena, řetězcům (konečným posloupnostem) písmen
Suffixové stromy. Osnova:
Suffixové stromy http://jakub.kotrla.net/suffixtrees/ Osnova: Motivační příklad Přehled možných řešení Definice suffixového stromu Řešení pomocí suffixových stromů Konstrukce suffixového stromu Další použití,
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
Základní jednotky používané ve výpočetní technice
Základní jednotky používané ve výpočetní technice Nejmenší jednotkou informace je bit [b], který může nabývat pouze dvou hodnot 1/0 (ano/ne, true/false). Tato jednotka není dostatečná pro praktické použití,
Složitost Filip Hlásek
Složitost Filip Hlásek Abstrakt. Příspěvek popisuje dva základní koncepty teoretické informatiky, Turingovy stroje a složitost. Kromě definic důležitých pojmů uvádí také několik souvisejících tvrzení,
- 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á
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]
Regulární výrazy. Definice Množina regulárních výrazů nad abecedou Σ, označovaná RE(Σ), je definována induktivně takto:
IB102 Automaty, gramatiky a složitost, 6. 10. 2014 1/29 Regulární výrazy Definice 2.58. Množina regulárních výrazů nad abecedou Σ, označovaná RE(Σ), je definována induktivně takto: 1 ε, a a pro každé a
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)):
Úvod do informatiky. Miroslav Kolařík. Zpracováno dle učebního textu R. Bělohlávka: Úvod do informatiky, KMI UPOL, Olomouc 2008.
Úvod do informatiky přednáška čtvrtá Miroslav Kolařík Zpracováno dle učebního textu R. Bělohlávka: Úvod do informatiky, KMI UPOL, Olomouc 2008. Obsah 1 Pojem relace 2 Vztahy a operace s (binárními) relacemi
Úvod do programování 6. hodina
Úvod do programování 6. hodina RNDr. Jan Lánský, Ph.D. Katedra informatiky a matematiky Fakulta ekonomických studií Vysoká škola finanční a správní 2015 Umíme z minulé hodiny Algoritmy Třídění pole: Selection
2 Formální jazyky a gramatiky
2 Formální jazyky a gramatiky 2.1 Úvod Teorie formálních gramatik a jazyků je důležitou součástí informatiky. Její využití je hlavně v oblasti tvorby překladačů, kompilátorů. Vznik teorie se datuje přibliž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)
Elegantní algoritmus pro konstrukci sufixových polí
Elegantní algoritmus pro konstrukci sufixových polí 22.10.2014 Zadání Obsah Zadání... 3 Definice... 3 Analýza problému... 4 Jednotlivé algoritmy... 4 Algoritmus SA1... 4 Algoritmus SA2... 5 Algoritmus
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ě
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 Statistické metody Jan Outrata (Univerzita Palackého v Olomouci) Komprese dat Olomouc, únor březen 2016 1 / 23 Tunstallův
Automatická segmentace slov s pomocí nástroje Affisix. Michal@Hrusecky.net, Hlavacova@ufal.mff.cuni.cz
Automatická segmentace slov s pomocí nástroje Affisix Michal Hrušecký, Jaroslava Hlaváčová Michal@Hrusecky.net, Hlavacova@ufal.mff.cuni.cz Motivace Při zpracování přirozeného jazyka nikdy nemůžeme mít
Regulární výrazy. Vzory
Regulární výrazy Regulární výrazy jsou určeny pro práci s textovými řetězci, jsou součástí J2SDK až od verze 1.4, v předchozích verzích je potřeba použít některou z externích knihoven, např. knihovnu ORO
Bakalářská práce Algoritmy vyhledávání v řetězcích pro DNA aplikace
Západočeská univerzita v Plzni Fakulta aplikovaných věd Katedra informatiky a výpočetní techniky Bakalářská práce Algoritmy vyhledávání v řetězcích pro DNA aplikace Plzeň, 2011 Ondřej Žďárský Prohlašuji,
Turingovy stroje. Teoretická informatika Tomáš Foltýnek
Turingovy stroje Teoretická informatika Tomáš Foltýnek foltynek@pef.mendelu.cz Teoretická informatika strana 2 Opakování z minulé přednášky Jaké znáte algebraické struktury s jednou operací? Co je to okruh,
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ě
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
Základní pojmy. Úvod do programování. Základní pojmy. Zápis algoritmu. Výraz. Základní pojmy
Úvod do programování Michal Krátký 1,Jiří Dvorský 1 1 Katedra informatiky VŠB Technická univerzita Ostrava Úvod do programování, 2004/2005 Procesor Procesorem je objekt, který vykonává algoritmem popisovanou
Práce s textem. Třída Character. Třída Character. Třída Character. reprezentuje objekty zapouzdřující hodnotu typu char (boxing / unboxing)
Třída Character Práce s textem 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 reprezentuje objekty zapouzdřující hodnotu
Vysoké učení technické v Brně Fakulta informačních technologií. Gramatiky nad volnými grupami Petr Blatný
Vysoké učení technické v Brně Fakulta informačních technologií Gramatiky nad volnými grupami 2005 Petr Blatný Abstrakt Tento dokument zavádí pojmy bezkontextové gramatiky nad volnou grupou a E0L gramatiky
Pojem algoritmus. doc. Mgr. Jiří Dvorský, Ph.D. Katedra informatiky Fakulta elektrotechniky a informatiky VŠB TU Ostrava
Pojem algoritmus 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) Pojem algoritmus 54 / 344
SMART Notebook verze Aug
SMART Notebook verze 10.6.219.2 Aug 5 2010 Pořadové číslo projektu CZ.1.07/1.4.00/21.3007 Šablona č.: III/2 Datum vytvoření: 3.9.2012 Pro ročník: 6. až 9. Vzdělávací obor předmět: Matematika Klíčová slova:
Formální jazyky a gramatiky Teorie programovacích jazyků
Formální jazyky a gramatiky Teorie programovacích jazyků doc. Ing. Jiří Rybička, Dr. ústav informatiky PEF MENDELU v Brně rybicka@mendelu.cz Připomenutí základních pojmů ABECEDA jazyk je libovolná podmnožina
Základy algoritmizace. Hašování
Základy algoritmizace Hašování Problematika hašování Hašování - nástroj na jednoduchý způsob "zakódování vstupních dat. Vstupní data jsou zpracována hašovací funkcí jsou jistým způsobem komprimována. Relativně
17. Posloupnosti a řady funkcí
17. Posloupnosti a řady funkcí Aplikovaná matematika III, NMAF073 M. Rokyta, KMA MFF UK ZS 2011/12 17.1 Stejnoměrná konvergence posloupnosti funkcí Definice Necht M je množina, f, f n : M R m, m, n N.
Teorie množin. Čekají nás základní množinové operace kartézské součiny, relace zobrazení, operace. Teoretické základy informatiky.
Teorie množin V matematice je všechno množina I čísla jsou definována pomocí množin Informatika stojí na matematice Znalosti Teorie množin využijeme v databázových systémech v informačních systémech při
Zadání semestrálního projektu Algoritmy II. letní semestr 2017/2018
Zadání semestrálního projektu Algoritmy II. letní semestr 2017/2018 doc. Mgr. Jiří Dvorský, Ph.D. Verze zadání 6. dubna 2018 První verze Obecné pokyny 1. Celkem jsou k dispozici tři zadání příkladů. 2.
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
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
Teoretická informatika průběh výuky v semestru 1
Teoretická informatika průběh výuky v semestru 1 Týden 1 Po přednášce 14.9. bude text asi mírně modifikován, ale příklady na cvičení se nezmění. (Navíc dodám na web slidy.) Přednáška Na začátku jsme si
63. ročník Matematické olympiády 2013/2014
63. ročník Matematické olympiády 2013/2014 Úlohy ústředního kola kategorie P 2. soutěžní den Na řešení úloh máte 4,5 hodiny čistého času. Při soutěži je zakázáno používat jakékoliv pomůcky kromě psacích
Programovací jazyk Pascal
Programovací jazyk Pascal Syntaktická pravidla (syntaxe jazyka) přesná pravidla pro zápis příkazů Sémantická pravidla (sémantika jazyka) pravidla, která každému příkazu přiřadí přesný význam Všechny konstrukce
30. listopadu Derivace. VŠB-TU Ostrava. Dostupné: s1a64/cd/index.htm.
KMA/MAT1 Přednáška a cvičení č. 11 30. listopadu 2017 [KS] Jaromír Kuben Petra Šarmanová: Diferenciální počet funkcí jedné proměnné. VŠB-TU Ostrava. Dostupné: http://homel.vsb.cz/ s1a64/cd/inde.htm. 1
Lineární datové struktury
Lineární datové struktury doc. Mgr. Jiří Dvorský, Ph.D. Katedra informatiky Fakulta elektrotechniky a informatiky VŠB TU Ostrava Prezentace ke dni 13. března 2017 Jiří Dvorský (VŠB TUO) Lineární datové
Datové struktury 2: Rozptylovací tabulky
Datové struktury 2: Rozptylovací tabulky 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
SMART Notebook verze Aug
SMART Notebook verze 10.6.219.2 Aug 5 2010 Pořadové číslo projektu CZ.1.07/1.4.00/21.3007 Šablona č.: III/2 Datum vytvoření: 8.9.2012 Pro ročník: 9. Vzdělávací obor předmět: Matematika Klíčová slova: funkce,
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é
Fakulta informačních technologií. Teoretická informatika
Vysoké učení technické v Brně Fakulta informačních technologií Teoretická informatika Třetí úkol 2 Jan Trávníček . Tato úloha je řešena Turingovým strojem, který je zobrazen na obrázku, který si můžeme
Výpočetní modely pro rozpoznávání bezkontextových jazyků zásobníkové automaty LL(k) a LR(k) analyzátory
Plán přednášky Výpočetní modely pro rozpoznávání bezkontextových jazyků zásobníkové automaty LL(k) a LR(k) analyzátory Obecný algoritmus pro parsování bezkontextových jazyků dynamické programování 1 Zásobníkový
LinuxDays 2017 Ondřej Guth GNU grep LD 17 1 / 14
Používáte GNU grep? A víte, jak funguje uvnitř? Ondřej Guth ondrej.guth@fit.cvut.cz LinuxDays 2017 Ondřej Guth GNU grep LD 17 1 / 14 1 Úvod 2 Přehled zpracování vstupu 3 Obyčejný řetězec jako regulární
Algoritmy I, složitost
A0B36PRI - PROGRAMOVÁNÍ Algoritmy I, složitost České vysoké učení technické Fakulta elektrotechnická v 1.01 Rychlost... Jeden algoritmus (program, postup, metoda ) je rychlejší než druhý. Co ta věta znamená??
MODULUU OBCHODNÍHO PODNIKÁNÍ
PRŮVODCE STUDIEM PRO PREZENČNÍ FORMU STUDIA MODULUU OBCHODNÍHO PODNIKÁNÍ Šárka Zapletalová Ostrava 2011 Název: Obchodní ání Autoři: Šárka Zapletalová Vydání: první, 20111 Počet stran: 18 Tisk: Vysoká škola
NPRG030 Programování I, 2017/18 1 / :22:16
NPRG030 Programování I, 2017/18 1 / 26 20. 10. 2017 11:22:16 Ordinální typy standardní: integer, char, boolean Vlastnosti ordinálních typů: 1. hodnot je konečný počet a hodnoty jsou uspořádány 2. ke každé
Z. Sawa (VŠB-TUO) Teoretická informatika 5. listopadu / 43
Zásobníkové automaty Z. Sawa (VŠB-TUO) Teoretická informatika 5. listopadu 2018 1/ 43 Zásobníkový automat Chtěli bychom rozpoznávat jazyk L = {a i b i i 1} Snažíme se navrhnout zařízení (podobné konečným
Vlastnosti regulárních jazyků
Vlastnosti regulárních jazyků Podobně jako u dalších tříd jazyků budeme nyní zkoumat následující vlastnosti regulárních jazyků: vlastnosti strukturální, vlastnosti uzávěrové a rozhodnutelné problémy pro
VYSOKÉ UČENÍ TECHNICKÉ V BRNĚ BRNO UNIVERSITY OF TECHNOLOGY
VYSOKÉ UČENÍ TECHNICKÉ V BRNĚ BRNO UNIVERSITY OF TECHNOLOGY FAKULTA INFORMAČNÍCH TECHNOLOGIÍ ÚSTAV INFORMAČNÍCH SYSTÉMŮ FACULTY OF INFORMATION TECHNOLOGY DEPARTMENT OF INFORMATION SYSTEMS ALGORITMY VYHLEDÁVÁNÍ
Každé formuli výrokového počtu přiřadíme hodnotu 0, půjde-li o formuli nepravdivou, a hodnotu 1, půjde-li. α neplatí. β je nutná podmínka pro α
1. JAZYK ATEATIKY 1.1 nožiny nožina je souhrn objektů určitých vlastností, které chápeme jako celek. ZNAČENÍ. x A x A θ A = { { a, b a A = B A B 0, 1 2 a, a,..., a n x patří do množiny A x nepatří do množiny
[1] samoopravné kódy: terminologie, princip
[1] Úvod do kódování samoopravné kódy: terminologie, princip blokové lineární kódy Hammingův kód Samoopravné kódy, k čemu to je [2] Data jsou uložena (nebo posílána do linky) kodérem podle určitého pravidla
Red Black strom (Red Black Tree) Úvod do programování. Rotace. Red Black strom. Rotace. Rotace
Úvod do programování Michal Krátký 1,Jiří Dvorský 1 1 Katedra informatiky VŠB Technická univerzita Ostrava Úvod do programování, 2004/2005 Red Black strom je binární strom s jedním dvouhodnotovým příznakem
4.2 Syntaxe predikátové logiky
36 [070507-1501 ] 4.2 Syntaxe predikátové logiky V tomto oddíle zavedeme syntaxi predikátové logiky, tj. uvedeme pravidla, podle nichž se tvoří syntakticky správné formule predikátové logiky. Význam a
NEJKRATŠÍ CESTY I. Doc. RNDr. Josef Kolář, CSc. Katedra teoretické informatiky, FIT České vysoké učení technické v Praze
NEJKRATŠÍ CESTY I Doc. RNDr. Josef Kolář, CSc. Katedra teoretické informatiky, FIT České vysoké učení technické v Praze BI-GRA, LS 2010/2011, Lekce 7 Evropský sociální fond Praha & EU: Investujeme do vaší
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)
IB111 Úvod do programování skrze Python
Vyhledávání, řazení, složitost IB111 Úvod do programování skrze Python 2014 1 / 48 Otrávené studny 8 studen, jedna z nich je otrávená laboratorní rozbor dokáže rozpoznat přítomnost jedu ve vodě je drahý
Regulární výrazy. Filtry grep, sed a awk.
Přednáška 5 Regulární výrazy. Filtry grep, sed a awk. Katedra počítačových systémů FIT, České vysoké učení technické v Praze Jan Trdlička, 2011 Příprava studijního programu Informatika je podporována projektem
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
Úlohy k procvičování textu o svazech
Úlohy k procvičování textu o svazech Číslo za pomlčkou v označení úlohy je číslo kapitoly textu, která je úlohou procvičovaná. Každá úloha je vyřešena o několik stránek později. Kontrolní otázky - zadání
Algoritmizace a programování
Algoritmizace a programování Výrazy Operátory Výrazy Verze pro akademický rok 2012/2013 1 Operace, operátory Unární jeden operand, operátor se zapisuje ve většině případů před operand, v některých případech
Příklad 1/23. Pro rostoucí spojité fukce f(x), g(x) platí f(x) Ω(g(x)). Z toho plyne, že: a) f(x) Ο(g(x)) b) f(x) Θ(g(x)) d) g(x) Ω(f(x))
Příklad 1/23 Pro rostoucí spojité fukce f(x), g(x) platí f(x) Ω(g(x)). Z toho plyne, že: a) f(x) Ο(g(x)) b) f(x) Θ(g(x)) c) g(x) Θ(f(x)) d) g(x) Ω(f(x)) e) g(x) Ο(f(x)) 1 Příklad 2/23 Pro rostoucí spojité
Pumping lemma - podstata problému. Automaty a gramatiky(bi-aag) Pumping lemma - problem resolution. Pumping lemma - podstata problému
BI-AAG (2011/2012) J. Holub: 10. Vlastnosti regulárních jazyků p. 2/22 Pumping lemma - podstata problému BI-AAG (2011/2012) J. Holub: 10. Vlastnosti regulárních jazyků p. 4/22 Automaty a gramatiky(bi-aag)
Formální jazyky. Z. Sawa (VŠB-TUO) Úvod do teoretické informatiky 21. března / 50
Formální jazyky Z. Sawa (VŠB-TUO) Úvod do teoretické informatiky 21. března 2013 1/ 50 Abeceda a slovo Definice Abeceda je libovolná neprázdná konečná množina symbolů(znaků). Poznámka: Abeceda se často
2) Napište algoritmus pro vložení položky na konec dvousměrného seznamu. 3) Napište algoritmus pro vyhledání položky v binárním stromu.
Informatika 10. 9. 2013 Jméno a příjmení Rodné číslo 1) Napište algoritmus pro rychlé třídění (quicksort). 2) Napište algoritmus pro vložení položky na konec dvousměrného seznamu. 3) Napište algoritmus
Matematické základy šifrování a kódování
Matematické základy šifrování a kódování Permutace Pojem permutace patří mezi základní pojmy a nachází uplatnění v mnoha oblastech, např. kombinatorice, algebře apod. Definice Nechť je n-prvková množina.
Pojem binární relace patří mezi nejzákladnější matematické pojmy. Binární relace
RELACE Pojem binární relace patří mezi nejzákladnější matematické pojmy. Binární relace slouží k vyjádření vztahů mezi prvky nějakých množin. Vztahy mohou být různé povahy. Patří sem vztah býti potomkem,
Základy teorie množin
Základy teorie množin Teorie Výběr základních pojmů: Množina Podmnožina Prázdná množina Označení běžně používaných množin Množinová algebra (sjednocení, průnik, rozdíl) Doplněk množiny Potenční množina
FUNKCE 3. Autor: Mgr. Dana Kaprálová. Datum (období) tvorby: září, říjen 2013. Ročník: sedmý. Vzdělávací oblast: Informatika a výpočetní technika
FUNKCE 3 Autor: Mgr. Dana Kaprálová Datum (období) tvorby: září, říjen 2013 Ročník: sedmý Vzdělávací oblast: Informatika a výpočetní technika 1 Anotace: Žáci se seznámí se základní obsluhou tabulkového
Vztah jazyků Chomskeho hierarchie a jazyků TS
Vztah jazyků Chomskeho hierarchie a jazyků TS Jan Konečný; (přednáší Lukáš Havrlant) 15. října 2013 Jan Konečný; (přednáší Lukáš Havrlant) Chomskeho hierarchie a jazyky TS 15. října 2013 1 / 23 Rychlé
Aritmetika s didaktikou I.
Katedra matematiky PF UJEP Aritmetika s didaktikou I. KM / Přednáška Struktury se dvěma binárními operacemi O čem budeme hovořit: opakování struktur s jednou operací struktury se dvěma operacemi Struktury
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é
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í
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í
Teoretická informatika Tomáš Foltýnek Teorie čísel Nekonečno
Tomáš Foltýnek foltynek@pef.mendelu.cz Teorie čísel Nekonečno strana 2 Opakování z minulé přednášky Jak je definována podmnožina, průnik, sjednocení, rozdíl? Jak je definována uspořádaná dvojice a kartézský
Základy matematické analýzy
Základy matematické analýzy Spojitost funkce Ing. Tomáš Kalvoda, Ph.D. 1, Ing. Daniel Vašata 2 1 tomas.kalvoda@fit.cvut.cz 2 daniel.vasata@fit.cvut.cz Katedra aplikované matematiky Fakulta informačních
Matematika III. 4. října Vysoká škola báňská - Technická univerzita Ostrava. Matematika III
Vysoká škola báňská - Technická univerzita Ostrava 4. října 2018 Podmíněná pravděpodobnost Při počítání pravděpodobnosti můžeme k náhodnému pokusu přidat i nějakou dodatečnou podmínku. Podmíněná pravděpodobnost