APLIKOVANÁ INFORMATIKA
|
|
- Pavla Havlová
- před 6 lety
- Počet zobrazení:
Transkript
1 VYSOKÁ ŠKOLA BÁŇSKÁ TECHNICKÁ UNIVERZITA OSTRAVA FAKULTA STROJNÍ APLIKOVANÁ INFORMATIKA 8. LEKCE ALGORITMY ŘEŠENÍ KOMBINATORICKÝCH ÚLOH prof. Ing. Radim Farana, CSc. Ostrava 2013 prof. Ing. Radim Farana, CSc. Vysoká škola báňská Technická univerzita Ostrava ISBN Tento studijní materiál vznikl za finanční podpory Evropského sociálního fondu (ESF) a rozpočtu České republiky v rámci řešení projektu:, MODERNIZACE VÝUKOVÝCH MATERIÁLŮ A DIDAKTICKÝCH METOD
2 2 OBSAH 8 ALGORITMY ŘEŠENÍ KOMBINATORICKÝCH ÚLOH Třída řešených problémů Algoritmy neheuristické Prohledávání do šířky Prohledávání do hloubky Vyzkoušení všech kombinací parametrů Algoritmy heuristické Heuristické prohledávání Vyzkoušení všech slibných kombinací parametrů Algoritmy pravděpodobnostní Metoda pokusu a omylu Genetický algoritmus POUŽITÁ LITERATURA... 14
3 3 8 ALGORITMY ŘEŠENÍ KOMBINATORICKÝCH ÚLOH OBSAH KAPITOLY: Třída řešených problémů Algoritmy neheuristické Algoritmy heuristické Algoritmy pravděpodobnostní MOTIVACE: Řada úloh, které v technické praxi programově řešíme, je popsána jako výběr optimální varianty, která je závislá na konkrétních hodnotách parametrů. K určení, jak kvalitní jsou jednotlivá řešení, je definována ohodnocující funkce neboli účelová funkce (pokud známe pouze funkci, která popisuje kvalitu řešení přibližně, nazýváme ji heuristika). Pokud neznáme vztahy mezi jednotlivými parametry a přitom jak počet parametrů je konečný a jejich obor hodnot je dán množinou hodnot, řešíme úlohu jako kombinatorický problém. CÍL: Umět popsat kombinatorickou úlohu a definovat její omezení. Seznámit se se základními neheuristickými algoritmy prohledáváním do šířky a do hloubky a prohledáváním do hloubky s omezenou hloubkou vnoření. Umět použít heuristické algoritmy prohledávání. Seznámit se pravděpodobnostními přístupy a základy genetických algoritmů. Znát principy a použití genetických algoritmů.
4 4 Řada úloh, které v technické praxi programově řešíme, je definována jako výběr optimální (nejlepší) varianty, která je závislá na konkrétních hodnotách parametrů. K určení, jak kvalitní je které řešení, tedy můžeme definovat ohodnocující funkci neboli účelovou funkci (pokud známe pouze funkci, která popisuje kvalitu řešení přibližně, nazýváme ji heuristika): f (p 1, p 2,..., p n ), kde je f - ohodnocující funkce, p i - i-tý parametr. (8.1) Jak vidíme, konkrétní řešení je určeno konkrétními hodnotami jednotlivých parametrů. Kvalita řešení je pak dána hodnotou ohodnocující funkce (heuristiky) pro tyto parametry. Beze ztráty obecnosti můžeme předpokládat, že lepší řešení má vyšší hodnotu ohodnocující funkce. Při řešení problému manipulujeme s hodnotami parametrů tak, abychom dosáhli maximální (optimální) hodnoty ohodnocující funkce. Jedná se tedy o úlohu maximalizace ohodnocující funkce. Tato problematika je široce řešena teoreticky, existuje řada optimalizačních metod (analytické, numerické). My se v dalším textu budeme zabývat vybranými speciálními metodami řešení uvedeného problému, které využívají postupů, uvedených v předchozích kapitolách. Obrázek 8.1 Řešení kombinatorických úloh 8.1 TŘÍDA ŘEŠENÝCH PROBLÉMŮ Pro naše potřeby provedeme následující zjednodušení: 1. Omezení počtu parametrů. Budeme pracovat jen s ohodnocujícími funkcemi, které mají známý počet parametrů. Dále budeme předpokládat, že hodnoty těchto parametrů jsou vzájemně nezávislé nebo se sice ovlivňují, ale nejsme schopni definovat funkční závislosti parametrů. 2. Omezení oboru hodnot parametrů. Budeme pracovat jen s parametry, jejichž hodnota je omezena povoleným rozsahem (oborem) hodnot. Dalším zjednodušením bude omezení oboru hodnot parametru na množinu hodnot. Budeme tedy pracovat s diskrétními parametry. Na základě zavedených omezení se dostáváme do situace, kdy vlastně řešíme problém, jehož jednotlivá řešení jsou dána kombinací hodnot jednotlivých parametrů. Proto se tyto úlohy často nazývají kombinatorické. V dalším textu rozebereme některé algoritmy řešení těchto problémů. Nejprve si však uvědomíme, kolik existuje různých řešení dané úlohy. Počet je dán následujícím vztahem:
5 5 r = n m i i= 1, kde je r - počet možných řešení, m i - počet možných hodnot parametru p i, n - počet parametrů. (8.2) Počet různých řešení tedy s rostoucím počtem parametrů roste geometricky. Zde je základní potíž. Protože řešení jsou vzájemně nezávislá, měli bychom vyzkoušet všechna, abychom s plnou jistotou našli optimální řešení. V řadě algoritmů tomu tak naštěstí není. Abychom mohli ukázat zvolené metody řešení, vybereme nyní příklad, který budeme řešit. Příklad: Jedná se o úlohu rozestavení 8 dam na šachovnici tak, aby se vzájemně neohrožovaly. Při popisu úlohy vyjdeme ze skutečnosti, že v každém sloupci (1 8) musí ležet právě jedna dáma. Obrázek 8.2 Řešení úlohy rozložení osmi dam na šachovnici Tato dáma musí ležet na jednom z řádků (1 8). Úloha je tedy popsána pomocí osmi parametrů, které nabývají hodnot z množiny {1, 2, 3,..., 8}. Ohodnocující funkci tedy můžeme definovat jako počet dam, které neohrožují jinou dámu a řešení nalezneme pro: f(p 1, p 2,..., p 8 ) = 8, kde je f - ohodnocující funkce, p i - i-tý parametr (pozice dámy na i-tém sloupci). (8.3) Vyhodnocení ohodnocující funkce poněkud zjednodušíme tím, že budeme zkoumat dámy od sloupce 1 do 8 a jako správně umístěnou dámu považujeme tu, která neohrožuje žádnou dámu ležící na sloupci nižšího čísla. Počet všech možných rozložení dam určíme dle vzorce (8.4): r = 8 = 8 = = (8.4) i= 1
6 6 Jak vidíme, existuje skoro 17 miliónů různých rozložení. Z nich však jen některá jsou správná. Znázorněme si strom jednotlivých rozložení. Na každé nižší úrovni vždy přidáme jeden parametr. Je zřejmé, že tím rozvineme vždy 8 větví stromu. Hodnoty parametrů budeme pro jednoduchost zapisovat za sebou. osm dam slepá větev slepá větev slepá větev slepá větev slepá větev slepá větev Obrázek 8.3 Strom všech možných rozložení dam Jak vidíme na obr.8.3, ve stromu existuje řada slepých větví, které nemá smysl procházet, neboť v nich řešení nemůže existovat. Tuto skutečnost se pokusíme také využít. Nyní však již přejděme k jednotlivým algoritmům hledání řešení. 8.2 ALGORITMY NEHEURISTICKÉ Tyto algoritmy vycházejí z předpokladu, že ohodnocující funkce (heuristika) jednoho řešení je zcela nezávislá na jeho poloze ve stromu řešení. To znamená, že řešení může ležet na jakékoliv úrovni vnoření do stromu a ve kterékoliv větvi. Jak víme, v námi řešeném příkladu to není pravda. Proto se budou dále uvedené metody jevit jako neefektivní. Uvádíme je však, neboť v jiných úlohách mohou mít své místo Prohledávání do šířky Algoritmus prohledávání do šířky se snaží odstranit nebezpečí velmi hlubokého vnoření do stromu rozložení, pokud bychom se vydali po slepé větvi. Skutečnost, že je větev slepá, totiž zjistíme až vyzkoušením všech řešení, která na ní leží. Současně se snaží dosáhnout řešení co nejrychleji. Postupuje tak, že vždy rozvine všechny prvky na dané úrovni vnoření. Pokud se mezi nimi nenachází řešení, rozvine prvky další úrovně. Je zřejmé, že algoritmus má velké nároky na paměť, protože musíme pro každý prvek stromu rozložení, který použijeme, uložit informaci o parametrech řešení a pro rychlejší zpracování nejlépe také hodnotu ohodnocující funkce:
7 7 první poslední pam[1,..., 8] pam[1,..., 8]... pam[1,..., 8] rozvinut ano/ne rozvinut ano/ne rozvinut ano/ne další další další Obrázek 8.4 Datová struktura pro uložení vytvořených rozložení V paměti budeme vytvářet lineární seznam, ukazovátka první a poslední k němu umožňují přístup. Tím obcházíme nutnost zjistit předem řád stromu a vytvořit příslušnou stromovou strukturu. Je zřejmé, že pokud budeme chtít nalézt všechna řešení, dojde v konečném stavu k rozvinutí celého stromu rozložení. To obvykle není možné zajistit. Požadavky na paměť by byly příliš velké. Proto se tento algoritmus používá především tam, kde hledáme jedno řešení nebo úloha sama o sobě má jedno optimální řešení (maximum ohodnocující funkce), a to má nepříliš velkou hloubku vnoření do stromu. Postup práce pak můžeme zapsat: počáteční nastavení while není nalezeno řešení rozviň všechny nerozvinuté prvky a označ je jako rozvinuté spočti ohodnocující funkci všech nových prvků end while vyhlas nalezené řešení V paměti sice vytvoříme lineární seznam, ale budeme jím reprezentovat rozvíjení stromu rozložení. Pokud bychom chtěli vytvořit datovou strukturu odpovídající skutečně našemu stromu, pak by každý prvek musel obsahovat osm ukazovátek na další prvek, řada z nich by přitom nebyla využita (pokud nebyl prvek rozvinut) a hledání vhodného prvku k rozvinutí by bylo komplikovanější. Z ukázky vidíme výhody algoritmu: dobrá rychlost, nehrozí nebezpečí nadměrného vnoření do stromu. Musíme však upozornit také na nevýhody: velké nároky na paměť, složitější manipulace s datovou strukturou. Poznámka: Námi vytvořená datová struktura má zvláštní vlastnost, každý prvek nese informaci o tom, jak se k němu ve stromu rozložení dostat. Proto můžeme prvky, které již byly rozvinuty, z paměti odstranit. Manipulace se stromem bude složitější, ale ušetříme paměť Prohledávání do hloubky Algoritmus prohledávání do hloubky se snaží odstranit velké paměťové nároky algoritmu prohledávání do šířky. V každém kroku je zvolen jeden prvek, ten je rozvinut a řešení je hledáno na nižší úrovni. Pokud není řešení nalezeno, je opět rozvinut některý z prvků s dosud největší hloubkou vnoření. Teprve pokud dorazíme k nejvyššímu možnému vnoření a řešení nenalezneme, vracíme se zpět a zkoušíme jinou větev stromu řešení. Pokud však řešení
8 8 neexistuje, dojdeme do stejného stavu jako při použití algoritmu prohledávání do šířky a tedy také ke stejným paměťovým nárokům. Jako výhody algoritmu můžeme uvést: postupujeme rychle do hloubky, potřebujeme relativně málo paměti k provedení algoritmu. Opět však nesmíme opomenout nevýhody: pokud se řešení nachází blízko středu stromu, budeme ho hledat poměrně dlouho, pokud nevíme, na jaké úrovni vnoření se řešení nachází a zejména pokud úroveň vnoření není omezena, může se stát, že budeme postupovat do velkých hloubek stromu bez úspěchu. Tento problém se někdy řeší prohledáváním do hloubky s omezenou hloubkou vnoření (s navracením). Jakmile dojdeme do určené hloubky, vracíme se zpět, bez ohledu na kvalitu nalezených řešení. V řešeném příkladu bychom nejspíš pracovali s maximální hloubkou = Vyzkoušení všech kombinací parametrů Tento postup je na místě tam, kde nevíme nic o vlastnostech úlohy, a v plné míře platí, že neexistuje žádný vztah mezi hodnotami parametrů. Z vlastností stromu rozložení přitom víme, že řešení leží jedině na nejhlubší úrovni vnoření (na koncových prvcích). To znamená, že musíme vzít v úvahu všechny parametry. Přitom se budeme snažit zbavit velkých nároků na dostupnou paměť. Postupně tedy zkoušíme všechna rozložení dam. V nejhorším případě vyzkoušíme všechna a teprve potom můžeme říci, že úloha nemá řešení. Pro vlastní realizaci využijeme vektor počítadel s hodnotami 1 8. Vždy zvětšíme hodnotu posledního, pokud přesáhne povolený rozsah (8) nastavíme ho na 1 a zvětšíme počítadlo předchozí. Generování skončí přetečením rozsahu prvního počítadla. Celý postup pak můžeme zapsat: nastavení počátečního rozložení dam [1, 1, 1, 1, 1, 1, 1, 1] while nepřeteklo první počítadlo if ohodnocující funkce aktuálního řešení = 8 vyhlas řešení end if generuj další rozložení dam end while Uvedeným postupem se pohybujeme ve stromu možných řešení po koncových prvcích zleva doprava, až projdeme všechna rozložení. Přitom najdeme celkem 92 různých řešení této úlohy. Doba řešení však bude velmi dlouhá. 8.3 ALGORITMY HEURISTICKÉ Heuristické algoritmy vycházejí ze zjištění, že nemá smysl postupovat při hledání řešení po stromu rozložení do prvku, který snižuje hodnotu ohodnocující funkce (heuristiky). To je samozřejmě možné jen tehdy, pokud se při cestě k prvku s řešením hodnota ohodnocující funkce nesnižuje. V našem příkladu víme, že musí při přechodu na další prvek vždy vzrůst. Abychom se pokud možno vyvarovali velkých požadavků na paměť, upravíme algoritmus prohledávání do hloubky na heuristické prohledávání.
9 Heuristické prohledávání Algoritmus heuristického prohledávání můžeme popsat následovně: počáteční nastavení while není nalezeno řešení najdi první dosud nerozvinutý prvek s maximální hodnotou ohodnocující funkce rozviň nalezený prvek a označ ho jako rozvinutý spočti ohodnocující funkci všech nových prvků end while vyhlas nalezené řešení Postup heuristického prohledávání ilustruje následující obrázek. osm dam vynecháno 7.87 možných řešení vynecháno 7.86 možných řešení vynecháno 7.85 možných řešení vynecháno 7.84 možných řešení vynecháno 7.83 možných řešení vynecháno 7.82 možných řešení vynecháno 7.81 možných řešení řešení nebylo nalezeno, algoritmus se vrací na vyšší úroveň a pokračuje na další větev vpravo Obrázek 8.5 Postup heuristického prohledávání stromu do hloubky Z ukázky vidíme výhody algoritmu:
10 10 vynecháváme celé oblasti stromu rozložení, ve kterých nemůže řešení existovat, potřebujeme dosti málo paměti k provedení algoritmu Vyzkoušení všech slibných kombinací parametrů Tento algoritmus je na první pohled podobný předchozímu. Také se budeme pohybovat po stromu všech rozložení. Také budeme využívat skutečnosti, že existuje mnoho slepých větví, na kterých řešení ležet nemůže. Proto se jim budeme vyhýbat. K jejich nalezení využijeme ohodnocující funkci tak, jak byla definována dříve. Aby další řešení nebylo slepou větví, musí pro dílčí řešení na i-té úrovni stromu platit: f (p 1, p 2,..., p i ) = i. (8.5) Pak má smysl pokračovat ve stromu hlouběji rozvinutím tohoto prvku. Pro vlastní realizaci využijeme vektor počítadel: pam[1-8 ] = pam[1], pam[2],...pam[8] a proměnnou i, obsahující číslo úrovně stromu rozložení, na které se nacházíme. Řešení tedy nalezneme tak, že platí podmínka (8.5) a současně i = 8. Celý postup pak můžeme zapsat: vynulování pole počítadel i = 1 while nepřeteklo první počítadlo pam[i] = pam[i] + 1 if pam[i] > 8 pam[i] = 0 i = i - 1 else if f(pam[1],... pam[i]) = i if i = 8 vyhlas řešení else i = i + 1 end if end if end if end while Opět obdržíme jeho aplikací všech 92 řešení, oproti neheuristickému algoritmu vyzkoušení všech možných rozložení však výrazně rychleji. 8.4 ALGORITMY PRAVDĚPODOBNOSTNÍ Uvedené algoritmy vycházejí z poznání, že pro náhodně zvolenou kombinaci hodnot parametrů existuje určitá pravděpodobnost, že tato kombinace určuje optimální řešení Metoda pokusu a omylu Algoritmus náhodného přístupu je velmi neefektivní. Spočívá v náhodném generování rozložení, až dojde k vygenerování správného řešení. Jeho nízkou účinnost si snadno uvědomíme, pokud určíme pravděpodobnost náhodného nalezení řešení při jednom pokusu. Víme, že existuje 92 řešení při možných rozloženích dam. Pravděpodobnost úspěchu jednoho pokusu tedy je: 92 6 P ( 1) = = 5,48.10 (8.6)
11 11 Pravděpodobnost neúspěchu při jednom pokusu určíme snadno jako P( 1) = 1 P( 1). (8.7) Samozřejmě budeme pokusy opakovat, a tak nás zajímá, jaká bude pravděpodobnost, že při n pokusech najdeme alespoň jedno řešení (nebo 2, 3,...,n). Nejprve určeme, jaká je pravděpodobnost, že řešení nenalezneme žádné. Jedná se o sjednocení n vzájemně nezávislých jevů (nenalezení při prvním pokusu, při druhém pokusu atd.): n ( ) [ ( )] P ( n) = 1 P( 1) = 1 P 1 i= 1 n. (8.8) Pravděpodobnost, že alespoň jedno řešení najdeme, je pak: n P(n) = 1 [ 1 P( 1 )] (8.9) Pro nás bude jistě zajímavé, kolik pokusů je třeba vykonat, abychom se zvolenou pravděpodobností našli alespoň jedno řešení. Využijeme vzorce (8.9) a zjistíme: n = log[ 1 P( n) ] log 1 P( 1 ). [ ] (8.10) Např. pro pravděpodobnost nalezení alespoň jednoho řešení 10 % je třeba vykonat pokusů. Algoritmus náhodného přístupu nevypadá nijak povzbudivě. Přesto může být v některých úlohách úspěšně používán. Určitě bychom ho doplnili o paměť nejlepšího dosaženého řešení, takže při n pokusech dosáhneme poměrně dobrého řešení. Mimochodem, ze vzorců je zřejmé, že pro dosažení 100 % jistoty nalezení nejlepšího řešení musíme vykonat nekonečně mnoho pokusů Genetický algoritmus Genetický algoritmus využívá pravděpodobnostního přístupu a velmi vhodně jej rozvíjí. Vychází z pozorování přírody, která dokáže úspěšně řešit i velmi složité problémy. Z analogie s živými organismy popišme naší úlohu následovně. Vlastnosti řešení (rozložení dam) rozdělíme na samostatné prvky, v našem případě to bude umístění jednotlivých dam, a nazveme je geny. Skupina genů, která plně popisuje úlohu, pak bude chromozóm. Ten bude současně vyjadřovat vlastnosti jednoho konkrétního rozložení dam, konkrétního řešení, tedy jednoho jedince. V přírodě se však současně vyskytuje více jedinců, celá populace jedinců různých vlastností. Tito jedinci spolu vytvářejí potomky, tedy jedince následující generace. Potomci přebírají vlastnosti svých rodičů do značné míry náhodně, ale pravidlo přirozeného výběru říká, že nejvíce se množí nejlepší jedinci, zatímco nejhorší hynou. Uvedené principy využijeme v naší úloze. Začneme tím, že náhodně vytvoříme počáteční populaci. Jedince seřadíme podle jejich kvalit. K tomu využijeme již známé ohodnocující funkce. Nejhorší jedince zlikvidujeme a nahradíme potomky nejlepších jedinců. Přitom je vhodné, aby nejlepší jedinci přešli do následující generace beze změny, jinak bychom mohli ztratit nejlepší dosažené řešení. Jak vznikají potomci. K jejich vytvoření se používají operace, které mají opět analogii v přírodě. Jsou to reprodukce a mutace.
12 Reprodukce Při reprodukci vzniká ze dvou jedinců (rodičů) nový jedinec (potomek), který přebírá části chromozómů svých rodičů. Kombinace vlastností probíhá tak, že chromozómy rodičů rozdělíme na několik úseků, které přebírají potomci. Místa rozdělení chromozómů jsou volena náhodně. Obvykle je jich 1 5 v závislosti na počtu genů. rodiče potomci místa přerušení chromozómů Obrázek 8.6 Průběh reprodukcí jedinců Mutace Mutace jsou náhodné změny hodnot genů, které dovolí prohledávat okolí nového chromozómu. V algoritmu je nutné stanovit maximální počet změn (obvykle je také náhodný) a maximální změnu hodnoty genu. Po naplnění nové populace je opět provedeno seřazení jedinců a vytvoření další generace. Algoritmus končí nalezením řešení. Protože konvergence algoritmu může být pomalá, bývá často omezen maximální počet populací. Po jejich provedení sice není zaručeno, že najdeme optimální řešení, ale při vhodném nastavení parametrů algoritmu obvykle najdeme velmi dobré řešení. Genetický algoritmus pracuje s náhodným přístupem, ale díky jeho paměti a variaci s nejlepšími dosaženými výsledky dosahuje výrazně lepší výsledky než metoda pokusu a omylu. Celý postup je velice jednoduchý. Z pohledu algoritmu není nutná znalost zákonitosti systému (vztahy při umísťování jednotlivých dam), jen popis vlastností systému (ohodnocení kvality jedinců), tedy již několikrát použitá ohodnocující funkce (heuristika). Tato malá znalost je nahrazena velkým výpočetním výkonem. Bohužel nikde není zaručeno, že najdeme skutečně optimální řešení, pokud nevznikne nekonečně velký počet generací. Testováním algoritmu na problému 8 dam (chromozóm má 8 genů s hodnotami 1, 2,..., 8) s velikostí populace 100 jedinců, 2 místa přerušení při reprodukci, maximálně 3 mutace v rozsahu změny hodnoty genu maximálně -3 3 byl ze 100 průběhů hledání řešení určen střední počet potřebných generací ve výši 685 a jeho rozptyl ve výši 742. Na průběhu četnosti vidíme, že počet generací je náhodná veličina s exponenciálním rozdělením.
13 13 Obrázek 8.7 Průběh četnosti počtu generací nutných k nalezení řešení Z hlediska hodnocení složitosti genetického algoritmu je zajímavé srovnání průměrného počtu generací nutných k nalezení řešení. Na obr.8.8 vidíme v logaritmických souřadnicích srovnání průměrného počtu generací s průměrným počtem náhodných pokusů (po 100 pokusech). Z průběhu lze usuzovat, že genetický algoritmus má exponenciální složitost, nároky na dosažení řešení však rostou výrazně pomaleji než u náhodných pokusů. Průměrné nároky na vyřešení problému , , , , ,0 100,0 10,0 1, Průměrný počet generací genetického algoritmu Průměrný počet stovek náhodných pokusů Obrázek 8.8 Průměrné nároky na vyřešení problému různými metodami v závislosti na jeho složitosti
14 Použitá literatura 14 POUŽITÁ LITERATURA [1] Arlow, J. & Neustadt, I. UML a unifikovaný proces vývoje aplikací. 1. Vyd. Brno, Computer Press, 2003, 388 s. ISBN X. [2] Barton, D. P. & Pears, A. N. Application of Evolutionary Computation. In Proceedings of First International Conference on Genetic Algorithms "Mendel '95". Red. Ošměra, P. Brno, VUT 1995, s [3] Bayer, R. & McCreight, E. M. Organization and Maintenance of Large Ordered Indices. Acta Informatica, 1, [4] Březina, T. Informatika pro strojní inženýry I. 1. vyd. Praha ČVUT 1991, 187 s. [5] Brodský, J. & Skočovský, L. Operační systém UNIX a jazyk C. 1. vyd. Praha, SNTL 1989, 368 s. [6] Cockburn, A. Use Case Jak efektivně modelovat aplikace. 1. vyd. Brno, CP Books a.s., 2005, 262 s. ISBN [7] Častová, N. & Šarmanová, J. Počítače a algoritmizace. 3. vyd. Ostrava, skriptum VŠB 1983, 190 s. [8] Donghui Zhang. B Trees. Northeastern University, 22 pp. Dostupný z webu: _BTree.pdf [9] Drózd, J. & Kryl, R. Začínáme s programováním. Praha, Grada 1992, 312 s. [10] Drozdová, V. & Záda, V. Umělá inteligence a expertní systémy. 1. vyd. Liberec, skriptum VŠST 1991, 212 s. [11] Farana, R. Zaokrouhlovací chyby a my. Bajt 1994, č. 9, s [12] Flaming, B. Practical data structures in C++. New York, USA, Wiley, [13] Hodinár, K. Štandardné aplikačné programy osobných počítačov. 1. vyd. Bratislava, Alfa 1989, 272 s. [14] Holeček, J. & Kuba, M. Počítače z hlediska uživatele. Praha, SPN 1988, 240 s. [15] Honzík, J. M., Hruška, T. & Máčel, M. Vybrané kapitoly z programovacích technik. 3. vyd. Brno, skriptum VUT 1991, 218 s. [16] Hudec, B. Programovací techniky. Praha, ČVUT [17] Jackson, M. A. Principles of Program Design. New York (USA), Academic Press [18] Jandoš, J. Programování v jazyku GW BASIC. Praha, NOTO - Kancelářské stroje 1988, 164 s. [19] Kačmář, D. Programování v jazyce C++. Objektová a neobjektová rozšíření jazyka. Ostrava, ES VŠB-TU 1995, 92 s. [20] Kačmář, D. & Farana, R. Vybrané algoritmy zpracování informací. 1. vyd. Ostrava: VŠB-TU Ostrava, s. ISBN
15 Použitá literatura 15 [21] Kaluža, J., Kalužová, L., Maňasová, Š. Základy informatiky v ekonomice. 1. vyd. Ostrava, skriptum VŠB 1992, 193 s. [22] Kanisová, H. & Müller, M. UML srozumitelně. 1. vyd. Brno, Computer Press, s. ISBN [23] Kapoun, K. & Šmajstrla, V. Základní fyzikální problémy - programy v jazyce BASIC a FORTRAN. 1. vyd. Ostrava, skriptum VŠB 1987, 312 s. [24] Kelemen, J. aj. Základy umelej inteligencie. 1. vyd. Bratislava, Alfa 1992, 400 s. [25] Knuth, D. E. The Art of Computer Programming. Volumes 1-4A, 3 rd ed. Reading, Massachusetts, Addison-Wesley, 2011, 3168 pp. ISBN [26] Kopeček, I. & Kučera, J. Programátorské poklesky. Praha, Mladá fronta 1989, s [27] Krček, B. & Kreml, P. Praktická cvičení z programování. FORTRAN. 1. vyd. Ostrava, skripta VŠB 1986, 199 s. [28] Kučera, L. Kombinatorické algoritmy. 2. vyd. Praha, SNTL 1989, 288 s. [29] Kukal, J. Myšlením k algoritmům. 1. vyd. Praha, Grada 1992, 136 s. [30] Marko, Š. - Štěpánek, M. Operačné systémy mikropočítačov SMEP. 2. vyd. Bratislava/Praha, Alfa/SNTL 1988, 264 s. [31] Medek, V. & Zámožík, J. Osobný počítač a geometria. 1. vyd. Bratislava, Alfa 1991, 256 s. [32] Michalewicz, Z. Genetic Algorithms + Data Structures = Evolution Programs. 1. vyd. Heidelberg, Springer-Verlag Berlin 1992, 250 s. [33] Microsoft Developer Network. Development Library January Microsoft Corporation 1995, CD - ROM. [34] Molnár, Ĺ. & Návrat, P. Programovanie v jazyku LISP. 1. vyd. Bratislava, Alfa 1988, 264 s. [35] Molnár, Ĺ. Programovanie v jazyku Pascal. Bratislava/Praha, Alfa/SNTL 1987, 160 s. [36] Molnár, Z. Moderní metody řízení informačních systémů. Praha, Grada 1992, s [37] Moos, P. Informační technologie, 1. vyd. Praha, ČVUT 1993, 200 s. [38] Nešvera, Š., Richta, K. & Zemánek, P. Úvod do operačního systému UNIX. 1. vyd. Praha, ČVUT 1991, 185 s. [39] Olehla, J. & Olehla, M. aj. BASIC u mikropočítačů. 1. vyd. Praha, NADAS 1988, 386 s. [40] Ošmera, P. Použití genetických algoritmů v neuronových modelech. In Sborník konference "EPVE 93". Brno VUT 1993, s [41] Paleta, P. Co programátory ve škole neučí aneb Softwarové inženýrství v reálné praxi. 1. vyd. Brno, Computer Press, 2003, 337 s. ISBN
16 Použitá literatura 16 [42] Petroš, L. Turbo Pascal 5.5 Uživatelská příručka. 1. vydání. Zlín, MTZ 1990, s [43] Plávka, J. Algoritmy a zložitosť. Košice, TU Košice, ISBN [44] Podlubný, I. Počítať na počítači nie je jednoduché. PC World, 1994, č. 2, s [45] Rawlins, G. J. E. Compared to what an introduction to the analysis of algorithms. Computer Science Press, New York, [46] Reverchon, A. & Ducamp, M. Mathematical Software Tools in C++. West Sussex (England) John Wiley & Sons Ltd. 1993, 507 s. [47] Rychlík, J. Programovací techniky. České Budějovice, KOPP 1992, 188 s. [48] Sedgewick, R. Algorithms. 1 st ed. Addison-Wesley. ISBN [49] Sirotová, V. Programovacie jazyky. 1. vyd. Bratislava, skriptum SVTŠ 1985, 138 s. [50] Soukup, B. SGP verze Referenční a uživatelská příručka systému. Uherské hradiště, SGP Systems 1991, s [51] Synovcová, M. Martina si hraje s počítačem. 1. vyd. Praha, Albatros 1989, 144 s. [52] Šarmanová, J. Teorie zpracování dat. Ostrava, FEI VŠB-TU Ostrava, 2003, 160 s. [53] Šmiřák, R. Unified Modeling Language. Softwarové noviny, 2004, č. 12, s [54] Tichý, V. Algoritmy I. Praha, FIS VŠE v Praze, 2006, 190 s. ISBN [55] Vejmola, S. Hry s počítačem. 1. vyd. Praha, SPN 1988, 256 s. [56] Virius, M. Základy algoritmizace. Praha, ČVUT 2008, 265 s. ISBN [57] Víteček, A. aj. Využití osobních počítačů ve výuce. 1. vyd. Ostrava, ČSVTS FS VŠB Ostrava 1986, 202 s. [58] Vítečková, M., Smutný, L., Farana, R. & Němec, M. Příkazy jazyka BASIC. Ostrava, katedra ASŘ VŠB Ostrava 1989, 44 s. [59] Vlček, J. Inženýrská informatika. 1. vyd. Praha, ČVUT 1994, 281 s. [60] Wirth, N. Algoritmy a štruktúry udajov. 2. vydání. Bratislava, Alfa 1989, s [61] Základy algoritmizace a programové vybavení. 2. vyd. Praha, Tesla Eltos 1986, 168 s. [62] Zelinka, I., Oplatková, Z., Šeda, M., Ošmera, P. & Včelař, F. Evoluční výpočetní techniky. Principy a aplikace. 1. vyd. Praha, BEN Technická literatura, ISBN
APLIKOVANÁ INFORMATIKA
VYSOKÁ ŠKOLA BÁŇSKÁ TECHNICKÁ UNIVERZITA OSTRAVA FAKULTA STROJNÍ APLIKOVANÁ INFORMATIKA 7. LEKCE - VYHLEDÁVÁNÍ prof. Ing. Radim Farana, CSc. Ostrava 2013 prof. Ing. Radim Farana, CSc. Vysoká škola báňská
APLIKOVANÁ INFORMATIKA
VYSOKÁ ŠKOLA BÁŇSKÁ TECHNICKÁ UNIVERZITA OSTRAVA FAKULTA STROJNÍ APLIKOVANÁ INFORMATIKA 2. LEKCE ALGORITMUS A JEHO POPIS prof. Ing. Radim Farana, CSc. Ostrava 2013 prof. Ing. Radim Farana, CSc. Vysoká
APLIKOVANÁ INFORMATIKA
VYSOKÁ ŠKOLA BÁŇSKÁ TECHNICKÁ UNIVERZITA OSTRAVA FAKULTA STROJNÍ APLIKOVANÁ INFORMATIKA 3. LEKCE UKLÁDÁNÍ INFORMACE prof. Ing. Radim Farana, CSc. Ostrava 2013 prof. Ing. Radim Farana, CSc. Vysoká škola
Genetické programování 3. část
1 Portál pre odborné publikovanie ISSN 1338-0087 Genetické programování 3. část Macháček Martin Elektrotechnika 08.04.2011 Jako ukázku použití GP uvedu symbolickou regresi. Regrese je statistická metoda
INVESTICE DO ROZVOJE VZDĚLÁVÁNÍ. Modernizace studijního programu Matematika na PřF Univerzity Palackého v Olomouci CZ.1.07/2.2.00/28.
INVESTICE DO ROZVOJE VZDĚLÁVÁNÍ Modernizace studijního programu Matematika na PřF Univerzity Palackého v Olomouci CZ.1.07/2.2.00/28.0141 Báze vektorových prostorů, transformace souřadnic Michal Botur Přednáška
Speciální numerické metody 4. ročník bakalářského studia. Cvičení: Ing. Petr Lehner Přednášky: doc. Ing. Martin Krejsa, Ph.D.
Speciální numerické metody 4. ročník bakalářského studia Cvičení: Ing. Petr Lehner Přednášky: doc. Ing. Martin Krejsa, Ph.D. 1 Základní informace o cvičení Předmět: 228-0210/01 Speciální numerické metody
Umělá inteligence a rozpoznávání
Václav Matoušek KIV e-mail: matousek@kiv.zcu.cz 0-1 Sylabus předmětu: Datum Náplň přednášky 11. 2. Úvod, historie a vývoj UI, základní problémové oblasti a typy úloh, aplikace UI, příklady inteligentních
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
Algoritmizace prostorových úloh
INOVACE BAKALÁŘSKÝCH A MAGISTERSKÝCH STUDIJNÍCH OBORŮ NA HORNICKO-GEOLOGICKÉ FAKULTĚ VYSOKÉ ŠKOLY BÁŇSKÉ - TECHNICKÉ UNIVERZITY OSTRAVA Algoritmizace prostorových úloh Grafové úlohy Daniela Szturcová Tento
Václav Matoušek KIV. Umělá inteligence a rozpoznávání. Václav Matoušek / KIV
Umělá inteligence a rozpoznávání Václav Matoušek KIV e-mail: matousek@kiv.zcu.cz 0-1 Sylabus předmětu: Datum Náplň přednášky 16. 2. (3h) 2. 3. (4h) 17. 3. (5h) 14. 4. (3h) Úvod, historie a vývoj UI, základní
4EK213 Lineární modely. 10. Celočíselné programování
4EK213 Lineární modely 10. Celočíselné programování 10.1 Matematický model úlohy ILP Nalézt extrém účelové funkce z = c 1 x 1 + c 2 x 2 + + c n x n na soustavě vlastních omezení a 11 x 1 + a 12 x 2 + a
MATEMATIKA II V PŘÍKLADECH
VYSOKÁ ŠKOLA BÁŇSKÁ TECHNICKÁ UNIVERZITA OSTRAVA FAKULTA STROJNÍ MATEMATIKA II V PŘÍKLADECH CVIČENÍ Č. 8 Ing. Petra Schreiberová, Ph.D. Ostrava 01 Ing. Petra Schreiberová, Ph.D. Vysoká škola báňská Technická
řešeny numericky 6 Obyčejné diferenciální rovnice řešeny numericky
řešeny numericky řešeny numericky Břetislav Fajmon, UMAT FEKT, VUT Brno Na minulé přednášce jsme viděli některé klasické metody a přístupy pro řešení diferenciálních rovnic: stručně řečeno, rovnice obsahující
Hanojská věž. T2: prohledávání stavového prostoru. zadání [1 1 1] řešení [3 3 3] dva možné první tahy: [1 1 2] [1 1 3]
Hanojská věž zadání [1 1 1] řešení [3 3 3] dva možné první tahy: [1 1 2] [1 1 3] který tah je lepší? (co je lepší tah?) P. Berka, 2012 1/21 Stavový prostor 1. množina stavů S = {s} 2. množina přechodů
ZÁKLADY AUTOMATICKÉHO ŘÍZENÍ
VYSOKÁ ŠKOLA BÁŇSKÁ TECHNICKÁ UNIVERZITA OSTRAVA FAKULTA STROJNÍ ZÁKLADY AUTOMATICKÉHO ŘÍZENÍ 8. týden doc. Ing. Renata WAGNEROVÁ, Ph.D. Ostrava 2013 doc. Ing. Renata WAGNEROVÁ, Ph.D. Vysoká škola báňská
VYUŽITÍ PRAVDĚPODOBNOSTNÍ METODY MONTE CARLO V SOUDNÍM INŽENÝRSTVÍ
VYUŽITÍ PRAVDĚPODOBNOSTNÍ METODY MONTE CARLO V SOUDNÍM INŽENÝRSTVÍ Michal Kořenář 1 Abstrakt Rozvoj výpočetní techniky v poslední době umožnil také rozvoj výpočetních metod, které nejsou založeny na bázi
ZÁKLADY AUTOMATICKÉHO ŘÍZENÍ
VYSOKÁ ŠKOLA BÁŇSKÁ TECHNICKÁ UNIVERZITA OSTRAVA FAKULTA STROJNÍ ZÁKLADY AUTOMATICKÉHO ŘÍZENÍ 1. týden doc. Ing. Renata WAGNEROVÁ, Ph.D. Ostrava 2013 doc. Ing. Renata WAGNEROVÁ, Ph.D. Vysoká škola báňská
5. Lokální, vázané a globální extrémy
5 Lokální, vázané a globální extrémy Studijní text Lokální extrémy 5 Lokální, vázané a globální extrémy Definice 51 Řekneme, že f : R n R má v bodě a Df: 1 lokální maximum, když Ka, δ Df tak, že x Ka,
VYBRANÉ STATĚ Z PROCESNÍHO INŢENÝRSTVÍ cvičení 9
UNIVERZITA TOMÁŠE BATI VE ZLÍNĚ FAKULTA APLIKOVANÉ INFORMATIKY VYBRANÉ STATĚ Z PROCESNÍHO INŢENÝRSTVÍ cvičení 9 Nestacionární vedení tepla v rovinné stěně Hana Charvátová, Dagmar Janáčová Zlín 2013 Tento
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ů
Základy umělé inteligence
Základy umělé inteligence Automatické řešení úloh Základy umělé inteligence - prohledávání. Vlasta Radová, ZČU, katedra kybernetiky 1 Formalizace úlohy UI chápe řešení úloh jako proces hledání řešení v
Slepé prohledávání do šířky Algoritmus prohledávání do šířky Při tomto způsobu prohledávání máme jistotu, že vždy nalezneme koncový stav, musíme ale p
Hanojská věž Stavový prostor 1. množina stavů S = {s} 2. množina přechodů mezi stavy (operátorů) Φ = {φ} s k = φ ki (s i ) zadání [1 1 1] řešení [3 3 3] dva možné první tahy: [1 1 2] [1 1 3] který tah
Č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á
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
Učební texty k státní bakalářské zkoušce Matematika Základy lineárního programování. študenti MFF 15. augusta 2008
Učební texty k státní bakalářské zkoušce Matematika Základy lineárního programování študenti MFF 15. augusta 2008 1 15 Základy lineárního programování Požadavky Simplexová metoda Věty o dualitě (bez důkazu)
MATEMATIKA II V PŘÍKLADECH
VYSOKÁ ŠKOLA BÁŇSKÁ TECHNICKÁ UNIVERZITA OSTRAVA FAKULTA STROJNÍ MATEMATIKA II V PŘÍKLADECH CVIČENÍ Č. Ing. Petra Schreiberová, Ph.D. Ostrava 0 Ing. Petra Schreiberová, Ph.D. Vysoká škola báňská Technická
Úvod do řešení lineárních rovnic a jejich soustav
Úvod do řešení lineárních rovnic a jejich soustav Rovnice je zápis rovnosti dvou výrazů, ve kterém máme najít neznámé číslo (neznámou). Po jeho dosazení do rovnice musí platit rovnost. Existuje-li takové
Binární soubory (datové, typované)
Binární soubory (datové, typované) - na rozdíl od textových souborů data uložena binárně (ve vnitřním tvaru jako v proměnných programu) není čitelné pro člověka - všechny záznamy téhož typu (může být i
příkladů do cvičení. V textu se objeví i pár detailů, které jsem nestihl (na které jsem zapomněl) a(b u) = (ab) u, u + ( u) = 0 = ( u) + u.
Několik řešených příkladů do Matematiky Vektory V tomto textu je spočteno několik ukázkových příkladů které vám snad pomohou při řešení příkladů do cvičení. V textu se objeví i pár detailů které jsem nestihl
Jak se matematika poučila v biologii
Jak se matematika poučila v biologii René Kalus IT4Innovations, VŠB TUO Role matematiky v (nejen) přírodních vědách Matematika inspirující a sloužící jazyk pro komunikaci s přírodou V 4 3 r 3 Matematika
fakulty MENDELU v Brně (LDF) s ohledem na disciplíny společného základu http://akademie.ldf.mendelu.cz/cz (reg. č. CZ.1.07/2.2.00/28.
Základy lineárního programování Vyšší matematika, Inženýrská matematika LDF MENDELU Podpořeno projektem Průřezová inovace studijních programů Lesnické a dřevařské fakulty MENDELU v Brně (LDF) s ohledem
Úloha ve stavovém prostoru SP je <s 0, C>, kde s 0 je počáteční stav C je množina požadovaných cílových stavů
Stavový prostor a jeho prohledávání SP = formalismus k obecnějšímu uchopení a vymezení problému, který spočívá v nalezení posloupnosti akcí vedoucích od počátečního stavu úlohy (zadání) k požadovanému
Užití systému Matlab při optimalizaci intenzity tepelného záření na povrchu formy
Užití systému Matlab při optimalizaci intenzity tepelného záření na povrchu formy Radek Srb 1) Jaroslav Mlýnek 2) 1) Fakulta mechatroniky, informatiky a mezioborových studií 2) Fakulta přírodovědně-humanitní
bfs, dfs, fronta, zásobník, prioritní fronta, halda
bfs, dfs, fronta, zásobník, prioritní fronta, halda Petr Ryšavý 20. září 2016 Katedra počítačů, FEL, ČVUT prohledávání grafů Proč prohledávání grafů Zkontrolovat, zda je sít spojitá. Hledání nejkratší
Statistická teorie učení
Statistická teorie učení Petr Havel Marek Myslivec přednáška z 9. týdne 1 Úvod Představme si situaci výrobce a zákazníka, který si u výrobce objednal algoritmus rozpoznávání. Zákazník dodal experimentální
Prohledávání do šířky = algoritmus vlny
Prohledávání do šířky = algoritmus vlny - souběžně zkoušet všechny možné varianty pokračování výpočtu, dokud nenajdeme řešení úlohy průchod stromem všech možných cest výpočtu do šířky, po vrstvách (v každé
Pokročilé operace s obrazem
Získávání a analýza obrazové informace Pokročilé operace s obrazem Biofyzikální ústav Lékařské fakulty Masarykovy univerzity Brno prezentace je součástí projektu FRVŠ č.2487/2011 (BFÚ LF MU) Získávání
Programovací jazyky. imperativní (procedurální) neimperativní (neprocedurální) assembler (jazyk symbolických instrukcí)
Programovací jazyky Programovací jazyky nižší assembler (jazyk symbolických instrukcí) vyšší imperativní (procedurální) Pascal, C/C++, Java, Basic, Python, php neimperativní (neprocedurální) Lisp, Prolog
LDF MENDELU. Simona Fišnarová (MENDELU) Základy lineárního programování VMAT, IMT 1 / 25
Základy lineárního programování Vyšší matematika, Inženýrská matematika LDF MENDELU Podpořeno projektem Průřezová inovace studijních programů Lesnické a dřevařské fakulty MENDELU v Brně (LDF) s ohledem
Navrženy v 60. letech jako experimentální optimalizační metoda. Velice rychlá s dobrou podporou teorie
Evoluční strategie Navrženy v 60. letech jako experimentální optimalizační metoda Založena na reálných číslech Velice rychlá s dobrou podporou teorie Jako první zavedla self-adaptation (úpravu sebe sama)
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
VYBRANÉ STATĚ Z PROCESNÍHO INŢENÝRSTVÍ cvičení 8
UNIVERZITA TOMÁŠE BATI VE ZLÍNĚ FAKULTA APLIKOVANÉ INFORMATIKY VYBRANÉ STATĚ Z PROCESNÍHO INŢENÝRSTVÍ cvičení 8 Hana Charvátová, Dagmar Janáčová Zlín 2013 Tento studijní materiál vznikl za finanční podpory
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
bfs, dfs, fronta, zásobník, prioritní fronta, halda
bfs, dfs, fronta, zásobník, prioritní fronta, halda Petr Ryšavý 19. září 2017 Katedra počítačů, FEL, ČVUT prohledávání grafů Proč prohledávání grafů Zkontrolovat, zda je sít spojitá. Hledání nejkratší
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
South Bohemia Mathematical Letters Volume 23, (2015), No. 1, DĚLENÍ KRUHU NA OBLASTI ÚVOD
South Bohemia Mathematical Letters Volume 23, (2015), No. 1, 113-122. DĚLENÍ KRUHU NA OBLASTI MAREK VEJSADA ABSTRAKT. V textu se zabývám řešením následujícího problému: Zvolíme na kružnici určitý počet
Citlivost kořenů polynomů
Citlivost kořenů polynomů Michal Šmerek Univerzita obrany v Brně, Fakulta ekonomiky a managementu, Katedra ekonometrie Abstrakt Článek se zabývá studiem citlivosti kořenů na malou změnu polynomu. Je všeobecně
1. D Y N A M I C K É DAT O V É STRUKTUR Y
1. D Y N A M I C K É DAT O V É STRUKTUR Y Autor: Petr Mik Abychom se mohli pustit do dynamických datových struktur, musíme se nejdřív podívat na datový typ ukazatel. 1. D AT O V Ý TYP U K A Z AT E L Datové
APROXIMACE KŘIVEK V MATLABU NEWTONŮV INTERPOLAČNÍ POLYNOM CURVE FITTING IN MATLAB NEWTON INTERPOLATION POLYNOMIAL
APROXIMACE KŘIVEK V MATLABU NEWTONŮV INTERPOLAČNÍ POLYNOM CURVE FITTING IN MATLAB NEWTON INTERPOLATION POLYNOMIAL Jiří Kulička 1 Anotace: Článek se zabývá odvozením, algoritmizací a popisem konstrukce
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
INFORMATIKA. Jindřich Kaluža. Ludmila Kalužová
INFORMATIKA Jindřich Kaluža Ludmila Kalužová Recenzenti: doc. RNDr. František Koliba, CSc. prof. RNDr. Peter Mikulecký, PhD. Vydání knihy bylo schváleno vědeckou radou nakladatelství. Všechna práva vyhrazena.
a počtem sloupců druhé matice. Spočítejme součin A.B. Označme matici A.B = M, pro její prvky platí:
Řešené příklady z lineární algebry - část 1 Typové příklady s řešením Příklady jsou určeny především k zopakování látky před zkouškou, jsou proto řešeny se znalostmi učiva celého semestru. Tento fakt se
Algoritmizace diskrétních. Ing. Michal Dorda, Ph.D.
Algoritmizace diskrétních simulačních modelů Ing. Michal Dorda, Ph.D. 1 Úvodní poznámky Při programování simulačních modelů lze hlavní dílčí problémy shrnout do následujících bodů: 1) Zachycení statických
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
12. Lineární programování
. Lineární programování. Lineární programování Úloha lineárního programování (lineární optimalizace) je jedním ze základních problémů teorie optimalizace. Našim cílem je nalézt maximum (resp. minimum)
Generování pseudonáhodných. Ing. Michal Dorda, Ph.D.
Generování pseudonáhodných čísel při simulaci Ing. Michal Dorda, Ph.D. 1 Úvodní poznámky V simulačních modelech se velice často vyskytují náhodné proměnné. Proto se budeme zabývat otázkou, jak při simulaci
NÁHODNÉ VELIČINY JAK SE NÁHODNÁ ČÍSLA PŘEVEDOU NA HODNOTY NÁHODNÝCH VELIČIN?
NÁHODNÉ VELIČINY GENEROVÁNÍ SPOJITÝCH A DISKRÉTNÍCH NÁHODNÝCH VELIČIN, VYUŽITÍ NÁHODNÝCH VELIČIN V SIMULACI, METODY TRANSFORMACE NÁHODNÝCH ČÍSEL NA HODNOTY NÁHODNÝCH VELIČIN. JAK SE NÁHODNÁ ČÍSLA PŘEVEDOU
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 (ϕ
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ě
Genetické algoritmy. Informační a komunikační technologie ve zdravotnictví
Genetické algoritmy Informační a komunikační technologie ve zdravotnictví Přehled přednášky Úvod Historie Základní pojmy Principy genetických algoritmů Možnosti použití Související metody AI Příklad problém
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é,
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
Základy umělé inteligence
Základy umělé inteligence Hraní her (pro 2 hráče) Základy umělé inteligence - hraní her. Vlasta Radová, ZČU, katedra kybernetiky 1 Hraní her (pro dva hráče) Hraní her je přirozeně spjato s metodami prohledávání
e-mail: RadkaZahradnikova@seznam.cz 1. července 2010
Optimální výrobní program Radka Zahradníková e-mail: RadkaZahradnikova@seznam.cz 1. července 2010 Obsah 1 Lineární programování 2 Simplexová metoda 3 Grafická metoda 4 Optimální výrobní program Řešení
III/2 Inovace a zkvalitnění výuky prostřednictvím ICT
Číslo a název šablony Číslo didaktického materiálu Druh didaktického materiálu Autor Jazyk Téma sady didaktických materiálů Téma didaktického materiálu Vyučovací předmět Cílová skupina (ročník) Úroveň
Vícerozměrná pole. Úvod do programování 2 Tomáš Kühr
Vícerozměrná pole Úvod do programování 2 Tomáš Kühr Organizační záležitosti Konzultace Pracovna 5.043 Úterý 9.40 11.20 (oficiální) Pátek 8.30 9.40, dle potřeby Emailem tomas.kuhr@upol.cz Web předmětu:
Projekční algoritmus. Urychlení evolučních algoritmů pomocí regresních stromů a jejich zobecnění. Jan Klíma
Urychlení evolučních algoritmů pomocí regresních stromů a jejich zobecnění Jan Klíma Obsah Motivace & cíle práce Evoluční algoritmy Náhradní modelování Stromové regresní metody Implementace a výsledky
Evoluční výpočetní techniky (EVT)
Evoluční výpočetní techniky (EVT) - Nacházejí svoji inspiraci v přírodních vývojových procesech - Stejně jako přírodní jevy mají silnou náhodnou složku, která nezanedbatelným způsobem ovlivňuje jejich
10. cvičení z PST. 5. prosince T = (n 1) S2 X. (n 1) s2 x σ 2 q χ 2 (n 1) (1 α 2 ). q χ 2 (n 1) 2. 2 x. (n 1) s. x = 1 6. x i = 457.
0 cvičení z PST 5 prosince 208 0 (intervalový odhad pro rozptyl) Soubor (70, 84, 89, 70, 74, 70) je náhodným výběrem z normálního rozdělení N(µ, σ 2 ) Určete oboustranný symetrický 95% interval spolehlivosti
Programování v jazyku LOGO - úvod
Programování v jazyku LOGO - úvod Programovací jazyk LOGO je určen pro výuku algoritmizace především pro děti školou povinné. Programovací jazyk pracuje v grafickém prostředí, přičemž jednou z jeho podstatných
Náhodný vektor. Náhodný vektor. Hustota náhodného vektoru. Hustota náhodného vektoru. Náhodný vektor je dvojice náhodných veličin (X, Y ) T = ( X
Náhodný vektor Náhodný vektor zatím jsme sledovali jednu náhodnou veličinu, její rozdělení a charakteristiky často potřebujeme vyšetřovat vzájemný vztah několika náhodných veličin musíme sledovat jejich
Lékařská biofyzika, výpočetní technika I. Biostatistika Josef Tvrdík (doc. Ing. CSc.)
Lékařská biofyzika, výpočetní technika I Biostatistika Josef Tvrdík (doc. Ing. CSc.) Přírodovědecká fakulta, katedra informatiky josef.tvrdik@osu.cz konzultace úterý 14.10 až 15.40 hod. http://www1.osu.cz/~tvrdik
ZÁKLADY AUTOMATICKÉHO ŘÍZENÍ
VYSOKÁ ŠKOLA BÁŇSKÁ TECHNICKÁ UNIVERZITA OSTRAVA FAKULTA STROJNÍ ZÁKLADY AUTOMATICKÉHO ŘÍZENÍ. týden doc. Ing. Renata WAGNEROVÁ, Ph.D. Ostrava 203 doc. Ing. Renata WAGNEROVÁ, Ph.D. Vysoká škola báňská
7. Rozdělení pravděpodobnosti ve statistice
7. Rozdělení pravděpodobnosti ve statistice Statistika nuda je, má však cenné údaje, neklesejte na mysli, ona nám to vyčíslí Jednou z úloh statistiky je odhad (výpočet) hodnot statistického znaku x i,
Název diplomové práce: Srovnávač životního pojištění. Určení: Bakalářská práce. Vedoucí: Doc. Ing. Petr Sosík, Dr.
Název diplomové práce: Srovnávač životního pojištění Určení: Bakalářská práce Konzultant: Ing. Mgr. Barbora Volná, Ph.D. Cíl práce: Naprogramovat srovnávač životního pojištění, který spadá pod obor automatizace
Úvod do informatiky. Miroslav Kolařík
Úvod do informatiky přednáška devátá Miroslav Kolařík Zpracováno dle učebního textu prof. Bělohlávka: Úvod do informatiky, KMI UPOL, Olomouc 2008 Obsah 1 Kombinatorika: princip inkluze a exkluze 2 Počítání
INVESTICE DO ROZVOJE VZDĚLÁVÁNÍ. Modernizace studijního programu Matematika na PřF Univerzity Palackého v Olomouci CZ.1.07/2.2.00/28.
INVESTICE DO ROZVOJE VZDĚLÁVÁNÍ Modernizace studijního programu Matematika na PřF Univerzity Palackého v Olomouci CZ107/2200/280141 Soustavy lineárních rovnic Michal Botur Přednáška 4 KAG/DLA1M: Lineární
Odhad parametrů N(µ, σ 2 )
Odhad parametrů N(µ, σ 2 ) Mějme statistický soubor x 1, x 2,, x n modelovaný jako realizaci náhodného výběru z normálního rozdělení N(µ, σ 2 ) s neznámými parametry µ a σ. Jaký je maximální věrohodný
NÁHODNÁ ČÍSLA. F(x) = 1 pro x 1. Náhodná čísla lze generovat některým z následujících generátorů náhodných čísel:
NÁHODNÁ ČÍSLA TYPY GENERÁTORŮ, LINEÁRNÍ KONGRUENČNÍ GENERÁTORY, TESTY NÁHODNOSTI, VYUŽITÍ HODNOT NÁHODNÝCH VELIČIN V SIMULACI CO JE TO NÁHODNÉ ČÍSLO? Náhodné číslo definujeme jako nezávislé hodnoty z rovnoměrného
Hledání kořenů rovnic jedné reálné proměnné metoda půlení intervalů Michal Čihák 23. října 2012
Hledání kořenů rovnic jedné reálné proměnné metoda půlení intervalů Michal Čihák 23. října 2012 Problém hledání kořenů rovnice f(x) = 0 jeden ze základních problémů numerické matematiky zároveň i jeden
1 Linearní prostory nad komplexními čísly
1 Linearní prostory nad komplexními čísly V této přednášce budeme hledat kořeny polynomů, které se dále budou moci vyskytovat jako složky vektorů nebo matic Vzhledem k tomu, že kořeny polynomu (i reálného)
Název předmětu: Školní rok: Forma studia: Studijní obory: Ročník: Semestr: Typ předmětu: Rozsah a zakončení předmětu:
Plán předmětu Název předmětu: Algoritmizace a programování (PAAPK) Školní rok: 2007/2008 Forma studia: Kombinovaná Studijní obory: DP, DI, PSDPI, OŽPD Ročník: I Semestr: II. (letní) Typ předmětu: povinný
Teorie náhodných matic aneb tak trochu jiná statistika
Teorie náhodných matic aneb tak trochu jiná statistika B. Vlková 1, M.Berg 2, B. Martínek 3, O. Švec 4, M. Neumann 5 Gymnázium Uničov 1, Gymnázium Václava Hraběte Hořovice 2, Mendelovo gymnázium Opava
TSO NEBO A INVARIANTNÍ ROZPOZNÁVACÍ SYSTÉMY
TSO NEBO A INVARIANTNÍ ROZPOZNÁVACÍ SYSTÉMY V PROSTŘEDÍ MATLAB K. Nováková, J. Kukal FJFI, ČVUT v Praze ÚPŘT, VŠCHT Praha Abstrakt Při rozpoznávání D binárních objektů z jejich diskrétní realizace se využívají
bfs, dfs, fronta, zásobník
bfs, dfs, fronta, zásobník Petr Ryšavý 25. září 2018 Katedra počítačů, FEL, ČVUT prohledávání grafů Proč prohledávání grafů Zkontrolovat, zda je sít spojitá. Hledání nejkratší cesty, plánování cest. Prohledávání
Aplikace. vliv na to, jakou mají strukturu i na to, jak pracné je je vyvinout. Bylo vypozorováno, že aplikace je možné rozdělit do skupin
Aplikace Aplikace se liší tím, k jakému účelu jsou tvořeny. To má vliv na to, jakou mají strukturu i na to, jak pracné je je vyvinout. Bylo vypozorováno, že aplikace je možné rozdělit do skupin s podobnou
Usuzování za neurčitosti
Usuzování za neurčitosti 25.11.2014 8-1 Usuzování za neurčitosti Hypotetické usuzování a zpětná indukce Míry postačitelnosti a nezbytnosti Kombinace důkazů Šíření pravděpodobnosti v inferenčních sítích
VŠB- Technická univerzita Ostrava Fakulta strojní Katedra pružnosti a pevnosti. Úvod do MKP Napěťová analýza modelu s vrubem
VŠB- Technická univerzita Ostrava Fakulta strojní Katedra pružnosti a pevnosti Úvod do MKP Autor: Michal Šofer Verze 0 Ostrava 2011 Zadání: Proveďte napěťovou analýzu součásti s kruhovým vrubem v místě
Objektově orientovaný přístup
Objektově orientovaný přístup 1 Historie programovacích jazyků 1945: John von Neumann článek o nové metodě pro ukládání programů 1945: Grace Hopper poprvé termín "bug" 1946: Konrad Zuse Plankalkul - první
Lingebraické kapitolky - Analytická geometrie
Lingebraické kapitolky - Analytická geometrie Jaroslav Horáček KAM MFF UK 2013 Co je to vektor? Šipička na tabuli? Ehm? Množina orientovaných úseček majících stejný směr. Prvek vektorového prostoru. V
Cvičení z matematiky jednoletý volitelný předmět
Název předmětu: Zařazení v učebním plánu: Cvičení z matematiky O8A, C4A, jednoletý volitelný předmět Cíle předmětu Obsah předmětu je zaměřen na přípravu studentů gymnázia na společnou část maturitní zkoušky
Sada 1 - Základy programování
S třední škola stavební Jihlava Sada 1 - Základy programování 13. Práce s řetězci - palindrom Digitální učební materiál projektu: SŠS Jihlava šablony registrační číslo projektu:cz.1.09/1.5.00/34.0284 Šablona:
OPTIMALIZAČNÍ ÚLOHY. Modelový příklad problém obchodního cestujícího:
OPTIMALIZAČNÍ ÚLOHY Problém optimalizace v různých oblastech: - minimalizace času, materiálu, - maximalizace výkonu, zisku, - optimalizace umístění komponent, propojení,... Modelový příklad problém obchodního
PŘEDNÁŠKA 03 OPTIMALIZAČNÍ METODY Optimization methods
CW057 Logistika (R) PŘEDNÁŠKA 03 Optimization methods Ing. Václav Venkrbec skupina obecných modelů slouží k nalezení nejlepšího řešení problémů a modelovaných reálií přináší řešení: prvky konečné / nekonečné
AVDAT Nelineární regresní model
AVDAT Nelineární regresní model Josef Tvrdík Katedra informatiky Přírodovědecká fakulta Ostravská univerzita Nelineární regresní model Ey i = f (x i, β) kde x i je k-členný vektor vysvětlujících proměnných
6. blok část C Množinové operátory
6. blok část C Množinové operátory Studijní cíl Tento blok je věnován problematice množinových operátorů a práce s množinovými operátory v jazyce SQL. Čtenáři se seznámí s operátory, UNION, a INTERSECT.
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ý
MS Excel 2007 Kontingenční tabulky
MS Excel 2007 Kontingenční tabulky Obsah kapitoly V této kapitole se seznámíme s nástrojem, který se používá k analýze dat rozsáhlých seznamů. Studijní cíle Studenti budou umět pro analýzu dat rozsáhlých
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
Prohledávání do šířky a do hloubky. Jan Hnilica Počítačové modelování 15
Prohledávání do šířky a do hloubky Jan Hnilica Počítačové modelování 15 1 Prohledávací algoritmy Úkol postupně systematicky prohledat vymezený stavový prostor Stavový prostor (SP) možné stavy a varianty