PARALELISMUS V DIFERENCIÁLNÍ EVOLUCI A JEJICH ADAPTIVNÍCH VARIANTÁCH
|
|
- Kristina Benešová
- před 8 lety
- Počet zobrazení:
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
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íceObsah. 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íceProcesy 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 Jméno: Marek Handl Datum: 3. 2. 29 Cvičení: Pondělí 9: Zadání Prozkoumejte citlivost metod
VíceUž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íceVlá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íceAdaptace 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íceSwarm 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íceParalení 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íceSPECIFICKÝ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íce1. 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íceMarkov 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íce3. ú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íceMichal 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íceAKCELERACE 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íceStatic 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 Jméno: Marek Handl Datum: 4. 2. 2009 Cvičení: Pondělí 9:00 Zadání Zvolte si heuristiku,
Více4. Ú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íceSlož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íceAlgoritmy 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íceParalelní 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íceProjekč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íceTestová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íceParalelní 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íceEvoluč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íceParalelní 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íceVyuž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íceAlgoritmizace 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ů 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íceVISUAL 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íceIMOSI - 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íceObecné 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íceFirmware ří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íceParalelní 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íceParalelní 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 Semestrální práce Python pro vědecké výpočty Generátor pulzů pro simulaci vstupů kontroly trakce vozu Formule student Vypracoval:
VícePoslední 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íceAnalý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íceProgram 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íce7.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íce2. 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íce11. 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íceSbě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íceTÉ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íceJakub Č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íce7.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íceOperač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íceParalelní 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íceSYSTÉ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íce1. 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íceVyuč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íceADAPTIVNÍ 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íce2. ú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íceVlá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íceTé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íceManagement 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íceMaturitní 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íceMichal 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ícePř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íceArchitektura 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íceSimulač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íceDisková 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íceInovace 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íceMETODY 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íceGramatická 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ícePrincipy 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íceVý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íceAlgoritmizace 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íceHledá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íceUklí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 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íceParalelní 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íceModifikace 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íceIterač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íceNovinky 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íce10. 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ícePř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íceArchitektura 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ícePř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íceStruktury 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íceLabView 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íceRelač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íceKoneč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íceZá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íceParalelní 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íceProcesy 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ícePascal. 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íceIMPLEMENTACE 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íceZÁ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íceObsah. 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íce10 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íceIng. 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íceKnot 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íceVÝ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íceKonstruktory 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íceProtiopatř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íce2015 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íceAkademický 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íceAlgoritmizace. 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ícePří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