Modulární systém dalšího vzdělávání pedagogických pracovníků JmK. v přírodních vědách a informatice CZ.1.07/1.3.10/

Podobné dokumenty
Modulární systém dalšího vzdělávání pedagogických pracovníků JmK. v přírodních vědách a informatice CZ.1.07/1.3.10/

Modulární systém dalšího vzdělávání pedagogických pracovníků JmK. v přírodních vědách a informatice CZ.1.07/1.3.10/

Modulární systém dalšího vzdělávání pedagogických pracovníků JmK. v přírodních vědách a informatice CZ.1.07/1.3.10/

Cvičení 5 - Průchod stromem a grafem

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

Diskrétní matematika. DiM /01, zimní semestr 2016/2017

Zajímavé aplikace teorie grafů

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

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

Úvod do plánování: Zadání úloh PDDL

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

Úloha ve stavovém prostoru SP je <s 0, C>, kde s 0 je počáteční stav C je množina požadovaných cílových stavů

Hlavolamy a teorie grafů

10 Přednáška ze

Metody návrhu algoritmů, příklady. IB111 Programování a algoritmizace

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

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

Eulerovské tahy. Pan starosta se pana matematika v dopise tázal, jestli je možné začít na některém

GRAFY A GRAFOVÉ ALGORITMY

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

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

Úvod do teorie grafů

Výhody a nevýhody jednotlivých reprezentací jsou shrnuty na konci kapitoly.

Drsná matematika III 9. přednáška Rovinné grafy: Stromy, konvexní mnohoúhelníky v prostoru a Platónská tělesa

prohled av an ı graf u Karel Hor ak, Petr Ryˇsav y 16. bˇrezna 2016 Katedra poˇ c ıtaˇ c u, FEL, ˇ CVUT

HEURISTICKÉ ALGORITMY PRO ŘEŠENÍ ÚLOH OBCHODNÍHO CESTUJÍCÍHO

V předchozí vyučovací hodině se žáci s problematikou kreslení obrázků jedním tahem teprve začali seznamovat a to zábavnou formou.

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

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

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

Definice 1 eulerovský Definice 2 poloeulerovský

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

TEORIE GRAFŮ TEORIE GRAFŮ 1

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

Algoritmizace prostorových úloh

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

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

Konvexní obal a množina

Kreslení grafů na plochy Tomáš Novotný

NP-úplnost problému SAT

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

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

Algoritmy na ohodnoceném grafu

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

3. Optimalizace pomocí nástroje Řešitel

3. Prohledávání grafů

Složitost a moderní kryptografie

PQ-stromy a rozpoznávání intervalových grafů v lineárním čase

Tento text je stručným shrnutím těch tvrzení Ramseyovy teorie, která zazněla

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

bfs, dfs, fronta, zásobník

7.5.3 Hledání kružnic II

Základy umělé inteligence

Baltík 2008 zadání školního kola kategorie A a B

Hodnocení soutěžních úloh

Zadání semestrálního projektu Algoritmy I. zimní semestr 2018/2019

12. Lineární programování

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

Drsná matematika III 9. přednáška Rovinné grafy: Stromy, konvexní mnohoúhelníky v prostoru a Platónská tělesa

4.2.5 Orientovaný úhel II. π π = π = π (není násobek 2π ) 115 π není velikost úhlu α. Předpoklady: Nejdříve opakování z minulé hodiny.

Binární vyhledávací stromy II

Vrcholová barevnost grafu

Grafové algoritmy. Programovací techniky

Regionální kolo soutěže Baltík 2008, kategorie A a B

10 Podgrafy, isomorfismus grafů

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

Prohledávání do šířky a do hloubky. Jan Hnilica Počítačové modelování 15

Digitální učební materiál

Mezinárodní kolo soutěže Baltík 2007, kategorie C

5.1.3 Obrazy těles ve volném rovnoběžném promítání I

1.5.2 Číselné soustavy II

4.2.5 Orientovaný úhel II

Čtvercové puzzle úloha za 2 body

"Agent Hledač" (3. přednáška)

Pokrytí šachovnice I

Nápovědy k numerickému myšlení TSP MU

nelze projít pomocí tzv. eulerovského tahu tedy, nelze nakreslit jedním tahem

Programování 3. hodina. RNDr. Jan Lánský, Ph.D. Katedra informatiky a matematiky Fakulta ekonomických studií Vysoká škola finanční a správní 2015

Výroková logika II. Negace. Již víme, že negace je změna pravdivostní hodnoty výroku (0 1; 1 0).

Výukový materiál zpracován v rámci projektu EU peníze školám

{ } Množina všech dělitelů. Předpoklady:

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

ÚLOHY S POLYGONEM. Polygon řetězec úseček, poslední bod je totožný s prvním. 6 bodů: X1, Y1 až X6,Y6 Y1=X6, Y1=Y6 STANOVENÍ PLOCHY JEDNOHO POLYGONU

Modulární systém dalšího vzdělávání pedagogických pracovníků JmK v přírodních vědách a informatice CZ.1.07/1.3.10/ Stereometrické hry

PROBLÉM ČTYŘ BAREV. Lze obarvit jakoukoliv mapu v rovině čtyřmi barvami tak, aby žádné dvě sousedící oblasti neměly stejnou barvu?

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

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

07 Základní pojmy teorie grafů

= je prostý orientovaný graf., formálně c ( u, v) 0. dva speciální uzly: zdrojový uzel s a cílový uzel t. Dále budeme bez

Grafové algoritmy. Programovací techniky

Regionální kolo soutěže Baltík 2007, kategorie A a B

Přijímací zkouška na MFF UK v Praze

Lomené výrazy sčítání a odčítání lomených výrazů

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

8 Přednáška z

Výsledný graf ukazuje následující obrázek.

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

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.

Kurz operačního výzkumu pro posluchače kombinovaného studia na FAST VUT v systému MOODLE

1 Lineární prostory a podprostory

Transkript:

Modulární systém dalšího vzdělávání pedagogických pracovníků JmK v přírodních vědách a informatice CZ.1.07/1.3.10/02.0024 Teorie grafů Poznámky pro učitele

Teorie grafů poznámky pro učitele Tato sbírka poskytne náměty aktivity, které studentům prezentují formou hádanek základy teorie grafů. Studentům předložíme hádanky či problémy, které se pokusí vyřešit. Následně ukážeme řešení a ilustrumeme, jak nám při něm mohou pomoci grafy. Doporučený průběh cvičení Hádanky ve sbírce mají vzestupnou obtížnost. Doporučený průběh cvičení: 1. Zadání hádanky 2. Prezentace řešení studentů 3. Rozbor řešení s využitím grafů Seznam úloh a představených konceptů Demočkologie (eulerovská cesta) o Domečky o Procházka po platónských tělesech Bludiště (reprezentace, komponenta grafu) o Trojrozměrné bludiště o Bludiště s dveřmi o Neprůchodné bludiště o Neprůchodné bludiště 2 Stavové prostory (stavový prostor, průchod do šířky, do hloubky) o Vlk, koza zelí o Kanibalové a misionáři o Žárliví muži o Velká výprava o Zranění muži Hledání algoritmu (reprezentace problému v PC, stavový prostor, průchod do šířky, fronta) o Bludiště o Sokoban

Domečkologie Náročnost: vyřešit: 5 10 minut, najít princip: 10 15 minut Zaměření: základní pojmy teorie grafů, eulerovská cesta Studentům rozdáme zadání a vysvětlíme jej: zkuste nakreslit domečky na obrázku. Které z nich lze nakreslit jedním tahem? Které z nich lze nakreslit uzavřeným tahem (skončíme tam, kde jsme začali)? Řešení vede na tzv. pošťákův problém. Tedy jak má projít pošťák všemi uličkami (hranami), aby roznesl poštup, ale neprocházel žádnou dvakrát. Obecné pravidlo, které musí platit, aby měl graf pošťákovu cestu zní: všechny vrcholy v grafu mají sudý stupeň, anebo v grafu existují právě dva vrcholy s lichým stupněm. Stupeň vrcholu je počet hran, která z vrcholu vedou. Jak takové řešení nalézt? Začneme ve vrcholu lichého stupně (pokud takový není, začneme v libovolném vrcholu) a děláme tah libovolným způsobem. Jakmile se zasekneme (tah již nelze dále prodloužit), došli jsme do druhého vrcholu s lichým stupněm. Pokud existují doposud nenavštívené hrany, vybereme si libovolný vrchol, ze kterého vede nenavštívená hrana, a z něj začneme další "vnořený" tah. Jelikož tah nemůže nikde skončit (oba liché vrcholy již jsme vyčerpaly ), tah se nám po čase vrátí do vrcholu, ze kterého jsme začali. Tedy vnořený tah můžeme jednoduše napojit na původní tah. Takto postupujeme dokud existují nenavštívené hrany. Pošťák Náročnost: vyřešit: 3-5 minut Zaměření: základní pojmy teorie grafů, eulerovská cesta Studentům rozdáme zadání a přečteme legendu: pošťák při roznosu pošty obchází v městské části Brno-střed pravidelnou trasu. Je možné ji projít trasu z ulice Poštovská tak, aby každou ulicí šel pošťák právě jednou? Zvýrazněné jsou ulice, které pošťák při obchůzce musí navštívit.

Nejprve si úlohu překreslíme do formátu grafu. Poté ověříme stejně jako u domečkologie, zda mají všechny vrcholy sudý stupeň. Protože skutečně všechny vrcholy sudý stupeň mají, musí v grafu existovat cesta, která navštíví všechny hrany a vrátí se do výchozího vrcholu. Procházka po Platónských tělesech Náročnost: vyřešit: 15 20 minut Zaměření: základní pojmy teorie grafů, eulerovská cesta Studentům rozdáme zadání a přečteme jednoduchou legendu: mravenec se rozhodl udělat si výlet po všech pěti platónských tělesech (pravidelné mnohostěny). Při procházce chce navštívit všechny vrcholy, každý z nich právě jednou a chce vždy skončit svou cestu tam, kde začne. Cestuje pouze po hranách. Existuje taková cesta pro všechna platónská tělesa?

Úloha je stejná jako v případě domečkologie. Hlavním trikem je překreslit si graf do plochy a v ní jej vyřešit. Neprůchodné bludiště Náročnost: lehká, 5-10 minut Zaměření: základní pojmy teorie grafů, komponenta souvislosti Studentům rozdáme namnožené zadání a vysvětlíme princip: rádi bychom našli spojnici mezi dvěmi označenými místy. Taková cesta však bohužel neexistuje. Máme však k dispozici krompáč! Úkolem je tedy najít zeď, po jejímž prokopání bude možné spojit vyznačené body. Možné řešení je pouze jedno. Hlavní trik této hádanky spočívá v nalezení souvislých části bludiště. Tedy těch, kam se dostaneme ze startu bez prokopání jediné zdi. Toho snadno docílíme pomocí funkce floodfill. Po vybarvení vidíme, že místo, kde stačí prokopat zeď pouze jednou je jen jedno. Neprůchodné bludiště 2 Náročnost: střední, 15 minut

Zaměření: základní pojmy teorie grafů, komponenta souvislosti Studentům rozdáme namnožené zadání a vysvětlíme princip: Rádi bychom našli spojnici mezi dvěmi označenými místy. Taková cesta bohužel neexistuje. Máme však k dispozici krompáč! Kopat však můžeme pouze v místech označených písmenem. Kudy vede cesta, která vyžaduje nejmenší počet kopání? V prvním kroku si opět obarvíme souvislé části bludiště. Každou část pak můžeme reprezentovat jako vrchol a spojit ji s ostatními sousedy. V takto zjednodušeném grafu snadno nalezneme nejkratši cestu. Trojrozměrné bludiště Náročnost: střední, 15 20 minut Zaměření: základní pojmy teorie grafů, komponenta souvislosti Rozdejte studentům namnožené bludiště a vysvětlete princip: bludiště na obrázku je čtyřpatrové. V místech označených šedými čtverci jsou žebříky, které vedou o patro nahoru. Horní konce žebříků jsou označeny kolečkem. Po žebřících se smí chodit oběma směry. Kolikrát nejméně musíme lézt po žebříku, abychom se dostali z vchodu v prvním patře do východu ve čtvrtém patře?

V prvním kroku si vyznačíme souvislé části bludiště pomocí funkce floodfill. Tyto části budeme reprezentovat jako vrcholy v grafu. Spojíme ty vrcholy, mezi kterými vede v bludišti žebřík. V takovém grafu snadno nahlédneme nejkratší cestu do cíle (A-H-K-F-I-M-P). Bludiště s dveřmi Náročnost: tězká, 20 minut Zaměření: základní pojmy teorie grafů, reprezentace grafu, stavový prostor

Studenům rozdáme zadání a vysvětlíme princip bludiště: bludiště obsahuje uzavřené dveře, představované obdélníčky. Volná písmena představují klíče. Na otevření dveří potřebujeme příslušný klíč, jakmile jednou dveře otevřete, už zůstanou pořád otevřeny. Úkolem je dostat z místa, kde je černá tečka, ven z bludiště. Najděte takovou cestu, při které je potřeba otevřít nejmenší možný počet dveří. Úlohu si zjednodušíme překreslením do grafu. Do vrcholů zapíšeme klíče v příslušné místnosti, hrany označí dveře a potřebný klíč k otevření. Z obrázku jsou vynechány nepřístupné místnosti. Tento graf projdeme do šířky (druhý obrázek). Vrcholy reprezentují aktuální stav: horní řádek značí již otevřené dveře, spodní řádek značí dostupné klíče. V tomto grafu snadno najdeme nejkratší cestu k východu. Vlk, koza, zelí Náročnost: střední, 10-20 minut Zaměření: stavový prostor, vhodná reprezentace, prohledávání do šířky Studentům přečteme zadání, případně nakreslíme na tabuli pomocí schématu: převozník chce převézt přes řeku hlávku zelí, kozu a vlka. Do loďky se vejde pouze převozník a jeden spolucestující (hlávka zelí je opravdu velká). Nechá-li převozník na břehu samotnou kozu a zelí, koza zelí sežere.

Nechá-li na břehu samotného vlka a kozu, vlk sežere kozu. Jak se může převozník dostat na druhý břeh i s celým nákladem? Studenti budou řešit úlohu procházením možných kombinací. Na to můžeme navázat rozborem všech řešení hry (viz obrázek). Každý vrchol reprezentuje jeden stav úlohy, dělící čára řeku a čtyři písmena čtyři pasažéry. Celému grafu říkáme stavový prostor. Pro úplnost uvádíme také chybné tahy, které vedou k porušení pravidel (šedé vrcholy). Vidíme, že stavový prostor úlohy je poměrně malý, díky neuntuitivnosti některých tahů však může přesto být úloha náročná. Na úlohe je možné navázat serií otázek týkajících se hledání řešení podobných hádanek za pomoci počítačového programu. Například: Jak stav úlohy zapsat v počítači? Jak procházet stavový prostor sytematicky? Jak nám v tom pomůže fronta nebo zásobník? Jak poznat, že jsme úlohy vyřešily? Kanibalové a misionáři Náročnost: střední, 10-20 minut Zaměření: stavový prostor, vhodná reprezentace, prohledávání do šířky Studentům přečteme zadání, případně nakreslíme na tabuli pomocí schématu: tři misionáři se vydali

na osvětovou misii a jako průvodce mají tři kanibaly. Potřebují překonat řeku, ovšem loďka uveze nejvýše dva lidi. Kanibalové zatím nejsou dostatečně poznamenáni misionářskou osvětou, takže pokud se kdykoli vyskytne na jednom místě více kanibalů než misionářů, budou misionáři snězení. Jinak však kanibalové spolupracují a udělají, co jim misionáři řeknou. Jak se může celá skupina dostat na druhý břeh? Problém můžeme dále zkomplikovat. Co když umí pádlovat pouze jeden z misionářů a jeden z kanibalů? Co když bude misionářů a kanibalů více než po třech? Je úloha řešitelná? Hádanka vede stejně jako vlk koza zelí k analýze stavového prostoru úlohy. Vhodné pro zamyšlení nad hledáním řešení pomocí počítačového programu. Žárliví muži Náročnost: střední, 10-20 minut Zaměření: stavový prostor, vhodná reprezentace, prohledávání do šířky Studentům přečteme zadání, případně nakreslíme na tabuli pomocí schématu: tři manželské páry vyrazily na výlet. Opět potřebují překonat řeku pomocí loďky, do které se vejdou nejvýše dva lidé. Problém tentokrát tkví v tom, že všichni muži jsou děsně žárliví. Muž nikdy nechce nechat svou ženy ve společnosti dalšího muže bez svého dozoru (a to ani kdyby u toho byli jiní lidé). Co když bude více párů než tři? Je úloha řešitelná? Pomůže, když je uprostřed řeky ostrov? Hádanka vede stejně jako vlk koza zelí k analýze stavového prostoru úlohy. Vhodné pro zamyšlení nad hledáním řešení pomocí počítačového programu. Velká výprava Náročnost: střední, 10-20 minut Zaměření: stavový prostor, vhodná reprezentace, prohledávání do šířky Studentům přečteme zadání, případně nakreslíme na tabuli pomocí schématu: tentokrát dorazila k řece opravdu zajímavá výprava: otec, matka, dva synové, dvě dcery, policista a zloděj. K dispozici je opět loď, která uveze dvě osoby. Navíc máme celou řadu omezení: Otec nemůže být sám ani s jednou dcerou bez přítomnosti matky. Matka nemůže být sama ani s jedním synem bez přítomnosti otce.

Zloděj nesmí být s nikým z příslušníků rodiny bez přítomnosti policisty. Pouze otec, matka a policista umí pádlovat. Hádanka vede stejně jako vlk koza zelí k analýze stavového prostoru úlohy. Vhodné pro zamyšlení nad hledáním řešení pomocí počítačového programu. Zranění muži Náročnost: střední, 10-20 minut Zaměření: stavový prostor, vhodná reprezentace, prohledávání do šířky Studentům přečteme zadání, případně nakreslíme na tabuli pomocí schématu: v poslední úloze o překonání řeky nevyužíváme loďku, ale most. Na jedné straně mostu jsou čtyři ranění muži. Je tma a most je rozbitý, takže po mostě mohou jít nanejvýš dva současně a potřebují k tomu baterku, kterou ovšem mají pouze jednu. Baterku nemohou házet. Míra zranění se liší, takže přechod mostu trvá každému muži jinou dobu: 5 min, 10 min, 20 min a 25 min. Pokud jdou dva společně, jdou samozřejmě tempem pomalejšího. Je docela jednoduché najít postup, jak se mohou všichni dostat na druhou stranu za 65 minut. Úkolem však je najít lepší řešení -- jde to totiž i za 60 minut. Hádanka vede stejně jako vlk koza zelí k analýze stavového prostoru úlohy. Vhodné pro zamyšlení nad hledáním řešení pomocí počítačového programu. Hledání algoritmu: Bludiště Náročnost: těžká, 20-30 minut Zaměření: stavový prostor úlohy, vhodná reprezentace, algoritmické myšlení Studentům přečteme zadání a dáme jim čas na rozmyšlenou. Poté zahájíme diskusi na téma nejvhodnější řešení. V jejím průběhu můžeme studentům podávat nápovědy, aby na výsledné řešení přisli z vlastní iniciativy (například jak využit frontu, co je to stavový prostor hry atp.). Na závěr shrneme jeden z možných postupů. Bludiště zapíšeme v počítači pomocí textového formátu (viz obrázek) Stav hry definujeme pomocí pozice panáčka v bludišti (souřadnice [x,y]) Bludiště procházíme do šířky za využití fronty

Pomocí dvourozměrného pole si pamatujeme již navštívené stavy a ty do fronty znovu nepřidáváme Zadání bludiště má řešení, pokud nalezeneme stav, kdy se panáček nachází u východu Hledání algoritmu: Koníkova cesta Náročnost: těžká, 20-40 minut Zaměření: stavový prostor úlohy, vhodná reprezentace, algoritmické myšlení Studentům přečteme zadání a dáme jim čas na rozmyšlenou. Následně jim podáváme různé nápovědy (například jak využit frontu, co je to stavový prostor hry atp.). Na závěr uspořádáme diskusi nad možnými řešeními úlohy a shrneme jeden z možných způsobů řešení. Hádanku lze převést na graf, který reprezentuje políčka a povolené skoky koníčka Hledání řešení poté odkazuje na nalezení cesty v grafu, která navštíví všechny vrcholy Úlohu však lze řešit i bez využití grafové reprezentace Hádanku zapíšeme v počítači pomocí textového formátu Stav hry definujeme pomocí šachovnice již navštívených stavů a aktuální pozice Z každého stavu přidáme do fronty všechny potenciální následníky, tedy stavový prostor prozkoukáváme do šířky Zadání má řešení, pokud navštívíme všechna políčka šachovnice

Hledání algoritmu: Sokoban Náročnost: těžká, 30-50 minut Zaměření: stavový prostor úlohy, vhodná reprezentace, algoritmické myšlení Studentům přečteme zadání a dáme jim čas na rozmyšlenou. Následně jim podáváme různé nápovědy (například jak využit frontu, co je to stavový prostor hry atp.). Na závěr uspořádáme diskusi nad možnými řešeními úlohy a shrneme jeden z možných způsobů řešení. Zadání Sokobanu zapíšeme v počítači pomocí textového formátu Stav hry zapíšeme pomocí textového zápisu aktuálního rozestavění beden a panáčka (viz obrázek) Možné stavy hádanky procházíme do šířky Pomocí asociativního pole si pamatujeme již navštívené stavy a znovu je nenavštěvujeme Zadání má řešení, pokud při průchodu stavového prostoru nalezneme konfiguraci, kdy jsou všechny bedny na cílových pozicích

Zdroje 1. Jak to vyřešit, Radek Pelánek, 2010