PARALELNÍ PROCESY A PROGRAMOVÁNÍ

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

Download "PARALELNÍ PROCESY A PROGRAMOVÁNÍ"

Transkript

1 PARALELNÍ PROCESY A PROGRAMOVÁNÍ 12 Paralelní algoritmy - paralelní prefixové součty Ing Michal Bližňák, PhD Zlín 2013 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: CZ 107/2200/150463, MOD- ERNIZACE VÝUKOVÝCH MATERIÁLŮ A DIDAKTICKÝCH METOD

2 OBSAH 1 Obsah 1 Motivace pro paralelizaci redukce 3 2 Sekvenční a paralelní redukce 3 3 Sekvenční a paralelní prefixová redukce 3 31 Sekvenční prefixový součet 4 32 Paralelní prefixový součet na CdT n 5 33 Paralelní prefixový součet na Q n 6 34 Paralelní prefixový součet na EREW PRAM Neškálovaný paralelní prefixový součet na EREW PRAM Škálovaný paralelní prefixový součet na EREW PRAM 6 35 Segmentový paralelní prefixový součet 9 4 Aplikace paralelní prefixové redukce 9 41 Zhušt ovací problém a paralelní PrefixSort 9 42 Binární sčítačka Paralelní QuickSort 11 5 Kontrolní otázky 13

3 OBSAH 2 STRUČNÝ OBSAH PŘEDNÁŠKY Motivace pro paralelizaci redukce Sekvenční a paralelní redukce Sekvenční a paralelní prefixová redukce Aplikace paralelní prefixové redukce MOTIVACE Redukce a prefixové redukce jsou jedněmi z nejčastěji používaných (a implementovaných) paralelních algoritmů sloužících jako základ dalších, složitějších algoritmů V této přednášce se seznámíme se základními vlastnostmi a implementacemi redukčních algoritmů na různých paralelních systémech CÍL Seznámit se se základními vlastnostmi a implementačními aspekty některých paralelních redukčních algoritmů

4 Motivace pro paralelizaci redukce 3 1 Motivace pro paralelizaci redukce Obecná redukce prvků množiny/pole je velmi častým algoritmickým problémem Operátorem redukce můžeme chápat téměř jakoukoliv (matematickou) operaci schopnou zredukovat 2 operandy do jedné výsledkové hodnoty Typicky se může jednat o součet nebo násobení, obecně však lze redukční operátor nadefinovat libovolným způsobem (např sloučení bitmap, součet prvků vícerozměrných polí, atd) Je zřejmé že časová složitost redukce se bude úzce odvíjet o od časové složitosti samotného redukčního operátoru Je-li časová složitost redukčního operátoru dostatečně vysoká, bývá výhodné redukci více prvků paralelizovat, čímž lze dosáhnout zajímavého (ideálně lineárního) zrychlení Samozřejmě je nutné brát v úvahu vhodnou granularitu a škálovatelnost problému 2 Sekvenční a paralelní redukce Obecnou redukci více operandů lze definovat následovně: Necht je dáno vstupní pole X = {x 0, x 1,, x n 1 } prvků množiny D a binární operace nad D Pak cílem redukce je vypočítat hodnotu například tak, je je uvedeno v algoritmu 1 Algoritmus 1 Triviální sekvenční redukce S 0 for i = 0 to n 1 do S = S X[i] S = x 0 x 1 x n 1 (1) Dolní i horní mez tohoto problému je SL(n) = SU(n) = Θ(n), je-li problém řešen sekvenčně Vhodnou paralelizací redukce však lze celou operaci provést v čase O(log n) při zachování cenové optimality, jak bylo diskutováno v kapitole zabývající se analýzou časové složitosti paralelních algoritmů Příklady implementace paralelní redukce na různých paralelních systémech jsou uvedeny na obrázku 1 Jak je patrné, všechny systémy byly schopny z redukovat 8 hodnot, ve 3 krocích, čili v logaritmickém čase Pseudokód paralelní redukce implementované na EREW PRAM je uveden v algoritmu 2 Algoritmus 2 Triviální paralelní redukce for j = 1,, log n do sequentially for all i = 0 to n 1 step 2 j do in parallel P i : X[i] = X[i] X[i + 2 j 1 ] S X[0] 3 Sekvenční a paralelní prefixová redukce Prefixová redukce (prefixový součet) je zobecněním redukce diskutované v kapitole 2 a má stejné časové charakteristiky Zatímco u klasické redukce je výsledkem operace pouze jedna hodnota, u prefixové redukce n hodnot dostaneme po ukončení výpočtu n výsledků

5 Sekvenční a paralelní prefixová redukce 4 Obrázek 1: Implementace paralelní redukce na různých typech paralelních systémů [1] Mějme vstupní pole X = x 0, x 1,, x n 1 z množiny D a asociativní binární operaci nad D Výstupem výpočtu je stejně velké pole Y, kde y i je rovno redukci počátečních i hodnot z X Čili úkolem je vypočítat pole Y = y 0, y 1,, y n 1 všech prefixů pole X tak, že y i = x 0 x 1 x i, jak je naznačeno no obrázku 2 Obrázek 2: Vstup a výstup prefixové redukce [1] Pro jednoduchost budeme v dalších kapitolách jako redukční operátor uvažovat součet, nebude-li řečeno jinak 31 Sekvenční prefixový součet Sekvenční prefixový součet je velmi triviálním algoritmem a nepotřebuje bližšího zkoumání Časová složitost je opět Θ(n) a jeho pseudokód je uveden v algoritmu 3 Algoritmus 3 Sekvenční prefixová redukce Require: i: int; sum, X[n], Y[n] : D sum X[0]; Y [0] sum for i = 1 to n 1 do sum = sum X[i] Y [i] sum

6 Sekvenční a paralelní prefixová redukce 5 32 Paralelní prefixový součet na CdT n Implementace paralelního prefixového součtu (PPS) na topologii d-árního stromu CdT n je již daleko zajímavější Předpokládejme ICNW nepřímého stromu kde koncové listové uzly obsahují hodnoty, z nichž má být spočten PPS Pak PPS N vstupních hodnot v listech binárního stromu CBT výšky h(cbt ) lze vypočítat ve 2h(CBT ) krocích Je-li CBT úplný, pak PPS potřebuje O(log N) kroků Celá operace PPS se na CBT rozloží do několika vzestupných a sestupných vln Každá vzestupná vlna vygeneruje další vzestupnou vlnu (pokud jsme již nedosáhli kořene stromu) a h(cbt ) sestupných vln Obrázek 3: Vzestupné a sestupné vlny na CdT [1] Při vzestupné vlně se rodičovskému listu odesílá součet hodnot přicházejících od synů Zároveň je generována sestupná vlna tak, jak je patrné z obrázku 3 Hodnoty, které v rámci sestupných vln dorazí až ke konečným listům jsou přičteny k jejich aktuální hodnotě Po doznění všech vln obsahují koncové listové uzly kompletní PPS Celý algoritmus je ilustrován na obrázku 4 Obrázek 4: Paralelní prefixový součet na CBT [1]

7 Sekvenční a paralelní prefixová redukce 6 33 Paralelní prefixový součet na Q n Paralelní prefixový součet na hyperkrychli je implementován jako jednoduché rozšíření algoritmu vysílání všichni-ke-všem Předpokládejme že PPS bude sčítat N hodnot Dále předpokládejme binární hyperkrychli Q n kde n = log N PPS pak bude pomocí algoritmu 4 spočítán v čase O(log N) Princip výpočtu je jednoduchý Každý procesor P i bude obsahovat dva pomocné registry: zelený a žlutý Nejprve budou oba registry v daném procesoru inicializovány stejnou vstupní hodnotou Poté následuje n paralelních fází, ve kterých si procesory vzájemně vymění obsahy zelených registrů a přičtou je k obsahům svých vlastních zelených registrů Procesor, který má v rámci dimenze, po které data putovala, vyšší adresu, přičte příchozí hodnotu také ke svému žlutému registru Po vykonání všech n fází, při kterých byla data zasílána postupně přes všechny dimenze, budou žluté registry procesorů obsahovat kompletní hodnoty PPS Adresy konkrétních procesorů představují indexy výsledků v pomyslném výstupním poli Algoritmus 4 Paralelní prefixový součet na Q n Require: i: int; zeleny, zluty, X[N] : D for all P i, i = 0,, 2 n 1 do in parallel zeleny zluty X[i] for j = 0 to n 1 do sequentially send zeleny i P i XOR 2 j receive novyzeleny P i XOR 2 j zeleny i = zeleny i + novyzeleny if i XOR 2 j < i then zluty i = zluty i + novyzeleny end if Celý postup je ilustrován na obrázku 5 34 Paralelní prefixový součet na EREW PRAM V případě paralelního prefixového součtu na EREW PRAM si budeme demonstrovat dva typy vhodných algoritmů V prvním případě se bude jednat o neškálovaný PPS kde předpokládáme, že paralelní systém disponuje stejným množstvím procesorů, jako je počet sčítaných hodnot Je zřejmé, že takový algoritmus bude cenově neoptimální a tudíž neefektivní a proto si zde uvedeme také optimální škálovaný PPS 341 Neškálovaný paralelní prefixový součet na EREW PRAM Mějme n procesorů P 0,, P n 1 a pole X = x 0,, x n 1 uložené ve sdílené paměti M[0],, M[n 1] Každý P i má pomocný registr y i Neškálovaný výpočet PPS na EREW PRAM s časovou složitostí O(log n) je uveden v algoritmu 5 a jeho průběh je ilustrován na obrázku Škálovaný paralelní prefixový součet na EREW PRAM Jak je patrné z obrázku 6, velké množství procesorů nemá v průběhu neškálovaného EREW PRAM PPS dostatek užitečné práce, čímž za předpokladu malé časové složitosti redukční operace narůstá podíl paralelní režie ve výpočtu a tím i paralelní cena Abychom dosáhli efektivní paralelizace, bude zapotřebí zvolit lepší granularitu a tím zajistit dostatek práce pro všechny procesory v průběhu celého výpočtu O to se snaží škálovaná varianta EREW PRAM PPS

8 Sekvenční a paralelní prefixová redukce 7 Obrázek 5: Paralelní prefixový součet na Q n [1] Obrázek 6: Neškálovaný paralelní prefixový součet na EREW P RAM [1] Uvažujme vstupní pole X = {x 0, x 1,, x n 1 } a p procesorů P 0,, P p 1 Necht q = n p Rozdělíme X do p subpolí X 0,, X p 1 po q prvcích a přidělíme každé X i příslušnému P i V první fázi každý P i vypočte prefixový součet nad X i sekvenčně Tato fáze zabere O( n p ) kroků Ve druhé fázi bude vypočten prefixový součet nad pravými krajními hodnotami všech p subpolí X i Jelikož je počet subpolí stejný jako počet procesorů, lze tuto fázi implementovat pomocí neškálovaného EREW PRAM PPS a provést ji v O(log p) krocích V závěrečné třetí fázi bude ke všem hodnotám subpolí X i, i = 1,, p 1 s výjimkou nejpravějšího prvku přičtena hodnota nejpravějšího prvku subpole X i 1 Tato operace bude trvat opět O( n p ) kroků Po této operaci bude pole X obsahoval kompletní PPS všech vstupních hodnot Celková časová složitost výpočtu bude T (n, p) = O( n p + log p), což za předpokladu n p zaručuje cenovou opti-

9 Sekvenční a paralelní prefixová redukce 8 Algoritmus 5 Neškálovaný paralelní prefixový součet na EREW P RAM Require: i, j : int; y i, M[n] : D for all P i, i = 0 to n 1 do in parallel y i M[i] for j = 0 to log n 1 do sequentially for all P i, i = 2 j to n 1 do in parallel y i = y i + M[i 2 j ] for all P i, i = 2 j to n 1 do in parallel M[i] = y i malitu výpočtu i při nízké časové složitosti redukční operace Pseudokód škálovaného PPS na EREW PRAM je uveden v algoritmu 6 Algoritmus 6 Škálovaný paralelní prefixový součet na EREW P RAM Require: i, j : int; S i [q], X[n], Z[p] : D for all P i, i = 0 to p 1 do in parallel P i sekvenčně výpočte pole S i = prefixový součet nad X i Z[i] S i [q 1] všechny P i vypočtou paralelně PPS nad Z pomocí algoritmu 5 for all P i, i = 1 to p 1 do in parallel for j = 0 to j < q 1 do S i [j] = S i [j] + Z[i 1] S i X i Průběh algoritmu 6 je ilustrován na obrázku 7 Obrázek 7: Škálovaný paralelní prefixový součet na EREW P RAM [1]

10 Aplikace paralelní prefixové redukce 9 35 Segmentový paralelní prefixový součet Segmentový paralelní prefixový součet (SPPS) je takovou modifikací základního algoritmu, kdy je vstupní pole o velikosti n rozděleno na s nestejně velkých segmentů S i a prefixové součty jsou spočteny pro segmenty Tabulka 1: Vstupní a výstupní pole segmentového PS Vstup Výstup Znaménko u operandů v tabulce 1 představuje krajní hodnoty u hranic segmentů Řešení tohoto problému je několik Uvažujme p jako počet procesorů P i Je-li s = p pak lze jednotlivé segmenty S i přidělit procesorům P i, které nad nimi spočtou prefixový součet v čase Θ(q i ) kde q i je počet prvků v segmentu S i Jelikož mají segmenty obecně různou velikost (a v extrémním případě budou všechny prvky obsaženy v jednom segmentu), bude celkový čas výpočtu T (n, p) = Θ(max{q i }) = O(n) Je-li n = p pak lze SPPS vypočíst v celkovém čase T (n, p) = O(log n) pomocí algoritmu 5 a modifikovaného operátoru jehož chování je popsáno v tabulce 2 Tabulka 2: Modifikovaný redukční operátor b b a a b b a (a b) b 4 Aplikace paralelní prefixové redukce Význam prefixového součtu (PS) není ani tak v implementaci samotného algoritmu ale v tom, že PS slouží jako základ dalších, složitějších algoritmů V následujících kapitolách si představíme některé z nich 41 Zhušt ovací problém a paralelní RadixSort Jednou z typických aplikací PS je implementace zhušt ovacího problému zmíněného v kapitole pojednávající o směrování v ICNW Uvažujme, že jistá podmnožina z p procesorů připojených ke vstupům nepřímé vícestupňové sítě typu n-rozměrný motýlek obf n má paket, který je nutno dopravit na druhou výstupní stranu sítě tak, aby i-tý paket, počítáno na vstupech odshora, skončil na i-tém výstupním vodiči shora Díky aplikaci PPS lze u zhušt ovacího problému rychle (v čase O(log p)) spočíst indexy cílových uzlů, tak jak je naznačeno na obrázku 8 Každý uzel, který drží paket bude obsahovat také hodnotu 1 ve vstupním poli PPS, uzel bez paketu bude obsahovat hodnotu 0 Z těchto hodnot bude spočten PS (např pomocí PPS implementovaného na stromě vnořeného do motýlka) čímž bude po závěrečné normalizaci indexů každý uzel vědět, kam má poslat svůj paket, aby byly na konci permutace zhuštěny do horní poloviny sítě Samotný zhušt ovací problém je pak základem dalšího algoritmu určeného pro paralelní třídění binárních hodnot nazvaného RadixSort Principem algoritmu je postupné třídění na základě zkoumání hodnot bitů jednotlivých řádů Necht X je posloupnost n k-bitových čísel, nultý bit je vpravo RadixSort je třídicí algoritmus, který není založen na porovnávání dvojice čísel, ale na permutaci, kterou značíme Split(X,i): čísla s

11 Aplikace paralelní prefixové redukce 10 Obrázek 8: Zhušt ovací problém na obf n a) počáteční hodnoty příznaků a jeden možný nepřímý strom, b) pole příznaků po PPS, c) konečné hodnoty indexů cílových řádků [1] nulovým i-tým bitem jsou zhuštěna doleva, čísla s jedničkovým i-tým bitem jsou zhuštěna doprava tak, jak je ilustrováno na obrázku 9 Algoritmus 7 Implementace paralelního třídění RadixSort Require: i: int; X[0,, 2 k 1] : D for i = 0 to k 1 do sequentially Split(X,i) Obrázek 9: Implementace paralelního RadixSortu pomocí zhušt ovacího problému [1] 42 Binární sčítačka Další z možných aplikací PS je rychlá binární sčítačka Mějme 2 n-bitová binární slova která chceme sečíst po bitech a p = n procesorů Díky existenci přenosu mezi vyššími řády při sčítání bitů binárních slov je dolní i horní sekvenční mez tohoto

12 Aplikace paralelní prefixové redukce 11 problému SL(n) = SU(n) = Θ(n) Paralelizací jsme schopni tento problém vyřešit v čase T (n, p) = O(1) + O(log n) Princip algoritmu je následující: Mějme dvě binární slova o velikosti n organizovaná jako bitová pole X = {x 0,, x n 1 } a Y = {y 0,, y n 1 } Výstupem bude součet těchto slov uložený v n-bitovém slovu Z = {z 0,, z n 1 } Postup výpočtu bude následující: 1 Všechny procesory P i vypočtou paralelně obsah slova B = {b 0,, b n 1 } tak, že porovnají bity x i a y i pomocí níže uvedeného předpisu: { (g)enerate ifxi = y i = 1 b i =, (s)top if x i = y i = 0, (p)ropagate jinak Doba trvání této operace bude T (n, p) = O(1) 2 Pomocí PPS a operátoru z tabulky 3 nad polem B vypočti pole B v čase T (n, p) = O(log n) Tabulka 3: Modifikovaný redukční operátor pro binární sčítačku s p g s s s s p s p g g g g g 3 Všechny procesory P i vypočtou přenosové slovo C = {c 0,, c n 1 } tak, že c 0 = 0 a c i = 1 b i 1 = g v čase T (n, p) = O(1) 4 Všechny procesory P i vypočtou výsledné slovo Z = {z 0,, z n 1 } tak, že z i = x i y i c i kde operátor představuje binární součet bez přenosu Doba této operace bude T (n, p) = O(1) Celý algoritmus je ilustrován na obrázku 10 Obrázek 10: Implementace paralelní binární sčítačky [1] 43 Paralelní QuickSort Využití SPPS si ukážeme na příkladu jedné z možných implementací paralelního třídicího algoritmu QuickSort Předpokládejme nesetříděné pole A[n] a p = n procesorů Princip činnosti algoritmu je pak následující:

13 Aplikace paralelní prefixové redukce 12 Algoritmus 8 Implementace paralelního třídicího algoritmu QuickSort pomocí SPPS Require: i: int; e: bool; A[n], S n [n], F [n], b s : D start: for all i = 0 to n 2 do in parallel f i = (a + i a i+1 ) Proved paralelní redukci hodnot f i pomocí operace AND a výsledek ulož do e if e = T RUE then EXIT end if for all aktuální segmenty S v A do in parallel vyber pivot b s S i [0] pošli b s všem procesorům uvnitř segmentu for all a i S do in parallel g i = (a i <> b s ), kde g i { <, =, > } /* každý S rozdělíme na 3 podsegmenty S <, S = a S > */ pomocí SPPS vypočti nové indexy prvků a i : g i = < uvnitř všech S pošli hodnoty maximálního indexu (= S < ) uvnitř všech S /* S < je rovno indexu začátku S = */ pomocí SPPS vypočti nové indexy prvků a i : g i = = uvnitř všech S pošli hodnoty maximálního indexu (= S = ) uvnitř všech S /* S < + S = je rovno indexu začátku S > */ pomocí SPPS vypočti nové indexy prvků a i : g i = > uvnitř všech S permutací segmentu S vytvoř 3 nové segmenty S = {S < S = S > } goto start

14 Kontrolní otázky 13 5 Kontrolní otázky Jaký je rozdíl mezi redukcí a prefixovou redukcí? Uved te alespoň 3 příklady implementace paralelní redukce na různých typech paralelních systému Uved te alespoň 3 příklady implementace paralelní prefixové redukce na různých typech paralelních systému Jaký je princip segmentové paralelní prefixové redukce? Uved te některé možné aplikace paralelní prefixové redukce

15 REFERENCE 14 Reference [1] Pavel Tvrdík Paralelní systémy a algoritmy Vydavatelství ČVUT, Praha, 2005

PARALELNÍ PROCESY A PROGRAMOVÁNÍ

PARALELNÍ PROCESY A PROGRAMOVÁNÍ PARALELNÍ PROCESY A PROGRAMOVÁNÍ 8 Paralelní výpočetní modely Ing. Michal Bližňák, Ph.D. Zlín 2013 Tento studijní materiál vznikl za finanční podpory Evropského sociálního fondu (ESF) a rozpočtu české

Více

Algoritmizace prostorových úloh

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 Třídění, vyhledávání Daniela Szturcová

Více

Algoritmy I, složitost

Algoritmy I, složitost A0B36PRI - PROGRAMOVÁNÍ Algoritmy I, složitost České vysoké učení technické Fakulta elektrotechnická v 1.01 Rychlost... Jeden algoritmus (program, postup, metoda ) je rychlejší než druhý. Co ta věta znamená??

Více

Stromy, haldy, prioritní fronty

Stromy, haldy, prioritní fronty Stromy, haldy, prioritní fronty prof. Ing. Pavel Tvrdík CSc. Katedra počítačů FEL České vysoké učení technické DSA, ZS 2008/9, Přednáška 6 http://service.felk.cvut.cz/courses/x36dsa/ prof. Pavel Tvrdík

Více

Vyhledávání. doc. Mgr. Jiří Dvorský, Ph.D. Katedra informatiky Fakulta elektrotechniky a informatiky VŠB TU Ostrava. Prezentace ke dni 12.

Vyhledávání. doc. Mgr. Jiří Dvorský, Ph.D. Katedra informatiky Fakulta elektrotechniky a informatiky VŠB TU Ostrava. Prezentace ke dni 12. Vyhledávání doc. Mgr. Jiří Dvorský, Ph.D. Katedra informatiky Fakulta elektrotechniky a informatiky VŠB TU Ostrava Prezentace ke dni 12. září 2016 Jiří Dvorský (VŠB TUO) Vyhledávání 201 / 344 Osnova přednášky

Více

Princip funkce počítače

Princip funkce počítače Princip funkce počítače Princip funkce počítače prvotní úlohou počítačů bylo zrychlit provádění matematických výpočtů první počítače kopírovaly obvyklý postup manuálního provádění výpočtů pokyny pro zpracování

Více

V každém kroku se a + b zmenší o min(a, b), tedy vždy alespoň o 1. Jestliže jsme na začátku dostali 2

V každém kroku se a + b zmenší o min(a, b), tedy vždy alespoň o 1. Jestliže jsme na začátku dostali 2 Euklidův algoritmus Doprovodný materiál pro cvičení Programování I. NPRM044 Autor: Markéta Popelová Datum: 31.10.2010 Euklidův algoritmus verze 1.0 Zadání: Určete největšího společného dělitele dvou zadaných

Více

Základní komunikační operace

Základní komunikační operace Základní komunikační operace Úvod Operace send a recieve Blokující a neblokující posílání zpráv Blokující posílání zpráv Neblokující posílání zpráv One-to-all broadcast/all-to-one reduction All-to-all

Více

Intervalové stromy. Představme si, že máme posloupnost celých čísel p 0, p 1,... p N 1, se kterou budeme. 1. Změna jednoho čísla v posloupnosti.

Intervalové stromy. Představme si, že máme posloupnost celých čísel p 0, p 1,... p N 1, se kterou budeme. 1. Změna jednoho čísla v posloupnosti. Intervalové stromy Představme si, že máme posloupnost celých čísel p 0, p 1,... p N 1, se kterou budeme průběžně provádět tyto dvě operace: 1. Změna jednoho čísla v posloupnosti. 2. Zjištění součtu čísel

Více

Zavedení a vlastnosti reálných čísel

Zavedení a vlastnosti reálných čísel Zavedení a vlastnosti reálných čísel jsou základním kamenem matematické analýzy. Konstrukce reálných čísel sice není náplní matematické analýzy, ale množina reálných čísel R je pro matematickou analýzu

Více

IB109 Návrh a implementace paralelních systémů. Kolektivní komunikační primitava. RNDr. Jiří Barnat, Ph.D.

IB109 Návrh a implementace paralelních systémů. Kolektivní komunikační primitava. RNDr. Jiří Barnat, Ph.D. IB109 Návrh a implementace paralelních systémů Kolektivní komunikační primitava RNDr. Jiří Barnat, Ph.D. Kvantitativní parametry komunikace B109 Návrh a implementace paralelních systémů: Kolektivní komunikační

Více

IB108 Sada 1, Příklad 1 Vypracovali: Tomáš Krajča (255676), Martin Milata (256615)

IB108 Sada 1, Příklad 1 Vypracovali: Tomáš Krajča (255676), Martin Milata (256615) IB108 Sada 1, Příklad 1 ( ) Složitost třídícího algoritmu 1/-Sort je v O n log O (n.71 ). Necht n = j i (velikost pole, které je vstupním parametrem funkce 1/-Sort). Lehce spočítáme, že velikost pole předávaná

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

Zadání druhého zápočtového projektu Základy algoritmizace, 2005

Zadání druhého zápočtového projektu Základy algoritmizace, 2005 Zadání druhého zápočtového projektu Základy algoritmizace, 2005 Jiří Dvorský 2 května 2006 Obecné pokyny Celkem je k dispozici 8 zadání příkladů Každý student obdrží jedno zadání Vzhledem k tomu, že odpadly

Více

Grafy. doc. Mgr. Jiří Dvorský, Ph.D. Katedra informatiky Fakulta elektrotechniky a informatiky VŠB TU Ostrava. Prezentace ke dni 13.

Grafy. doc. Mgr. Jiří Dvorský, Ph.D. Katedra informatiky Fakulta elektrotechniky a informatiky VŠB TU Ostrava. Prezentace ke dni 13. Grafy doc. Mgr. Jiří Dvorský, Ph.D. Katedra informatiky Fakulta elektrotechniky a informatiky VŠB TU Ostrava Prezentace ke dni 13. března 2017 Jiří Dvorský (VŠB TUO) Grafy 104 / 309 Osnova přednášky Grafy

Více

Strojový kód. Instrukce počítače

Strojový kód. Instrukce počítače Strojový kód Strojový kód (Machine code) je program vyjádřený v počítači jako posloupnost instrukcí procesoru (posloupnost bajtů, resp. bitů). Z hlediska uživatele je strojový kód nesrozumitelný, z hlediska

Více

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

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

Více

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

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

Algoritmizace a programování

Algoritmizace a programování Algoritmizace a programování Výrazy Operátory Výrazy Verze pro akademický rok 2012/2013 1 Operace, operátory Unární jeden operand, operátor se zapisuje ve většině případů před operand, v některých případech

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

5. Sekvenční logické obvody

5. Sekvenční logické obvody 5. Sekvenční logické obvody 3. Sekvenční logické obvody - úvod Sledujme chování jednoduchého logického obvodu se zpětnou vazbou 3. Sekvenční logické obvody - příklad asynchronního sekvenčního obvodu 3.

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

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

SČÍTAČKA, LOGICKÉ OBVODY ÚVOD TEORIE

SČÍTAČKA, LOGICKÉ OBVODY ÚVOD TEORIE SČÍTAČKA, LOGICKÉ OBVODY ÚVOD Konzultanti: Peter Žilavý, Jindra Vypracovali: Petr Koupý, Martin Pokorný Datum: 12.7.2006 Naším úkolem bylo sestrojit pomocí logických obvodů (tzv. hradel) jednoduchou 4

Více

Definice. Vektorový prostor V nad tělesem T je množina s operacemi + : V V V, tj. u, v V : u + v V : T V V, tj. ( u V )( a T ) : a u V které splňují

Definice. Vektorový prostor V nad tělesem T je množina s operacemi + : V V V, tj. u, v V : u + v V : T V V, tj. ( u V )( a T ) : a u V které splňují Definice. Vektorový prostor V nad tělesem T je množina s operacemi + : V V V, tj. u, v V : u + v V : T V V, tj. ( u V )( a T ) : a u V které splňují 1. u + v = v + u, u, v V 2. (u + v) + w = u + (v + w),

Více

ALGEBRA. Téma 5: Vektorové prostory

ALGEBRA. Téma 5: Vektorové prostory SLEZSKÁ UNIVERZITA V OPAVĚ Matematický ústav v Opavě Na Rybníčku 1, 746 01 Opava, tel. (553) 684 611 DENNÍ STUDIUM Téma 5: Vektorové prostory Základní pojmy Vektorový prostor nad polem P, reálný (komplexní)

Více

Základní pojmy teorie množin Vektorové prostory

Základní pojmy teorie množin Vektorové prostory Základní pojmy teorie množin Přednáška MATEMATIKA č. 1 Katedra ekonometrie FEM UO Brno kancelář 69a, tel. 973 442029 email:jiri.neubauer@unob.cz 7. 10. 2010 Základní pojmy teorie množin Základní pojmy

Více

5 Orientované grafy, Toky v sítích

5 Orientované grafy, Toky v sítích Petr Hliněný, FI MU Brno, 205 / 9 FI: IB000: Toky v sítích 5 Orientované grafy, Toky v sítích Nyní se budeme zabývat typem sít ových úloh, ve kterých není podstatná délka hran a spojení, nýbž jejich propustnost

Více

Systém adresace paměti

Systém adresace paměti Systém adresace paměti Základní pojmy Adresa fyzická - adresa, která je přenesena na adresní sběrnici a fyzicky adresuje hlavní paměť logická - adresa, kterou má k dispozici proces k adresaci přiděleného

Více

Maticí typu (m, n), kde m, n jsou přirozená čísla, se rozumí soubor mn veličin a jk zapsaných do m řádků a n sloupců tvaru:

Maticí typu (m, n), kde m, n jsou přirozená čísla, se rozumí soubor mn veličin a jk zapsaných do m řádků a n sloupců tvaru: 3 Maticový počet 3.1 Zavedení pojmu matice Maticí typu (m, n, kde m, n jsou přirozená čísla, se rozumí soubor mn veličin a jk zapsaných do m řádků a n sloupců tvaru: a 11 a 12... a 1k... a 1n a 21 a 22...

Více

Číselné vyjádření hodnoty. Kolik váží hrouda zlata?

Číselné vyjádření hodnoty. Kolik váží hrouda zlata? Čísla a logika Číselné vyjádření hodnoty Au Kolik váží hrouda zlata? Dekadické vážení Když přidám osmé závaží g, váha se převáží => závaží zase odeberu a začnu přidávat závaží x menší 7 závaží g 2 závaží

Více

Časová složitost algoritmů

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

Více

přirozený algoritmus seřadí prvky 1,3,2,8,9,7 a prvky 4,5,6 nechává Metody řazení se dělí:

přirozený algoritmus seřadí prvky 1,3,2,8,9,7 a prvky 4,5,6 nechává Metody řazení se dělí: Metody řazení ve vnitřní a vnější paměti. Algoritmy řazení výběrem, vkládáním a zaměňováním. Heapsort, Shell-sort, Radix-sort, Quicksort. Řazení sekvenčních souborů. Řazení souborů s přímým přístupem.

Více

bin arn ı vyhled av an ı a bst Karel Hor ak, Petr Ryˇsav y 23. bˇrezna 2016 Katedra poˇ c ıtaˇ c u, FEL, ˇ CVUT

bin arn ı vyhled av an ı a bst Karel Hor ak, Petr Ryˇsav y 23. bˇrezna 2016 Katedra poˇ c ıtaˇ c u, FEL, ˇ CVUT binární vyhledávání a bst Karel Horák, Petr Ryšavý 23. března 2016 Katedra počítačů, FEL, ČVUT Příklad 1 Naimplementujte binární vyhledávání. Upravte metodu BinarySearch::binarySearch. 1 Příklad 2 Mysĺım

Více

1. Databázové systémy (MP leden 2010)

1. Databázové systémy (MP leden 2010) 1. Databázové systémy (MP leden 2010) Fyzickáimplementace zadáníaněkterářešení 1 1.Zkolikaajakýchčástíseskládáčasprovstupněvýstupníoperaci? Ze tří částí: Seektime ječas,nežsehlavadiskudostanenadsprávnou

Více

Algoritmizace a programování

Algoritmizace a programování Algoritmizace a programování Vyhledávání, vkládání, odstraňování Vyhledání hodnoty v nesetříděném poli Vyhledání hodnoty v setříděném poli Odstranění hodnoty z pole Vkládání hodnoty do pole Verze pro akademický

Více

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

Michal Krátký. Úvod do programování. Cíl kurzu. Podmínky získání zápočtu III/III Michal Krátký Úvod do programování Michal Krátký 1,Jiří Dvorský 1 1 Katedra informatiky VŠB Technická univerzita Ostrava Úvod do programování, 2004/2005 tel.: +420 596 993 239 místnost: A1004 mail: michal.kratky@vsb.cz

Více

Digitální učební materiál

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

Více

Pohled do nitra mikroprocesoru Josef Horálek

Pohled do nitra mikroprocesoru Josef Horálek Pohled do nitra mikroprocesoru Josef Horálek Z čeho vycházíme = Vycházíme z Von Neumannovy architektury = Celý počítač se tak skládá z pěti koncepčních bloků: = Operační paměť = Programový řadič = Aritmeticko-logická

Více

Lineární algebra Operace s vektory a maticemi

Lineární algebra Operace s vektory a maticemi Lineární algebra Operace s vektory a maticemi Robert Mařík 26. září 2008 Obsah Operace s řádkovými vektory..................... 3 Operace se sloupcovými vektory................... 12 Matice..................................

Více

Základy algoritmizace a programování

Základy algoritmizace a programování Základy algoritmizace a programování Složitost algoritmů. Třídění Přednáška 8 16. listopadu 2009 Který algoritmus je "lepší"? Různé algoritmy, které řeší stejnou úlohu zbytek = p % i; zbytek = p - p/i*i;

Více

Náplň. v.0.03 16.02.2014. - Jednoduché příklady na práci s poli v C - Vlastnosti třídění - Způsoby (algoritmy) třídění

Náplň. v.0.03 16.02.2014. - Jednoduché příklady na práci s poli v C - Vlastnosti třídění - Způsoby (algoritmy) třídění Náplň v.0.03 16.02.2014 - Jednoduché příklady na práci s poli v C - Vlastnosti třídění - Způsoby (algoritmy) třídění Spojení dvou samostatně setříděných polí void Spoj(double apole1[], int adelka1, double

Více

1 Vektorové prostory.

1 Vektorové prostory. 1 Vektorové prostory DefiniceMnožinu V, jejíž prvky budeme označovat a, b, c, z, budeme nazývat vektorovým prostorem právě tehdy, když budou splněny následující podmínky: 1 Je dáno zobrazení V V V, které

Více

[1] samoopravné kódy: terminologie, princip

[1] samoopravné kódy: terminologie, princip [1] Úvod do kódování samoopravné kódy: terminologie, princip blokové lineární kódy Hammingův kód Samoopravné kódy, k čemu to je [2] Data jsou uložena (nebo posílána do linky) kodérem podle určitého pravidla

Více

Binární vyhledávací stromy pokročilé partie

Binární vyhledávací stromy pokročilé partie Binární vyhledávací stromy pokročilé partie KMI/ALS lekce Jan Konečný 30.9.204 Literatura Cormen Thomas H., Introduction to Algorithms, 2nd edition MIT Press, 200. ISBN 0-262-5396-8 6, 3, A Knuth Donald

Více

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

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

Více

IB111 Úvod do programování skrze Python

IB111 Úvod do programování skrze Python Vyhledávání, řazení, složitost IB111 Úvod do programování skrze Python 2012 Otrávené studny 8 studen, jedna z nich je otrávená laboratorní rozbor dokáže rozpoznat přítomnost jedu ve vodě je drahý (je časově

Více

5. Paralelní sčítání, bitonické třídění(zapsal: Petr Jankovský)

5. Paralelní sčítání, bitonické třídění(zapsal: Petr Jankovský) 5. Paralelní sčítání, bitonické třídění(zapsal: Petr Jankovský) Minule jsme si zavedli paralelní výpočetní model, ve kterém si nyní něco naprogramujeme... Sčítání binárních čísel Mějme dvě čísla x a y

Více

Matice. Modifikace matic eliminační metodou. α A = α a 2,1, α a 2,2,..., α a 2,n α a m,1, α a m,2,..., α a m,n

Matice. Modifikace matic eliminační metodou. α A = α a 2,1, α a 2,2,..., α a 2,n α a m,1, α a m,2,..., α a m,n [1] Základní pojmy [2] Matice mezi sebou sčítáme a násobíme konstantou (lineární prostor) měníme je na jiné matice eliminační metodou násobíme je mezi sebou... Matice je tabulka čísel s konečným počtem

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

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

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

Více

Cílem této kapitoly je uvedení pojmu matice a jejich speciálních typů. Čtenář se seznámí se základními vlastnostmi matic a s operacemi s maticemi

Cílem této kapitoly je uvedení pojmu matice a jejich speciálních typů. Čtenář se seznámí se základními vlastnostmi matic a s operacemi s maticemi 2.2. Cíle Cílem této kapitoly je uvedení pojmu matice a jejich speciálních typů. Čtenář se seznámí se základními vlastnostmi matic a s operacemi s maticemi Předpokládané znalosti Předpokladem zvládnutí

Více

13. Třídící algoritmy a násobení matic

13. Třídící algoritmy a násobení matic 13. Třídící algoritmy a násobení matic Minulou přednášku jsme probírali QuickSort, jeden z historicky prvních třídících algoritmů, které překonaly kvadratickou složitost aspoň v průměrném případě. Proč

Více

5 Rekurze a zásobník. Rekurzivní volání metody

5 Rekurze a zásobník. Rekurzivní volání metody 5 Rekurze a zásobník Při volání metody z metody main() se do zásobníku uloží aktivační záznam obsahující - parametry - návratovou adresu, tedy adresu, kde bude program pokračovat v metodě main () po skončení

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

základní vlastnosti, používané struktury návrhové prostředky MATLAB problém kvantování koeficientů

základní vlastnosti, používané struktury návrhové prostředky MATLAB problém kvantování koeficientů A0M38SPP - Signálové procesory v praxi - přednáška 4 2 Číslicové filtry typu FIR a IIR definice operace filtrace základní rozdělení FIR, IIR základní vlastnosti, používané struktury filtrů návrhové prostředky

Více

V kompletním grafu nenastává problém. Každý uzel je soused se zbytkem vrcholů a může s nimi kdykoliv komunikovat.

V kompletním grafu nenastává problém. Každý uzel je soused se zbytkem vrcholů a může s nimi kdykoliv komunikovat. 1 SMĚROVÁNÍ (ROUTING) V kompletním grafu nenastává problém. Každý uzel je soused se zbytkem vrcholů a může s nimi kdykoliv komunikovat. Problém nastává u ostatních grafů: Kritéria dobrého směrování: a)

Více

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

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

Více

Přednáška 6, 7. listopadu 2014

Přednáška 6, 7. listopadu 2014 Přednáška 6, 7. listopadu 204 Část 3: nekonečné řady Základní definice. Nekonečná řada, krátce řada, je posloupnost reálných čísel (a n ) R uvedená v zápisu a n = a + a 2 + a 3 +..., spolu s metodou přiřazující

Více

IB112 Základy matematiky

IB112 Základy matematiky IB112 Základy matematiky Řešení soustavy lineárních rovnic, matice, vektory Jan Strejček IB112 Základy matematiky: Řešení soustavy lineárních rovnic, matice, vektory 2/53 Obsah Soustava lineárních rovnic

Více

5 Přehled operátorů, příkazy, přetypování

5 Přehled operátorů, příkazy, přetypování 5 Přehled operátorů, příkazy, přetypování Studijní cíl Tento studijní blok má za cíl pokračovat v základních prvcích jazyka Java. Konkrétně budou uvedeny detaily týkající se operátorů. Doba nutná k nastudování

Více

3. Sekvenční logické obvody

3. Sekvenční logické obvody 3. Sekvenční logické obvody 3. Sekvenční logické obvody - úvod Sledujme chování jednoduchého logického obvodu se zpětnou vazbou 3. Sekvenční logické obvody příklad sekv.o. Příklad sledování polohy vozíku

Více

Vektorové podprostory, lineární nezávislost, báze, dimenze a souřadnice

Vektorové podprostory, lineární nezávislost, báze, dimenze a souřadnice Vektorové podprostory, lineární nezávislost, báze, dimenze a souřadnice Vektorové podprostory K množina reálných nebo komplexních čísel, U vektorový prostor nad K. Lineární kombinace vektorů u 1, u 2,...,u

Více

AUTOMATY A GRAMATIKY. Pavel Surynek. Kontextové uzávěrové vlastnosti Turingův stroj Rekurzivně spočetné jazyky Kódování, enumerace

AUTOMATY A GRAMATIKY. Pavel Surynek. Kontextové uzávěrové vlastnosti Turingův stroj Rekurzivně spočetné jazyky Kódování, enumerace AUTOMATY A 11 GRAMATIKY Pavel Surynek Univerzita Karlova v Praze Matematicko-fyzikální fakulta Katedra teoretické informatiky a matematické logiky Kontextové uzávěrové vlastnosti Turingův stroj Rekurzivně

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

Inovace a zkvalitnění výuky prostřednictvím ICT Základy programování a algoritmizace úloh. Ing. Hodál Jaroslav, Ph.D. VY_32_INOVACE_25 09

Inovace a zkvalitnění výuky prostřednictvím ICT Základy programování a algoritmizace úloh. Ing. Hodál Jaroslav, Ph.D. VY_32_INOVACE_25 09 Střední průmyslová škola a Vyšší odborná škola technická Brno, Sokolská 1 Šablona: Název: Téma: Inovace a zkvalitnění výuky prostřednictvím ICT Základy programování a algoritmizace úloh Operátory Autor:

Více

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

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

Více

MATICE. a 11 a 12 a 1n a 21 a 22 a 2n A = = [a ij]

MATICE. a 11 a 12 a 1n a 21 a 22 a 2n A = = [a ij] MATICE Matice typu m/n nad tělesem T je soubor m n prvků z tělesa T uspořádaných do m řádků a n sloupců: a 11 a 12 a 1n a 21 a 22 a 2n A = = [a ij] a m1 a m2 a mn Prvek a i,j je prvek matice A na místě

Více

for (i = 0, j = 5; i < 10; i++) { // tělo cyklu }

for (i = 0, j = 5; i < 10; i++) { // tělo cyklu } 5. Operátor čárka, - slouží k jistému určení pořadí vykonání dvou příkazů - oddělím-li čárkou dva příkazy, je jisté, že ten první bude vykonán dříve než příkaz druhý. Např.: i = 5; j = 8; - po překladu

Více

Katedra informatiky a výpočetní techniky. 10. prosince Ing. Tomáš Zahradnický doc. Ing. Róbert Lórencz, CSc.

Katedra informatiky a výpočetní techniky. 10. prosince Ing. Tomáš Zahradnický doc. Ing. Róbert Lórencz, CSc. Katedra informatiky a výpočetní techniky České vysoké učení technické, fakulta elektrotechnická Ing. Tomáš Zahradnický doc. Ing. Róbert Lórencz, CSc. 10. prosince 2007 Pamět ové banky S výhodou používáme

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

Management procesu II Mgr. Josef Horálek

Management procesu II Mgr. Josef Horálek Management procesu II Mgr. Josef Horálek Vlákna = Vlákna (Threads) = proces je definován množinou zdrojů výpočetního systému, které používá a umístěním, kde je spuštěn; = vlákno (thread) nazýváme lehký

Více

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

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

Více

Soustavy se spínanými kapacitory - SC. 1. Základní princip:

Soustavy se spínanými kapacitory - SC. 1. Základní princip: Obvody S - popis 1 Soustavy se spínanými kapacitory - S 1. Základní princip: Simulace rezistoru přepínaným kapacitorem viz známý obrázek! (a rovnice) Modifikace základního spínaného obvodu: Obr. 2.1: Zapojení

Více

Způsoby realizace této funkce:

Způsoby realizace této funkce: KOMBINAČNÍ LOGICKÉ OBVODY U těchto obvodů je výstup určen jen výhradně kombinací vstupních veličin. Hodnoty výstupních veličin nezávisejí na předcházejícím stavu logického obvodu, což znamená, že kombinační

Více

Soustavy lineárních rovnic a determinanty

Soustavy lineárních rovnic a determinanty Soustavy lineárních rovnic a determinanty Petr Hasil Přednáška z matematiky Podpořeno projektem Průřezová inovace studijních programů Lesnické a dřevařské fakulty MENDELU v Brně (LDF) s ohledem na discipĺıny

Více

[ n. Konvoluce. = 0 jinak. 0 jinak. Užitečné signály (diskrétní verze) Jednotkový skok 1 pro n = 0

[ n. Konvoluce. = 0 jinak. 0 jinak. Užitečné signály (diskrétní verze) Jednotkový skok 1 pro n = 0 Užitečné signály (diskrétní verze) Konvoluce σ Jednotkový skok [ n] Jednotkový impuls (delta funkce) Posunutý jednotkový impuls 1 pro n 0 1 pro n = 0 δ = δ [ n] [ n k] = 0 jinak 0 jinak Proč jsou užitečné?

Více

Jako pomůcka jsou v pravém dolním rohu vypsány binární kódy čísel od 0 do 15 a binární kódy příkazů, které máme dispozici (obr.21). Obr.

Jako pomůcka jsou v pravém dolním rohu vypsány binární kódy čísel od 0 do 15 a binární kódy příkazů, které máme dispozici (obr.21). Obr. Model procesoru Jedná se o blokové schéma složené z registrů, paměti RAM, programového čítače, instrukčního registru, sčítačky a řídicí jednotky, které jsou propojeny sběrnicemi. Tento model má dva stavy:

Více

Martin Lísal. Úvod do MPI

Martin Lísal. Úvod do MPI Martin Lísal září 2003 PARALELNÍ POČÍTÁNÍ Úvod do MPI 1 1 Co je to paralelní počítání? Paralelní počítání je počítání na paralelních počítačích či jinak řečeno využití více než jednoho procesoru při výpočtu

Více

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

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

Více

Čísla a aritmetika. Řádová čárka = místo, které odděluje celou část čísla od zlomkové.

Čísla a aritmetika. Řádová čárka = místo, které odděluje celou část čísla od zlomkové. Příprava na cvčení č.1 Čísla a artmetka Číselné soustavy Obraz čísla A v soustavě o základu z: m A ( Z ) a z (1) n kde: a je symbol (číslce) z je základ m je počet řádových míst, na kterých má základ kladný

Více

Universita Pardubice Fakulta elektrotechniky a informatiky. Mikroprocesorová technika. Semestrální práce

Universita Pardubice Fakulta elektrotechniky a informatiky. Mikroprocesorová technika. Semestrální práce Universita Pardubice Fakulta elektrotechniky a informatiky Mikroprocesorová technika Semestrální práce Jméno: Chmelař Pavel Datum: 14. 5. 2008 Úkol: Příklad č. 1 V paměti dat je uložen blok 8 b čísel se

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

PARALELNÍ PROCESY A PROGRAMOVÁNÍ

PARALELNÍ PROCESY A PROGRAMOVÁNÍ PARALELNÍ PROCESY A PROGRAMOVÁNÍ 9 Propojovací sítě (ICNW) Ing. Michal Bližňák, Ph.D. Zlín 2013 Tento studijní materiál vznikl za finanční podpory Evropského sociálního fondu (ESF) a rozpočtu české republiky

Více

Dělení. INP 2008 FIT VUT v Brně

Dělení. INP 2008 FIT VUT v Brně ělení INP 28 FIT VUT v Brně ělení čísel s pevnou řádovou čárkou Nejdříve se budeme zabývat dělením čísel s pevnou řádovou čárkou bez znaménka. Pro jednotlivé činitele operace dělení zavedeme symboly d

Více

Úlohy nejmenších čtverců

Úlohy nejmenších čtverců Úlohy nejmenších čtverců Petr Tichý 7. listopadu 2012 1 Problémy nejmenších čtverců Ax b Řešení Ax = b nemusí existovat, a pokud existuje, nemusí být jednoznačné. Často má smysl hledat x tak, že Ax b.

Více

Kapitola 2: Analýza lineárních obvodů metodou admitanční matice

Kapitola 2: Analýza lineárních obvodů metodou admitanční matice Kapitola 2: Analýza lineárních obvodů metodou admitanční matice Admitanční matice, pokud existuje, nese veškeré vlastnosti obvodu. Řešení lineárního obvodu je potom matematický problém.ten spočívá jen

Více

59. ročník Matematické olympiády 2009/2010

59. ročník Matematické olympiády 2009/2010 59. ročník Matematické olympiády 2009/2010 Úlohy ústředního kola kategorie P 1. soutěžní den Na řešení úloh máte 4,5 hodiny čistého času. Řešení každé úlohy pište na samostatný list papíru. Při soutěži

Více

Pumping lemma - podstata problému. Automaty a gramatiky(bi-aag) Pumping lemma - problem resolution. Pumping lemma - podstata problému

Pumping lemma - podstata problému. Automaty a gramatiky(bi-aag) Pumping lemma - problem resolution. Pumping lemma - podstata problému BI-AAG (2011/2012) J. Holub: 10. Vlastnosti regulárních jazyků p. 2/22 Pumping lemma - podstata problému BI-AAG (2011/2012) J. Holub: 10. Vlastnosti regulárních jazyků p. 4/22 Automaty a gramatiky(bi-aag)

Více

Uspořádanou n-tici reálných čísel nazveme aritmetický vektor (vektor), ā = (a 1, a 2,..., a n ). Čísla a 1, a 2,..., a n se nazývají složky vektoru

Uspořádanou n-tici reálných čísel nazveme aritmetický vektor (vektor), ā = (a 1, a 2,..., a n ). Čísla a 1, a 2,..., a n se nazývají složky vektoru 1 1. Lineární algebra 1.1. Lineární závislost a nezávislost vektorů. Hodnost matice Aritmetické vektory Uspořádanou n-tici reálných čísel nazveme aritmetický vektor (vektor), ā = (a 1, a 2,..., a n ).

Více

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

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

Více

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

Komprese dat. Jan Outrata KATEDRA INFORMATIKY UNIVERZITA PALACKÉHO V OLOMOUCI. přednášky

Komprese dat. Jan Outrata KATEDRA INFORMATIKY UNIVERZITA PALACKÉHO V OLOMOUCI. přednášky Komprese dat Jan Outrata KATEDRA INFORMATIKY UNIVERZITA PALACKÉHO V OLOMOUCI přednášky Statistické metody Jan Outrata (Univerzita Palackého v Olomouci) Komprese dat Olomouc, únor březen 2016 1 / 23 Tunstallův

Více

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

Více

7 Formátovaný výstup, třídy, objekty, pole, chyby v programech

7 Formátovaný výstup, třídy, objekty, pole, chyby v programech 7 Formátovaný výstup, třídy, objekty, pole, chyby v programech 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 formátovanému výstupu,

Více

Úvod do teorie informace

Úvod do teorie informace PEF MZLU v Brně 24. září 2007 Úvod Výměna informací s okolím nám umožňuje udržovat vlastní existenci. Proces zpracování informací je trvalý, nepřetržitý, ale ovlivnitelný. Zabezpečení informací je spojeno

Více

Vícerozměrné statistické metody

Vícerozměrné statistické metody Vícerozměrné statistické metody Vícerozměrné statistické rozdělení a testy, operace s vektory a maticemi Jiří Jarkovský, Simona Littnerová FSTA: Pokročilé statistické metody Vícerozměrné statistické rozdělení

Více

4. Trojúhelníkový rozklad p. 1/20

4. Trojúhelníkový rozklad p. 1/20 4. Trojúhelníkový rozklad 4. Trojúhelníkový rozklad p. 1/20 4. Trojúhelníkový rozklad p. 2/20 Trojúhelníkový rozklad 1. Permutační matice 2. Trojúhelníkové matice 3. Trojúhelníkový (LU) rozklad 4. Výpočet

Více

Vyhodnocování dotazů slajdy k přednášce NDBI001. Jaroslav Pokorný MFF UK, Praha

Vyhodnocování dotazů slajdy k přednášce NDBI001. Jaroslav Pokorný MFF UK, Praha Vyhodnocování dotazů slajdy k přednášce NDBI001 Jaroslav Pokorný MFF UK, Praha pokorny@ksi.mff.cuni.cz Časová a prostorová složitost Jako dlouho trvá dotaz? CPU (cena je malá; snižuje se; těžko odhadnutelná)

Více