Martin Milata, Pokud je alespoň jeden rozměr čokolády sudý (s výjimkou tabulky velikosti 1x2, která už je od

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

Download "Martin Milata, <256615@mail.muni.cz> 27.11.2007. Pokud je alespoň jeden rozměr čokolády sudý (s výjimkou tabulky velikosti 1x2, která už je od"

Transkript

1 IB000 Lámání čokolády Martin Milata, Čokoláda s alespoň jedním sudým rozměrem Pokud je alespoň jeden rozměr čokolády sudý (s výjimkou tabulky velikosti 1x2, která už je od začátku podle pravidel nedělitelná a proto vyhrává druhý hráč), má první hráč triviální vyhrávající strategii. Hráče, který láme jako první, budu označovat jako hráče A, druhého jako hráče B. Strategie hráče A je následující: 1. Hráč A rozlomí tabulku na dvě stejně velké poloviny. Jednu si označíme jako červenou, druhou jako modrou. 2. Pokud jsou všechny kousky dále nedělitelné hra končí a vyhrává hráč A, protože lámal jako poslední. Pokud hra pokračuje, zřejmě platí, že červená i modrá část čokolády jsou rozlámány identickým způsobem. 3. Hráč B rozlomí nějaký kousek čokolády. Protože existuje i identický kousek opačné barvy, rozlomí jej stejným způsobem hráč A. 4. Pokračujeme bodem 2. 2 Tabulka s lichými rozměry Pro jednotlivé tabulky o lichých rozměrech jsem problém řešil prochazením herního stromu 1. Uzly tohoto stromu jsou jednotlivé možné stavy hry, tj. jak je v daném okamžiku nalámána čokoláda, kořen je počáteční stav hry, tj. celý kousek čokolády o daných rozměrech a listy jsou konečné stavy hry, kdy nelze zlomit další kousek a jeden z hráčů tím pádem vyhrál. Pokud je vzdálenost od kořene k listu lichá, vyhrál hráč A, pokud je sudá, vyhrál hráč B. Skutečnost zjištěná ohledně čokolády s jedním sudým rozměrem se dá zobecnit na stav čokolády, kdy jeden její díl má aspoň jeden sudý rozměr a neexistují jiné díly, které by se podle pravidel hry daly zlomit. K procházení tohoto stromu jsem použil jednoduchý rekurzivní algoritmus: Pokud neexistuje kousek, který by se dal rozlomit, hráč, který je na tahu nemůže nic dělat, proto v takové situaci vždy prohrává a výherní (prázdnou) strategii má v tomto případě hráč, který zrovna není na tahu. Pokud existuje pouze jediný rozlomitelný kousek a alespoň jeden jeho rozměr je sudý, pak hráč, který je momentálně na tahu může použít strategii popsanou v prví části tohoto dokumentu a tak si pokaždé zajistit vítězství. Tuto část algoritmu lze vynechat, slouží pouze pro jeho zrychlení. 1 Spíše se jedná o orientovaný acyklický graf, protože ke stejnému vrcholu se dá dojít více cestami a pokud jsou dva vrcholy stejné, je stejný i podstrom jejich potomků. Z důvodu jednoduchosti jsem ale pracoval se stromem, čímž jsem pravděpodobně algorimus mi těžko odhadnutelnou měrou zpomalil. 1

2 Pokud není splněna ani jedna z ukončovacích podmínek, pak algoritmus rekurzivně zjistí zda-li má druhý hráč vyhrávající strategii pro všechny potomky aktuálního vrcholu herního stromu. Pokud ano, aktuální hráč nemůže hru svou volbou ovlivnit a prohrál. Pokud existuje potomek, pro který nemá druhý hráč vyhrávající strategii, pak jej aktuální hráč může zvolit a tím si zajistit výhru. Důkaz správnosti algoritmu strukturální indukcí na herním stromě v podstatě kopíruje jeho definici: Báze listy stromu. Pokud neexistuje rozlomitelný kousek, pak algoritmus určí prohru hráče, který je právě na tahu, což je podle pravidel hry správně. Algoritmus tedy vrací správný výsledek pro listy stromu. Indukční krok předpokládáme, že algoritmus je správný pro všechny potomky vrcholu V a chceme dokázat, že je tím pádem správný i pro něj. Pokud algoritmus oznámí existenci výherní strategie druhého hráče pro všechny potomky vrcholu V, pak pro vrchol V určí, že aktuální hráč nemá vyhrávající strategii, což je zřejmě správné. Případ neexistence výherní strategie druhého hráče pro alespoň jednoho potomka pak znamená, že aktuální hráč vyhrávající strategii má. Algoritmus je tedy korektní pro všechny vrcholy herního stromu, včetně kořene. 3 Vypočítané hodnoty Vzhledem k exponenciální složitosti algoritmu a jeho pravděpodobně nepříliš efektivní implementaci se mi podařilo určit hráče s výherní strategií pouze u velmi malých hodnot m a n. A znamená, že vždy vyhrávající strategii má hráč, který začíná lámat, B znamená, že ji má druhý hráč a,,- znamená, že jsem z časových důvodů nebyl schopen hráče určit. m/n B 3 B B 5 A B B 7 B B B B 9 A B B B B A B A A B B A A B Pro m=1 má hráč A dále vyhravající strategii pro tato n: 25, 29, 33, 35; hrac B pak pro 27, 31, Zdrojový kód Algoritmus je implementován ve funkcionálním jazyce Haskell. Následuje kompletní zdrojový kód. 2

3 module Main where import Data. List import System. Environment type Piece = ( Int, Int, Int ) mensi rozmer, v e t s i rozmer pocet, pocet type Cut = [ Piece ] n e k o l i k kousku cokolady herni s t a v h l a v n i funkce z k o n t r o l u j e argumenty predane na prikazovem radku, prevede j e na c i s l a, preda j e f u n k c i whowins, k t e r a e v e n t u a l n e v r a t i hrace s vyherni s t r a t e g i i, k t e r e h o funkce main v y p i s e main : : IO ( ) main = do args < getargs i f length args /= 2 then error Spatny p o c e t argumentu else do l e t m = head args n = head $ t a i l args putstr ( Rozmery ++ m ++ x ++ n ++ : ) i f whowins ( read m) ( read n ) then putstrln Prvni hrac ma viteznou s t r a t e g i i else putstrln Druhy hrac ma viteznou s t r a t e g i i wrapper o k o lo playerwins, argumenty j s o u rozmery cokolady, v r a c i t r u e pokud ma v i t e z n o u s t r a t e g i i prvni hrac, j i n a k f a l s e whowins : : Int > Int > Bool whowins m n = playerwins $ normalize [ (m, n, 1 ) ] v r a t i true, pokud ma hrac, k t e r y j e v t e t o p o z i c i na tahu pro danou herni p o z i c i vyherni s t r a t e g i i pokud se cokolada j i z neda rozlomit, hrac vzdy prohrava pokud ma cokolada j e d i n y podle p r a v i d e l r o z l o m i t e l n y d i l e k a ten ma alespon jeden sudy rozmer, hrac muze vzdy vyhrat v o s t a t n i c h pripadech j e r e k u r z i v n e zkontrolovano, j e s t l i alespon jedno z moznych rozlomeni ma pro t o h o t o hrace vyherni s t r a t e g i i ( t zn. zda l i vsechna rozlomeni nevyhrava druhy hrac ) playerwins : : Cut > Bool playerwins [ ] = False playerwins c s i n g l e E v e n S i d e c = True otherwise = not ( a l l playerwins ( cuts c ) ) 3

4 v r a t i true, pokud ma cokolada j e d i n y r o z l o m i t e l n y d i l e k a ten ma alespon jeden rozmer sudy s i n g l e E v e n S i d e : : Cut > Bool s i n g l e E v e n S i d e [ (m, n, c ) ] = c == 1 && ( even m even n ) s i n g l e E v e n S i d e c = False v r a t i seznam vsech moznych rozlomeni cokolady, k t e r e j e mozne p odle p r a v i d e l u d e l a t jednim zlomenim jednoho kousku cokolady predanych jako argument cuts : : Cut > [ Cut ] cuts c = nub $ sortby cmpcuts $ map normalize $ concat $ zipwith f [ 0.. ( length c ) 1] ( repeat c ) where f n px = map (\ x > x ++ take n px ++ drop ( n+1) px ) ( b r e a k p i e c e ( px!! n ) ) porovnavaci funkce, k t e r a urcuje v jakem poradi ma funkce c u t s v r a c e t mozna rozlomeni cmpcuts : : Cut > Cut > Ordering cmpcuts xs ys s i n g l e E v e n S i d e xs = LT s i n g l e E v e n S i d e ys = GT otherwise = compare ( area xs ) ( area ys ) where area = foldr ( \ (m, n, c ) a > a+m n c ) 0 funkce v r a c e j i c i vsechna mozna rozlomeni jednoho kousku cokolady j s o u vytvoreny vsechny mozne v e r t i k a l n i i h o r i z o n t a l n i rozlomeni, prevedeny do normalniho tvaru, odstraneny d u p l i c i t y a odstraneny rozlomeni s kouskem 1x1, p r o t o z e takove neni podle p r a v i d e l l e g a l n i b r e a k p i e c e : : Piece > [ Cut ] b r e a k p i e c e p = f i l t e r not1x1 $ nub $ map normalize $ ( breakph p ) ++ ( breakpv p ) where not1x1 ( (m, n, c ) : xs ) = not (m == n && n == 1) not1x1 [ ] = True funkce v r a c e j i c i vsechna mozna rozlomeni kousku h o r i z o n t a l n e breakph : : Piece > [ Cut ] breakph (m, n, c ) = zipwith f [ 1.. m div 2 ] ( repeat (m, n, c ) ) where f x (m, n, c ) = [ ( x, n, 1 ), (m x, n, 1 ) ] ++ i f c > 1 then [ (m, n, c 1)] else [ ] 4

5 funkce v r a c e j i c i vsechna mozna rozlomeni kousku v e r t i k a l n e breakpv : : Piece > [ Cut ] breakpv (m, n, c ) = zipwith f [ 1.. n div 2 ] ( repeat (m, n, c ) ) where f x (m, n, c ) = [ (m, x, 1 ), (m, n x, 1 ) ] ++ i f c > 1 then [ (m, n, c 1)] else [ ] funkce p r e v a d e j i c i rozlamanou cokoladu do normalniho tvaru, tzn. o t o c i vsechny kousky tak, aby j e j i c h prvni rozmer b y l mensi nebo roven druhemu, s e r a d i j e podle v e l i k o s t i, s l o u c i kousky s t e j n e v e l i k o s t i a o d s t r a n i kousky v e l i k o s t i 1x2 a 1x3, p r o t o z e t y uz se n e d a j i d a l e r o z l o m i t a tim padem j s o u pro nas nezajimave normalize : : Cut > Cut normalize = k i l l unpieces. s o r t P i e c e s. normpieces o t o c e n i kousku normpieces : : Cut > Cut normpieces [ ] = [ ] normpieces ( (m, n, c ) : ps ) = normal : ( normpieces ps ) where normal = i f m > n then (n,m, c ) else (m, n, c ) s e r a z e n i kousku s o r t P i e c e s : : Cut > Cut s o r t P i e c e s = sort s l o u c e n i kousku s t e j n e v e l i k o s t i unpieces : : Cut > Cut unpieces [ ] = [ ] unpieces ( p : [ ] ) = p : [ ] unpieces ( (m, n, c ) : (m, n, c ) : ps ) = i f m == m && n == n then unpieces ( (m, n, c+c ) : ps ) else (m, n, c ) : ( unpieces ( (m, n, c ) : ps ) ) o d s t r a n e n i kousku v e l i k o s t 1x2 a 1x3 k i l l : : Cut > Cut k i l l ( (m, n, c ) : xs ) m == 1 && n == 2 = k i l l xs m == 1 && n == 3 = xs k i l l xs = xs 5

Teorie her a ekonomické rozhodování. 4. Hry v rozvinutém tvaru

Teorie her a ekonomické rozhodování. 4. Hry v rozvinutém tvaru Teorie her a ekonomické rozhodování 4. Hry v rozvinutém tvaru 4.1 Hry v rozvinutém tvaru Hra v normálním tvaru hráči provedou jediné rozhodnutí a to všichni najednou v rozvinutém tvaru řada po sobě následujících

Více

IB015 Neimperativní programování. Seznamy, Typy a Rekurze. Jiří Barnat Libor Škarvada

IB015 Neimperativní programování. Seznamy, Typy a Rekurze. Jiří Barnat Libor Škarvada IB015 Neimperativní programování Seznamy, Typy a Rekurze Jiří Barnat Libor Škarvada Sekce IB015 Neimperativní programování 02 str. 2/36 Uspořádané n-tice a seznamy Programování a data IB015 Neimperativní

Více

IB015 Neimperativní programování. Časová složitost, Typové třídy, Moduly. Jiří Barnat Libor Škarvada

IB015 Neimperativní programování. Časová složitost, Typové třídy, Moduly. Jiří Barnat Libor Škarvada IB015 Neimperativní programování Časová složitost, Typové třídy, Moduly Jiří Barnat Libor Škarvada Sekce IB015 Neimperativní programování 07 str. 2/37 Časová složitost Časová složitost algoritmu IB015

Více

Programovací jazyk Haskell

Programovací jazyk Haskell Programovací jazyk Haskell Ing. Lumír Návrat katedra informatiky, D 403 59 732 3252 Historie září 1991 Gofer experimentální jazyk Mark P. Jones únor 1995 Hugs Hugs98 téměř úplná implementace jazyka Haskell

Více

Dijkstrův algoritmus

Dijkstrův algoritmus Dijkstrův algoritmus Hledání nejkratší cesty v nezáporně hranově ohodnoceném grafu Necht je dán orientovaný graf G = (V, H) a funkce, která každé hraně h = (u, v) H přiřadí nezáporné reálné číslo označované

Více

Programovací í jazyk Haskell

Programovací í jazyk Haskell Historie Programovací í jazyk Haskell doc. Dr. Ing. Miroslav Beneš katedra informatiky, A-1007 59 732 4213 září 1991 Gofer experimentální jazyk Mark P. Jones únor 1995 Hugs Hugs98 téměř úplná implementace

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

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

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

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

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

Definice uživatelského typu. Uživatelem definované typy. Součinové datové typy. Součtové datové typy. FLP - Uživatelem definované typy

Definice uživatelského typu. Uživatelem definované typy. Součinové datové typy. Součtové datové typy. FLP - Uživatelem definované typy Uživatelem definované typy Ing. Lumír Návrat katedra informatiky, A 1018 59 732 3252 Definice uživatelského typu data Color = Red Green Blue Color typový konstruktor Red / Green / Blue datové konstruktory

Více

Předmět: Algoritmizace praktické aplikace

Předmět: Algoritmizace praktické aplikace Předmět: Algoritmizace praktické aplikace Vytvořil: Roman Vostrý Zadání: Vytvoření funkcí na stromech (reprezentace stromu haldou). Zadané funkce: 1. Počet vrcholů 2. Počet listů 3. Součet 4. Hloubka 5.

Více

Rozklad problému na podproblémy

Rozklad problému na podproblémy Rozklad problému na podproblémy Postupný návrh programu rozkladem problému na podproblémy zadaný problém rozložíme na podproblémy pro řešení podproblémů zavedeme abstraktní příkazy s pomocí abstraktních

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

Abstrakt. V příspěvku se budeme zabývat kombinatorickými hrami s úplnou informací

Abstrakt. V příspěvku se budeme zabývat kombinatorickými hrami s úplnou informací Teorie her Viki Němeček Abstrakt. V příspěvku se budeme zabývat kombinatorickými hrami s úplnou informací pro dva hráče. Vysvětlíme si základní pojmy, zahrajeme si několik jednodušších her a naučíme se

Více

Algoritmy a datové struktury

Algoritmy a datové struktury Algoritmy a datové struktury Stromy 1 / 32 Obsah přednášky Pole a seznamy Stromy Procházení stromů Binární stromy Procházení BS Binární vyhledávací stromy 2 / 32 Pole Hledání v poli metodou půlení intervalu

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

Stromy. Strom: souvislý graf bez kružnic využití: počítačová grafika seznam objektů efektivní vyhledávání výpočetní stromy rozhodovací stromy

Stromy. Strom: souvislý graf bez kružnic využití: počítačová grafika seznam objektů efektivní vyhledávání výpočetní stromy rozhodovací stromy Stromy úvod Stromy Strom: souvislý graf bez kružnic využití: počítačová grafika seznam objektů efektivní vyhledávání výpočetní stromy rozhodovací stromy Neorientovaný strom Orientovaný strom Kořenový orientovaný

Více

Motivace. Vstup a výstup. Minimální komunikace. Motivace. ÚDPJ - Vstup a výstup. Ing. Lumír Návrat katedra informatiky, A

Motivace. Vstup a výstup. Minimální komunikace. Motivace. ÚDPJ - Vstup a výstup. Ing. Lumír Návrat katedra informatiky, A Motivace Vstup a výstup Ing. Lumír Návrat katedra informatiky, A-1018 59 732 3252 Načtení čísla val :: Int val = 42 function :: Int -> Int function = val + n inputint :: Int inputdiff = inputint - inputint

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

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

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

Interpret jazyka IFJ2011

Interpret jazyka IFJ2011 Dokumentace projektu Interpret jazyka IFJ2011 Tým číslo 093, varianta b/3/i: 20 % bodů: Cupák Michal (xcupak04) vedoucí týmu 20 % bodů: Číž Miloslav (xcizmi00) 20 % bodů: Černá Tereza (xcerna01) 20 % bodů:

Více

Algoritmizace a programování

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

Více

Stromy. Karel Richta a kol. Katedra počítačů Fakulta elektrotechnická České vysoké učení technické v Praze Karel Richta a kol.

Stromy. Karel Richta a kol. Katedra počítačů Fakulta elektrotechnická České vysoké učení technické v Praze Karel Richta a kol. Stromy Karel Richta a kol. Katedra počítačů Fakulta elektrotechnická České vysoké učení technické v Praze Karel Richta a kol., 2018, B6B36DSA 01/2018, Lekce 9 https://cw.fel.cvut.cz/wiki/courses/b6b36dsa/start

Více

DSA, První krok: máme dokázat, že pro left = right vrátí volání f(array, elem, left, right)

DSA, První krok: máme dokázat, že pro left = right vrátí volání f(array, elem, left, right) Indukcí dokažte následující výrok: pokud lef t a right jsou parametry funkce f a platí left right, pak volání f(array, left, right) vrátí minimální hodnotu z hodnot všech prvků v poli array na indexech

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

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 Stromy a les. Definice a základní vlastnosti stromů. Kostry grafů a jejich počet.

4 Stromy a les. Definice a základní vlastnosti stromů. Kostry grafů a jejich počet. 4 Stromy a les Jedním ze základních, a patrně nejjednodušším, typem grafů jsou takzvané stromy. Jedná se o souvislé grafy bez kružnic. Přes svou (zdánlivou) jednoduchost mají stromy bohatou strukturu a

Více

ř ý Š Ř ú ý Ž ř ú Š ň š ř ý Ž ř ř ř ř ř Ž ř ř š Ž ú ý š ý Í š ý š ů ň ý š Ž š ů ý ý ů ý ů Ú š ýš ř ř Ž ýš ý Ž Ž ř Í ů ř ř ý ýš Ž ž ý ř ř Ž ř ú ř ř š ý Ř Ú ň Ž ý ř š ř ů Ř ň ž Š Ř ž ř Ž ý ů ř ů ř Ž ř Ž

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

Dynamické datové struktury III.

Dynamické datové struktury III. Dynamické datové struktury III. Halda. Tomáš Bayer bayertom@natur.cuni.cz Katedra aplikované geoinformatiky a kartografie, Přírodovědecká fakulta UK. Tomáš Bayer bayertom@natur.cuni.cz (Katedra aplikované

Více

Úvod do teorie her

Úvod do teorie her Úvod do teorie her. Formy her a rovnovážné řešení Tomáš Kroupa http://staff.utia.cas.cz/kroupa/ 208 ÚTIA AV ČR Program. Definujeme 2 základní formy pro studium různých her: rozvinutou, strategickou. 2.

Více

14.4.2010. Obsah přednášky 7. Základy programování (IZAPR) Přednáška 7. Parametry metod. Parametry, argumenty. Parametry metod.

14.4.2010. Obsah přednášky 7. Základy programování (IZAPR) Přednáška 7. Parametry metod. Parametry, argumenty. Parametry metod. Základy programování (IZAPR) Přednáška 7 Ing. Michael Bažant, Ph.D. Katedra softwarových technologií Kancelář č. 229, Náměstí Čs. legií Michael.Bazant@upce.cz Obsah přednášky 7 Parametry metod, předávání

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

Hledáme efektivní řešení úloh na grafu

Hledáme efektivní řešení úloh na grafu Hledáme efektivní řešení úloh na grafu Mějme dán graf následující úlohy: G = ( V, E), chceme algoritmicky vyřešit Je daný vrchol t dosažitelný z vrcholu s? Pokud ano, jaká nejkratší cesta tyto vrcholy

Více

ALGORITMIZACE 2010/03 STROMY, BINÁRNÍ STROMY VZTAH STROMŮ A REKURZE ZÁSOBNÍK IMPLEMENTUJE REKURZI PROHLEDÁVÁNÍ S NÁVRATEM (BACKTRACK)

ALGORITMIZACE 2010/03 STROMY, BINÁRNÍ STROMY VZTAH STROMŮ A REKURZE ZÁSOBNÍK IMPLEMENTUJE REKURZI PROHLEDÁVÁNÍ S NÁVRATEM (BACKTRACK) ALGORITMIZACE 2010/03 STROMY, BINÁRNÍ STROMY VZTAH STROMŮ A REKURZE ZÁSOBNÍK IMPLEMENTUJE REKURZI PROHLEDÁVÁNÍ S NÁVRATEM (BACKTRACK) Strom / tree uzel, vrchol / node, vertex hrana / edge vnitřní uzel

Více

Anotace. Středník II!! 7. 5. 2010 programování her.

Anotace. Středník II!! 7. 5. 2010 programování her. Anotace Středník II!! 7. 5. 2010 programování her. Teorie her Kombinatorická hra je hrou dvou hráčů. Stav hry je určen pozicí nějakých předmětů. Všechny zúčastněné předměty jsou viditelné. Jde o tzv. hru

Více

Algoritmizace Dynamické programování. Jiří Vyskočil, Marko Genyg-Berezovskyj 2010

Algoritmizace Dynamické programování. Jiří Vyskočil, Marko Genyg-Berezovskyj 2010 Dynamické programování Jiří Vyskočil, Marko Genyg-Berezovskyj 2010 Rozděl a panuj (divide-and-conquer) Rozděl (Divide): Rozděl problém na několik podproblémů tak, aby tyto podproblémy odpovídaly původnímu

Více

Graf. Uzly Lokality, servery Osoby fyzické i právní Informatické objekty... atd. Hrany Cesty, propojení Vztahy Informatické závislosti... atd.

Graf. Uzly Lokality, servery Osoby fyzické i právní Informatické objekty... atd. Hrany Cesty, propojení Vztahy Informatické závislosti... atd. Graf 2 0 3 1 4 5 Uzly Lokality, servery Osoby fyzické i právní Informatické objekty... atd. Hrany Cesty, propojení Vztahy Informatické závislosti... atd. Běžné reprezentace grafu Uzly = indexy Stupně uzlů

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

Algoritmus Minimax. Tomáš Kühr. Projektový seminář 1

Algoritmus Minimax. Tomáš Kühr. Projektový seminář 1 Projektový seminář 1 Základní pojmy Tah = přemístění figury hráče na tahu odpovídající pravidlům dané hry. Při tahu může být manipulováno i s figurami soupeře, pokud to odpovídá pravidlům hry (např. odstranění

Více

6. Tahy / Kostry / Nejkratší cesty

6. Tahy / Kostry / Nejkratší cesty 6. Tahy / Kostry / Nejkratší cesty BI-EP2 Efektivní programování 2 LS 2017/2018 Ing. Martin Kačer, Ph.D. 2011-18 Martin Kačer Katedra teoretické informatiky Fakulta informačních technologií České vysoké

Více

HERNÍ PLÁN MULTIFRUITS APOLLO GAMES APKSOFT s.r.o.

HERNÍ PLÁN MULTIFRUITS APOLLO GAMES APKSOFT s.r.o. HERNÍ PLÁN MULTIFRUITS APOLLO GAMES APKSOFT s.r.o. HISTORIE REVIZÍ Datum Verze Popis změn Autor změn 24. 1. 2011 1.0 První naplnění Karel Kyovský 2 OBSAH Historie revizí... 2 Obsah... 3 Úvod... 4 Rozsah

Více

Algoritmizace složitost rekurzivních algoritmů. Jiří Vyskočil, Marko Genyg-Berezovskyj 2010

Algoritmizace složitost rekurzivních algoritmů. Jiří Vyskočil, Marko Genyg-Berezovskyj 2010 složitost rekurzivních algoritmů Jiří Vyskočil, Marko Genyg-Berezovskyj 2010 Vyjádřen ení složitosti rekurzivního algoritmu rekurentním m tvarem Příklad vyjádření složitosti rekurzivního algoritmu rekurencí:

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

bfs, dfs, fronta, zásobník, prioritní fronta, halda

bfs, dfs, fronta, zásobník, prioritní fronta, halda bfs, dfs, fronta, zásobník, prioritní fronta, halda Petr Ryšavý 20. září 2016 Katedra počítačů, FEL, ČVUT prohledávání grafů Proč prohledávání grafů Zkontrolovat, zda je sít spojitá. Hledání nejkratší

Více

a) b) c) Radek Mařík

a) b) c) Radek Mařík 2012-03-20 Radek Mařík 1. Čísla ze zadané posloupnosti postupně vkládejte do prázdného binárního vyhledávacího stromu (BVS), který nevyvažujte. Jak bude vypadat takto vytvořený BVS? Poté postupně odstraňte

Více

Ý ú š š š Ú ď ú ú ú š ý ú š ů ž ú ó ý ú š š šú ú ú ž š ů ý š š š ýš ú ž š ú ž ý ů ý ýš ý ý ý ů ý š ýš ů ú ú ý š ú ž ý ž š š ú š ž ž ž ž š š ý š ý ž š ú ů š ó ý ž ž ú š ů š ž ň ú š ú ů Ú š ů ů ú ú ž ž ú

Více

Dynamicky vázané metody. Pozdní vazba, virtuální metody

Dynamicky vázané metody. Pozdní vazba, virtuální metody Dynamicky vázané metody Pozdní vazba, virtuální metody Motivace... class TBod protected: float x,y; public: int vrat_pocet_bodu() return 1; ; od třídy TBod odvodíme: class TUsecka: public TBod protected:

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

Stromy. Příklady. Rekurzivní datové struktury. Základní pojmy

Stromy. Příklady. Rekurzivní datové struktury. Základní pojmy Základní pojmy Stromy doc. Ing. Miroslav Beneš, Ph.D. katedra informatiky FEI VŠB-TUO A-1007 / 597 324 213 http://www.cs.vsb.cz/benes Miroslav.Benes@vsb.cz Graf uzly hrany orientované / neorientované Souvislý

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

Varianty Monte Carlo Tree Search

Varianty Monte Carlo Tree Search Varianty Monte Carlo Tree Search tomas.kuca@matfyz.cz Herní algoritmy MFF UK Praha 2011 Témata O čem bude přednáška? Monte Carlo Tree Search od her podobných Go (bez Go) k vzdálenějším rozdíly a rozšíření

Více

Vyplácení: a) Přes Hopper v mincích 10,-- Kč. b) pomocí klíčového spínače a tlačítka VÝPLATA (Handpay - funkce)

Vyplácení: a) Přes Hopper v mincích 10,-- Kč. b) pomocí klíčového spínače a tlačítka VÝPLATA (Handpay - funkce) Fruit Palace II 750 obsahuje 8 různých her (Průběh hry viz. popis hry) Sizzling Hot 750 Fruits n Royals 750 Ultra Hot 750 Supra Gems 750 Xtra Hot 750 Power Stars 750 American Poker II 750 Hi-Lo Hra 750

Více

TGH07 - Chytré stromové datové struktury

TGH07 - Chytré stromové datové struktury TGH07 - Chytré stromové datové struktury Jan Březina Technical University of Liberec 1. dubna 2014 Prioritní fronta Datová struktura s operacemi: Odeber Minum (AccessMin, DeleteMin) - vrat prvek s minimálním

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

Distribuovaná synchronizace. Paralelní a distribuované systémy. 11. Přednáška Vzájemné vyloučení. Centralizovaný algoritmus - fronta procesů

Distribuovaná synchronizace. Paralelní a distribuované systémy. 11. Přednáška Vzájemné vyloučení. Centralizovaný algoritmus - fronta procesů Distribuovaná synchronizace Využití kritické sekce při vzájemném vyloučení v distribuovaném systému Paralelní a distribuované systémy 11. Přednáška Vzájemné vyloučení Logicky distribuovaný systém s vlákny

Více

ALG 04. Zásobník Fronta Operace Enqueue, Dequeue, Front, Empty... Cyklická implementace fronty. Průchod stromem do šířky

ALG 04. Zásobník Fronta Operace Enqueue, Dequeue, Front, Empty... Cyklická implementace fronty. Průchod stromem do šířky LG 04 Zásobník Fronta Operace nqueue, equeue, Front, mpty... yklická implementace fronty Průchod stromem do šířky Grafy průchod grafem do šířky průchod grafem do hloubky Ořezávání a heuristiky 1 Zásobník

Více

Hraní her. (Teorie a algoritmy hraní her) Řešení úloh hraní her. Václav Matoušek /

Hraní her. (Teorie a algoritmy hraní her) Řešení úloh hraní her. Václav Matoušek / Hraní her (Teorie a algoritmy hraní her) 8. 3. 2019 2-1 Hraní her pro dva a více hráčů Počítač je při hraní jakékoli hry: silný v komplikovaných situacích s množstvím kombinací, má obrovskou znalost zahájení

Více

Test prvočíselnosti. Úkol: otestovat dané číslo N, zda je prvočíslem

Test prvočíselnosti. Úkol: otestovat dané číslo N, zda je prvočíslem Test prvočíselnosti Úkol: otestovat dané číslo N, zda je prvočíslem 1. zkusit všechny dělitele od 2 do N-1 časová složitost O(N) cca N testů 2. stačí zkoušet všechny dělitele od 2 do N/2 (větší dělitel

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

1 PRVOCISLA: KRATKY UKAZKOVY PRIKLAD NA DEMONSTRACI BALIKU WEB 1

1 PRVOCISLA: KRATKY UKAZKOVY PRIKLAD NA DEMONSTRACI BALIKU WEB 1 1 PRVOCISLA: KRATKY UKAZKOVY PRIKLAD NA DEMONSTRACI BALIKU WEB 1 1. Prvocisla: Kratky ukazkovy priklad na demonstraci baliku WEB. Nasledujici program slouzi pouze jako ukazka nekterych moznosti a sluzeb,

Více

TGH07 - Chytré stromové datové struktury

TGH07 - Chytré stromové datové struktury TGH07 - Chytré stromové datové struktury Jan Březina Technical University of Liberec 5. dubna 2017 Prioritní fronta Datová struktura s operacemi: Odeber Minum (AccessMin, DeleteMin) - vrat prvek s minimálním

Více

SII - Informatika. 1. Atribut relace, jehož hodnota jednoznačně určuje prvek v jiné relaci, se nazývá:

SII - Informatika. 1. Atribut relace, jehož hodnota jednoznačně určuje prvek v jiné relaci, se nazývá: SII - Informatika Způsob vyhodnocení: Při vyhodnocení budou za nesprávné odpovědi strhnuty body. 1. Atribut relace, jehož hodnota jednoznačně určuje prvek v jiné relaci, se nazývá: a) sekundární klíč b)

Více

B) EX = 0,5, C) EX = 1, F) nemáme dostatek informací.

B) EX = 0,5, C) EX = 1, F) nemáme dostatek informací. Hlasovací otázka 9 Náhodná veličina X nabývá jen dvou různých hodnot, 0 a 1. Předpokládejme P(X = 0) = 0,5. Co můžeme říci o EX? Hlasovací otázka 9 Náhodná veličina X nabývá jen dvou různých hodnot, 0

Více

Jan Březina. Technical University of Liberec. 30. dubna 2013

Jan Březina. Technical University of Liberec. 30. dubna 2013 TGH11 - Maximální párování a související problémy Jan Březina Technical University of Liberec 30. dubna 2013 Bipartitní grafy Bipartitní graf - je obarvitelný dvěma barvami. Tj. V lze rozělit na disjunktní

Více

Kámen-nůžky-papír. Tomáš Svoboda Centrum strojového vnímání, Katedra kybernetiky Fakulta elektrotechnická, České vysoké učení technické

Kámen-nůžky-papír. Tomáš Svoboda Centrum strojového vnímání, Katedra kybernetiky Fakulta elektrotechnická, České vysoké učení technické Kámen-nůžky-papír Tomáš Svoboda Centrum strojového vnímání, Katedra kybernetiky Fakulta elektrotechnická, České vysoké učení technické Studijní program: Otevřená informatika 2018-10-09 08/10/18 než začneme

Více

UPPAAL příklady. Jiří Vyskočil 2010

UPPAAL příklady. Jiří Vyskočil 2010 UPPAAL příklady Jiří Vyskočil 2010 Hra NIM Někdy se také označuje jako odebírání zápalek (existuje velké množství variant této hry). Hra dvou hráčů Na začátku si oba hráči stanoví počet zápalek, se kterými

Více

Genetické programování

Genetické programování Genetické programování Vyvinuto v USA v 90. letech J. Kozou Typické problémy: Predikce, klasifikace, aproximace, tvorba programů Vlastnosti Soupeří s neuronovými sítěmi apod. Potřebuje značně velké populace

Více

NÁVOD LOGIX mini Hra pro 2-4 hráče

NÁVOD LOGIX mini Hra pro 2-4 hráče NÁVOD LOGIX mini Hra pro 2-4 hráče Cíl hry: Každý hráč si na začátku vylosuje kartu s tajným kódem (vzorem rozložení kuliček). V průběhu partie hráči pokládají na desku nové kuličky nebo přemisťují stávající

Více

Rekurzivní algoritmy

Rekurzivní algoritmy Rekurzivní algoritmy 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) ZS

Více

ALGORITMIZACE 2010/03 STROMY, BINÁRNÍ STROMY VZTAH STROMŮ A REKURZE ZÁSOBNÍK IMPLEMENTUJE REKURZI PROHLEDÁVÁNÍ S NÁVRATEM (BACKTRACK)

ALGORITMIZACE 2010/03 STROMY, BINÁRNÍ STROMY VZTAH STROMŮ A REKURZE ZÁSOBNÍK IMPLEMENTUJE REKURZI PROHLEDÁVÁNÍ S NÁVRATEM (BACKTRACK) ALGORITMIZACE 2010/03 STROMY, BINÁRNÍ STROMY VZTAH STROMŮ A REKURZE ZÁSOBNÍK IMPLEMENTUJE REKURZI PROHLEDÁVÁNÍ S NÁVRATEM (BACKTRACK) Strom / tree uzel, vrchol / node, vertex hrana / edge vnitřní uzel

Více

INTERACTIVE GAMES 750 CZK

INTERACTIVE GAMES 750 CZK POPIS HRY INTERACTIVE GAMES II 750 je mincový výherní hrací přístroj, jehož náhodný herní průběh je řízen mikroprocesorem. Hra je opticky znázorněna na obrazovce, která je umístěna na hlavní desce přístroje.

Více

2. Řešení úloh hraní her Hraní her (Teorie a algoritmy hraní her)

2. Řešení úloh hraní her Hraní her (Teorie a algoritmy hraní her) Hraní her (Teorie a algoritmy hraní her) 4. 3. 2015 2-1 Hraní her pro dva a více hráčů Počítač je při hraní jakékoli hry: silný v komplikovaných situacích s množstvím kombinací, má obrovskou znalost zahájení

Více

IB015 Neimperativní programování. Redukční strategie, Seznamy program QuickCheck. Jiří Barnat Libor Škarvada

IB015 Neimperativní programování. Redukční strategie, Seznamy program QuickCheck. Jiří Barnat Libor Škarvada IB015 Neimperativní programování Redukční strategie, Seznamy program QuickCheck Jiří Barnat Libor Škarvada Sekce IB015 Neimperativní programování 05 str. 2/34 Redukční strategie Redukce, redukční strategie

Více

Jazyk C# (seminář 5)

Jazyk C# (seminář 5) Jazyk C# (seminář 5) Pavel Procházka KMI 23. října 2014 Přetěžování metod motivace Představme si, že máme metodu, která uvnitř dělá prakticky to samé, ale liší se pouze parametry V C# můžeme více metod

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

Operační výzkum. Síťová analýza. Metoda CPM.

Operační výzkum. Síťová analýza. Metoda CPM. Operační výzkum Síťová analýza. Metoda CPM. Operační program Vzdělávání pro konkurenceschopnost Název projektu: Inovace magisterského studijního programu Fakulty ekonomiky a managementu Registrační číslo

Více

Teorie her(povídání ke čtvrté sérii)

Teorie her(povídání ke čtvrté sérii) Teorie her(povídání ke čtvrté sérii) Je velice obtížné definovat obecně, co je to hra. Navíc tento pojem intuitivně chápeme. Budeme se zabývat takovými hrami jako jsou šachy nebo pišqorky hrami dvou hráčů,

Více

Použití dalších heuristik

Použití dalších heuristik Použití dalších heuristik zkracování cesty při FIND-SET UNION podle hodností Datové struktury... p[x] - předchůdce uzlu x MAKE-SET(x) p[x] := x hod[x] := 0 hod[x] - hodnost (aprox. výšky) UNION(x,y) LINK(FIND-SET(x),

Více

HERNÍ PLÁN WIN AND RACE APOLLO GAMES APKSOFT s.r.o.

HERNÍ PLÁN WIN AND RACE APOLLO GAMES APKSOFT s.r.o. HERNÍ PLÁN WIN AND RACE APOLLO GAMES APKSOFT s.r.o. HISTORIE REVIZÍ Datum Verze Popis změn Autor změn 30. 10. 2008 1.0 První naplnění Karel Kyovský 31. 07. 2015 1.1 Změna obsahu-riziko Radoslav Hrčka 23.

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

Středoškolská technika 2017 PROGRAM NA GENEROVÁNÍ PRVOČÍSEL

Středoškolská technika 2017 PROGRAM NA GENEROVÁNÍ PRVOČÍSEL Středoškolská technika 2017 Setkání a prezentace prací středoškolských studentů na ČVUT PROGRAM NA GENEROVÁNÍ PRVOČÍSEL Vojtěch Pchálek Střední škola technická Kouřílkova 8, Přerov ANOTACE Bratr, který

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

Jan Březina. Technical University of Liberec. 21. dubna 2015

Jan Březina. Technical University of Liberec. 21. dubna 2015 TGH11 - Maximální párování a související problémy Jan Březina Technical University of Liberec 21. dubna 2015 Bipartitní grafy Bipartitní graf - je obarvitelný dvěma barvami. Tj. V lze rozělit na disjunktní

Více

HERNÍ PLÁN MULTIFRUITS APOLLO GAMES APKSOFT s.r.o.

HERNÍ PLÁN MULTIFRUITS APOLLO GAMES APKSOFT s.r.o. HERNÍ PLÁN MULTIFRUITS APOLLO GAMES APKSOFT s.r.o. HISTORIE REVIZÍ Datum Verze Popis změn Autor změn 24. 01. 2011 1.0 První naplnění Karel Kyovský 23. 10. 2015 1.1 Změna v riziku Radoslav Hrčka 08. 01.

Více

Kámen-nůžky-papír. Tomáš Svoboda Centrum strojového vnímání, Katedra kybernetiky Fakulta elektrotechnická, České vysoké učení technické

Kámen-nůžky-papír. Tomáš Svoboda Centrum strojového vnímání, Katedra kybernetiky Fakulta elektrotechnická, České vysoké učení technické Kámen-nůžky-papír Tomáš Svoboda Centrum strojového vnímání, Katedra kybernetiky Fakulta elektrotechnická, České vysoké učení technické Studijní program: Otevřená informatika 2017-10-10 18/10/17 než začneme

Více

Paradigmata programování 1

Paradigmata programování 1 Paradigmata programování 1 Explicitní aplikace a vyhodnocování Vilém Vychodil Katedra informatiky, PřF, UP Olomouc Přednáška 6 V. Vychodil (KI, UP Olomouc) Explicitní aplikace a vyhodnocování Přednáška

Více

40 označovacích kamenů vždy 10 v červené, oranžové, černé, modré barvě. 7 slonů 3 lvi 6 normálních 1 super

40 označovacích kamenů vždy 10 v červené, oranžové, černé, modré barvě. 7 slonů 3 lvi 6 normálních 1 super Lev, zebra, slon - divoká, daleká, krásná země! Počet hráčů: 2-4 Věk: od 8 let Herní doba: okolo 20 min. Andreas Spies Karty Celkem 42 kopytníků (pakůň, zebra, antilopa) se chce dostat z jedné strany africké

Více

1. Implementace funkce počet vrcholů. Předmět: Algoritmizace praktické aplikace (3ALGA)

1. Implementace funkce počet vrcholů. Předmět: Algoritmizace praktické aplikace (3ALGA) Předmět: Algoritmizace praktické aplikace (3ALGA) Vytvořil: Jan Brzeska Zadání: Vytvoření funkcí na stromech (reprezentace stromu směrníky). Zadané funkce: 1. Počet vrcholů 2. Počet listů 3. Součet 4.

Více

HERNÍ PLÁN MAD MECHANIC APOLLO GAMES APKSOFT s.r.o.

HERNÍ PLÁN MAD MECHANIC APOLLO GAMES APKSOFT s.r.o. HERNÍ PLÁN MAD MECHANIC APOLLO GAMES APKSOFT s.r.o. HISTORIE REVIZÍ Datum Verze Popis změn Autor změn 16. 4. 2012 1.0 První naplnění Karel Kyovský OBSAH Historie revizí... 2 Obsah... 3 Úvod... 4 Rozsah

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

PG 9.5 novinky ve vývoji aplikací

PG 9.5 novinky ve vývoji aplikací PG 9.5 novinky ve vývoji aplikací P2D2 2016 Antonín Houska 18. února 2016 Část I GROUPING SETS, ROLLUP, CUBE Agregace Seskupení řádků tabulky (joinu) do podmnožin podle určitého kĺıče. Za každou podmnožinu

Více

Obsah přednášky. programovacího jazyka. Motivace. Princip denotační sémantiky Sémantické funkce Výrazy Příkazy Vstup a výstup Kontinuace Program

Obsah přednášky. programovacího jazyka. Motivace. Princip denotační sémantiky Sémantické funkce Výrazy Příkazy Vstup a výstup Kontinuace Program Denotační sémantika programovacího jazyka doc. Dr. Ing. Miroslav Beneš katedra informatiky, A-1007 59 732 4213 Obsah přednášky Princip denotační sémantiky Sémantické funkce Výrazy Příkazy Vstup a výstup

Více

Anotace. zpět k rekurzi: teorie her. Martin Pergel,

Anotace. zpět k rekurzi: teorie her. Martin Pergel, Anotace Hashování, zpět k rekurzi: Vyhodnocení výrazu, teorie her. Hashování Máme-li data, kterými lze indexovat, ale hodnoty by byly příliš velké (například řetězce), má smysl zkusit spočítat nějakou

Více

ŘÍKÁME, ŽE FUNKCE JE ČÁSTEČNĚ SPRÁVNÁ (PARTIALLY CORRECT), POKUD KDYŽ JE SPLNĚNA PRECONDITION

ŘÍKÁME, ŽE FUNKCE JE ČÁSTEČNĚ SPRÁVNÁ (PARTIALLY CORRECT), POKUD KDYŽ JE SPLNĚNA PRECONDITION ŘÍKÁME, ŽE FUNKCE JE ČÁSTEČNĚ SPRÁVNÁ (PARTIALLY CORRECT), POKUD KDYŽ JE SPLNĚNA PRECONDITION FUNKCE PŘI JEJÍM ZAVOLÁNÍ, JEJÍ POSTCONDITION JE SPLNĚNA PŘI NÁVRATU Z FUNKCE (POKUD NASTANE) OBECNĚ FUNKCE

Více