PARALELISMUS V DIFERENCIÁLNÍ EVOLUCI A JEJICH ADAPTIVNÍCH VARIANTÁCH

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

Download "PARALELISMUS V DIFERENCIÁLNÍ EVOLUCI A JEJICH ADAPTIVNÍCH VARIANTÁCH"

Transkript

1 PARALELISMUS V DIFERENCIÁLNÍ EVOLUCI A JEJICH ADAPTIVNÍCH VARIANTÁCH Jiří Bůžek Ostravská univerzita v Ostravě Katedra informatiky a počítačů 30. dubna 22, Ostrava Abstrakt: Tato práce se zabývá řešením paralelizace diferenciální evoluce a jejich adaptivních variant. Na základě profilovací analýzy byl sestaven obecný návrh pro implementaci paralelismu v DE. Implementována byla klasická DE a její adaptivní varianty jde, b6e6rl a JADE. Paralelní algoritmy byly porovnány s jejich neparalelními variantami na šesti testovacích funkcích. Výsledku testů ukázaly, že všechny paralelní implementace se zpracovávaly rychleji. Klíčová slova: Diferenciální evoluce, paralelismus 1 Úvod Jediným způsobem jak urychlit zpracování již optimalizovaného algoritmu je jeho paralelizace. Zrychlení jde dosáhnout například paralelním zpracováním p operací jedné nadřazené operace nebo paralelním zpracováním p ekvivalentních operací na více nezávislých výpočetních jednotkách. Řešení obtížných problémů globální optimalizace nebo problémů vyšších dimenzí je často velmi časově náročné. Zavedením paralelismu v doméně algoritmů Diferenciální evoluce má za cíl tuto časovou náročnost zkrátit použitím vhodné dekompozice algoritmů na úrovni datových struktur, tak aby bylo souběžné zpracovávání operací co nejefektivnější. Cílem této práce je implementovat paralelní varianty algortimů DE/rand/1/bin [5], b6e6rl [8], jde [1], JADE s externím archívem [10] a vyřešit problémy s nimi spojené. Hlavním rysem při postupu řešení této problematiky je použití návrhových vzorů a best practices (postupy osvědčené z praxe), aby uživatelům byly doručeny algoritmy řešící problém globální optimalizace, které budou moci reálně použít nebo volně modifikovat. Jednotlivé paralelní implementace v jazyce C# jsou porovnány oproti svým neparalelním variantám. Přepokladem je, že se průměrné hodnoty počtu vyhodnocení účelové funkce a spolehlivosti budou za stejných podmínek rovnat a zároveň potřebný čas k ukončení běhu algortimu u paralelních variant bude nižší. 2 Analýza a návrh Nad dvěma běhy varianty DE/rand/1/bin pro všechny testovací funkce podle [9], (D = 10) byla provedena profilovací analýza měřící počty volání a časování jednotlivých metod algoritmu. Řídící parametry byly nastaveny jako Cr = 0.5 a F = 0.5. Cílem této analýzy bylo zjistit, které části algoritmu zabírají největší režii. průměrná režie v % std. dev generování náhodného čísla vyhodnocení účelové funkce (úzká závislost na typu) 11 3 přistupování k populaci (přístupy do paměti) Tabulka 1: profilovací analýza Podle tabulky 1. je časově nejnáročnější generování náhodných čísel, v průměru se vykonává 57% celkového času. Druhá časově nejnáročnější je metoda vyhodnocení účelové funkce (11% celkového času), za ní jsou agregované metody pro přístup k jedincům populace (8.5%). V poměru celkový uběhlý čas vs. počet volání je jednoznačně nejnákladnější vyhodnocení účelové funkce. Další metody neměly takový význam, aby byly do tabulky zahrnuty. Důležité je zmínit, že průměrná režie vyhodnocení účelové funkce je velmi závislá na její složitosti, proto by výpočetně složitější funkce měla výrazný vliv na výsledky analýzy. Můžeme předpokládat, že tato pozorování budou podobná i pro adaptivní varianty DE. Protože se chceme vyhnout globálním synchronizacím přístupů (zápis a čtení) k proměnným pomocí jejich zamykání, které je velmi časově nákladné, a

2 protože jsou výše zmíněné metody zhuštěné v oblastech mutace, křížení a selekce, bylo navrženo, že generování zkusmých vektorů se bude provádět souběžně (paralelně) na nezávislých výpočetních jednotkách. Algoritmus 1: paralelní varianta DE generuj počáteční populaci P i = (x 1, x 2,..., x Np ); while ukončovací podmínky do for i := 1 to Np do generuj vektor v mutací ; vytvoř vektor u křížením x a x i ; if f(u) f(x i ) then do T zařaď u; else do T zařaď x i ; end P := T ; end Zvýrazněný obdelník v algoritmu 1. označuje cyklus for, který bude zpracováván paralelně. Všechno co leží vně je zpracováváno hlavním vláknem. Generování zkusmého vektoru, v nemž jsou zahrnuty rutiny mutace a křížení, se provádí nezávisle paralelně, žádná synchronizace není potřebná. Tento návrh bude výchozím řešením pro paralelizaci adaptivních variant DE. 3 Generování pseudonáhodných čísel Prvním významným problémem, kterému je nutno čelit při paralelizaci stochastických simulací, je generování pseudonáhodných čísel. Bez zamykání vnitřních proměnných instance generátoru náhodných čísel může současný přístup různých vláken zapříčinit poškození vnitřního stavu instance. Tato situace může způsobit vyvolání výjimky nebo snížit kvalitu generovaných čísel. To vše závisí na implementaci generátoru. U varianty DE/rand/1/bin se průměrně vygeneruje D+4 náhodných čísel na jedno vyhodnocení účelové funkce. Synchronizace přístupu (zápis do proměnných) k jedné instanci generátoru je pro tento obrovský počet vygenerovaných čísel velmi nevýhodná. Řešením tohoto problému může být vytvoření instancí generátorů pro každé jednotlivé vlákno zvlášť, inicializovaných odlišnými hodnotami. U takových generátorů ale není zaručeno, že sekvence náhodných čísel budou splňovať tyto dané podmínky: vygenerovaná čísla musí být z rovnoměrného rozdělení, mezi sekvencemi nesmí existovat jakákoliv korelace, generátory splňují statistiké testy na náhodnost. Algorimus Mrg32k3a [2] navržený Pierem L Ecuyerem s periodou délky p je schopen vytvořit instance jejichž stavy jsou o Z, Z = kroků vpřed před poslední vytvořenou instancí. Při vytváření nové instance se generátor překlopí do Z -tého stavu, vypočtením Z -té iterace své funkce vycházející ze stavu posledně vytvořené instance. Mezi dvěma po sobě vytvořenými instancemi leží sekvence náhodných čísel, která je nezávislá na sekvenci druhé instance. Tyto instance splňují podmínku nezávislosti a jejich periody jsou dostatečné dlouhé. Modifikace tohoto algoritmu je použita v paralelních implementacích variant DE. Při inicializaci algoritmů je každému vláknu přizazena jeho vlastní instance. Jako generátor pseudonáhodných čísel pro neparalelní varianty byl použit algoritmus Mersenne Twister [3] s periodou p Implementace Všechny varianty DE byly implementovány v programovacím jazyce C#, použitý framework.net 4.5 v prostředí Visual Studio Problém vygenerování zkusmého vektoru, který leží mimo D, je v implemenacích vyřešen metodou zrdcadlení. Složka vektoru, která leží mimo D je překlopena zpátky do D. Pro paralelizaci cyklu for viz. kapitola Analýza a návrh, byla podle [7] použita metoda Parallel.For jmenného prostoru System.Threading.Task z knihovny Task Parallel Library (TPL). Metoda Parallel.For přijímá tři argumenty: dvě celá čísla reprezentující hranici od-do a referenci na funkci, která se bude provádět v jednotlivých iteracích. Vnitřně metoda dynamicky přiřazuje volným vláknům úlohu vygenerování zkusmého vektoru a rutinu selekce. Cyklus není rozdělen do pevných statických částí, což zvyšuje efektivitu paralelního zpracovávání, protože vykonání nevhodně rozdělených statických bloků podobné délky může různým jádrům trvat různou dobu.

3 Jiná spuštěná úloha s vyšší prioritou může přerušit a předběhnout vykonávání bloku (preempce u operačních systémů). U variant DE/rand/1/bin a jde není problém s použitím vzoru z kapitoly Analýza a návrh. U variant b6e6rl a JADE s externím archívem se ale vyskytují problémy, které znesnadňují použití tohoto vzoru. 4.1 b6e6rl Ve variantě b6e6rl se po události výběru úspěšné strategie provádí aktualizace H normalizovaných pravděpodobností, případně se provádí resetování na jejich výchozí hodnoty. Problémem je, že ve výchozí implementaci, souběžné generování zkusmých vektorů a rutina selekce způsobují současný přístup vláken k poli, v němž jsou uloženy hodnoty počtu výběrů strategií. Během inkrementování počtu výběrů jedné strategie současný přístup dvou a více vláken nastaví tuto proměnou na hodnotu, kterou nemůžeme jasně určit. Synchronizace přístupů k proměnným je v tomto případě nevýhodná, proto byl tento problém vyřešen přesunutím aktualizací pravděpodobností za paralelní cyklus For, tzn. aktualizace pravděpodobností bude provedena po každém vygenerování nové populace. 4.2 JADE U varianty JADE je problémem existence externího archívu A. Přistupování k externímu archívu je nutno synchronizovat, nebo použít dynamickou datovou strukturu, která je vláknově bezpečná. Jako vhodná struktura podle [4] pro řešení implementace externího archívu byla vybrána struktura ConcurrentDictionary a to kvůli tomu, že scénář použití této struktury je velmi podobný s požadovanou implementací archívu. Implementace archívu vyžaduje mnoho čtení prvků a mnoho aktualizací nad prvky množiny archívu A. ConcurrentDictionary vyřešila daný problém, ale řešení zamykáním kritických bloků algoritmu přineslo mnohem lepší výsledky v podobě výrazného zrychlení. Zamykání archívu, proti vstupním a vystupním operacím, se provádí pří vybírání vektoru x r2,g ze sjednocení množin P A, za podmínky když náhodně vygenerovaný index r2 ukazuje do množiny archívu A. Další zamykání se provádí po události, kdy je vygenerován úspěšný zkusmý vektor a vektor staré populace x i je poté vkládán do A. 5 Experimentální testování Podle [9] bylo všech osm implementovaných variant DE, paralelních a neparalelních, otestováno na šesti různých testovacích funkcích. Vstupní parametry byly nastaveny na doporučené hodnoty také podle [9]. Pro každou variantu bylo provedeno 100 opakování, za stejných podmínek Np = 60 a D = 30. U každé paralelní varianty je předpokladem, že spolehlivost a průměrné hodnoty počtu vyhodnocení účelové funkce budou podobné s hodnotami její neparalelní implementace. 5.1 DE/rand/1/bin ackley dejong griewank rastrigin rosen schwefel ackley dejong griewank rastrigin rosen schwefel Tabulka 2: DE/rand/1/bin Hodnoty počtu průměrných vyhodnocení účelové funkce nf e a spolehlivosti R se mezi paralelní a neparalelní variantou DE/rand/1/bin velmi podobají. Průměrná doba, za kterou se běh algoritmu ukončí, je pro všechny testovací funkce nejnižší u paralelní varianty.

4 5.2 jde ackley dejong griewank rastrigin rosen schwefel ackley dejong griewank rastrigin rosen schwefel Tabulka 3: jde Hodnoty počtu průměrných vyhodnocení účelové funkce nf e a spolehlivosti R se mezi paralelní a neparalelní variantou jde podobají. Vyjímku tvoří testovací funkce ackley u níž je průměrný počet vyhodnocení účelové funkce paralelní varianty vyrazně vyšší než u neparalelní varianty. Průměrná doba, za kterou se běh algoritmu ukončí, je pro všechny testovací funkce nejnižší u paralelní varianty. Obě implementace fungují principiálně stejně, rozdíly mezi průměrnými počty vyhodnocení účelové funkce u testovací funkce ackley mohou být způsobeny použitím dvou různých generátorů náhodných čísel v závislosti na použitých vstupních parametrech. Pro kontrolu spávnosti výsledků bylo měření provedeno třikrát, naměřené hodnoty se výrazně nelišily. 5.3 b6e6rl ackley dejong griewank rastrigin rosen schwefel ackley dejong griewank rastrigin rosen schwefel Tabulka 4: b6e6rl Hodnoty počtu průměrných vyhodnocení účelové funkce nf e a spolehlivosti R se mezi paralelní a neparalelní variantou b6e6rl velmi podobají. Průměrná doba, za kterou se běh algoritmu ukončí, je pro všechny testovací funkce nejnižší u paralelní varianty. Přesunutí metody aktualizace pravděpodobností výběru strategií nemělo významný na průměrný počet vyhodnocení účelové funkce. 5.4 JADE ackley dejong griewank rastrigin rosen schwefel ackley dejong griewank rastrigin rosen schwefel Tabulka 5: JADE

5 Hodnoty počtu průměrných vyhodnocení účelové funkce nf e a spolehlivosti R se mezi paralelní a neparalelní variantou JADE velmi podobají. Průměrná doba, za kterou se běh algoritmu ukončí, je pro všechny testovací funkce nejnižší u paralelní varianty. Globální synchronizace čtení a zápisu prvků do externího archívu negativně neovlivnila počty vyhodnocení účelové funkce ani spolehlivost. 5.5 Shrnutí Všechny implementace paralelních variant DE jsou časově méně naročnejší než jejich neparalelní varianty. Ve všech případech, kromě varianty jde (testovací funkce ackley), jsou spolehlivost nalezení přijatelného řešení a počty vyhodnocení účelové funkce podobné. Testování algoritmů probíhalo na osobním počítači s 64-bit operačním systémem Windows 7 Professional, dvoujádrovým procesorem Intel Core i3 (4 logické jednotky), při průměrném 45% výtížení 4GB RAM paměti. Průměrné délky trvání běhů paralelních implementací jsou zhurba o polovinu kratší než délky trvání u neparalelních. Profilovací analýzou bylo zjištěno, že hruba 43% celkového času vykonávání algoritmu zabrala režie spojená s přiřazováním úloh vláknům a s voláním obslužných metod z jmenného prostoru System.Threading. Tyto systémové rutiny nemůže uživatel přímo ovlivnit. U varianty JADE se navíc v průměru 14% celkového času běhu algoritmu čekalo na uvolňování synchronizačních zámků nad množinou A. Z těchto důvodů nebylo dosaženo lepšího zrychlení. 6 Závěr Bylo implementováno celkem osm algoritmů diferenciální evoluce. Všechny paralelní varianty se při experimentálním testování projevily jako rychlejší. Během práce se podařilo navrhnout funkční vzor pro paralelizaci existujících algoritmů DE a zároveň byly vyřešeny problémy globální synchronizace proměnných u variant b6e6rl a JADE. V této práci se autor nezabýval problémem False Sharing [6]. Při budoucím postupu by se měl tento problém, pokud se v implementacích vyskytuje, přednostně vyřešit. Implementované algoritmy by také měly být otestovány na širším spektru testovacích problémů. Zdrojové kódy algoritmů, dokumentace, API a příklady použití jsou dostupné volně ke stažení na adrese Reference [1] Janez Brest, Saso Greiner, Borko Boskovic, Marjan Mernik, and Viljem Zumer. Self-adapting control parameters in differential evolution: A comparative study on numerical benchmark problems. Evolutionary Computation, IEEE Transactions on, 10(6): , [2] Pierre L ecuyer, Richard Simard, E Jack Chen, and W David Kelton. An object-oriented random-number package with many long streams and substreams. Operations Research, 50(6): , [3] Makoto Matsumoto and Takuji Nishimura. Mersenne twister: a 623-dimensionally equidistributed uniform pseudo-random number generator. ACM Transactions on Modeling and Computer Simulation (TOMACS), 8(1):3 30, [4] Microsoft MSDN. When to use a thread-safe December [5] Rainer Storn and Kenneth Price. Differential evolution a simple and efficient heuristic for global optimization over continuous spaces. Journal of global optimization, 11(4): , [6] Stephen Toub, Igor Ostrovsky, and Huseyin Yildiz.. net matters-false sharing. MSDN magazine, page 153, [7] Stephen Toub and Parallel Computing Platform. Patterns of parallel programming. Microsoft Corporation, [8] Josef Tvrdık. Self-adaptive variants of differential evolution with exponential crossover,. Analele of West University Timisoara, Series Mathematics-Informatics, 47: , [9] Josef Tvrdík, Radka Poláková, Jiří Veselskỳ, and Petr Bujok. Adaptive variants of differential evolution: Towards control-parameter-free optimizers. In Handbook of Optimization, pages Springer, 2013.

6 [10] Jingqiao Zhang and Arthur C Sanderson. Jade: adaptive differential evolution with optional external archive. Evolutionary Computation, IEEE Transactions on, 13(5): , 2009.

Navrženy v 60. letech jako experimentální optimalizační metoda. Velice rychlá s dobrou podporou teorie

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)

Více

Obsah. Kapitola 1 Hardware, procesory a vlákna Prohlídka útrob počítače...20 Motivace pro vícejádrové procesory...21

Obsah. Kapitola 1 Hardware, procesory a vlákna Prohlídka útrob počítače...20 Motivace pro vícejádrové procesory...21 Stručný obsah 1. Hardware, procesory a vlákna... 19 2. Programování s ohledemna výkon... 45 3. Identifikování příležitostí pro paralelizmus... 93 4. Synchronizace a sdílení dat... 123 5. Vlákna v rozhraní

Více

Procesy a vlákna (Processes and Threads)

Procesy a vlákna (Processes and Threads) ÚVOD DO OPERAČNÍCH SYSTÉMŮ Ver.1.00 Procesy a vlákna (Processes and Threads) Správa procesů a vláken České vysoké učení technické Fakulta elektrotechnická 2012 Použitá literatura [1] Stallings, W.: Operating

Více

ČVUT FEL X36PAA - Problémy a algoritmy. 4. úloha - Experimentální hodnocení algoritmů pro řešení problému batohu

ČVUT FEL X36PAA - Problémy a algoritmy. 4. úloha - Experimentální hodnocení algoritmů pro řešení problému batohu ČVUT FEL X36PAA - Problémy a algoritmy 4. úloha - Experimentální hodnocení algoritmů pro řešení problému batohu Jméno: Marek Handl Datum: 3. 2. 29 Cvičení: Pondělí 9: Zadání Prozkoumejte citlivost metod

Více

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

Více

Vlákno (anglicky: thread) v informatice označuje vlákno výpočtu neboli samostatný výpočetní tok, tedy posloupnost po sobě jdoucích operací.

Vlákno (anglicky: thread) v informatice označuje vlákno výpočtu neboli samostatný výpočetní tok, tedy posloupnost po sobě jdoucích operací. Trochu teorie Vlákno (anglicky: thread) v informatice označuje vlákno výpočtu neboli samostatný výpočetní tok, tedy posloupnost po sobě jdoucích operací. Každá spuštěná aplikace má alespoň jeden proces

Více

Adaptace v algoritmu diferenciální evoluce

Adaptace v algoritmu diferenciální evoluce OSTRAVSKÁ UNIVERZITA V OSTRAVĚ PŘÍRODOVĚDECKÁ FAKULTA KATEDRA MATEMATIKY Adaptace v algoritmu diferenciální evoluce Doktorská disertační práce Autor: Mgr. Radka Poláková Vedoucí práce: doc. Ing. Josef

Více

Swarm Intelligence. Moderní metody optimalizace 1

Swarm Intelligence.   Moderní metody optimalizace 1 Swarm Intelligence http://pixdaus.com/single.php?id=168307 Moderní metody optimalizace 1 Swarm Intelligence Inteligence hejna algoritmy inspirované chováním skupin ptáků, hmyzu, ryb apod. Particle Swarm

Více

Paralení programování pro vícejádrové stroje s použitím OpenMP. B4B36PDV Paralelní a distribuované výpočty

Paralení programování pro vícejádrové stroje s použitím OpenMP. B4B36PDV Paralelní a distribuované výpočty Paralení programování pro vícejádrové stroje s použitím OpenMP B4B36PDV Paralelní a distribuované výpočty Minulé cvičení: Vlákna a jejich synchronizace v C++ 11... 1 Minulé cvičení: Vlákna a jejich synchronizace

Více

SPECIFICKÝCH MIKROPROGRAMOVÝCH ARCHITEKTUR

SPECIFICKÝCH MIKROPROGRAMOVÝCH ARCHITEKTUR EVOLUČNÍ NÁVRH A OPTIMALIZACE APLIKAČNĚ SPECIFICKÝCH MIKROPROGRAMOVÝCH ARCHITEKTUR Miloš Minařík DVI4, 2. ročník, prezenční studium Školitel: Lukáš Sekanina Fakulta informačních technologií, Vysoké učení

Více

1. Zpracování událostí na pozadí aplikace

1. Zpracování událostí na pozadí aplikace 1. Zpracování událostí na pozadí aplikace Ing. Michal Bližňák, Ph.D. Ústav informatiky a umělé inteligence Fakulta aplikované informatiky UTB Zĺın Paralelní procesy a programování, Zĺın, 3. února 2014

Více

Markov Chain Monte Carlo. Jan Kracík.

Markov Chain Monte Carlo. Jan Kracík. Markov Chain Monte Carlo Jan Kracík jan.kracik@vsb.cz Princip Monte Carlo integrace Cílem je (přibližný) výpočet integrálu I(g) = E f [g(x)] = g(x)f (x)dx. (1) Umíme-li generovat nezávislé vzorky x (1),

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

Michal Krátký. Úvod do programovacích jazyků (Java), 2006/2007

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

Více

AKCELERACE EVOLUCE PRAVIDEL CELULÁRNÍCH AUTOMATŮ NA GPU

AKCELERACE EVOLUCE PRAVIDEL CELULÁRNÍCH AUTOMATŮ NA GPU AKCELERACE EVOLUCE PRAVIDEL CELULÁRNÍCH AUTOMATŮ NA GPU Luděk Žaloudek Výpočetní technika a informatika, 2. ročník, prezenční studium Školitel: Lukáš Sekanina Fakulta informačních technologií, Vysoké učení

Více

Static Load Balancing Applied to Time Dependent Mechanical Problems

Static Load Balancing Applied to Time Dependent Mechanical Problems Static Load Balancing Applied to Time Dependent Mechanical Problems O. Medek 1, J. Kruis 2, Z. Bittnar 2, P. Tvrdík 1 1 Katedra počítačů České vysoké učení technické, Praha 2 Katedra stavební mechaniky

Více

ČVUT FEL X36PAA - Problémy a algoritmy. 5. úloha - Seznámení se se zvolenou pokročilou iterativní metodou na problému batohu

ČVUT FEL X36PAA - Problémy a algoritmy. 5. úloha - Seznámení se se zvolenou pokročilou iterativní metodou na problému batohu ČVUT FEL X36PAA - Problémy a algoritmy 5. úloha - Seznámení se se zvolenou pokročilou iterativní metodou na problému batohu Jméno: Marek Handl Datum: 4. 2. 2009 Cvičení: Pondělí 9:00 Zadání Zvolte si heuristiku,

Více

4. Úvod do paralelismu, metody paralelizace

4. Úvod do paralelismu, metody paralelizace 4. Úvod do paralelismu, metody paralelizace algoritmů Ing. Michal Bližňák, Ph.D. Ústav informatiky a umělé inteligence Fakulta aplikované informatiky UTB Zĺın Paralelní procesy a programování, Zĺın, 26.

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

Algoritmy pro spojitou optimalizaci

Algoritmy pro spojitou optimalizaci Algoritmy pro spojitou optimalizaci Vladimír Bičík Katedra počítačů Fakulta elektrotechnická České vysoké učení technické v Praze 10.6.2010 Vladimír Bičík (ČVUT Praha) Algoritmy pro spojitou optimalizaci

Více

Paralelní výpočty ve finančnictví

Paralelní výpočty ve finančnictví Paralelní výpočty ve finančnictví Jan Houška HUMUSOFT s.r.o. houska@humusoft.cz Výpočetně náročné úlohy distribuované úlohy mnoho relativně nezávislých úloh snížení zatížení klientské pracovní stanice

Více

Projekční algoritmus. Urychlení evolučních algoritmů pomocí regresních stromů a jejich zobecnění. Jan Klíma

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

Více

Testování prvočíselnosti

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

Více

Paralelní a distribuované výpočty (B4B36PDV)

Paralelní a distribuované výpočty (B4B36PDV) Paralelní a distribuované výpočty (B4B36PDV) Branislav Bošanský, Michal Jakob bosansky@fel.cvut.cz Artificial Intelligence Center Department of Computer Science Faculty of Electrical Engineering Czech

Více

Evoluční algoritmy. Podmínka zastavení počet iterací kvalita nejlepšího jedince v populaci změna kvality nejlepšího jedince mezi iteracemi

Evoluční algoritmy. Podmínka zastavení počet iterací kvalita nejlepšího jedince v populaci změna kvality nejlepšího jedince mezi iteracemi Evoluční algoritmy Použítí evoluční principů, založených na metodách optimalizace funkcí a umělé inteligenci, pro hledání řešení nějaké úlohy. Populace množina jedinců, potenciálních řešení Fitness function

Více

Paralelní programování

Paralelní programování Paralelní programování přednášky Jan Outrata únor duben 2011 Jan Outrata (KI UP) Paralelní programování únor duben 2011 1 / 14 Atomické akce dále nedělitelná = neproložitelná jiným procesem izolovaná =

Více

Využijte plný výkon procesorů s více jádry v LabVIEW 8.5

Využijte plný výkon procesorů s více jádry v LabVIEW 8.5 Využijte plný výkon procesorů s více jádry v LabVIEW 8.5 Rychlosti procesorů narazily během posledních let na strop. Mooreův zákon, který říká, že počet tranzistorů na čipu se zdvojnásobí každých 18 až

Více

Algoritmizace diskrétních. Ing. Michal Dorda, Ph.D.

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

Více

Časová a prostorová složitost algoritmů

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

Více

VISUAL BASIC. Přehled témat

VISUAL BASIC. Přehled témat VISUAL BASIC Přehled témat 1 ÚVOD DO PROGRAMOVÁNÍ Co je to program? Kuchařský předpis, scénář k filmu,... Program posloupnost instrukcí Běh programu: postupné plnění instrukcí zpracovávání vstupních dat

Více

IMOSI - MODELACE A SIMULACE LEARN 2013 správně možná špatně

IMOSI - MODELACE A SIMULACE LEARN 2013 správně možná špatně IMOSI - MODELACE A SIMULACE LEARN 2013 správně možná špatně Simulátor označujeme jako kredibilní v případě, že: byla úspěšně završena fáze verifikace simulátoru se podařilo přesvědčit zadavatele simulačního

Více

Obecné výpočty na GPU v jazyce CUDA. Jiří Filipovič

Obecné výpočty na GPU v jazyce CUDA. Jiří Filipovič Obecné výpočty na GPU v jazyce CUDA Jiří Filipovič Obsah přednášky motivace architektura GPU CUDA programovací model jaké algoritmy urychlovat na GPU? optimalizace Motivace Moorův zákon stále platí pro

Více

Firmware řídící jednotky stejnosměrného generátoru

Firmware řídící jednotky stejnosměrného generátoru Firmware řídící jednotky stejnosměrného generátoru Zdeněk KOLKA Projekt FR-TI1/184 - Výzkum a vývoj systému řízení a regulace pozemního letištního zdroje Popis Řídicí jednotka GCU 400SG je elektronické

Více

Paralelní a distribuované výpočty (B4B36PDV)

Paralelní a distribuované výpočty (B4B36PDV) Paralelní a distribuované výpočty (B4B36PDV) Branislav Bošanský, Michal Jakob bosansky@fel.cvut.cz Artificial Intelligence Center Department of Computer Science Faculty of Electrical Engineering Czech

Více

Paralelní programování

Paralelní programování Paralelní programování přednášky Jan Outrata únor květen 2011 Jan Outrata (KI UP) Paralelní programování únor květen 2011 1 / 15 Simulátor konkurence abstrakce = libovolné proložení atom. akcí sekvenčních

Více

ČESKÉ VYSOKÉ UČENÍ TECHNICKÉ v Praze Ú12110 Ústav přístrojové a řídící techniky

ČESKÉ VYSOKÉ UČENÍ TECHNICKÉ v Praze Ú12110 Ústav přístrojové a řídící techniky ČESKÉ VYSOKÉ UČENÍ TECHNICKÉ v Praze Ú12110 Ústav přístrojové a řídící techniky Semestrální práce Python pro vědecké výpočty Generátor pulzů pro simulaci vstupů kontroly trakce vozu Formule student Vypracoval:

Více

Poslední nenulová číslice faktoriálu

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

Více

Analýza spolehlivosti tlakové nádoby metodou Monte Carlo

Analýza spolehlivosti tlakové nádoby metodou Monte Carlo Analýza spolehlivosti tlakové nádoby metodou Monte Carlo Jakub Nedbálek Abstrakt: Cílem práce je ukázat možnost využití Monte Carlo simulace pro studium úloh z oblasti spolehlivosti. V našem případě máme

Více

Program a životní cyklus programu

Program a životní cyklus programu Program a životní cyklus programu Program algoritmus zapsaný formálně, srozumitelně pro počítač program se skládá z elementárních kroků Elementární kroky mohou být: instrukce operačního kódu počítače příkazy

Více

7.6 Další diagramy UML

7.6 Další diagramy UML 7.6 Další diagramy UML 7.6.1 Moduly (balíčky - package) a kolaborace (collaboration) Jak rozložit rozsáhlý systém na menší? - seskupování tříd (prvků modelu) do jednotek vyšší úrovně (package v UML). UI

Více

2. Modelovací jazyk UML 2.1 Struktura UML 2.1.1 Diagram tříd 2.1.1.1 Asociace 2.1.2 OCL. 3. Smalltalk 3.1 Jazyk 3.1.1 Pojmenování

2. Modelovací jazyk UML 2.1 Struktura UML 2.1.1 Diagram tříd 2.1.1.1 Asociace 2.1.2 OCL. 3. Smalltalk 3.1 Jazyk 3.1.1 Pojmenování 1. Teoretické základy modelování na počítačích 1.1 Lambda-kalkul 1.1.1 Formální zápis, beta-redukce, alfa-konverze 1.1.2 Lambda-výraz jako data 1.1.3 Příklad alfa-konverze 1.1.4 Eta-redukce 1.2 Základy

Více

11. Přehled prog. jazyků

11. Přehled prog. jazyků Jiří Vokřínek, 2016 B6B36ZAL - Přednáška 11 1 Základy algoritmizace 11. Přehled prog. jazyků doc. Ing. Jiří Vokřínek, Ph.D. Katedra počítačů Fakulta elektrotechnická České vysoké učení technické v Praze

Více

Sběrnicová struktura PC Procesory PC funkce, vlastnosti Interní počítačové paměti PC

Sběrnicová struktura PC Procesory PC funkce, vlastnosti Interní počítačové paměti PC Informační systémy 2 Obsah: Sběrnicová struktura PC Procesory PC funkce, vlastnosti Interní počítačové paměti PC ROM RAM Paměti typu CACHE IS2-4 1 Dnešní info: Informační systémy 2 03 Informační systémy

Více

TÉMATICKÝ OKRUH Softwarové inženýrství

TÉMATICKÝ OKRUH Softwarové inženýrství TÉMATICKÝ OKRUH Softwarové inženýrství Číslo otázky : 24. Otázka : Implementační fáze. Postupy při specifikaci organizace softwarových komponent pomocí UML. Mapování modelů na struktury programovacího

Více

Jakub Čermák jakub@jcermak.cz, http://www.jcermak.cz Microsoft Student Partner

Jakub Čermák jakub@jcermak.cz, http://www.jcermak.cz Microsoft Student Partner Jakub Čermák jakub@jcermak.cz, http://www.jcermak.cz Microsoft Student Partner Co paralelizace přinese? Jak paralelizovat? Jak si ušetřit práci? Jak nedělat běžné paralelizační chyby? Race condition, deadlocky

Více

7.6 Další diagramy UML

7.6 Další diagramy UML 7.6 Další diagramy UML 7.6.1 Moduly (balíčky - package) a kolaborace (collaboration) Jak rozložit rozsáhlý systém na menší? - seskupování tříd (prvků modelu) do jednotek vyšší úrovně (package v UML). UI

Více

Operační systémy. Jednoduché stránkování. Virtuální paměť. Příklad: jednoduché stránkování. Virtuální paměť se stránkování. Memory Management Unit

Operační systémy. Jednoduché stránkování. Virtuální paměť. Příklad: jednoduché stránkování. Virtuální paměť se stránkování. Memory Management Unit Jednoduché stránkování Operační systémy Přednáška 8: Správa paměti II Hlavní paměť rozdělená na malé úseky stejné velikosti (např. 4kB) nazývané rámce (frames). Program rozdělen na malé úseky stejné velikosti

Více

Paralelní programování

Paralelní programování Paralelní programování přednášky Jan Outrata únor duben 2011 Jan Outrata (KI UP) Paralelní programování únor duben 2011 1 / 11 Literatura Ben-Ari M.: Principles of concurrent and distributed programming.

Více

SYSTÉMY NAČIPU MI-SOC

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

Více

1. Téma 03 - Rozhodování

1. Téma 03 - Rozhodování 1. Téma 03 - Rozhodování Cíl látky Seznámit se a prakticky si vyzkoušet zápis rozhodování v jazyce Java 1.1. Úvod Jednou z nejčastěji používanou konstrukcí při programování je rozhodování. Právě této problematice

Více

Vyučovací hodina. 1vyučovací hodina: 2vyučovací hodiny: Opakování z minulé hodiny. Procvičení nové látky

Vyučovací hodina. 1vyučovací hodina: 2vyučovací hodiny: Opakování z minulé hodiny. Procvičení nové látky Vyučovací hodina 1vyučovací hodina: Opakování z minulé hodiny Nová látka Procvičení nové látky Shrnutí 5 min 20 min 15 min 5 min 2vyučovací hodiny: Opakování z minulé hodiny Nová látka Procvičení nové

Více

ADAPTIVNÍ ALGORITMUS PRO ODHAD PARAMETRŮ NELINEÁRNÍCH REGRESNÍCH MODELŮ

ADAPTIVNÍ ALGORITMUS PRO ODHAD PARAMETRŮ NELINEÁRNÍCH REGRESNÍCH MODELŮ ADAPTIVNÍ ALGORITMUS PRO ODHAD PARAMETRŮ NELINEÁRNÍCH REGRESNÍCH MODELŮ Josef Tvrdík Katedra informatiky, Přírodovědecká fakulta, Ostravská univerzita, 30. dubna 22, 701 03 Ostrava e-mail: tvrdik@osu.cz

Více

2. úkol MI-PAA. Jan Jůna (junajan) 3.11.2013

2. úkol MI-PAA. Jan Jůna (junajan) 3.11.2013 2. úkol MI-PAA Jan Jůna (junajan) 3.11.2013 Specifikaci úlohy Problém batohu je jedním z nejjednodušších NP-těžkých problémů. V literatuře najdeme množství jeho variant, které mají obecně různé nároky

Více

Vlákna a přístup ke sdílené paměti. B4B36PDV Paralelní a distribuované výpočty

Vlákna a přístup ke sdílené paměti. B4B36PDV Paralelní a distribuované výpočty Vlákna a přístup ke sdílené paměti B4B36PDV Paralelní a distribuované výpočty Minulé cvičení: Paralelizace nám může pomoct... 1 Minulé cvičení: Paralelizace nám může pomoct... B4B36PDV: Ale ne všechny

Více

Téma 4: Stratifikované a pokročilé simulační metody

Téma 4: Stratifikované a pokročilé simulační metody 0.007 0.006 0.005 0.004 0.003 0.002 0.001 Dlouhodobé nahodilé Std Distribution: Gumbel Min. EV I Mean Requested: 140 Obtained: 141 Std Requested: 75.5 Obtained: 73.2-100 0 100 200 300 Mean Std Téma 4:

Více

Management procesu I Mgr. Josef Horálek

Management procesu I Mgr. Josef Horálek Management procesu I Mgr. Josef Horálek Procesy = Starší počítače umožňovaly spouštět pouze jeden program. Tento program plně využíval OS i všechny systémové zdroje. Současné počítače umožňují běh více

Více

Maturitní otázky z předmětu PROGRAMOVÁNÍ

Maturitní otázky z předmětu PROGRAMOVÁNÍ Wichterlovo gymnázium, Ostrava-Poruba, příspěvková organizace Maturitní otázky z předmětu PROGRAMOVÁNÍ 1. Algoritmus a jeho vlastnosti algoritmus a jeho vlastnosti, formy zápisu algoritmu ověřování správnosti

Více

Michal Wiglasz* 1. Úvod

Michal Wiglasz* 1. Úvod http:excel.fit.vutbr.cz Souběžné učení v koevolučních algoritmech Michal Wiglasz* Abstrakt Kartézské genetické programování (CGP) se využívá zejména pro automatizovaný návrh číslicových obvodů, ale ukázalo

Více

Přidělování paměti II Mgr. Josef Horálek

Přidělování paměti II Mgr. Josef Horálek Přidělování paměti II Mgr. Josef Horálek Techniky přidělování paměti = Přidělování jediné souvislé oblasti paměti = Přidělování paměti po sekcích = Dynamické přemisťování sekcí = Stránkování = Stránkování

Více

Architektura rodiny operačních systémů Windows NT Mgr. Josef Horálek

Architektura rodiny operačních systémů Windows NT Mgr. Josef Horálek Architektura rodiny operačních systémů Windows NT Mgr. Josef Horálek = Velmi malé jádro = implementuje jen vybrané základní mechanismy: = virtuální paměť; = plánování vláken; = obsluha výjimek; = zasílání

Více

Simulační modely. Kdy použít simulaci?

Simulační modely. Kdy použít simulaci? Simulační modely Simulace z lat. Simulare (napodobení). Princip simulace spočívá v sestavení modelu reálného systému a provádění opakovaných experimentů s tímto modelem. Simulaci je nutno považovat za

Více

Disková pole (RAID) 1

Disková pole (RAID) 1 Disková pole (RAID) 1 Architektury RAID Základní myšlenka: snaha o zpracování dat paralelně. Pozice diskové paměti v klasickém personálním počítači vyhovuje pro aplikace s jedním uživatelem. Řešení: data

Více

Inovace výuky prostřednictvím ICT v SPŠ Zlín, CZ.1.07/1.5.00/ Vzdělávání v informačních a komunikačních technologií

Inovace výuky prostřednictvím ICT v SPŠ Zlín, CZ.1.07/1.5.00/ Vzdělávání v informačních a komunikačních technologií VY_32_INOVACE_31_15 Škola Název projektu, reg. č. Vzdělávací oblast Vzdělávací obor Tematický okruh Téma Tematická oblast Název Autor Vytvořeno, pro obor, ročník Anotace Přínos/cílové kompetence Střední

Více

METODY DOLOVÁNÍ V DATECH DATOVÉ SKLADY TEREZA HYNČICOVÁ H2IGE1

METODY DOLOVÁNÍ V DATECH DATOVÉ SKLADY TEREZA HYNČICOVÁ H2IGE1 METODY DOLOVÁNÍ V DATECH DATOVÉ SKLADY TEREZA HYNČICOVÁ H2IGE1 DOLOVÁNÍ V DATECH (DATA MINING) OBJEVUJE SE JIŽ OD 60. LET 20. ST. S ROZVOJEM POČÍTAČOVÉ TECHNIKY DEFINICE PROCES VÝBĚRU, PROHLEDÁVÁNÍ A MODELOVÁNÍ

Více

Gramatická evoluce a softwarový projekt AGE

Gramatická evoluce a softwarový projekt AGE Gramatická evoluce a softwarový projekt AGE Adam Nohejl Matematicko-fyzikální fakulta Univerzita Karlova v Praze http://nohejl.name/ 4. 4. 2010 Poznámka: Prezentace založené na variantách těchto slajdů

Více

Principy operačních systémů. Lekce 5: Multiprogramming a multitasking, vlákna

Principy operačních systémů. Lekce 5: Multiprogramming a multitasking, vlákna Principy operačních systémů Lekce 5: Multiprogramming a multitasking, vlákna Multiprogramování předchůdce multitaskingu Vzájemné volání: Implementován procesem (nikoliv OS) Procesu je přidělen procesor,

Více

Vývoj řízený testy Test Driven Development

Vývoj řízený testy Test Driven Development Vývoj řízený testy Test Driven Development Richard Salač, Ondřej Lanč Fakulta jaderná a fyzikálně inženýrská České vysoké učení technické v Praze 23. - 30. 10. 2012 Obsah 1 Testování 2 Klasický přístup

Více

Algoritmizace a programování

Algoritmizace a programování Algoritmizace a programování Řídicí struktury jazyka Java Struktura programu Příkazy jazyka Blok příkazů Logické příkazy Ternární logický operátor Verze pro akademický rok 2012/2013 1 Struktura programu

Více

Hledání správné cesty

Hledání správné cesty Semestrální práce z předmětu A6M33AST Závěrečná zpráva Hledání správné cesty Nela Grimová, Lenka Houdková 2015/2016 1. Zadání Naším úkolem bylo vytvoření úlohy Hledání cesty, kterou by bylo možné použít

Více

Uklízení odpadků a analýza úniku

Uklízení odpadků a analýza úniku Uklízení odpadků a analýza úniku Jiří Vokřínek Katedra počítačů Fakulta elektrotechnická Ceské vysoké ucení technické v Praze Prednáška 11 B0B36PJV Programování v JAVA Uklízení odpadků a analýza úniku

Více

Úvod do programování - Java. Cvičení č.4

Úvod do programování - Java. Cvičení č.4 Úvod do programování - Java Cvičení č.4 1 Sekvence (posloupnost) Sekvence je tvořena posloupností jednoho nebo více příkazů, které se provádějí v pevně daném pořadí. Příkaz se začne provádět až po ukončení

Více

Paralelní grafové algoritmy

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

Více

Modifikace algoritmu FEKM

Modifikace algoritmu FEKM Modifikace algoritmu FEKM Marta Žambochová Katedra matematiky a informatiky Fakulta sociálně ekonomická Univerzita J. E. Purkyně v Ústí nad Labem ROBUST 9. 14. září 2012 Němčičky Motivace Potřeba metod

Více

Iterační výpočty. Dokumentace k projektu č. 2 do IZP. 24. listopadu 2004

Iterační výpočty. Dokumentace k projektu č. 2 do IZP. 24. listopadu 2004 Dokumentace k projektu č. 2 do IZP Iterační výpočty 24. listopadu 2004 Autor: Kamil Dudka, xdudka00@stud.fit.vutbr.cz Fakulta Informačních Technologií Vysoké Učení Technické v Brně Obsah 1. Úvod...3 2.

Více

Novinky ve Visual Studio 2010. Tomáš Kroupa Tomas.Kroupa@hotmail.com

Novinky ve Visual Studio 2010. Tomáš Kroupa Tomas.Kroupa@hotmail.com Novinky ve Visual Studio 2010 Tomáš Kroupa Tomas.Kroupa@hotmail.com O čem si dnes řekneme Visual studio 2010 (beta 2) Jazyk C# 4.0 ASP.NET 4.0.NET 4.0 Visual Studio 2010 Beta 2 Jak získat Testovací verze

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

Překladač a jeho struktura

Překladač a jeho struktura Překladač a jeho struktura Překladače, přednáška č. 1 Šárka Vavrečková Ústav informatiky, FPF SU Opava sarka.vavreckova@fpf.slu.cz http://fpf.slu.cz/ vav10ui Poslední aktualizace: 23. září 2008 Definice

Více

Architektura počítačů

Architektura počítačů Architektura počítačů Studijní materiál pro předmět Architektury počítačů Ing. Petr Olivka katedra informatiky FEI VŠB-TU Ostrava email: petr.olivka@vsb.cz Ostrava, 2010 1 1 Architektura počítačů Pojem

Více

Přednáška. Správa paměti II. Katedra počítačových systémů FIT, České vysoké učení technické v Praze Jan Trdlička, 2012

Přednáška. Správa paměti II. Katedra počítačových systémů FIT, České vysoké učení technické v Praze Jan Trdlička, 2012 Přednáška Správa paměti II. Katedra počítačových systémů FIT, České vysoké učení technické v Praze Jan Trdlička, 2012 Příprava studijního programu Informatika je podporována projektem financovaným z Evropského

Více

Struktury a vazebné energie iontových klastrů helia

Struktury a vazebné energie iontových klastrů helia Společný seminář 11. června 2012 Struktury a vazebné energie iontových klastrů helia Autor: Lukáš Červenka Vedoucí práce: Doc. RNDr. René Kalus, Ph.D. Technický úvod Existují ověřené optimalizační algoritmy

Více

LabView jako programovací jazyk II

LabView jako programovací jazyk II LabView jako programovací jazyk II - Popis jednotlivých funkcí palety Function I.část - Expresní funkce, struktury, Ing. Martin Bušek, Ph.D. Paleta Functions Základní prvky pro tvorbu programu blokového

Více

Relační DB struktury sloužící k optimalizaci dotazů - indexy, clustery, indexem organizované tabulky

Relační DB struktury sloužící k optimalizaci dotazů - indexy, clustery, indexem organizované tabulky Otázka 20 A7B36DBS Zadání... 1 Slovníček pojmů... 1 Relační DB struktury sloužící k optimalizaci dotazů - indexy, clustery, indexem organizované tabulky... 1 Zadání Relační DB struktury sloužící k optimalizaci

Více

Konečný automat. Studium chování dynam. Systémů s diskrétním parametrem číslic. Počítae, nervové sys, jazyky...

Konečný automat. Studium chování dynam. Systémů s diskrétním parametrem číslic. Počítae, nervové sys, jazyky... Konečný automat. Syntéza kombinačních a sekvenčních logických obvodů. Sekvenční obvody asynchronní, synchronní a pulzní. Logické řízení technologických procesů, zápis algoritmů a formulace cílů řízení.

Více

Základy informatiky. 2. Přednáška HW. Lenka Carr Motyčková. February 22, 2011 Základy informatiky 2

Základy informatiky. 2. Přednáška HW. Lenka Carr Motyčková. February 22, 2011 Základy informatiky 2 Základy informatiky 2. Přednáška HW Lenka Carr Motyčková February 22, 2011 Základy informatiky 1 February 22, 2011 Základy informatiky 2 February 22, 2011 Základy informatiky 3 February 22, 2011 Základy

Více

Paralelní programování

Paralelní programování Paralelní programování přednáška 5 Michal Krupka 15. března 2011 Michal Krupka (KI UP) Paralelní programování 15. března 2011 1 / 13 Ještě ke kritickým sekcím Použití v praxi obvykle pomocí zámků (locks)

Více

Procesy a vlákna - synchronizace

Procesy a vlákna - synchronizace ÚVOD DO OPERAČNÍCH SYSTÉMŮ Ver.1.00 Procesy a vlákna - synchronizace České vysoké učení technické Fakulta elektrotechnická 2010 Studijní materiály a informace o předmětu http://measure.feld.cvut.cz/vyuka/predmety/bakalarske/navody

Více

Pascal. Katedra aplikované kybernetiky. Ing. Miroslav Vavroušek. Verze 7

Pascal. Katedra aplikované kybernetiky. Ing. Miroslav Vavroušek. Verze 7 Pascal Katedra aplikované kybernetiky Ing. Miroslav Vavroušek Verze 7 Proměnné Proměnná uchovává nějakou informaci potřebnou pro práci programu. Má ve svém oboru platnosti unikátní jméno. (Připadne, musí

Více

IMPLEMENTACE AUTOMATIZOVANÉHO MĚŘENÍ HRTF V MATLABU

IMPLEMENTACE AUTOMATIZOVANÉHO MĚŘENÍ HRTF V MATLABU IMPLEMENTACE AUTOMATIZOVANÉHO MĚŘENÍ HRTF V MATLABU O. Šupka, F. Rund, J. Bouše Katedra radioelektroniky, fakulta elektrotechnická České vysoké učení technické v Praze, Česká republika Abstrakt Tento příspěvek

Více

ZÁKLADY PROGRAMOVÁNÍ. Mgr. Vladislav BEDNÁŘ 2013 1.3 2/14

ZÁKLADY PROGRAMOVÁNÍ. Mgr. Vladislav BEDNÁŘ 2013 1.3 2/14 ZÁKLADY PROGRAMOVÁNÍ Mgr. Vladislav BEDNÁŘ 2013 1.3 2/14 Co je vhodné vědět, než si vybereme programovací jazyk a začneme programovat roboty. 1 / 14 0:40 1.3. Vliv hardware počítače na programování Vliv

Více

Obsah. Předmluva 13. O autorovi 15. Poděkování 16. O odborných korektorech 17. Úvod 19

Obsah. Předmluva 13. O autorovi 15. Poděkování 16. O odborných korektorech 17. Úvod 19 Předmluva 13 O autorovi 15 Poděkování 16 O odborných korektorech 17 Úvod 19 Co kniha popisuje 19 Co budete potřebovat 20 Komu je kniha určena 20 Styly 21 Zpětná vazba od čtenářů 22 Errata 22 KAPITOLA 1

Více

10 Balíčky, grafické znázornění tříd, základy zapozdření

10 Balíčky, grafické znázornění tříd, základy zapozdření 10 Balíčky, grafické znázornění tříd, základy zapozdření Studijní cíl Tento studijní blok má za cíl pokračovat v základních prvcích jazyka Java. Konkrétně bude věnována pozornost příkazům balíčkům, grafickému

Více

Ing. Tomáš MAUDER prof. Ing. František KAVIČKA, CSc. doc. Ing. Josef ŠTĚTINA, Ph.D.

Ing. Tomáš MAUDER prof. Ing. František KAVIČKA, CSc. doc. Ing. Josef ŠTĚTINA, Ph.D. OPTIMALIZACE BRAMOVÉHO PLYNULÉHO ODLÉVÁNÍ OCELI ZA POMOCI NUMERICKÉHO MODELU TEPLOTNÍHO POLE Ing. Tomáš MAUDER prof. Ing. František KAVIČKA, CSc. doc. Ing. Josef ŠTĚTINA, Ph.D. Fakulta strojního inženýrství

Více

Knot DNS Resolver. Modulární rekurzivní resolver. Karel Slaný karel.slany@nic.cz 13. 11. 2015

Knot DNS Resolver. Modulární rekurzivní resolver. Karel Slaný karel.slany@nic.cz 13. 11. 2015 Knot DNS Resolver Modulární rekurzivní resolver Karel Slaný karel.slany@nic.cz 13. 11. 2015 Obsah Co je KNOT Resolver Části resolveru Funkce a konfigurace Integrační testování Co je Knot DNS Resolver Minimalistický

Více

VÝUKOVÝ MATERIÁL. Bratislavská 2166, 407 47 Varnsdorf, IČO: 18383874 www.vosassvdf.cz, tel. +420412372632 Číslo projektu

VÝUKOVÝ MATERIÁL. Bratislavská 2166, 407 47 Varnsdorf, IČO: 18383874 www.vosassvdf.cz, tel. +420412372632 Číslo projektu VÝUKOVÝ MATERIÁL Identifikační údaje školy Vyšší odborná škola a Střední škola, Varnsdorf, příspěvková organizace Bratislavská 2166, 407 47 Varnsdorf, IČO: 18383874 www.vosassvdf.cz, tel. +420412372632

Více

Konstruktory a destruktory

Konstruktory a destruktory Konstruktory a destruktory Nedostatek atributy po vytvoření objektu nejsou automaticky inicializovány hodnota atributů je náhodná vytvoření metody pro inicializaci, kterou musí programátor explicitně zavolat,

Více

Protiopatření eliminující proudovou analýzu

Protiopatření eliminující proudovou analýzu SIX Research Centre Vysoké učení technické v Brně martinasek@feec.vutbr.cz crypto.utko.feec.vutbr.cz Proudová analýza (PA) V dnešní době představuje efektivní a úspěšný způsob útoku cílený na bezpečné

Více

2015 http://excel.fit.vutbr.cz Kartézské genetické programování s LUT Karolína Hajná* Abstract Tato práce se zabývá problematikou návrhu obvodů pomocí kartézského genetického programování na úrovni třívstupových

Více

Akademický rok: 2004/05 Datum: Příjmení: Křestní jméno: Osobní číslo: Obor:

Akademický rok: 2004/05 Datum: Příjmení: Křestní jméno: Osobní číslo: Obor: Západočeská univerzita v Plzni Písemná zkouška z předmětu: Zkoušející: Katedra informatiky a výpočetní techniky Počítačová technika KIV/POT Dr. Ing. Karel Dudáček Akademický rok: 2004/05 Datum: Příjmení:

Více

Algoritmizace. 1. Úvod. Algoritmus

Algoritmizace. 1. Úvod. Algoritmus 1. Úvod Algoritmizace V dnešní době již počítače pronikly snad do všech oblastí lidské činnosti, využívají se k řešení nejrůznějších úkolů. Postup, který je v počítači prováděn nějakým programem se nazývá

Více

Příklady popisu základních obvodů ve VHDL

Příklady popisu základních obvodů ve VHDL Příklady popisu základních obvodů ve VHDL INP - cvičení 2 Michal Bidlo, 2008 bidlom@fit.vutbr.cz entity Circuit is port ( -- rozhraní obvodu ); end Circuit; Proces architecture Behavioral of Circuit is

Více