Určování složitosti algoritmů. Základy diskrétní matematiky, BI-ZDM

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

Download "Určování složitosti algoritmů. Základy diskrétní matematiky, BI-ZDM"

Transkript

1 Určování složitosti algoritmů doc. RNDr. Josef Kolář, CSc. Katedra teoretické informatiky FIT České vysoké učení technické v Praze c Josef Kolar, 2011 Základy diskrétní matematiky, BI-ZDM ZS 2011/12, Lekce 1 Evropský sociální fond. Praha& EU: Investujeme do vaší budoucnosti doc. Josef Kolář (FIT ČVUT) Určování složitosti algoritmů ZDM, ZS 2011/12, Lekce 1 1/ 15

2 Organizace předmětu Organizace předmětu ZDM Předmět teoretického informatického základu. Cílem je seznámit se svlastnostmidiskrétníchstrukturajejichvyužitímvinformatice shlavnímidruhybinárníchrelacíajejichvlastnostmi stechnikouaširokýmvyužitímmatematickéindukcevinformatice sezákladnímikombinatorickýmipostupy Cvičení: seminární, u tabule aktivníúčast12b 4průběžnétestypo4b=16b 6domácíchúlohpo3b(počítajísemax.4=12b). Nazápočetjetřebaminimálně24bze40b. Zkouška: M-midtermv9.týdnu24b,minimálně15b R-roztřel16b,M+Rminimálně24b V-velkápísemka(20-5)b U-ústní(10-5)b doc. Josef Kolář (FIT ČVUT) Určování složitosti algoritmů ZDM, ZS 2011/12, Lekce 1 2/ 15

3 Organizace předmětu Reference Při přípravě předmětu jsem využíval mnoha zdrojů, především pak: Habala, P.: Diskrétní matematika(viz URL s laskavým svolením autora je text k dispozici i studentům BI-ZDM. Kolář,J.-Štěpánková,O.-Chytil,M.:Logika,algebryagrafy. SNTL,Praha1989(pokudjiněkdosežene...). Johnsonbaugh, R.: Discrete Mathematics. Prentice Hall, New Jersey Graham, R.L.- Knuth, D.E.- Patashnik, O.: Concrete Mathematics. Addison-Wesley, Boston Použitelné jsou ovšem i libovolné další zdroje, které se věnují tématice zahrnuté do obsahu předmětu BI-ZDM. doc. Josef Kolář (FIT ČVUT) Určování složitosti algoritmů ZDM, ZS 2011/12, Lekce 1 3/ 15

4 Problém vs. algoritmus vs. program Problémy a algoritmy Výpočetní problém V: úkol zpracovat/transformovat vstupní data In na výstupní data Out s požadovanými vlastnostmi. Algoritmus A: výpočetní postup řešení problému V, čili posloupnost výpočetních kroků, která vezme vstupní data a vyprodukuje výstupní data, požadovaných vlastností podle zadání problému. Instance problému: problém s konkrétními daty potřebnými pro jeho řešení. Příklad 1 Problém řazení čísel(sorting Problem). Vstup:Posloupnostčísel In=(a 1,a 2,...,a n ). Výstup:Permutace Out=(a 1,a 2,...,a n)posloupnosti Intaková, že a 1 a 2... a n. Instance problému řazení: Seřaďtevzestupněposloupnost In=(75,11,34,176,59,6,54). doc. Josef Kolář (FIT ČVUT) Určování složitosti algoritmů ZDM, ZS 2011/12, Lekce 1 4/ 15

5 Problém vs. algoritmus vs. program Korektnost algoritmu Korektníalgoritmus Aproproblém V: prokaždouinstanciproblému V, algoritmus A skončí v konečném čase se správným výstupem.pakříkáme,žealgoritmus Ařešíproblém V. Čili: A není korektní algoritmus, pokud: pro některou instanci problému neskončí(např. se zacyklí ) nebo pro některou instanci problému skončí s nesprávným výstupem. Jak se přesvědčíme, že nějaký algoritmus je korektní? doc. Josef Kolář (FIT ČVUT) Určování složitosti algoritmů ZDM, ZS 2011/12, Lekce 1 5/ 15

6 Problém vs. algoritmus vs. program Zápis algoritmů Používaná forma zápisu algoritmů na přednáškách ZDM: slovní popis pseudokód program v jazyce systému Mathematica Program P: zápis(implementace) algoritmu A v programovacím jazyku, spustitelný(proveditelný) na nějakém počítači s nějakým OS a SW prostředím. jedenalgoritmus A víceprogramů P 1,P 2,... časové a paměťové nároky různých programů téhož algoritmu mohou záviset na architektuře počítače nikoli ale řádově. doc. Josef Kolář (FIT ČVUT) Určování složitosti algoritmů ZDM, ZS 2011/12, Lekce 1 6/ 15

7 Složitost algoritmů Algoritmy mají různou složitost Projedenproblém V mohouexistovatrůznéalgoritmy A 1,A 2,..., pro jeho řešení. Jejich nároky na výpočetní prostředky(složitost) se mohou výrazně (řádově) lišit. Zvláště se mohou lišit svojí rychlostí(operační složitostí). Analýza složitosti algoritmu: výpočet/odhad/predikce požadavků na výpočetní prostředky, které provedení algoritmu bude vyžadovat v závislosti na velikosti vstupních dat. Velikost vstupních dat závisí na specifikaci daného problému: počet bitů vstupního čísla délka vstupní posloupnosti čísel rozměry vstupní matice početznakůvstupníhotextu,... doc. Josef Kolář (FIT ČVUT) Určování složitosti algoritmů ZDM, ZS 2011/12, Lekce 1 7/ 15

8 Složitost algoritmů Výpočetní(operační) složitost Varianty: doba běhu algoritmu doba výpočtu počet provedených operací počet provedených instrukcí(aritmetických, logických, paměťových) počet transakcí nad databází Případová analýza složitosti: Algoritmus obsahuje podmíněné příkazy jeho složitost obecně závisí: nejen na velikosti vstupních dat, ale také na jejich hodnotách(algoritmus je citlivý na vstupní data). doc. Josef Kolář (FIT ČVUT) Určování složitosti algoritmů ZDM, ZS 2011/12, Lekce 1 8/ 15

9 Složitost algoritmů Příklad algoritmů s různou složitostí Příklad algoritmů s různou složitostí Příklad 2 Zjistěte,zdajsouvpoli a[0,...,n 1]všechnyhodnotynavzájemrůzné true false doc. Josef Kolář (FIT ČVUT) Určování složitosti algoritmů ZDM, ZS 2011/12, Lekce 1 9/ 15

10 Složitost algoritmů Příklad algoritmů s různou složitostí 1.algoritmus A 1 (intuitivní,jednoduchý) Myšlenka: porovnat každý prvek s každým, zda se shodují. bool ruzne = true; for (i=0; (i<n); i++) for (j=0; (j<n); j++) if ((i!=j) && (a[i]==a[j])) ruzne = false; Početiterací: n 2. Početporovnání:přibližně h 1 (n). =4n 2. Kromě toho se provádí řada dalších operací, např. čtení z paměti. doc. Josef Kolář (FIT ČVUT) Určování složitosti algoritmů ZDM, ZS 2011/12, Lekce 1 10/ 15

11 Složitost algoritmů Příklad algoritmů s různou složitostí 2.lepšíalgoritmus A 2 Myšlenka: ukončit cyklus, pokud jsou nalezeny stejné hodnoty. bool ruzne = true; for (i=0; (i<n) && ruzne; i++) for (j=0; (j<n) && ruzne; j++) if ((i!=j) && (a[i]==a[j])) ruzne = false; Početiterací:1až n 2. Početporovnání: h 2 (n). =4ažpřibližně4n 2. doc. Josef Kolář (FIT ČVUT) Určování složitosti algoritmů ZDM, ZS 2011/12, Lekce 1 11/ 15

12 Složitost algoritmů Příklad algoritmů s různou složitostí 3.ještělepšíalgoritmus A 3 Myšlenka: Neporovnávat každý prvek s každým prvkem dvakrát (rovnost je symetrická) rovnou vynechat diagonálu. bool ruzne = true; for (i=1; (i<n) && ruzne; i++) for (j=0; (j<i) && ruzne; j++) if ( /*... */ (a[i]==a[j])) ruzne = false; Početiterací:1až n(n 1)/2. Početporovnání: h 3. =3ažpřibližně3n(n 1)/2. doc. Josef Kolář (FIT ČVUT) Určování složitosti algoritmů ZDM, ZS 2011/12, Lekce 1 12/ 15

13 Složitost algoritmů Příklad algoritmů s různou složitostí 4.ještělepšíalgoritmus A 4 Myšlenka: Hodnoty v poli nejprve seřadit. bool ruzne = true; seřaď vstupní pole a[0,...,n-1]; for (i=1; (i<n) && ruzne; i++) if (a[i]==a[i-1]) ruzne = false; Početiterací:1až(n 1). Počet porovnání: 2 až přibližně 2n. Celkovásložitost:nejvýšepřibližně h 4 (n). = knlogn+2n, kje nějaká konstanta. doc. Josef Kolář (FIT ČVUT) Určování složitosti algoritmů ZDM, ZS 2011/12, Lekce 1 13/ 15

14 Asymptotická matemetika Vyjádření složitosti algoritmu Viděli jsme, že složitost algoritmu může obecně záviset na hodnotách vstupních dat. Proto je obecně potřebné vyjádřit složitost algoritmu: vnejlepšímpřípadě, vnejhoršímpřípadě, vprůměrnémpřípadě. Poslední případ je nejobtížnější, protože není vždy zřejmé, co to jsou vstupní data v průměrném případě. Typicky náhodně vygenerovaná, aletonemusíbýtvpraxisplněno. Platí pro složitost časovou, paměťovou, komunikační, transakční,... doc. Josef Kolář (FIT ČVUT) Určování složitosti algoritmů ZDM, ZS 2011/12, Lekce 1 14/ 15

15 Asymptotická matemetika Umění analýzy složitosti algoritmu Analýza složitosti algoritmů vyžaduje řadu znalostí a schopností: znalost asymptotických odhadů řádu růstu funkcí schopnost abstrakce výpočetního modelu znalosti z diskétní matematiky kombinatoriky znalost sčítání řad a řešení rekurentních rovnic znalosti základů teorie pravděpodobnosti adalší doc. Josef Kolář (FIT ČVUT) Určování složitosti algoritmů ZDM, ZS 2011/12, Lekce 1 15/ 15

16 Asymptotická matemetika Výpočetní model RAM model Pro analýzu složitosti algoritmu potřebujeme model výpočetního systému, na kterém algoritmus bude hypoteticky implementován. Nejčastější je jednoprocesorový Random Access Machine(RAM) model: datauloženavadresovatelnépaměti aritmetickologické,řídící,paměťovéinstrukce časovásložitostinstrukcíjejednotkovánebokonstatní instrukcejsouprováděnypostupně(sekvenčně). doc. Josef Kolář (FIT ČVUT) Určování složitosti algoritmů ZDM, ZS 2011/12, Lekce 1 16/ 15

17 Asymptotická matemetika Asymptotická složitost Asymptotická složitost Přesnou složitost lze určit jen v případě jednodušších algoritmů, cožvevětšiněpřípadůnestojízanámahu, vpřípaděsložitýchalgoritmůjetoobtížnéažnemožné. Proto se to typicky nedělá. Z praktického hlediska nás zajímá především, jak se bude algoritmus chovat pro velké( ) instance problému. Typicky nám stačí vyjádřit řád růstu funkce vyjadřující složitost se zanedbáním příspěvků nižších řádu. Příklad 3 Složitost4.algoritmujenejvýše h 4 (n)=knlogn+3n. = knlognpro velká n řazení dominuje zbytku algoritmu. DEMO1 doc. Josef Kolář (FIT ČVUT) Určování složitosti algoritmů ZDM, ZS 2011/12, Lekce 1 17/ 15

18 Asymptotická matemetika Asymptotická složitost Asymptotická složitost(pokr.) Zajímá nás, jak složitost algoritmu závisí na velikosti vstupních dat v limitě, pokud velikost instance problému poroste nade všechny meze. Pro první porozumění chování algoritmu nás nemusejí zajímat ani multiplikativní konstanty říkáme, že nás zajímá asymptotická složitost. Je to složitost vyjádřená pro instance problému dostatečně velké, aby se jasně projevil řád růstu složitosti v závislosti na velikosti vstupních dat. Asymptoticky lepší algoritmus bude lepší pro všechny instance problému kromě konečného počtu menších instancí. Příklad 4 Hodnotyfce f(n)=1.5n n+30provelká nbudouvelmiblízké hodnotámfce g(n)=1.5n 2 nebofce h(n)=1.5n 2 25n+44.DEMO2 doc. Josef Kolář (FIT ČVUT) Určování složitosti algoritmů ZDM, ZS 2011/12, Lekce 1 18/ 15

19 Asymptotická matemetika Asymptotická aritmetika Asymptotická aritmetika N + =množinakladnýchpřirozenýchčísel R + =množinakladnýchreálnýchčísel Uvažujeme pouze kladné funkce jedné přirozené proměnné n: f,g,...:n + R +. doc. Josef Kolář (FIT ČVUT) Určování složitosti algoritmů ZDM, ZS 2011/12, Lekce 1 19/ 15

20 Asymptotická matemetika Asymptotická horní mez Asymptotická horní mez: O-notace Definice 5 (Relační)Jsou-lidányfunkce f(n)ag(n),pakřekneme,že f(n)je nejvýše řádu g(n), psáno f(n) = O(g(n)), jestliže c R + n 0 N + n n 0 : f(n) c.g(n). Alternativní definice. Definice 6 ( Množinová) Je-li dána funkce g(n), pak O(g(n)) je definována jako (nekonečná) množina funkcí {f(n): c R + n 0 N + n n 0 : f(n) c.g(n)}. O-notaci používáme pro vyjádření horní meze růstu funkce až na multiplikativní konstantu. doc. Josef Kolář (FIT ČVUT) Určování složitosti algoritmů ZDM, ZS 2011/12, Lekce 1 20/ 15

21 Asymptotická matemetika Asymptotická horní mez Asymptotická horní mez: O-notace(pokr.) doc. Josef Kolář (FIT ČVUT) Určování složitosti algoritmů ZDM, ZS 2011/12, Lekce 1 21/ 15

22 Asymptotická matemetika Asymptotická horní mez Landauova symbolika a O-notace Vztahnaší O-notaceaLandauovysybmolikyzBI-ZMA(označmeji O L )? Definice 8 a n = O L (b n ) df existuje(ω n ) taková,že (ω n ) jeomezenáposloupnostaa n = ω n b n prokaždé n N +. f(n)=o(g(n)) df c R + n 0 N + n n 0 : f(n) c.g(n). V našem případě pracujeme pouze s posloupnostmi/funkcemi, jež mají kladnéhodnoty,(a n ) f(n), (b n ) g(n) a(ω n ) ω(n). O L O: ω(n)jeomezená ω(n) =ω(n) K pro n N + pro c=ka n n 0 =1platí f(n)=ω(n)g(n) K.g(n) O O L : zvolme ω(n)= f(n) g(n),pakpro n n 0je f(n) c.g(n) neboli ω(n) c.položíme-li K= max(ω(1),...,ω(n 0 1),c),pak ω(n) Kprovšechna n N +. doc. Josef Kolář (FIT ČVUT) Určování složitosti algoritmů ZDM, ZS 2011/12, Lekce 1 22/ 15

23 Asymptotická matemetika Asymptotická dolní mez Asymptotická dolní mez: Ω-notace Definice 9 (Relační)Jsou-lidányfunkce f(n)ag(n),pakřekneme,že f(n)je nejméně řádu g(n), psáno f(n) = Ω(g(n)), jestliže c R + n 0 N + n n 0 : c.g(n) f(n). Alternativní definice. Definice 10 ( Množinová) Je-li dána funkce g(n), pak Ω(g(n)) je definována jako (nekonečná) množina funkcí {f(n): c R + n 0 N + n n 0 : c.g(n) f(n)}. Ω-notaci používáme pro vyjádření dolní meze růstu funkce až na multiplikativní konstantu. doc. Josef Kolář (FIT ČVUT) Určování složitosti algoritmů ZDM, ZS 2011/12, Lekce 1 23/ 15

24 Asymptotická matemetika Asymptotická dolní mez Asymptotická dolní mez: Ω-notace(pokr.) doc. Josef Kolář (FIT ČVUT) Určování složitosti algoritmů ZDM, ZS 2011/12, Lekce 1 24/ 15

25 Asymptotická matemetika Asymptotická těsná mez Asymptotická těsná mez: Θ-notace Definice 12 (Relační)Jsou-lidányfunkce f(n)ag(n),pakřekneme,že f(n)je téhožřádujako g(n),psáno f(n)=θ(g(n)),jestliže c 1,c 2 R + n 0 N + n n 0 : c 1.g(n) f(n) c 2.g(n). Alternativní definice. Definice 13 ( Množinová) Je-li dána funkce g(n), pak Θ(g(n)) je definována jako (nekonečná) množina funkcí {f(n): c 1,c 2 R + n 0 N + n n 0 : c 1.g(n) f(n) c 2.g(n)}. Θ-notaci používáme pro vyjádření faktu, že dvě funkce rostou asymptoticky stejně až na multiplikativní konstantu. Zápisy f(n) Θ(g(n))af(n)=Θ(g(n))jsourovnocennéazáleží pouzenakontextu,kterýjevhodnější(totéžplatípro O,Ω,o,ω). doc. Josef Kolář (FIT ČVUT) Určování složitosti algoritmů ZDM, ZS 2011/12, Lekce 1 25/ 15

26 Asymptotická matemetika Asymptotická těsná mez Asymptotická těsná mez: Θ-notace(pokr.) Příklad 14 3n 2 5n+15=Θ(n 2 ) Prokaždýpolynomplatí d i=0 a in i =Θ(n d ),pokud a d > doc. Josef Kolář (FIT ČVUT) Určování složitosti algoritmů ZDM, ZS 2011/12, Lekce 1 26/ 15

27 Asymptotická matemetika Asymptotická těsná mez Příklad použití Θ-notace Vztah mezi asymptotickou horní, dolní a těsnou mezí: f(n)=θ(g(n))implikuje f(n)=o(g(n)) (Θ je silnější podmínka než O neboli Θ(g(n)) O(g(n))). f(n)=θ(g(n))implikuje f(n)=ω(g(n)) (Θ je silnější podmínka než Ω neboli Θ(g(n)) Ω(g(n))). f(n)=θ(g(n)) f(n)=o(g(n)) f(n)=ω(g(n)) doc. Josef Kolář (FIT ČVUT) Určování složitosti algoritmů ZDM, ZS 2011/12, Lekce 1 27/ 15

28 Asymptotická matemetika Asymptotická těsná mez Příklad použití Θ-notace Příklad 15 Ukážeme,že f(n)=3n 2 5n+15=Θ(n 2 ). Pro c 1 =2,c 2 =4an 0 =3platí neboť máme 2n 2 3n 2 5n+15 3n 2 pro n 3, 2n 2 3n 2 5n+15poodečtení2n 2 dostaneme 0 n 2 5n+15,cožplynezn 2 5n+15=(n 3) 2 +n+6 0 3n 2 5n+15 3n 2 poodečtení3n 2 5n+15 0,cožplatípro n=3atedyipro n 3,neboťlevá strana je klesající funkce. doc. Josef Kolář (FIT ČVUT) Určování složitosti algoritmů ZDM, ZS 2011/12, Lekce 1 28/ 15

29 Asymptotická matemetika Asymptotická větší horní mez Striktně větší horní mez: o-notace Definice 16 (Relační)Jsou-lidányfunkce f(n)ag(n),pakřekneme,že f(n)je striktně nižšího řádu než g(n), psáno f(n) = o(g(n)), jestliže c R + n 0 N + n n 0 : f(n) < c.g(n). Alternativní definice. Definice 17 ( Množinová) Je-li dána funkce g(n), pak o(g(n)) je definována jako (nekonečná) množina funkcí {f(n): c R + n 0 N + n n 0 : f(n) < c.g(n)}. Zápisy f(n) o(g(n))af(n)=o(g(n))jsouopětrovnocenné. Vyjadřují,že g(n)jepro f(n)asymp.hornímezívyššíhořádu. Pakplatílim n f(n) g(n) =0,tj. f(n)=o L(g(n)) vlandauověnotaci. doc. Josef Kolář (FIT ČVUT) Určování složitosti algoritmů ZDM, ZS 2011/12, Lekce 1 29/ 15

30 Asymptotická matemetika Asymptotická menší dolní mez Striktně menší dolní mez: ω-notace Definice 18 (Relační)Jsou-lidányfunkce f(n)ag(n),pakřekneme,že f(n)je striktně vyššího řádu než g(n), psáno f(n) = ω(g(n)), jestliže c R + n 0 N + n n 0 : c.g(n) < f(n). Alternativní definice. Definice 19 ( Množinová) Je-li dána funkce g(n), pak ω(g(n)) je definována jako (nekonečná) množina funkcí {f(n): c R + n 0 N + n n 0 : c.g(n) < f(n)}. Zápis f(n)=ω(g(n))vyjadřuje,že g(n)jepro f(n)asymptotickou dolní mezí nižšího řádu. Pakplatílim n f(n) g(n) =. Žádná multiplikativní konstanta neumožní, aby g(n) dostihlo f(n). doc. Josef Kolář (FIT ČVUT) Určování složitosti algoritmů ZDM, ZS 2011/12, Lekce 1 30/ 15

31 Asymptotická matemetika Asymptotická menší dolní mez Použití asymptotické notace Asymptotická notace nám umožňuje zjednodušovat výrazy zanedbáním nepodstatných částí. Znamená f(n)=θ(g(n)) totéž,jako f(n) g(n)vlandauově notaci? DEMO 5 Coznamenázápis f(n)=4n 3 +Θ(n 2 )? VýrazΘ(n)zastupujeanonymnífunkcizmnožinyΘ(n 2 )(nějaká kvadratická funkce), jejíž konkrétní podobu prozatím zanedbáváme. Co znamenají zápisy Θ(1), O(1), Ω(1)? Přesněji neurčené konstantní meze. Coznamenázápis f(n)=o(n O(1) )? f(n)jeshoraomezenanějakoupolynomiálnífunkcí n c,kde csice přesně neznáme, ale víme, že to je konstanta. doc. Josef Kolář (FIT ČVUT) Určování složitosti algoritmů ZDM, ZS 2011/12, Lekce 1 31/ 15

32 Asymptotická matemetika Zákony asymptotické aritmetiky Zákony asymptotické aritmetiky Tranzitivita: f(n)=o(g(n)) g(n)=o(h(n)) f(n)=o(h(n)) (podobněproω,θ,o,ω) Reflexivita: f(n)=o(f(n)) (podobněproω,θ) Symetrie: f(n)=θ(g(n)) g(n)=θ(f(n)) Transpoziční f(n)=o(g(n)) g(n)=ω(f(n)) symetrie: f(n)=o(g(n)) g(n)=ω(f(n)) Inkluze: f(n)=o(g(n)) f(n)=o(g(n)) f(n)=θ(g(n)) f(n)=o(g(n)) f(n)=ω(g(n)) f(n)=ω(g(n)) f(n)=θ(g(n)) f(n)=ω(g(n)) Všimněte si následující analogie s porovnáváním čísel: O Ω Θ o ω odpovídá = < > doc. Josef Kolář (FIT ČVUT) Určování složitosti algoritmů ZDM, ZS 2011/12, Lekce 1 32/ 15

33 Asymptotická matemetika Základní funkce Základní funkce jedné proměnné dolníceláčást x,horníceláčást x polynomiální exponent >1,např. n 2 lineární mocninnásexponentem <1,např. 4 n exponenciální,např.2 n polylogaritmické,např.log 3 n faktoriální n! logaritmickáiteracelog n Fibonacciho čísla F(n)... doc. Josef Kolář (FIT ČVUT) Určování složitosti algoritmů ZDM, ZS 2011/12, Lekce 1 33/ 15

34 Asymptotická matemetika Základní funkce Porovnání řádu funkcí Příklad 20 1 Dokažte,želogn=o(n c )prolibovolnoukonstantu0 < c <1. 2 Seřaďte následující funkce dle jejich asymptotické složitosti. n 3 logn! e n 2 n n log(n!) loglogn 1.5 n n2 n n! n logn logn log 2 n 2 2n n 2 logn 2 n n/logn 2 log2 n n 1/logn logn nlogn doc. Josef Kolář (FIT ČVUT) Určování složitosti algoritmů ZDM, ZS 2011/12, Lekce 1 34/ 15

35 Asymptotická matemetika Základní funkce Srovnání časových složitostí Předpokládejme,že1operacetrvá1µsažepočetoperacíjedánfunkcív prvním sloupci. Doba výpočtu je pak pro různé hodnoty n následující: (Připomeňme,žepočetatomůvevesmíruseodhadujena10 80 astáří vesmíruna let.) n logn 3,3 µs 4,3µs 5µs 5,8µs 9µs 10µs n 10µs 20µs 40µs 60µs 0, 5ms 1ms n log n 33µs 86µs 0, 2ms 0, 35ms 4, 5ms 10ms n 2 0,1ms 0,4ms 1,6 ms 3,6ms 0,25s 1s n 3 1ms 8ms 64ms 0,2s 125s 17min n 4 10ms 160ms 2,56s 13s 17h 11,6dní 2 n 1ms 1s 12,7dní 3600let let let n! 3,6s 77100let let let let let doc. Josef Kolář (FIT ČVUT) Určování složitosti algoritmů ZDM, ZS 2011/12, Lekce 1 35/ 15

Úvod do problematiky

Úvod do problematiky Úvod do problematiky Karel Richta a kol. Přednášky byly připraveny i s pomocí materiálů, které vyrobili Marko Berezovský, Petr Felkel, Josef Kolář, Michal Píše a Pavel Tvrdík Katedra počítačů Fakulta elektrotechnická

Více

Algoritmizace. Jiří Vyskočil, Marko Genyg-Berezovskyj 2010

Algoritmizace. Jiří Vyskočil, Marko Genyg-Berezovskyj 2010 Jiří Vyskočil, Marko Genyg-Berezovskyj 2010 Úvod stránky předmětu: https://cw.felk.cvut.cz/doku.php/courses/a4b33alg/start cíle předmětu Cílem je schopnost samostatné implementace různých variant základních

Více

Digitální učební materiál

Digitální učební materiál Digitální učební materiál Číslo projektu: CZ.1.07/1.5.00/34.0548 Název školy: Gymnázium, Trutnov, Jiráskovo náměstí 325 Název materiálu: VY_32_INOVACE_146_IVT Autor: Ing. Pavel Bezděk Tematický okruh:

Více

Časová složitost / Time complexity

Časová složitost / Time complexity Časová složitost / Time complexity Jan Kybic http://cmp.felk.cvut.cz/~kybic kybic@fel.cvut.cz 2016 2018 1 / 24 Složitost algoritmů Algorithm complexity Časová a paměťová složitost Trvání výpočtu v závislosti

Více

Složitost 1.1 Opera ní a pam ová složitost 1.2 Opera ní složitost v pr rném, nejhorším a nejlepším p ípad 1.3 Asymptotická složitost

Složitost 1.1 Opera ní a pam ová složitost 1.2 Opera ní složitost v pr rném, nejhorším a nejlepším p ípad 1.3 Asymptotická složitost 1 Složitost 1.1 Operační a paměťová složitost Nezávislé určení na konkrétní implementaci Několik typů operací = sčítání T+, logické T L, přiřazení T A(assign), porovnání T C(compare), výpočet adresy pole

Více

Složitost algoritmů. doc. Mgr. Jiří Dvorský, Ph.D. Katedra informatiky Fakulta elektrotechniky a informatiky VŠB TU Ostrava

Složitost algoritmů. doc. Mgr. Jiří Dvorský, Ph.D. Katedra informatiky Fakulta elektrotechniky a informatiky VŠB TU Ostrava Složitost algoritmů doc. Mgr. Jiří Dvorský, Ph.D. Katedra informatiky Fakulta elektrotechniky a informatiky VŠB TU Ostrava Prezentace ke dni 27. prosince 2015 Jiří Dvorský (VŠB TUO) Složitost algoritmů

Více

Řešení rekurentních rovnic 2. Základy diskrétní matematiky, BI-ZDM ZS 2011/12, Lekce 11

Řešení rekurentních rovnic 2. Základy diskrétní matematiky, BI-ZDM ZS 2011/12, Lekce 11 Řešení rekurentních rovnic 2 doc. RNDr. Josef Kolář, CSc. Katedra teoretické informatiky FIT České vysoké učení technické v Praze c Josef Kolar, 2011 Základy diskrétní matematiky, BI-ZDM ZS 2011/12, Lekce

Více

Složitost algoritmů. Karel Richta a kol. Katedra počítačů Fakulta elektrotechnická České vysoké učení technické v Praze Karel Richta a kol.

Složitost algoritmů. Karel Richta a kol. Katedra počítačů Fakulta elektrotechnická České vysoké učení technické v Praze Karel Richta a kol. Složitost algoritmů Karel Richta a kol. Katedra počítačů Fakulta elektrotechnická České vysoké učení technické v Praze Karel Richta a kol., 2017 Datové struktury a algoritmy, B6B36DSA 02/2017, Lekce 3

Více

2. Složitost, grafové algoritmy (zapsal Martin Koutecký)

2. Složitost, grafové algoritmy (zapsal Martin Koutecký) 2. Složitost, grafové algoritmy (zapsal Martin Koutecký) Model Ram Při analýze algoritmu bychom chtěli nějak popsat jeho složitost. Abychom mohli udělat toto, potřebujeme nejprve definovat výpočetní model.

Více

Algoritmy I, složitost

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á??

Více

Databáze, sítě a techniky programování X33DSP

Databáze, sítě a techniky programování X33DSP Databáze, sítě a techniky programování X33DSP Anotace: Náplní předmětu jsou některé techniky a metody používané ve výpočetních systémech zaměřených na biomedicínské inženýrství. Cílem je položit jednotný

Více

NP-ÚPLNÉ PROBLÉMY. Doc. RNDr. Josef Kolář, CSc. Katedra teoretické informatiky, FIT České vysoké učení technické v Praze

NP-ÚPLNÉ PROBLÉMY. Doc. RNDr. Josef Kolář, CSc. Katedra teoretické informatiky, FIT České vysoké učení technické v Praze NP-ÚPLNÉ PROBLÉMY Doc. RNDr. Josef Kolář, CSc. Katedra teoretické informatiky, FIT České vysoké učení technické v Praze BI-GRA, LS 2010/2011, Lekce 13 Evropský sociální fond Praha & EU: Investujeme do

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

Datové struktury 2: Rozptylovací tabulky

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

Více

Lineární algebra : Násobení matic a inverzní matice

Lineární algebra : Násobení matic a inverzní matice Lineární algebra : Násobení matic a inverzní matice (8. přednáška) František Štampach, Karel Klouda frantisek.stampach@fit.cvut.cz, karel.klouda@fit.cvut.cz Katedra aplikované matematiky Fakulta informačních

Více

Mimo samotné správnosti výsledku vypočteného zapsaným algoritmem je ještě jedno

Mimo samotné správnosti výsledku vypočteného zapsaným algoritmem je ještě jedno 12 Délka výpočtu algoritmu Mimo samotné správnosti výsledku vypočteného zapsaným algoritmem je ještě jedno neméně důležité hledisko k posouzení vhodnosti algoritmu k řešení zadané úlohy. Jedná se o čas,

Více

IB015 Neimperativní programování. Časová složitost, Typové třídy, Moduly. Jiří Barnat Libor Škarvada

IB015 Neimperativní programování. Časová složitost, Typové třídy, Moduly. Jiří Barnat Libor Škarvada IB015 Neimperativní programování Časová složitost, Typové třídy, Moduly Jiří Barnat Libor Škarvada Sekce IB015 Neimperativní programování 07 str. 2/37 Časová složitost Časová složitost algoritmu IB015

Více

Složitosti základních operací B + stromu

Složitosti základních operací B + stromu Složitosti základních operací B + stromu Radim Bača VŠB Technická univerzita Ostrava Fakulta elektrotechniky a informatiky Katedra informatiky ŠKOMAM 2010-1- 28/1/2010 Složitosti základních operací B +

Více

Ekvivalence. Základy diskrétní matematiky, BI-ZDM ZS 2011/12, Lekce 5

Ekvivalence. Základy diskrétní matematiky, BI-ZDM ZS 2011/12, Lekce 5 doc. RNDr. Josef Kolář, CSc. Katedra teoretické informatiky FIT České vysoké učení technické v Praze c Josef Kolar, 2011 Základy diskrétní matematiky, BI-ZDM ZS 2011/12, Lekce 5 Evropský sociální fond.

Více

Matematická indukce a správnost programů. Základy diskrétní matematiky, BI-ZDM ZS 2011/12, Lekce 13

Matematická indukce a správnost programů. Základy diskrétní matematiky, BI-ZDM ZS 2011/12, Lekce 13 Matematická indukce a správnost programů doc. RNDr. Josef Kolář, CSc. Katedra teoretické informatiky FIT České vysoké učení technické v Praze c Josef Kolar, 2011 Základy diskrétní matematiky, BI-ZDM ZS

Více

MIDTERM D. Příjmení a jméno:

MIDTERM D. Příjmení a jméno: MIDTERM D Příjmení a jméno: 1 2 3 4 5 6 7 8 9 10 11 12 1 Doplňte místo otazníku ten ze symbolů, aby platil vztah (log n) / (log n 2 ) =?(1/ n): A) o B) O (a současně nelze použít ani o ani Θ) C) Θ D) Ω

Více

Časová složitost algoritmů

Časová složitost algoritmů Časová složitost algoritmů Důležitou vlastností algoritmu je časová náročnost výpočtů provedené podle daného algoritmu Ta se nezískává měřením doby výpočtu pro různá data, ale analýzou algoritmu, jejímž

Více

Algoritmizace složitost rekurzivních algoritmů. Jiří Vyskočil, Marko Genyg-Berezovskyj 2010

Algoritmizace složitost rekurzivních algoritmů. Jiří Vyskočil, Marko Genyg-Berezovskyj 2010 složitost rekurzivních algoritmů Jiří Vyskočil, Marko Genyg-Berezovskyj 2010 Vyjádřen ení složitosti rekurzivního algoritmu rekurentním m tvarem Příklad vyjádření složitosti rekurzivního algoritmu rekurencí:

Více

Řešení rekurentních rovnic 3. Základy diskrétní matematiky, BI-ZDM ZS 2011/12, Lekce 12

Řešení rekurentních rovnic 3. Základy diskrétní matematiky, BI-ZDM ZS 2011/12, Lekce 12 Řešení rekurentních rovnic 3 doc. RNDr. Josef Kolář, CSc. Katedra teoretické informatiky FIT České vysoké učení technické v Praze c Josef Kolar, 2011 Základy diskrétní matematiky, BI-ZDM ZS 2011/12, Lekce

Více

Zimní semestr akademického roku 2014/ prosince 2014

Zimní semestr akademického roku 2014/ prosince 2014 Cvičení k předmětu BI-ZMA Tomáš Kalvoda Katedra aplikované matematiky FIT ČVUT Matěj Tušek Katedra matematiky FJFI ČVUT Obsah Cvičení Zimní semestr akademického roku 2014/2015 2. prosince 2014 Předmluva

Více

Úvod do informatiky. Miroslav Kolařík

Úvod do informatiky. Miroslav Kolařík Úvod do informatiky přednáška jedenáctá Miroslav Kolařík Zpracováno dle P. Martinek: Základy teoretické informatiky, http://phoenix.inf.upol.cz/esf/ucebni/zti.pdf Obsah 1 Složitost algoritmu 2 Třídy složitostí

Více

Algoritmus. Přesné znění definice algoritmu zní: Algoritmus je procedura proveditelná Turingovým strojem.

Algoritmus. Přesné znění definice algoritmu zní: Algoritmus je procedura proveditelná Turingovým strojem. Algoritmus Algoritmus je schematický postup pro řešení určitého druhu problémů, který je prováděn pomocí konečného množství přesně definovaných kroků. nebo Algoritmus lze definovat jako jednoznačně určenou

Více

Obsah přednášky. Analýza algoritmu Algoritmická složitost Návrhy algoritmů Urychlování algoritmů 1/41

Obsah přednášky. Analýza algoritmu Algoritmická složitost Návrhy algoritmů Urychlování algoritmů 1/41 Obsah přednášky Analýza algoritmu Algoritmická složitost Návrhy algoritmů Urychlování algoritmů 1/41 Analýza algoritmu Proč vůbec dělat analýzu? pro většinu problémů existuje několik různých přístupů aby

Více

Digitální učební materiál

Digitální učební materiál Digitální učební materiál Číslo projektu: CZ.1.07/1.5.00/34.0548 Název školy: Gymnázium, Trutnov, Jiráskovo náměstí 325 Název materiálu: VY_32_INOVACE_145_IVT Autor: Ing. Pavel Bezděk Tematický okruh:

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

ÚVODNÍ ZNALOSTI. datové struktury. správnost programů. analýza algoritmů

ÚVODNÍ ZNALOSTI. datové struktury. správnost programů. analýza algoritmů ÚVODNÍ ZNALOSTI datové struktury správnost programů analýza algoritmů Datové struktury základní, primitivní, jednoduché datové typy: int, char,... hodnoty: celá čísla, znaky, jednoduché proměnné: int i;

Více

Aplikovaná numerická matematika - ANM

Aplikovaná numerická matematika - ANM Aplikovaná numerická matematika - ANM 3 Řešení soustav lineárních rovnic iterační metody doc Ing Róbert Lórencz, CSc České vysoké učení technické v Praze Fakulta informačních technologií Katedra počítačových

Více

10. Složitost a výkon

10. Složitost a výkon Jiří Vokřínek, 2016 B6B36ZAL - Přednáška 10 1 Základy algoritmizace 10. Složitost a výkon doc. Ing. Jiří Vokřínek, Ph.D. Katedra počítačů Fakulta elektrotechnická České vysoké učení technické v Praze Jiří

Více

Vyvažování a rotace v BVS, všude se předpokládá AVL strom

Vyvažování a rotace v BVS, všude se předpokládá AVL strom Vyvažování a rotace v BVS, všude se předpokládá AVL strom 1. Jednoduchá levá rotace v uzlu u má operační složitost a) závislou na výšce levého podstromu uzlu u b) mezi O(1) a Θ(n) c) závislou na hloubce

Více

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 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ší

Více

Digitální učební materiál

Digitální učební materiál Digitální učební materiál Číslo projektu: CZ.1.07/1.5.00/34.0548 Název školy: Gymnázium, Trutnov, Jiráskovo náměstí 325 Název materiálu: VY_32_INOVACE_148_IVT Autor: Ing. Pavel Bezděk Tematický okruh:

Více

2.6. VLASTNÍ ČÍSLA A VEKTORY MATIC

2.6. VLASTNÍ ČÍSLA A VEKTORY MATIC .6. VLASTNÍ ČÍSLA A VEKTORY MATIC V této kapitole se dozvíte: jak jsou definována vlastní (charakteristická) čísla a vektory čtvercové matice; co je to charakteristická matice a charakteristický polynom

Více

Asymptotická složitost algoritmů

Asymptotická složitost algoritmů Semestrální projekt 1 Y14TED Asymptotická složitost algoritmů Autor: Antonín DANĚK Osnova Slide 2 Co je to složitost algoritmu? Jak se počítá složitost algoritmu? Smysl přesného výpočtu složitosti algoritmu

Více

Seminář z IVT Algoritmizace. Slovanské gymnázium Olomouc Tomáš Kühr

Seminář z IVT Algoritmizace. Slovanské gymnázium Olomouc Tomáš Kühr Seminář z IVT Algoritmizace Slovanské gymnázium Olomouc Tomáš Kühr Algoritmizace - o čem to je? Zatím jsme se zabývali především tím, jak určitý postup zapsat v konkrétním programovacím jazyce (např. C#)

Více

Obecná informatika. Matematicko-fyzikální fakulta Univerzity Karlovy v Praze. Podzim 2012

Obecná informatika. Matematicko-fyzikální fakulta Univerzity Karlovy v Praze. Podzim 2012 Obecná informatika Přednášející Putovních přednášek Matematicko-fyzikální fakulta Univerzity Karlovy v Praze Podzim 2012 Přednášející Putovních přednášek (MFF UK) Obecná informatika Podzim 2012 1 / 18

Více

Matematika B101MA1, B101MA2

Matematika B101MA1, B101MA2 Matematika B101MA1, B101MA2 Zařazení předmětu: povinný předmět 1.ročníku bc studia 2 semestry Rozsah předmětu: prezenční studium 2 + 2 kombinované studium 16 + 0 / semestr Zakončení předmětu: ZS zápočet

Více

ORIENTOVANÉ GRAFY, REPREZENTACE GRAFŮ

ORIENTOVANÉ GRAFY, REPREZENTACE GRAFŮ ORIENTOVANÉ GRAFY, REPREZENTACE GRAFŮ Doc. RNDr. Josef Kolář, CSc. Katedra teoretické informatiky, FIT České vysoké učení technické v Praze BI-GRA, LS 2/2, Lekce Evropský sociální fond Praha & EU: Investujeme

Více

Složitost problémů. Z. Sawa (VŠB-TUO) Úvod do teoretické informatiky 25. dubna / 23

Složitost problémů. Z. Sawa (VŠB-TUO) Úvod do teoretické informatiky 25. dubna / 23 Složitost problémů Z. Sawa (VŠB-TUO) Úvod do teoretické informatiky 25. dubna 2012 1/ 23 Složitost problémů Ukazuje se, že různé(algoritmické) problémy jsou různě těžké. Obtížnější jsou ty problémy, k

Více

Základy algoritmizace, návrh algoritmu

Základy algoritmizace, návrh algoritmu Základy algoritmizace, návrh algoritmu Algoritmus Předpoklady automatického výpočtu: předem stanovit (rozmyslet) přesný postup během opakovaného provádění postupu již nepřemýšlet a postupovat mechanicky

Více

Matematická analýza pro informatiky I. Limita posloupnosti (I)

Matematická analýza pro informatiky I. Limita posloupnosti (I) Matematická analýza pro informatiky I. 3. přednáška Limita posloupnosti (I) Jan Tomeček tomecek@inf.upol.cz http://aix-slx.upol.cz/ tomecek/index Univerzita Palackého v Olomouci 25. února 2011 tomecek@inf.upol.cz

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

Zdůvodněte, proč funkce n lg(n) roste alespoň stejně rychle nebo rychleji než než funkce lg(n!). Symbolem lg značíme logaritmus o základu 2.

Zdůvodněte, proč funkce n lg(n) roste alespoň stejně rychle nebo rychleji než než funkce lg(n!). Symbolem lg značíme logaritmus o základu 2. 1 3 4 5 6 7 8 9 10 11 1 13 14 15 16 17 18 19 0 1 3 4 5 6 7 8 9 30 31 3 Zdůvodněte, proč funkce f(n) = n log(n) 1 n 1/ roste rychleji než funkce g(n) = n. Zdůvodněte, proč funkce f(n) = n 3/ log(n) roste

Více

NMIN101 Programování 1 2/2 Z --- NMIN102 Programování /2 Z, Zk

NMIN101 Programování 1 2/2 Z --- NMIN102 Programování /2 Z, Zk NMIN101 Programování 1 2/2 Z --- NMIN102 Programování 2 --- 2/2 Z, Zk Pavel Töpfer Katedra software a výuky informatiky MFF UK MFF Malostranské nám., 4. patro, pracovna 404 pavel.topfer@mff.cuni.cz http://ksvi.mff.cuni.cz/~topfer

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

Michal Krátký. Úvod do programování. Cíl kurzu. Podmínky získání zápočtu III/III

Michal Krátký. Úvod do programování. Cíl kurzu. Podmínky získání zápočtu III/III Michal Krátký Ú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 tel.: +420 596 993 239 místnost: A1004 mail: michal.kratky@vsb.cz

Více

Doba běhu daného algoritmu/programu. 1. Který fragment programu z následujících dvou proběhne rychleji?

Doba běhu daného algoritmu/programu. 1. Který fragment programu z následujících dvou proběhne rychleji? 1 Doba běhu daného algoritmu/programu 1. Který fragment programu z následujících dvou proběhne rychleji? int n = 100; int sum = 0; for (i = 0; i < n; i++) for (j = 0; j < i; j++) sum += i+j; int n = 75;

Více

NMIN101 Programování 1 2/2 Z --- NMIN102 Programování /2 Z, Zk

NMIN101 Programování 1 2/2 Z --- NMIN102 Programování /2 Z, Zk NMIN101 Programování 1 2/2 Z --- NMIN102 Programování 2 --- 2/2 Z, Zk Pavel Töpfer Katedra software a výuky informatiky MFF UK MFF Malostranské nám., 4. patro, pracovna 404 pavel.topfer@mff.cuni.cz http://ksvi.mff.cuni.cz/~topfer

Více

4. Rekurze. BI-EP1 Efektivní programování Martin Kačer

4. Rekurze. BI-EP1 Efektivní programování Martin Kačer 4. Rekurze BI-EP1 Efektivní programování 1 ZS 2011/2012 Ing. Martin Kačer, Ph.D. 2010-11 Martin Kačer Katedra teoretické informatiky Fakulta informačních technologií České vysoké učení technické v Praze

Více

Základní informace o předmětu Otázka:

Základní informace o předmětu Otázka: Základní informace o předmětu Otázka: Proč vůbec porovnávat algoritmy? Vlastnosti algoritmů přirozenost a stabilita algoritmu časová náročnost algoritmu asymetrická a asymptotická časová náročnost algoritmů

Více

Cvičení 5. Přednášející: Mgr. Rudolf B. Blažek, Ph.D. prof. RNDr. Roman Kotecký, DrSc.

Cvičení 5. Přednášející: Mgr. Rudolf B. Blažek, Ph.D. prof. RNDr. Roman Kotecký, DrSc. 5 Přednášející: Mgr. Rudolf B. Blažek, Ph.D. prof. RNDr. Roman Kotecký, DrSc. Katedra počítačových systémů Katedra teoretické informatiky Fakulta informačních technologií České vysoké učení technické v

Více

Stochastické modely Informace k závěrečné zkoušce

Stochastické modely Informace k závěrečné zkoušce Stochastické modely Informace k závěrečné zkoušce Jan Zouhar Katedra ekonometrie, FIS VŠE v Praze, zouharj@vse.cz 10. února 2015 Průběh zkoušky. Zkouška je ústní s přípravou na potítku. Každý si vylosuje

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

Rekurentní rovnice, strukturální indukce

Rekurentní rovnice, strukturální indukce Rekurentní rovnice, strukturální indukce Jiří Velebil: A7B01MCS 26. září 2011: 1/20 Příklad (Parketáž triminy z minulé přednášky) P(n) = počet parket k vyparketování místnosti rozměru n 1 P(1) = 1. 2 P(n

Více

Obsah. Euler-Fermatova věta. Reziduální aritmetika. 3. a 4. přednáška z kryptografie

Obsah. Euler-Fermatova věta. Reziduální aritmetika. 3. a 4. přednáška z kryptografie Obsah Počítání modulo n a jeho časová složitost 3. a 4. přednáška z kryptografie 1 Počítání modulo n - dokončení Umocňování v Zn 2 Časová složitost výpočtů modulo n Asymptotická notace Základní aritmetické

Více

FP - SEMINÁŘ Z NUMERICKÉ MATEMATIKY. Katedra matematiky a didaktiky matematiky Technická univerzita v Liberci

FP - SEMINÁŘ Z NUMERICKÉ MATEMATIKY.   Katedra matematiky a didaktiky matematiky Technická univerzita v Liberci FP - SEMINÁŘ Z NUMERICKÉ MATEMATIKY Dana Černá http://www.fp.tul.cz/kmd/ Katedra matematiky a didaktiky matematiky Technická univerzita v Liberci OBSAH A CÍLE SEMINÁŘE: Opakování a procvičení vybraných

Více

ALGORITMY A DATOVÉ STRUKTURY

ALGORITMY A DATOVÉ STRUKTURY Název tématického celku: Cíl: ALGORITMY A DATOVÉ STRUKTURY Metodický list č. 1 Časová složitost algoritmů Základním cílem tohoto tematického celku je vysvětlení potřebných pojmů a definic nutných k popisu

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

COMPLEXITY

COMPLEXITY Níže uvedené úlohy představují přehled otázek, které se vyskytly v tomto nebo v minulých semestrech ve cvičení nebo v minulých semestrech u zkoušky. Mezi otázkami semestrovými a zkouškovými není žádný

Více

Matematická analýza pro informatiky I. Limita funkce

Matematická analýza pro informatiky I. Limita funkce Matematická analýza pro informatiky I. 5. přednáška Limita funkce Jan Tomeček tomecek@inf.upol.cz http://aix-slx.upol.cz/ tomecek/index Univerzita Palackého v Olomouci 18. března 2011 Jan Tomeček, tomecek@inf.upol.cz

Více

5. Dynamické programování

5. Dynamické programování 5. Dynamické programování BI-EP1 Efektivní programování 1 ZS 2011/2012 Ing. Martin Kačer, Ph.D. 2010-11 Martin Kačer Katedra teoretické informatiky Fakulta informačních technologií České vysoké učení technické

Více

Diskrétní matematika. DiM /01, zimní semestr 2017/2018

Diskrétní matematika. DiM /01, zimní semestr 2017/2018 Diskrétní matematika Petr Kovář petr.kovar@vsb.cz Vysoká škola báňská Technická univerzita Ostrava DiM 470-2301/01, zimní semestr 2017/2018 O tomto souboru Tento soubor je zamýšlen především jako pomůcka

Více

Zpracoval: hypspave@fel.cvut.cz 7. Matematická indukce a rekurse. Řešení rekurentních (diferenčních) rovnic s konstantními koeficienty.

Zpracoval: hypspave@fel.cvut.cz 7. Matematická indukce a rekurse. Řešení rekurentních (diferenčních) rovnic s konstantními koeficienty. Zpracoval: hypspave@fel.cvut.cz 7. Matematická indukce a rekurse. Řešení rekurentních (diferenčních) rovnic s konstantními koeficienty. (A7B01MCS) I. Matematická indukce a rekurse. Indukční principy patří

Více

NPRG030 Programování I 3/2 Z --- NPRG031 Programování II --- 2/2 Z, Zk

NPRG030 Programování I 3/2 Z --- NPRG031 Programování II --- 2/2 Z, Zk NPRG030 Programování I 3/2 Z --- NPRG031 Programování II --- 2/2 Z, Zk Pavel Töpfer Katedra softwaru a výuky informatiky MFF UK MFF Malostranské nám., 4. patro, pracovna 404 pavel.topfer@mff.cuni.cz http://ksvi.mff.cuni.cz/~topfer

Více

Složitost. Teoretická informatika Tomáš Foltýnek

Složitost. Teoretická informatika Tomáš Foltýnek Složitost Teoretická informatika Tomáš Foltýnek foltynek@pef.mendelu.cz Teoretická informatika 2 Opakování z minulé přednášky Co říká Churchova teze? Jak lze kódovat Turingův stroj? Co je to Univerzální

Více

Různé algoritmy mají různou složitost

Různé algoritmy mají různou složitost / 1 Různé algoritmy mají různou složitost 1/ 1 Rychlost... Jeden algoritmus (program, postup, metoda ) je rychlejší než druhý. Co ta věta znamená?? 2/ 1 Asymptotická složitost y y x x Každému algoritmu

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

Třídy složitosti P a NP, NP-úplnost

Třídy složitosti P a NP, NP-úplnost Třídy složitosti P a NP, NP-úplnost Cíle přednášky: 1. Definovat, za jakých okolností můžeme problém považovat za efektivně algoritmicky řešitelný. 2. Charakterizovat určitou skupinu úloh, pro které není

Více

Matematika III přednáška Aplikace vytvořujících funkcí - další úlohy

Matematika III přednáška Aplikace vytvořujících funkcí - další úlohy S Matematika III - 14. přednáška Aplikace vytvořujících funkcí - další úlohy Michal Bulant Masarykova univerzita Fakulta informatiky 18. 12. 2007 Obsah přednášky Řešení rekurencí Q Exponenciální vytvořující

Více

Rekurentní rovnice, strukturální indukce

Rekurentní rovnice, strukturální indukce , strukturální indukce Jiří Velebil: Y01DMA 23. února 2010: Strukturální indukce 1/19 Backusova-Naurova forma Například syntaxe formuĺı výrokové logiky kde a At. Poznámky 1 Relaxace BNF. ϕ ::= a tt (ϕ

Více

prof. RNDr. Čestmír Burdík DrCs. prof. Ing. Edita Pelantová CSc. BI-ZMA ZS 2009/2010

prof. RNDr. Čestmír Burdík DrCs. prof. Ing. Edita Pelantová CSc. BI-ZMA ZS 2009/2010 Základní pojmy prof. RNDr. Čestmír Burdík DrCs. prof. Ing. Edita Pelantová CSc. Katedra matematiky České vysoké učení technické v Praze c Čestmír Burdík, Edita Pelantová 2009 Základy matematické analýzy

Více

Časová složitost algoritmů, řazení a vyhledávání

Časová složitost algoritmů, řazení a vyhledávání Evropský sociální fond Praha & EU: Investujeme do vaší budoucnosti Časová složitost algoritmů, řazení a vyhledávání BI-PA1 Programování a algoritmizace 1 Katedra teoretické informatiky Miroslav Balík Fakulta

Více

Rekurence, rekurze a sumy. Základy diskrétní matematiky, BI-ZDM

Rekurence, rekurze a sumy. Základy diskrétní matematiky, BI-ZDM Rekurence, rekurze a sumy doc. RNDr. Josef Kolář, CSc. Katedra teoretické informatiky FIT České vysoké učení technické v Praze c Josef Kolar, 2011 Základy diskrétní matematiky, BI-ZDM ZS 2011/12, Lekce

Více

SOUSTAVY LINEÁRNÍCH ALGEBRAICKÝCH ROVNIC

SOUSTAVY LINEÁRNÍCH ALGEBRAICKÝCH ROVNIC SOUSTAVY LINEÁRNÍCH ALGEBRAICKÝCH ROVNIC Pojm: Algebraická rovnice... rovnice obsahující pouze celé nezáporné mocnin neznámé, tj. a n n + a n 1 n 1 +... + a 2 2 + a 1 + a 0 = 0, kde n je přirozené číslo.

Více

stránkách přednášejícího.

stránkách přednášejícího. Předmět: MA 4 Dnešní látka Iterační metoda Jacobiova iterační metoda Gaussova-Seidelova iterační metoda Superrelaxační metoda (metoda SOR) Metoda sdružených gradientů Četba: Text o lineární algebře v Příručce

Více

Evropský sociální fond Praha & EU: Investujeme do vaší budoucnosti

Evropský sociální fond Praha & EU: Investujeme do vaší budoucnosti Evropský sociální fond Praha & EU: Investujeme do vaší budoucnosti MI-SOC: 11 METODY VERIFIKACE SYSTÉMŮ NA ČIPU Hana Kubátov vá doc. Ing. Hana Kubátová, CSc. Katedra číslicového návrhu Fakulta 1 informačních

Více

Projekt IMPLEMENTACE ŠVP. pořadí početních operací, dělitelnost, společný dělitel a násobek, základní početní operace

Projekt IMPLEMENTACE ŠVP. pořadí početních operací, dělitelnost, společný dělitel a násobek, základní početní operace Střední škola umělecká a řemeslná Evropský sociální fond "Praha a EU: Investujeme do vaší budoucnosti" Projekt IMPLEMENTACE ŠVP Evaluace a aktualizace metodiky předmětu Matematika Výrazy Obory nástavbového

Více

Vztah teorie vyčíslitelnosti a teorie složitosti. IB102 Automaty, gramatiky a složitost, /31

Vztah teorie vyčíslitelnosti a teorie složitosti. IB102 Automaty, gramatiky a složitost, /31 Vztah teorie vyčíslitelnosti a teorie složitosti IB102 Automaty, gramatiky a složitost, 2. 12. 2013 1/31 IB102 Automaty, gramatiky a složitost, 2. 12. 2013 2/31 Časová složitost algoritmu počet kroků výpočtu

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

Lineární algebra : Násobení matic a inverzní matice

Lineární algebra : Násobení matic a inverzní matice Lineární algebra : Násobení matic a inverzní matice (8. přednáška) František Štampach, Karel Klouda LS 2013/2014 vytvořeno: 17. března 2014, 12:42 1 2 0.1 Násobení matic Definice 1. Buďte m, n, p N, A

Více

Matematika IV 9. týden Vytvořující funkce

Matematika IV 9. týden Vytvořující funkce Matematika IV 9. týden Vytvořující funkce Jan Slovák Masarykova univerzita Fakulta informatiky jaro 2015 Obsah přednášky 1 Vytvořující funkce a Fibonacciho čísla 2 Vytvořující funkce - připomenutí 3 Řešení

Více

Principy indukce a rekursivní algoritmy

Principy indukce a rekursivní algoritmy Principy indukce a rekursivní algoritmy Jiří Velebil: A7B01MCS 19. září 2011: Indukce 1/20 Příklad Místností rozměru n budeme rozumět šachovnici rozměru 2 n 2 n, ze které je jedno (libovolné) pole vyjmuto.

Více

3 Množiny, Relace a Funkce

3 Množiny, Relace a Funkce 3 Množiny, Relace a Funkce V přehledu matematických formalismů informatiky se v této lekci zaměříme na základní datové typy matematiky, tj. na množiny, relace a funkce. O množinách jste sice zajisté slyšeli

Více

0.1 Úvod do matematické analýzy

0.1 Úvod do matematické analýzy Matematika I (KMI/PMATE) 1 0.1 Úvod do matematické analýzy 0.1.1 Limita a spojitost funkce Lineární funkce Lineární funkce je jedna z nejjednodušších a možná i nejpoužívanějších funkcí. f(x) = kx + q D(f)

Více

Architektura počítačů Logické obvody

Architektura počítačů Logické obvody Architektura počítačů Logické obvody http://d3s.mff.cuni.cz/teaching/computer_architecture/ Lubomír Bulej bulej@d3s.mff.cuni.cz CHARLES UNIVERSITY IN PRAGUE faculty of mathematics and physics 2/36 Digitální

Více

PROHLEDÁVÁNÍ GRAFŮ. Doc. RNDr. Josef Kolář, CSc. Katedra teoretické informatiky, FIT České vysoké učení technické v Praze

PROHLEDÁVÁNÍ GRAFŮ. Doc. RNDr. Josef Kolář, CSc. Katedra teoretické informatiky, FIT České vysoké učení technické v Praze PROHLEDÁVÁNÍ GRAFŮ Doc. RNDr. Josef Kolář, CSc. Katedra teoretické informatiky, FIT České vysoké učení technické v Praze BI-GRA, LS 2010/2011, Lekce 4 Evropský sociální fond Praha & EU: Investujeme do

Více

Algoritmus pro hledání nejkratší cesty orientovaným grafem

Algoritmus pro hledání nejkratší cesty orientovaným grafem 1.1 Úvod Algoritmus pro hledání nejkratší cesty orientovaným grafem Naprogramoval jsem v Matlabu funkci, která dokáže určit nejkratší cestu v orientovaném grafu mezi libovolnými dvěma vrcholy. Nastudoval

Více

Pravděpodobnostní algoritmy

Pravděpodobnostní algoritmy Pravděpodobnostní algoritmy 17. a 18. přednáška z kryptografie Alena Gollová 1/31 Obsah 1 Diskrétní rozdělení náhodné veličiny Algoritmus Generate and Test 2 Alena Gollová 2/31 Diskrétní rozdělení náhodné

Více

Vzpěr jednoduchého rámu, diferenciální operátory. Lenka Dohnalová

Vzpěr jednoduchého rámu, diferenciální operátory. Lenka Dohnalová 1 / 40 Vzpěr jednoduchého rámu, diferenciální operátory Lenka Dohnalová ČVUT, fakulta stavební, ZS 2015/2016 katedra stavební mechaniky a katedra matematiky, Odborné vedení: doc. Ing. Jan Zeman, Ph.D.,

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

Martin Hejtmánek hejtmmar@fjfi.cvut.cz http://kmlinux.fjfi.cvut.cz/ hejtmmar

Martin Hejtmánek hejtmmar@fjfi.cvut.cz http://kmlinux.fjfi.cvut.cz/ hejtmmar Základy programování Martin Hejtmánek hejtmmar@fjfi.cvut.cz http://kmlinux.fjfi.cvut.cz/ hejtmmar Počítačový kurs Univerzity třetího věku na FJFI ČVUT Pokročilý 21. května 2009 Dnešní přednáška 1 Počátky

Více

Lineární algebra : Skalární součin a ortogonalita

Lineární algebra : Skalární součin a ortogonalita Lineární algebra : Skalární součin a ortogonalita (15. přednáška) František Štampach, Karel Klouda frantisek.stampach@fit.cvut.cz, karel.klouda@fit.cvut.cz Katedra aplikované matematiky Fakulta informačních

Více

3. úloha - problém batohu metodami branch & bound, dynamické programování, heuristika s testem

3. úloha - problém batohu metodami branch & bound, dynamické programování, heuristika s testem ČVUT FEL X36PAA - Problémy a algoritmy 3. úloha - problém batohu metodami branch & bound, dynamické programování, heuristika s testem Jméno: Marek Handl Datum: 1. 1. 2009 Cvičení: Pondělí 9:00 Zadání Naprogramujte

Více

Základy matematické analýzy

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

Více

Elegantní algoritmus pro konstrukci sufixových polí

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

Více

Lingebraické kapitolky - Počítání s maticemi

Lingebraické kapitolky - Počítání s maticemi Lingebraické kapitolky - Počítání s maticemi Jaroslav Horáček KAM MFF UK 20 Rozehřívačka: Definice sčítání dvou matic a násobení matice skalárem, transpozice Řešení: (A + B ij A ij + B ij (αa ij α(a ij

Více