Cvičení předmětu MI-PAR P. Tvrdík, I. Šimeček, M. Šoch

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

Download "Cvičení předmětu MI-PAR P. Tvrdík, I. Šimeček, M. Šoch"

Transkript

1 Cvičení předmětu MI-PAR P. Tvrdík, I. Šimeček, M. Šoch Katedra počítačových systémů FIT České vysoké učení technické v Praze 2011 MI-PAR, ZS2011/12, Cv.1-6 Příprava studijního programu Informatika je podporována projektem financovaným z Evropského sociálního fondu a rozpočtu hlavního města Prahy. Praha & EU: Investujeme do vaší budoucnosti

2 adání semestrálních prací [MI-PAR Paralelní algoritmy a systémy] of :09 Zadání semestrálních prací Seznam zkratek a názvů semestrálních úloh Úlohy pro dvojice PRP: přesun na šachovnici s penalizací TDG: trojúhelníková dekompozice grafu SVL: světla ZHV: zobecněné hanoiské věže DOM: i-dominující množina grafu KGM: kostra grafu s minimálním stupněm SAQ: skládání čtveřic HUT: optimalizace hutí LDL: L dlaždičkování NSR: nejkratší společný řetězec Úlohy pro jednotlivce OCE: symetrický obchodní cestující HG: Hamiltonovský graf UPO: uzlové pokrytí grafu Zadání úloh pro dvojice Architektura virtuálního paralelního počítače Ve všech ulohách uvažujeme paralelní počítač s distribuovanou pamětí s p procesory očíslovanými 0, 1, 2,, p-1, propojenými úplnou propojovací sítí (tzv. topologie úplný graf (UG)), kdy pro všechny dvojice různých čísel i a j, procesor i může přímo poslat zprávu procesoru j. Velikost vstupní instance Ve všech úlohách volte rozsah vstupních dat tak, aby sekvenční výpočet na 1 procesoru trval nejméně jednotky minut a nejvýše 20 minut. Vstupní parametry úlohy se zadávají jako parametry příkazové řádky a vstupní data se načítají ze souboru! Strategie dělení zásobníku a hledání dárce Na třetím cvičení si každá dvojice k zadané úloze vybere jednu strategii dělení zásobníku (R-ADZ, D-ADZ, D-R-ADZ) a jednu strategii hledání dárce (ACZ-AHD, GCZ-AHD, NV-AHD). Výběr je třeba zdůvodnit cvičícímu a na konci semestru do zprávy. Úloha PRP: přesun na šachovnici s penalizací n = přirozené číslo představující velikost strany čtvercové šachovnice S[1..n,1..n], n>= 5

3 2 of :09 P[1..n,1..n] = množina celých kladných čísel z intervalu <1,255> ohodnocení políček šachovnice (představující penalizaci) k = celé číslo představující počet jezdců na šachovnici S, 2n k n*(n+1)/2 Pravidla a cíl hry: Počáteční stav je tvořen k jezdci umístěnými po řádcích v horní trojúhelníkové části šachovnice S, kterou nazveme oblast X. Každý jezdec se může na šachovnici pohybovat podle šachových pravidel (tah ve tvaru písmene L a může táhnout pouze na volné pole). Cílem hry je převést počáteční stav na cílový, ve kterém jsou jezdci symetricky umístěni po řádcích v dolní trojúhlenikové části šachovnice S, kterou nazveme oblast Y (oblast Y je středově symetrická s oblastí X). Nalézt posloupnost tahů jezdců pro dosažení cíloveho stavu tak, aby součet penalizací navštívených políček byl minimální. Číslo udávající minimální penalizaci a posloupnost tahů vedoucích z počátečního do cíloveho stavu. Tahy zapisujte ve formátu dvojice (startovní a koncová pozice jezdce v tomto tahu = odkud a kam jezdec v danem tahu táhnul). Počáteční a cílový stav pro n=5 a k=15. Počáteční a cílový stav pro n=5 a k=10. Sekvenční algoritmus je typu BB-DFS s neomezenou hloubkou stavového prostoru (při tazích jezdců mohou vznikat cykly). Hloubku prohledávání musíme omezit horní mezí (viz dále). Cena, kterou minimalizujeme, je součet penalizací použitých políček. Algoritmus končí, když je cena rovna dolní

4 3 of :09 mezi a nebo když prohledá celý stavový prostor do hloubky dané horní mezí. Těsná dolní mez není známa. Triviální dolní mez na minimální penalizaci určíme nasledujícím způsobem: pro každého jezdce z oblasti X určíme minimální počet tahů, které musí provést, aby se dostal na libovolnou pozici v oblasti Y. Následně pro každého jezdce vygenerujte všechny existující cesty s minimálním počtem tahů a ze všech těchto cest vybereme tu, která má nejmenší penalizaci. Součet těchto k minimálních penalizací tvoří odhad triviální dolní meze. Horní mez na penalizaci, vhodnou k ořezávání stavového prostoru, stanovte jako dvojnásobek triviální dolní meze. Paralelni algoritmus: Paralelní algoritmus je typu PBB-DFS-V. Úloha TDG: trojuhelniková dekompozice grafu G(V,E) = jednoduchý neorientovaný neohodnocený souvislý graf o n uzlech, m hranách a průměrném stupni k n = přirozené číslo představující počet uzlů grafu G, n >= 5 k = přirozené číslo řádu jednotek představující průměrný stupeň uzlu grafu G, n>=k>=3 Doporučení pro algoritmus generování G: Použijte generátor grafu s typem grafu -t AD, který vygeneruje souvislý neorientovaný neohodnocený graf. Úkolem je nalezení rozdělení množiny hran E na dvě disjuktní podmnožiny E a E takové, že v 1 2 žádném z grafu G (V,E ) a G (V,E ) neleží trojúhelník, tj. tři vrcholy navzájem spojené hranami, a současně mohutnost množin E a E je co nejrovnoměrnější. 1 2 Výpis hran z množin E 1 a E 2. Problém můžeme definovat i alternativně. Je třeba nalézt obarvení hran grafu G dvěmi barvami tak, aby žádné 3 hrany obarvené stejnou barvou netvořily trojúhelník. Tuto alternativní definici využijeme i pro sekvenční algoritmus. Postupně budeme z grafu vybírat ještě neobarvené hrany a ty budeme postupně obarvovat dvěmi barvami tak, aby nevznikl jednobarevny trojúhelník. Sekvenční algoritmus typu BB-DFS s hloubkou prohledávaného prostoru omezenou na E. Přípustný mezistav je definovaný 2 jednobarevnými disjuktními podmnožinami hran, ve kterých neexistuje trojúhelník. Přípustný koncový stav je úplné obarvení 2 barvami všech hran bez trojúhelníků. Algoritmus končí po prohledání celého prostoru. Návrat se provádí ve stavu, kdy již není možné pokračovat v obarvování hran tak, aby nevznikl jednobarevný trojúhelník. Cena, kterou optimalizujeme, je velikost množin E 1 a E 2. Triviální horní mez je polovina počtu hran.

5 4 of :09 Paralelní algoritmus je typu G-PBB-DFS-D. Úloha SVL: světla m,n = přirozené čísla, m >= n >= 5, reprezentující délky stran šachovnice S o velikosti m * n q = přirozené číslo řádu jednotek reprezentující počet rozsvícených světel na šachovnici S, q m*n F[1..q] = pole souřadnic rozsvícených světel Pravidla: Všechny pole šachovnice S představují světla s vypínači. Na počátku je nahodně q světel zapnutých. Stisknu-li vypínač na pozici [a,b] způsobím změnu stavu světel na následujících 5 pozicích: [a,b], [a-1,b], [a,b-1], [a+1,b], [a,b+1]. Změnou stavu se rozumí to, že zhasnutá světla se rozsvítí a rozsvícena zhasnou. Nalézt minimální posloupnost stisků vypínačů, která způsobí zhasnutí všech světel. Konstatovaní, zda řešení existuje. V případě pozitivní odpovědi výpis souřadnic vypínačů ve správném pořadí, které je potřeba zmáčknout, aby všechna světla zhasla. Příklad zmáčknutí červeného vypínače a změna konfigurace rozsvícených světel ze stavu a) do stavu b). Sekvenční algoritmus je typu BB-DFS s hloubkou stavového stromu omezenou na m * n. Pripustny koncovy stav je situace, kdy jsou všechna světla zhasnutá. Cena, kterou minimalizujeme, je počet zmáčknutí vypínačů. Algoritmus končí, pokud je počet stisků vypínačů po zhasnutí všech světel roven těsné dolní mezi, jinak algoritmus prohledává celý stavový prostor. Je známo, že pro čtvercovou šachovnici S a počáteční konfiguraci, kdy jsou všechna světla rozsvícená, řešení vždy existuje. (více zde [ Těsná dolní mez je horni_cela_cast(q/5).

6 5 of :09 Paralelní algoritmus je typu L-PBB-DFS-D. Úloha ZHV: zobecněné hanojské věže n = přirozené číslo představující celkový počet žetonů, n >= 16. Žeton i, i=1,..,n, má průměr i s = přirozené číslo představující počet tyček, n/4 >=s > 3 r = číslo cílové tyčky, 1 r s V[1,..,s] = množina neúplných hanoiských věží. Definice: Hanojská věž o výšce k je věž k různých žetonů, které jsou uspořádány od nejmenšího k největšímu a rozdíly ve velikostech sousedních žetonů jsou vždy 1. Neuplná hanojská věž o výšce k je věž k různých žetonů, které jsou uspořádány od nejmenších k největším a rozdíly ve velikostech alespoň 1 dvojice sousedních žetonů je alespoň 2. Například pro k=5 je to neúplná věž 2,3,7,8,10. Generování počátečního stavu: V pořadí průměrů žetonů n,n-1,..,1 se žetony náhodně rozhazují na s tyček, takže vznikne s obecně neúplných hanojských věží. Pravidla: Jeden tah je přesun žetonu z vrcholu jedné věže na jedné tyčce na jinou prázdnou tyčku nebo na vrchol věže začínající žetonem s větším průměrem. Na zadané tyčce r postavte úplnou hanojskou věž o výšce n pomoci minimálního počtu tahů. Výpis počtu tahů a jejich posloupností v nasledujícím formátu: žeton,původni tyčka cílová tyčka. Řešení musí existovat. Sekvenční algoritmus je typu BB-DFS s neomezenou hloubkou prohledávání (obecně se mohou pro s > 3 při prohledávání generovat cykly). Hloubku prohledávání musíme omezit horní mez (viz dále). Ve stavu, kdy nelze přesunout žádný žeton, se provede návrat. Cena, kterou minimalizujeme, je počet tahů. Algoritmus končí, když je počet tahů roven dolní mezi, jinak prohledává celý stavový prostor do hloubky dané horní mezí. Těsnou dolní mez počtu tahů lze určit takto: je-li žeton na cílové tyčce, ale není na správné pozici, pak musí provést aspoň 2 tahy. Je-li žeton na jiné než cílové tyčcce, pak musí provést aspoň 1 tah. Dolní mez je součet těchto minimálních počtů tahů pro všechny žetony. Tato dolni mez je dosažitelná pro dostatečně velká s. Těsná horní mez na počet tahů, kterou lze odvodit řešením rekurentní rovnice podle [ T(n,s) min 1 k<n 2T(k,s) + T(n k,s 1)

7 6 of :09 a okrajová podmínka T(n,3)=2 n -1 nebo T n = 2 T n-s-2 + 2s-5 Její řešení je: (2 n/(s-2) -1)(2s-5) Při prohledávání stavového prostoru vznikají cykly, které prohledávání prodlužují. K jejich ořezání se používá horní mez, která prohledávání omezuje. V případě hanojských věží je ve většině případů rozdíl mezi nejmenším počtem tahů a horní mezi relativně velký. Pro některé instance byla empiricky stanovena horní mez, která je dostatečná pro nalezení nejlepšího řešení a je menší než mez vypočtená. s n horní mez Empiricky nalezené horní meze pro konkrétní hodnoty s,n. Příklad jednoduchého cyklu pro n=5 a s=4. a) Počáteční stav. b) Příklad cyklu pro nejmenší červený žeton, který se během 4 tahů vrátí do počátečního stavu. Paralelní algoritmus je typu L-PBB-DFS-D. Úloha DOM: i-dominující množina grafu

8 7 of :09 G(V,E) = jednoduchý souvislý neorientovaný neohodnocený graf o n uzlech a m hranách n = přirozené číslo představující počet uzlů grafu G, n >= 5 k = přirozené číslo řádu jednotek představující průměrný stupeň uzlu grafu G, n >= k >= 3 i = přirozené číslo, 1 i 6 Doporučení pro algoritmus generování G: Použijte generátor grafu s volbou typu grafu -t AD, který vygeneruje souvislý neorientovaný neohodnocený graf. Definice: Je-li dáno přirozené číslo i >= 0 a uzel u grafu G, pak i-okolí uzlu u je množina všech uzlů G ve vzdálenosti nejvýše i od u, včetně uzlu u samotného. Pak i-dominující množina grafu G je každa množina uzlů takových, že sjednocení jejich i-okolí obsahuje všechny uzly G. Nalezněte minimální i-dominující množinu W grafu G. Výpis uzlů nejmenší i-dominující množiny W. Řešení musí existovat. Pokud i >= poloměr grafu G, pak je řešením kterýkoli uzel v centru grafu, čili dolní mez na W je 1. Proto uvažujme pouze případ, že i < poloměr grafu, kdy není známa dolní mez. Pak se jedná o NP-těžkou úlohu a použijeme sekvenční algoritmus typu BB-DFS s hloubkou omezenou na horní mez. Přípustný mezistav je podmnožina uzlů W, která je i-dominující množinou. Cena, kterou minimalizujeme, je W. Těsná dolní mez je horní_celá_část(průměr(g)/(2i+1)). Holní mez je V /(2i+1). Paralelní algoritmus Paralelní algoritmus je typu L-PBB-DFS-D. Úloha KGM: kostra grafu s minimálním stupněm G(V,E) = jednoduchý souvislý neorientovaný neohodnocený graf o n uzlech a m hranách n = přirozené číslo představující počet uzlů grafu G, n >= 5 k = přirozené číslo řádu jednotek představující průměrný stupeň uzlu grafu G, n >= k >= 3 Doporučení pro algoritmus generování G: Použijte generátor grafu s volbou typu grafu -t AD, který vygeneruje souvislý neorientovaný neohodnocený graf.

9 8 of :09 Definice: Stupeň stromu je definován jako maximální stupeň ze všech uzlů stromu. Nalezněte kostru grafu G (strom) s minimálním stupněm. Výpis kostry grafu G a hodnota stupně této kostry. Řešení existuje vždy, vždy lze sestrojit kostru grafu. Sekvenční algoritmus je typu BB-DFS s hloubkou prohledávaného prostoru omezenou na V. Přípustný mezistav je definovaný částečnou kostrou. Přípustný koncový stav je vytvořená kostra. Algoritmus končí po prohledání celého prostoru či při dosažení dolní meze. Cena, kterou minimalizujeme, je stupeň kostry. Těsná dolní mez je rovna 2. Holní mez je rovna nejvyššímu stupni v grafu G. Paralelní algoritmus Paralelní algoritmus je typu G-PBB-DFS-D. Úloha SAQ: skládání čtveřic a, b >= 3, rozměry obdelníkové oblasti herní desky, kde ab>=20 je dělitelné čtyřmi P = soubor čtveřic kostek (quatromin). Vzorová quatromina se označují písmeny I, L, O, T, Z, viz obrázek. Nalézt pokrytí obdélníku a x b quatrominy s maximální cenou. Cena se vypočítá jako: Cena=(p I +1)*(p L +1)*(p O +1)*(p T +1)*(p Z +1), kde p I je počet použitých quatromin typu I apod. Na obrázku jsou příklady vyplnění 3 malých obdélníků.

10 adání semestrálních prací [MI-PAR Paralelní algoritmy a systémy] of :09 Popis vyplnění obdélníku a x b kostkami z množiny P (např. matici a * b písmen, odpovídajících quatromin, která pokrývají políčka), případně grafické znázornění řešení a nebo výpis, že pokrytí neexistuje. Sekvenční algoritmus je tedy typu BB-DFS s hloubkou prohledávaného prostoru omezenou na ab/4. Cena, kterou maximalizujeme, je počet různých quatromin, která na vyplnění plochy použijeme. Poznámka č.1: Vzorec pro výpočet ceny preferuje řešení s rovnoměrnou pestrostí, čili aby bylo použito co nejvíce různých (max.5) quatromin a každé mělo rovnoměrné zastoupení bez ohledu na rotace a zrcadlové klony (čili počet zastupců 2 různých kvatronim byl plus mínus 1). Poznámka č.2: Nepokládejte quatromina na náhodnou pozici, ale zaplňujte plochu systematicky, např. od levého horního rohu. Horní mez ceny není známá a algoritmus končí, když prohledá celý stavový prostor. Triviální horní mez je rovna ceně, kdy p I +p L +p O +p T +p Z = a*b. Uvedené hodnoty jsou rovny libovolné permutaci následujících pěti čísel: p 1 =dolní_celá_část(ab/5), p 2 =dolní_celá_část((ab+1)/5), p 3 =dolní_celá_část((ab+2)/5), p 4 =dolní_celá_část((ab+3)/5), p 5 =dolní_celá_část((ab+4)/5). Paralelní algoritmus je typu G-PBB-DFS-D. Úloha HUT: optimalizace hutí k, l = přirozená čísla, k l 3, reprezentující velikost obdélníkové matice. M[1..k][1..l] = matice inicializovaná náhodnými čísly z intervalu <0,100> m = přirozené číslo, 1 m k*l/2, představující maximální počet žetonů c = přirozené číslo, 1 c 100, představující cenu položení žetonu Zadání:

11 10 of :09 V matici M rozmístíme 1 q m žetonů, pričemž každý žeton musí být umístěn na jiném políčku. Získáme tak nějakou konfiguraci žetonů Z (pole q dvojic souřadnic). Cenu dané konfigurace žetonů vypočítáme pomocí funkce f: f(z) = {SUMA (M[i,j]/[1 + vzd(i,j)])} - q*c, i,j kde vzd(i,j) je manhattanská vzdálenost prvků matice M[i,j] k nejbližšímu žetonu. Příklad vyhodnocení fce f pro k=3, c=10. Čísla znázorňují hodnoty prvků matice M, kroužky jednotlivé žetony. a) q=1, f(z)=1/3+2/2+7/3+4/2+5/1+6/2+3/3+8/2+9/3-1*10 b) q=2, f(z)=1/1+2/2+7/3+4/2+5/3+6/2+3/3+8/2+9/1-2*10 Nalezněte počet žetonů q a takovou jejich konfiguraci Z, aby funkce f(z) byla maximální. Počet žetonů a textový výpis jejich pozic ve formě dvourozměrného diagramu. Alternativní formulace úlohy: Dvourozměrná matice M představuje mapu neznámé krajiny, která obsahuje naleziště horniny a q hutí. Vydatnost horniny je určena číslem M[i,j] na dané pozici a výstavba hutě představuje investici o velikosti c. Úkolem je rozmístit zpracovatelské hutě tak. aby zisk reprezentovaný funkcí f byl maximální (zisk je maximální, pokud jsou celkové náklady na dopravu a investice do vystavby hutí qc minimální). Řešení vždy existuje. Sekvenční algoritmus je typu BB-DFS s hloubkou omezenou na m. Cena, ktery maximalizujeme, je hodnota funkce f. Horní mez ceny není známa a algoritmus končí, když prohledá celý stavový prostor do hloubky m. Horní mez není známá. Paralelní algoritmus je typu PBB-DFS-V.

12 11 of :09 Úloha LDL: L dlaždičkování n,m = celé číslo představující velikost šachovnice P[1..n,1..m] k = celé číslo představující počet nutných děr v P D[1..k] = pole představující pozice nutných děr v P Najděte vydlazdičkování šachovnice P dlaždičkami L1, L2 a L3 (viz obrázek) kromě děr uvedených v poli d[1..k] s nejvyšší možnou cenou. Vydlaždičkování nemusí být dokonalé, tzn. mohou vzniknout i jiné díry. než ty uvedené v poli D[1..k], důležité je maximalizovat cenu. Cena pokrytí, ve kterém je a nových děr. je cena=3*počet použitých dlaždiček tvaru L3 + 2*počet použitých dlaždiček tvaru L2+počet použitých dlaždiček tvaru L1-6*a Poznámka: Každou z dlaždiček je možno libovolně natáčet a obracet(viz obrázek). Tvary dlaždiček L1,L2 a L3. Všechna možná natočení a obrácení dlaždičky L2. Číslo udávající maximální cenu pokrytí, dále pak souřadnice, pozici a tvar použitých dlaždiček. Sekvenční algoritmus je typu BB-DFS s omezenou hloubkou stromu stavů na h max =(n*m-k)/3. Řešení vždy existuje. Algoritmus končí, když je cena rovna horní mezi nebo když prohledá celý stavový prostor do hloubky dané horní mezí h max. Poznámka: Nepokládejte dlaždičky na náhodnou pozici, ale zaplňujte plochu systematicky, např. od levého horního rohu. Těsná dolní mez na cenu dlaždičkování je o min =-6*(n*m-k) pro k>=nm/2. Těsná horní mez na cenu dlaždičkování je 3*(n*m-k)/5. Paralelní algoritmus je typu G-PBB-DFS-D.

13 12 of :09 Úloha NSR: nejkratší společný řetězec n = přirozené číslo představující počet řetězců, n >= 10 z = přirozené číslo představující maximální délku řetězců, z>log n R={r 1,..,r n } = množina n různých binárních řetězců r i o délkách log n < r i z Pro zadané n nejdříve vygenerujte množinu řetězců R délek nejméně log n a nejvýše z. Délka nejdelšího vygenerovaného řetězce nechť se značí m=max { r_i, i=1,,n}. Pak zvolte celé čislo k větší než m a současně menší než poloviční součet délek všech řetězců z R. Čili k je z otevřeného intervalu n ( m, SUMA r_i ) / 2 ) i=1 Nalezněte nejkratší binární řetězec w o délce nejvýše k takový, že každý řetězec z množiny R je jeho podřetězcem. Čili každý řetězec r z R může být doplněn na řetězec w=w 0 rw 1, kde w 0 a w 1 jsou binární řetězce (mohou být i prázdné). Takový řetězec w se nazývá nejkratší k-nadřetězec množiny R. Konstatování, zda existuje k-nadřetězec množiny R a pokud ano, pak výpis nejkratšího z nich a rozpis jeho n rozkladu w 0 r i w 1, kde r i in R. Sekvenční algoritmus je typu BB-DFS s hloubkou prohledávaného prostoru omezenou zdola m a shora k. Přípustný koncový stav je každý k-nadřetězec množiny R. Cena, kterou minimalizujeme, je délka takového nadřetězce. Algoritmus končí, když nalezne nadřetězec délky rovné dolní mezi a nebo když prohledá celý stavový prostor. Těsná dolní mez je rovna m. Paralelní algoritmus je typu G-PBB-DFS-D. Zadání úloh pro jednotlivce Výpočet typu Master-Slave Navrhněte paralelní algoritmus typu Master-Slave, který využije technologii MPI a OpenMP. Na začátku výpočtu MPI vytvoří celkem p procesů, kde jeden bude řídící proces Master a ostatní budou výpočetní procesy Slave. Master bude prohledávaný stavový prostor rozdělovat mezi ostatní výpočetní procesy. Aby to bylo možné, začne standardním sekvenčním algoritmem prohledávat

14 13 of :09 stavový prostor do šířky a vygeneruje dostatečně velkou množinu počátečních konfigurací zásobníků pro výpočetní procesy Slave. Generování počátečních konfigurací metodou do šířky skončí v okamžiku, kdy je počet listů stavového prostoru poprvé větší než zp, kde p je počet procesorů a z >= 10 je předem zvolená konstanta (konstantu z experimentálně určete, závisí na typu úlohy - je potřeba dosáhnout optimální granularity, kdy výpočetní procesy Slave pracují dostatečně dlouho a počet konfigurací je dostatečně větší než počet procesorů). Pak začne Master nachystané počáteční konfigurace rozesílat výpočetním procesům Slave. Master vždy vybere jednu konfiguraci ze své fronty a zašle ho vybranému procesu Slave. Každý Slave si vždy přijatou konfiguraci uloží do své lokální fronty a následně vygeneruje dostatečný počet konfigurací procházením do šířky, které si uloží do lokální fronty. Tyto konfigurace se budou následně již řešit vlastním procházením do hloubky. Pomocí OpenMP bude možné zpracovávat více konfigurací paralelně, tj. každé vlákno vygenerované pomocí OpenMP zpracuje sekvenčně prohledáváním do hloubky vždy jednu konfiguraci vybranou z fronty (počet vláken volte jako násobek 4, protože každý uzel má 4 výpočetní jádra). Slave se už nikdy nevrací do stavu nad své počáteční konfigurace (tj. nad první expanze provedené Masterem). V okamžiku, kdy vlákno projde celý přidělený stavový prostor definovaný přidělenou počáteční konfigurací, vezme si z fronty další volnou konfiguraci. Pokud Slave ve frontě již nemá žádné volné počáteční konfigurace, informuje o tom Mastera, který mu zašle další volnou počátační konfiguraci ze své fronty. Pokud Master již žádné volné konfigurace nemá, informuje o tom žádající Slave proces, který zašlě Masteru své lokální řešení a následně se ukončí. Pokud Slave nalezene řešení s nejlepší možnou cenou, informuje Master, který pomocí komunikační operace jeden-všem ukončí výpočet. Musí být ošetřena i situace, kdy řešení nalezne současně více Slavu (např. pomocí paralelní redukce). Výpočet Master-Slave tedy využívá jak knihovny MPI pro komunikaci nad distribuovanou pamětí, tak i OpenMP pro výměnu dat nad pamětí sdílenou. Při měření aplikace plánujte vždy jeden MPI proces na jednu žiletku (blade ze svazku STAR) a na úrovni OpenMP vždy vytvářejte vlákna v násobku 4 (každá žiletka má 4 procesorová jádra). Uloha OCE: symetricky obchodni cestujici OCE: symetrický obchodní cestující n = přirozené číslo, označující počet měst G = uplný, hranově ohodnocený graf o n uzlech V={1,,n}, představujících města, reprezentovaný např. symetrickou maticí vzdáleností D[1..n,1..n], kde pro všechny dvojice i<>j, D[i,j] = D[j,i] je nenulová délka cesty mezi mesty i a j a kde pro všechna i je D[i,i] = 0. Zjistit nejkratší možnou okružní cestu (hamiltonovskou kružnici) po všech městech. Permutace uzlů V={1,,n}, odpovídající nejkratší hamiltonovské kružnici a délka této kružnice. Sekvenční algoritmus je typu BB-DFS s hloubkou stavového stromu omezenou na n. Mezistav je definován seznamem uzlů na dosud vybudované části možné okružní cesty. Přípustnými koncovými stavy jsou všechny permutace n čísel, reprezentující hamiltonovské kružnice. Cena řešení, kterou minimalizujeme, je délka těchto kružnic. Dolní mez není známa. Dolní mez je suma minimálních ohodnocení hran incidujícího se všemi uzly.

15 14 of :09 Navrhněte paralelní algoritmus typu Master-Slave. Počáteční konfigurace je množina částí vybudovaných cest. Úloha HG: Hamiltonovský graf G(V,E) = jednoduchý neorietovaný neohodnocený k-regulární graf o n uzlech a m hranách n = přirozené číslo predstavující počet uzlu grafu G, n >= 5 k = přirozené číslo řádu jednotek představující stupeň uzlu grafu G, n >= k >= 3; n a k nejsou současně obě liché Doporučení pro algoritmus generování G: Použijte generátor grafu s typem grafu -t AD. Zjistěte, zda graf obsahuje hamiltonovskou cestu to jest cestu takovou, že každý jeho uzel je navštíven právě jednou s výjimkou uzlu výchozího, který je zároveň uzlem cílovým. Odpověď, zda zadaný graf obsahuje hamiltonovskou cestu. V případě pozitivní odpovědi výpis jedné takové cesty. Sekvenčni algoritmus: Sekvenční algoritmus je typu SB-DFS s hloubkou stavového stromu omezenou na n. Mezistav je definován seznamem uzlů na dosud vybudované části možné cesty. Přípustnými koncovými stavy jsou všechny permutace n čísel reprezentující hamiltonovské cesty. Návrat se provádí ve stavu, kdy již není možné pokračovat v konstrukci hamiltonovské cesty. Výpočet končí v okamžiku, kdy nalezne první hamiltonovskou cestu a nebo projde neúspěšně celý stavový prostor. Navrhněte paralelní algoritmus typu Master-Slave. Počáteční konfigurace je počáteční úsek hamiltonovské cesty dané délky. Úloha UPO: uzlové pokrytí grafu G(V,E) = jednoduchý neorietovaný neohodnocený graf o n uzlech, m hranách a průměrném stupni k n = přirozené číslo predstavující počet uzlů grafu G, n > 5 k = přirozené číslo řádu jednotek představující průměrný stupeň uzlu grafu G, n>=k>=3 Doporučení pro generování G: Použijte generátor grafu s volbou typu grafu -t AD.

16 adání semestrálních prací [MI-PAR Paralelní algoritmy a systémy] 5 of :09 Nalézt minimální uzlové pokrytí grafu G, tj. minimální podmnožinu uzlů C grafu G, která pokrývá všechny hrany, tzn. každá hrana z E je incidentní s aspoň s jedním uzlem z C. Řešení vždy existuje. Výpis prvků množiny C ve formě matice incidence. Sekvenční algoritmus je BB-DFS s omezenou hloubkou prohledávaného prostoru. Mezistav je dán obsahem podmnožiny C. Stav je přípustný, je-li C uzlové pokrytí. Cena, kterou minimalizujeme, je C. Pokrytí C lze budovat buď přidáváním uzlů počínaje prázdnou množinou, kdy se provádí návrat, pokud jsou všechny hrany pokryty, nebo odebíráním uzlů z nadbytečně velkého pokrytí, kdy se návrat provádí, pokud nelze žadný uzel odebrat, aniž by se narušilo pokrytí. Uzly se stupněm 0 je zbytečné uvažovat. Těsnou dolní mez na C lze vypočítat takto: seřadíme uzly podle jejich stupně sestupně. Pak jednotlivé uzly od nejvyššího stupně sčítáme, dokud součet není vetší nebo roven m tzn. počtu hran. Počet sčítanců je hledaná dolní mez. Trivialní horní mez na C je min(n,m)/2. Navrhněte paralelní algoritmus typu Master-Slave. Počáteční konfigurace je dána podmnožinou C. /mnt/www/courses/mi-par/data/pages/labs/zadani_semestralnich_praci.txt Poslední úprava: 2011/09/22 08:12 autor: xsimecek

Cvičení předmětu MI-PAR P. Tvrdík, I. Šimeček, M. Šoch

Cvičení předmětu MI-PAR P. Tvrdík, I. Šimeček, M. Šoch Cvičení předmětu MI-PAR P. Tvrdík, I. Šimeček, M. Šoch pavel.tvrdik,xsimecek,soch@fit.cvut.cz Katedra počítačových systémů FIT České vysoké učení technické v Praze 2011 MI-PAR, ZS2011/12, Cv.1-6 Příprava

Více

Základy informatiky. Teorie grafů. Zpracoval: Pavel Děrgel Úprava: Daniela Szturcová

Základy informatiky. Teorie grafů. Zpracoval: Pavel Děrgel Úprava: Daniela Szturcová Základy informatiky Teorie grafů Zpracoval: Pavel Děrgel Úprava: Daniela Szturcová Obsah přednášky Barvení mapy Teorie grafů Definice Uzly a hrany Typy grafů Cesty, cykly, souvislost grafů Barvení mapy

Více

Datové struktury 2: Rozptylovací tabulky

Datové struktury 2: Rozptylovací tabulky Datové struktury 2: Rozptylovací tabulky prof. Ing. Pavel Tvrdík CSc. Katedra počítačových systémů Fakulta informačních technologií České vysoké učení technické v Praze c Pavel Tvrdík, 2010 Efektivní algoritmy

Více

Dynamické programování

Dynamické programování Dynamické programování prof. Ing. Pavel Tvrdík CSc. Katedra počítačových systémů Fakulta informačních technologií České vysoké učení technické v Praze c Pavel Tvrdík, 2010 Efektivní algoritmy (BI-EFA)

Více

Obsah prezentace. Základní pojmy v teorii o grafech Úlohy a prohledávání grafů Hledání nejkratších cest

Obsah prezentace. Základní pojmy v teorii o grafech Úlohy a prohledávání grafů Hledání nejkratších cest Obsah prezentace Základní pojmy v teorii o grafech Úlohy a prohledávání grafů Hledání nejkratších cest 1 Základní pojmy Vrchol grafu: {množina V} Je to styčná vazba v grafu, nazývá se též uzlem, prvkem

Více

Cvičení MI-PRC I. Šimeček

Cvičení MI-PRC I. Šimeček Cvičení MI-PRC I. Šimeček xsimecek@fit.cvut.cz Katedra počítačových systémů FIT České vysoké učení technické v Praze Ivan Šimeček, 2011 MI-PRC, LS2010/11, Cv.1-6 Příprava studijního programu Informatika

Více

Úvod do teorie grafů

Úvod do teorie grafů Úvod do teorie grafů Neorientovaný graf G = (V,E,I) V množina uzlů (vrcholů) - vertices E množina hran - edges I incidence incidence je zobrazení, buď: funkce: I: E V x V relace: I E V V incidence přiřadí

Více

VLASTNOSTI GRAFŮ. Doc. RNDr. Josef Kolář, CSc. Katedra teoretické informatiky, FIT České vysoké učení technické v Praze. BI-GRA, LS 2010/2011, Lekce 5

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

Více

Prohledávání do šířky = algoritmus vlny

Prohledávání do šířky = algoritmus vlny Prohledávání do šířky = algoritmus vlny - souběžně zkoušet všechny možné varianty pokračování výpočtu, dokud nenajdeme řešení úlohy průchod stromem všech možných cest výpočtu do šířky, po vrstvách (v každé

Více

Základy informatiky. 07 Teorie grafů. Kačmařík/Szturcová/Děrgel/Rapant

Základy informatiky. 07 Teorie grafů. Kačmařík/Szturcová/Děrgel/Rapant Základy informatiky 07 Teorie grafů Kačmařík/Szturcová/Děrgel/Rapant Obsah přednášky barvení mapy teorie grafů definice uzly a hrany typy grafů cesty, cykly, souvislost grafů Barvení mapy Kolik barev je

Více

Teorie grafů. zadání úloh. letní semestr 2008/2009. Poslední aktualizace: 19. května 2009. First Prev Next Last Go Back Full Screen Close Quit

Teorie grafů. zadání úloh. letní semestr 2008/2009. Poslední aktualizace: 19. května 2009. First Prev Next Last Go Back Full Screen Close Quit Teorie grafů zadání úloh letní semestr 2008/2009 Poslední aktualizace: 19. května 2009 Obsah Úloha číslo 1 5 Úloha číslo 2 6 Úloha číslo 3 7 Úloha číslo 4 8 Úloha číslo 5 9 Úloha číslo 6 10 Úloha číslo

Více

Vzdálenost uzlů v neorientovaném grafu

Vzdálenost uzlů v neorientovaném grafu Vzdálenosti a grafy Vzdálenost uzlů v neorientovaném grafu Je dán neorientovaný neohodnocený graf G = (V,E,I) vzdálenost uzlů u a v v neorientovaném souvislém grafu G je délka nejkratší cesty spojující

Více

Cykly a pole 103. 104. 105. 106. 107. 108. 109. 110. 111. 112. 113. 114. 115. 116.

Cykly a pole 103. 104. 105. 106. 107. 108. 109. 110. 111. 112. 113. 114. 115. 116. Cykly a pole Tato část sbírky je tvořena dalšími úlohami na práci s cykly. Na rozdíl od předchozího oddílu se zde již v řešeních úloh objevuje více cyklů, ať už prováděných po sobě nebo vnořených do sebe.

Více

Řešení: PŘENESVĚŽ (N, A, B, C) = přenes N disků z A na B pomocí C

Řešení: PŘENESVĚŽ (N, A, B, C) = přenes N disků z A na B pomocí C Hanojské věže - 3 kolíky A, B, C - na A je N disků různé velikosti, seřazené od největšího (dole) k nejmenšímu (nahoře) - kolíky B a C jsou prázdné - úkol: přenést všechny disky z A na B, mohou se odkládat

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 Grafové úlohy Daniela Szturcová Tento

Více

STROMOVE ALGORITMY Prohledavani do sirky (level-order) Po vodorovnejch carach fronta

STROMOVE ALGORITMY Prohledavani do sirky (level-order) Po vodorovnejch carach fronta STROMOVE ALGORITMY Prohledavani do sirky (level-order) Po vodorovnejch carach vlož do fronty kořen opakuj, dokud není fronta prázdná 1. vyber uzel z fronty a zpracuj jej 2. vlož do fronty levého následníka

Více

4EK311 Operační výzkum. 5. Teorie grafů

4EK311 Operační výzkum. 5. Teorie grafů 4EK311 Operační výzkum 5. Teorie grafů 5. Teorie grafů definice grafu Graf G = uspořádaná dvojice (V, E), kde V označuje množinu n uzlů u 1, u 2,, u n (u i, i = 1, 2,, n) a E označuje množinu hran h ij,

Více

Metody síťové analýzy

Metody síťové analýzy Metody síťové analýzy Řeší problematiku složitých systémů, zejména pak vazby mezi jejich jednotlivými prvky. Vychází z teorie grafů. Základní metody síťové analýzy: CPM (Critical Path Method) deterministický

Více

07 Základní pojmy teorie grafů

07 Základní pojmy teorie grafů 07 Základní pojmy teorie grafů (definice grafu, vlastnosti grafu, charakteristiky uzlů, ohodnocené grafy) Definice grafu množina objektů, mezi kterými existují určité vazby spojující tyto objekty. Uspořádaná

Více

Grafy. RNDr. Petra Surynková, Ph.D. Univerzita Karlova v Praze Matematicko-fyzikální fakulta.

Grafy. RNDr. Petra Surynková, Ph.D. Univerzita Karlova v Praze Matematicko-fyzikální fakulta. 6 RNDr., Ph.D. Katedra didaktiky matematiky Univerzita Karlova v Praze Matematicko-fyzikální fakulta petra.surynkova@mff.cuni.cz http://surynkova.info množina vrcholů a množina hran hrana vždy spojuje

Více

TGH12 - Problém za milion dolarů

TGH12 - Problém za milion dolarů TGH12 - Problém za milion dolarů Jan Březina Technical University of Liberec 7. května 2013 Složitost problému Co je to problém? Složitost problému Co je to problém? K daným vstupním datům (velkému binárnímu

Více

Teoretická informatika Tomáš Foltýnek Barvení grafů Platónská tělesa

Teoretická informatika Tomáš Foltýnek Barvení grafů Platónská tělesa Tomáš Foltýnek foltynek@pef.mendelu.cz Barvení grafů Platónská tělesa strana 2 Opakování z minulé přednášky Co je to prohledávání grafu? Jaké způsoby prohledávání grafu známe? Jak nalézt východ z bludiště?

Více

Drsná matematika III 10. demonstrovaná cvičení Kostry grafů

Drsná matematika III 10. demonstrovaná cvičení Kostry grafů Drsná matematika III 10. demonstrovaná cvičení Kostry grafů Martin Panák Masarykova univerzita Fakulta informatiky 21.11. 2006 1 Domácí úlohy z minulého týdne Příklad 1 Příklad 2 Příklad 3 2 Borůvkův algoritmus

Více

Paralelní grafové algoritmy

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

Více

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

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

Základy umělé inteligence

Základy umělé inteligence Základy umělé inteligence Automatické řešení úloh Základy umělé inteligence - prohledávání. Vlasta Radová, ZČU, katedra kybernetiky 1 Formalizace úlohy UI chápe řešení úloh jako proces hledání řešení v

Více

Informatika navazující magisterské studium Přijímací zkouška z informatiky 2018 varianta A

Informatika navazující magisterské studium Přijímací zkouška z informatiky 2018 varianta A Informatika navazující magisterské studium Přijímací zkouška z informatiky 2018 varianta A Každá úloha je hodnocena maximálně 25 body. Všechny své odpovědi zdůvodněte! 1. Postavte na stůl do řady vedle

Více

TGH05 - aplikace DFS, průchod do šířky

TGH05 - aplikace DFS, průchod do šířky TGH05 - aplikace DFS, průchod do šířky Jan Březina Technical University of Liberec 31. března 2015 Grafová formulace CPM (critical path method) Orientovaný acyklický graf (DAG) je orientovaný graf neobsahující

Více

State Space Search Step Run Editace úloh Task1 Task2 Init Clear Node Goal Add Shift Remove Add Node Goal Node Shift Remove, Add Node

State Space Search Step Run Editace úloh Task1 Task2 Init Clear Node Goal Add Shift Remove Add Node Goal Node Shift Remove, Add Node State Space Search Po spuštění appletu se na pracovní ploše zobrazí stavový prostor první předpřipravené úlohy: - Zeleným kroužkem je označen počáteční stav úlohy, který nemůže být změněn. - Červeným kroužkem

Více

Kostry. 9. týden. Grafy. Marie Demlová (úpravy Matěj Dostál) 16. dubna 2019

Kostry. 9. týden. Grafy. Marie Demlová (úpravy Matěj Dostál) 16. dubna 2019 Grafy 16. dubna 2019 Tvrzení. Je dán graf G, pak následující je ekvivalentní. 1 G je strom. 2 Graf G nemá kružnice a přidáme-li ke grafu libovolnou hranu, uzavřeme přesně jednu kružnici. 3 Graf G je souvislý

Více

Modely teorie grafů, min.kostra, max.tok, CPM, MPM, PERT

Modely teorie grafů, min.kostra, max.tok, CPM, MPM, PERT PEF ČZU Modely teorie grafů, min.kostra, max.tok, CPM, MPM, PERT Okruhy SZB č. 5 Zdroje: Demel, J., Operační výzkum Jablonský J., Operační výzkum Šubrt, T., Langrová, P., Projektové řízení I. a různá internetová

Více

Příklady z Kombinatoriky a grafů I - LS 2015/2016

Příklady z Kombinatoriky a grafů I - LS 2015/2016 Příklady z Kombinatoriky a grafů I - LS 2015/2016 zadáno 1.-4. 3. 2016, odevzdat do 8.-11. 3. 2016 1. Zjistěte, které z následujících funkcí definovaných pro n N jsou v relaci Θ(), a vzniklé třídy co nejlépe

Více

Přijímací zkouška - matematika

Přijímací zkouška - matematika Přijímací zkouška - matematika Jméno a příjmení pište do okénka Číslo přihlášky Číslo zadání 1 Grafy 1 Pro který z následujících problémů není znám žádný algoritmus s polynomiální časovou složitostí? Problém,

Více

TGH05 - aplikace DFS, průchod do šířky

TGH05 - aplikace DFS, průchod do šířky TGH05 - aplikace DFS, průchod do šířky Jan Březina Technical University of Liberec 28. března 2017 Grafová formulace CPM (critical path method) Orientovaný acyklický graf (DAG) je orientovaný graf neobsahující

Více

4. NP-úplné (NPC) a NP-těžké (NPH) problémy

4. NP-úplné (NPC) a NP-těžké (NPH) problémy Jan Schmidt 2011 Katedra číslicového návrhu Fakulta informačních technologií České vysoké učení technické v Praze Zimní semestr 2011/12 MI-PAA 4. NP-úplné (NPC) a NP-těžké (NPH) problémy Karpova redukce

Více

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

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

Více

Teorie grafů. Kostra grafu. Obsah. Radim Farana Podklady pro výuku pro akademický rok 2013/2014

Teorie grafů. Kostra grafu. Obsah. Radim Farana Podklady pro výuku pro akademický rok 2013/2014 Teorie grafů Radim Farana Podklady pro výuku pro akademický rok 013/014 Obsah Kostra grafu. Tahy,. Úloha čínského pošťáka. Zdroj: Vítečková, M., Přidal, P. & Koudela, T. Výukový modul k předmětu Systémová

Více

Základní pojmy teorie grafů [Graph theory]

Základní pojmy teorie grafů [Graph theory] Část I Základní pojmy teorie grafů [Graph theory] V matematice grafem obvykle rozumíme grafické znázornění funkční závislosti. Pro tento předmět je však podstatnější pohled jiný. V teorii grafů rozumíme

Více

Algoritmy výpočetní geometrie

Algoritmy výpočetní geometrie Algoritmy výpočetní geometrie prof. Ing. Pavel Tvrdík CSc. Katedra počítačových systémů Fakulta informačních technologií České vysoké učení technické v Praze c Pavel Tvrdík, 2010 Efektivní algoritmy (BI-EFA)

Více

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

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

Více

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

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

Více

Státnice odborné č. 20

Státnice odborné č. 20 Státnice odborné č. 20 Shlukování dat Shlukování dat. Metoda k-středů, hierarchické (aglomerativní) shlukování, Kohonenova mapa SOM Shlukování dat Shluková analýza je snaha o seskupení objektů do skupin

Více

VLASTNOSTI GRAFŮ. Vlastnosti grafů - kap. 3 TI 5 / 1

VLASTNOSTI GRAFŮ. Vlastnosti grafů - kap. 3 TI 5 / 1 VLASTNOSTI GRAFŮ Vlastnosti grafů - kap. 3 TI 5 / 1 Pokrytí a vzdálenost Každý graf je sjednocením svých hran (jak je to přesně?).?lze nalézt složitější struktury stejného typu, ze kterých lze nějaký graf

Více

Grafové algoritmy. Programovací techniky

Grafové algoritmy. Programovací techniky Grafové algoritmy Programovací techniky Grafy Úvod - Terminologie Graf je datová struktura, skládá se z množiny vrcholů V a množiny hran mezi vrcholy E Počet vrcholů a hran musí být konečný a nesmí být

Více

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

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

Více

Grafové algoritmy. Programovací techniky

Grafové algoritmy. Programovací techniky Grafové algoritmy Programovací techniky Grafy Úvod - Terminologie Graf je datová struktura, skládá se z množiny vrcholů V a množiny hran mezi vrcholy E Počet vrcholů a hran musí být konečný a nesmí být

Více

Dokumentace programu piskvorek

Dokumentace programu piskvorek Dokumentace programu piskvorek Zápočtového programu z Programování II PRM045 Ondřej Vostal 20. září 2011, Letní semestr, 2010/2011 1 Stručné zadání Napsat textovou hru piškvorky se soupeřem s umělou inteligencí.

Více

ORIENTOVANÉ GRAFY, REPREZENTACE GRAFŮ

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

Více

1. Převeďte dané číslo do dvojkové, osmičkové a šestnáctkové soustavy: a) 759 10 b) 2578 10

1. Převeďte dané číslo do dvojkové, osmičkové a šestnáctkové soustavy: a) 759 10 b) 2578 10 Úlohy- 2.cvičení 1. Převeďte dané číslo do dvojkové, osmičkové a šestnáctkové soustavy: a) 759 10 b) 2578 10 2. Převeďte dané desetinné číslo do dvojkové soustavy (DEC -> BIN): a) 0,8125 10 b) 0,35 10

Více

popel, glum & nepil 16/28

popel, glum & nepil 16/28 Lineární rezoluce další způsob zjemnění rezoluce; místo stromu směřujeme k lineární struktuře důkazu Lineární rezoluční odvození (důkaz) z Ë je posloupnost dvojic ¼ ¼ Ò Ò taková, že Ò ½ a 1. ¼ a všechna

Více

3. Třídy P a NP. Model výpočtu: Turingův stroj Rozhodovací problémy: třídy P a NP Optimalizační problémy: třídy PO a NPO MI-PAA

3. Třídy P a NP. Model výpočtu: Turingův stroj Rozhodovací problémy: třídy P a NP Optimalizační problémy: třídy PO a NPO MI-PAA Jan Schmidt 2011 Katedra číslicového návrhu Fakulta informačních technologií České vysoké učení technické v Praze Zimní semestr 2011/12 MI-PAA EVROPSKÝ SOCIÁLNÍ FOND PRAHA & EU: INVESTUJENE DO VAŠÍ BUDOUCNOSTI

Více

Systematická tvorba jízdního řádu 2. cvičení

Systematická tvorba jízdního řádu 2. cvičení Projektování dopravní obslužnosti Systematická tvorba jízdního řádu 2. cvičení Ing. Zdeněk Michl Ústav logistiky a managementu dopravy ČVUT v Praze Fakulta dopravní Rekapitulace zadání Je dána následující

Více

Zadání a řešení testu z matematiky a zpráva o výsledcích přijímacího řízení do magisterského navazujícího studia od podzimu 2014

Zadání a řešení testu z matematiky a zpráva o výsledcích přijímacího řízení do magisterského navazujícího studia od podzimu 2014 Zadání a řešení testu z matematiky a zpráva o výsledcích přijímacího řízení do magisterského navazujícího studia od podzimu 204 Zpráva o výsledcích přijímacího řízení do magisterského navazujícího studia

Více

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

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

Více

Definice 7.2. Nejmenší přirozené číslo k, pro které je graf G k-obarvitelný, se nazývá chromatické číslo (barevnost) grafu G a značí se χ(g).

Definice 7.2. Nejmenší přirozené číslo k, pro které je graf G k-obarvitelný, se nazývá chromatické číslo (barevnost) grafu G a značí se χ(g). 7 Barevnost grafu Definice 71 Graf G se nazývá k-obarvitelný, jestliže každému jeho uzlu lze přiřadit jednu z barev 1 k tak, že žádné dva sousední uzly nemají stejnou barvu Definice 72 Nejmenší přirozené

Více

1 Definice problému a popis sekvenčního algoritmu

1 Definice problému a popis sekvenčního algoritmu Semestrální projekt X36PAR 2008/2009: Paralelní algoritmus pro řešení problému Marek Handl. ročník, obor výpočetní technika K336 FEL ČVUT, Karlovo nám. 13, 121 3 Praha 2 May 17, 2009 1 Definice problému

Více

Základní datové struktury III: Stromy, haldy

Základní datové struktury III: Stromy, haldy Základní datové struktury III: Stromy, haldy prof. Ing. Pavel Tvrdík CSc. Katedra počítačových systémů Fakulta informačních technologií České vysoké učení technické v Praze c Pavel Tvrdík, 2010 Efektivní

Více

H {{u, v} : u,v U u v }

H {{u, v} : u,v U u v } Obyčejný graf Obyčejný graf je dvojice G= U, H, kde U je konečná množina uzlů (vrcholů) a H {{u, v} : u,v U u v } je (konečná) množina hran. O hraně h={u, v} říkáme, že je incidentní s uzly u a v nebo

Více

CVIČNÝ TEST 41. OBSAH I. Cvičný test 2. Mgr. Tomáš Kotler. II. Autorské řešení 7 III. Klíč 15 IV. Záznamový list 17

CVIČNÝ TEST 41. OBSAH I. Cvičný test 2. Mgr. Tomáš Kotler. II. Autorské řešení 7 III. Klíč 15 IV. Záznamový list 17 CVIČNÝ TEST 41 Mgr. Tomáš Kotler OBSAH I. Cvičný test 2 II. Autorské řešení 7 III. Klíč 15 IV. Záznamový list 17 I. CVIČNÝ TEST VÝCHOZÍ TEXT A OBRÁZEK K ÚLOZE 1 Je dán magický čtverec, pro nějž platí,

Více

Zadání a řešení testu z matematiky a zpráva o výsledcích přijímacího řízení do magisterského navazujícího studia od jara 2017

Zadání a řešení testu z matematiky a zpráva o výsledcích přijímacího řízení do magisterského navazujícího studia od jara 2017 Zadání a řešení testu z matematiky a zpráva o výsledcích přijímacího řízení do magisterského navazujícího studia od jara 207 Zpráva o výsledcích přijímacího řízení do magisterského navazujícího studia

Více

Korespondenční Seminář z Programování

Korespondenční Seminář z Programování Korespondenční Seminář z Programování SOUTĚŽ KASIOPEA 27. ročník Zadání úloh Březen 2015 V tomto textu naleznete zadání úloh online soutěže Kasiopea 2015, která probíhá o víkendu 22. 23. března. Veškeré

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

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

[1] Determinant. det A = 0 pro singulární matici, det A 0 pro regulární matici

[1] Determinant. det A = 0 pro singulární matici, det A 0 pro regulární matici [1] Determinant je číslo jistým způsobem charakterizující čtvercovou matici det A = 0 pro singulární matici, det A 0 pro regulární matici používá se při řešení lineárních soustav... a v mnoha dalších aplikacích

Více

Návrh Designu: Radek Mařík

Návrh Designu: Radek Mařík 1. 7. Najděte nejdelší rostoucí podposloupnost dané posloupnosti. Použijte metodu dynamického programování, napište tabulku průběžných délek částečných výsledků a tabulku předchůdců. a) 5 8 11 13 9 4 1

Více

Aplikovaná numerická matematika - ANM

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

Více

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

TOKY V SÍTÍCH II. Doc. RNDr. Josef Kolář, CSc. Katedra teoretické informatiky, FIT České vysoké učení technické v Praze

TOKY V SÍTÍCH II. Doc. RNDr. Josef Kolář, CSc. Katedra teoretické informatiky, FIT České vysoké učení technické v Praze TOKY V SÍTÍCH II Doc. RNDr. Josef Kolář, CSc. Katedra teoretické informatiky, FIT České vysoké učení technické v Praze BI-GRA, LS 010/011, Lekce 10 Evropský sociální fond Praha & EU: Investujeme do vaší

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

Triangulace. Význam triangulace. trojúhelník je základní grafický element aproximace ploch předzpracování pro jiné algoritmy. příklad triangulace

Triangulace. Význam triangulace. trojúhelník je základní grafický element aproximace ploch předzpracování pro jiné algoritmy. příklad triangulace Význam triangulace trojúhelník je základní grafický element aproximace ploch předzpracování pro jiné algoritmy příklad triangulace Definice Triangulace nad množinou bodů v rovině představuje takové planární

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

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

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

Více

STROMY. v 7 v 8. v 5. v 2. v 3. Základní pojmy. Řešené příklady 1. příklad. Stromy

STROMY. v 7 v 8. v 5. v 2. v 3. Základní pojmy. Řešené příklady 1. příklad. Stromy STROMY Základní pojmy Strom T je souvislý graf, který neobsahuje jako podgraf kružnici. Strom dále budeme značit T = (V, X). Pro graf, který je stromem platí q = n -, kde q = X a n = V. Pro T mezi každou

Více

Úvod do lineární algebry

Úvod do lineární algebry Úvod do lineární algebry 1 Aritmetické vektory Definice 11 Mějme n N a utvořme kartézský součin R n R R R Každou uspořádanou n tici x 1 x 2 x, x n budeme nazývat n rozměrným aritmetickým vektorem Prvky

Více

Teorie grafů. Teoretická informatika Tomáš Foltýnek

Teorie grafů. Teoretická informatika Tomáš Foltýnek Teorie grafů Teoretická informatika Tomáš Foltýnek foltynek@pef.mendelu.cz Opakování z minulé přednášky Co je to složitostní třída? Jaké složitostní třídy známe? Kde leží hranice mezi problémy řešitelnými

Více

Teorie grafů BR Solutions - Orličky Píta (Orličky 2010) Teorie grafů / 66

Teorie grafů BR Solutions - Orličky Píta (Orličky 2010) Teorie grafů / 66 Teorie grafů Petr Hanuš (Píta) BR Solutions - Orličky 2010 23.2. 27.2.2010 Píta (Orličky 2010) Teorie grafů 23.2. 27.2.2010 1 / 66 Pojem grafu Graf je abstraktní pojem matematiky a informatiky užitečný

Více

B3B33ALP - Algoritmy a programování - Zkouška z předmětu B3B33ALP. Marek Boháč bohacm11

B3B33ALP - Algoritmy a programování - Zkouška z předmětu B3B33ALP. Marek Boháč bohacm11 Jméno Příjmení Už. jméno Marek oháč bohacm11 Zkouškový test Otázka 1 Jaká je hodnota proměnné count po vykonání následujícího kódu: data=[4,4,5,5,6,6,6,7,7,7,7,8,8] count=0 for i in range(1,len(data)):

Více

Problémy třídy Pa N P, převody problémů

Problémy třídy Pa N P, převody problémů Problémy třídy Pa N P, převody problémů Cvičení 1. Rozhodněte o příslušnosti následujících problémů do tříd Pa N P(N PCověříme později): a)jedanýgrafsouvislý? danýproblémjeztřídy P,řešíhonapř.algoritmyDFS,BFS.

Více

Návody k domácí části I. kola kategorie C

Návody k domácí části I. kola kategorie C 61. ročník Matematické olympiády Návody k domácí části I. kola kategorie C 1. Najděte všechny trojčleny p(x) = ax 2 + bx + c, které dávají při dělení dvojčlenem x + 1 zbytek 2 a při dělení dvojčlenem x

Více

Školní kolo soutěže Mladý programátor 2013, kategorie C, D

Školní kolo soutěže Mladý programátor 2013, kategorie C, D Doporučené hodnocení školního kola: Hodnotit mohou buď učitelé školy, tým rodičů nebo si žáci, kteří se zúčastní soutěže, mohou ohodnotit úlohy navzájem sami (v tomto případě doporučujeme, aby si žáci

Více

Problém obchodního cestujícího(tsp) Vstup: Množina n měst a vzdálenosti mezi nimi. Výstup: Nejkratší okružní cesta procházející všemi městy.

Problém obchodního cestujícího(tsp) Vstup: Množina n měst a vzdálenosti mezi nimi. Výstup: Nejkratší okružní cesta procházející všemi městy. Problém obchodního cestujícího(tsp) Vstup: Množina n měst a vzdálenosti mezi nimi. Výstup: Nejkratší okružní cesta procházející všemi městy. Poznámka:Slovem okružní myslíme,žecestakončívestejném městě,

Více

Zadání soutěžních úloh

Zadání soutěžních úloh Zadání soutěžních úloh Kategorie žáci Soutěž v programování 24. ročník Krajské kolo 2009/2010 15. až 17. dubna 2010 Úlohy můžete řešit v libovolném pořadí a samozřejmě je nemusíte vyřešit všechny. Za každou

Více

II. Úlohy na vložené cykly a podprogramy

II. Úlohy na vložené cykly a podprogramy II. Úlohy na vložené cykly a podprogramy Společné zadání pro příklady 1. - 10. začíná jednou ze dvou možností popisu vstupních dat. Je dána posloupnost (neboli řada) N reálných (resp. celočíselných) hodnot.

Více

Programy na PODMÍNĚNÝ příkaz IF a CASE

Programy na PODMÍNĚNÝ příkaz IF a CASE Vstupy a výstupy budou vždy upraveny tak, aby bylo zřejmé, co zadáváme a co se zobrazuje. Není-li určeno, zadáváme přirozená čísla. Je-li to možné, používej generátor náhodných čísel vysvětli, co a jak

Více

Vektory a matice. Obsah. Aplikovaná matematika I. Carl Friedrich Gauss. Základní pojmy a operace

Vektory a matice. Obsah. Aplikovaná matematika I. Carl Friedrich Gauss. Základní pojmy a operace Vektory a matice Aplikovaná matematika I Dana Říhová Mendelu Brno Obsah 1 Vektory Základní pojmy a operace Lineární závislost a nezávislost vektorů 2 Matice Základní pojmy, druhy matic Operace s maticemi

Více

Jan Březina. 7. března 2017

Jan Březina. 7. března 2017 TGH03 - stromy, ukládání grafů Jan Březina Technical University of Liberec 7. března 2017 Kružnice - C n V = {1, 2,..., n} E = {{1, 2}, {2, 3},..., {i, i + 1},..., {n 1, n}, {n, 1}} Cesta - P n V = {1,

Více

11. Tabu prohledávání

11. Tabu prohledávání Jan Schmidt 2011 Katedra číslicového návrhu Fakulta informačních technologií České vysoké učení technické v Praze Zimní semestr 2011/12 MI-PAA EVROPSKÝ SOCIÁLNÍ FOND PRAHA & EU: INVESTUJENE DO VAŠÍ BUDOUCNOSTI

Více

10. Soustavy lineárních rovnic, determinanty, Cramerovo pravidlo

10. Soustavy lineárních rovnic, determinanty, Cramerovo pravidlo 0. Soustavy lineárních rovnic, determinanty, Cramerovo pravidlo (PEF PaA) Petr Gurka aktualizováno 9. prosince 202 Obsah Základní pojmy. Motivace.................................2 Aritmetický vektorový

Více

Matematika 1 MA1. 2 Determinant. 3 Adjungovaná matice. 4 Cramerovo pravidlo. 11. přednáška ( ) Matematika 1 1 / 29

Matematika 1 MA1. 2 Determinant. 3 Adjungovaná matice. 4 Cramerovo pravidlo. 11. přednáška ( ) Matematika 1 1 / 29 Matematika 1 11. přednáška MA1 1 Opakování 2 Determinant 3 Adjungovaná matice 4 Cramerovo pravidlo 5 Vlastní čísla a vlastní vektory matic 6 Zkouška; konzultace; výběrová matematika;... 11. přednáška (15.12.2010

Více

Matematika NÁRODNÍ SROVNÁVACÍ ZKOUŠKY ZADÁNÍ NEOTVÍREJTE, POČKEJTE NA POKYN!

Matematika NÁRODNÍ SROVNÁVACÍ ZKOUŠKY ZADÁNÍ NEOTVÍREJTE, POČKEJTE NA POKYN! NÁRODNÍ SROVNÁVACÍ ZKOUŠKY Matematika 017 ZADÁNÍ NEOTVÍREJTE, POČKEJTE NA POKYN! Zopakujte si základní informace ke zkoušce: n Test obsahuje 0 úloh a na jeho řešení máte 90 minut čistého času. n V průběhu

Více

63. ročník Matematické olympiády 2013/2014

63. ročník Matematické olympiády 2013/2014 63. ročník Matematické olympiády 2013/2014 Úlohy ústředního kola kategorie P 2. soutěžní den Na řešení úloh máte 4,5 hodiny čistého času. Při soutěži je zakázáno používat jakékoliv pomůcky kromě psacích

Více

B3B33ALP - Algoritmy a programování - Zkouška z předmětu B3B33ALP. Marek Boháč bohacm11

B3B33ALP - Algoritmy a programování - Zkouška z předmětu B3B33ALP. Marek Boháč bohacm11 333LP - lgoritmy a programování - Zkouška z předmětu 333LP Jméno Příjmení Už. jméno Marek oháč bohacm11 Zkouškový test Otázka 1 Jaká je hodnota proměnné count po vykonání následujícího kódu: data=[4,4,5,5,6,6,6,7,7,7,7,8,8]

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

Kombinatorická minimalizace

Kombinatorická minimalizace Kombinatorická minimalizace Cílem je nalézt globální minimum ve velké diskrétní množině, kde může být mnoho lokálních minim. Úloha obchodního cestujícího Cílem je najít nejkratší cestu, která spojuje všechny

Více

2. Schurova věta. Petr Tichý. 3. října 2012

2. Schurova věta. Petr Tichý. 3. října 2012 2. Schurova věta Petr Tichý 3. října 2012 1 Podobnostní transformace a výpočet vlastních čísel Obecný princip: Úloha: Řešíme-li matematickou úlohu, je často velmi vhodné hledat její ekvivalentní formulaci

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

2. RBF neuronové sítě

2. RBF neuronové sítě 2. RBF neuronové sítě Kapitola pojednává o neuronových sítích typu RBF. V kapitole je popsána základní struktura tohoto typu neuronové sítě. Poté následuje definice a charakteristika jednotlivých radiálně

Více

10 Přednáška ze

10 Přednáška ze 10 Přednáška ze 17. 12. 2003 Věta: G = (V, E) lze nakreslit jedním uzavřeným tahem G je souvislý a má všechny stupně sudé. Důkaz G je souvislý. Necht v je libovolný vrchol v G. A mějme uzavřený eurelovský

Více

Matematika B101MA1, B101MA2

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

Více