Cílem seminární práce je aplikace teoretických znalostí z přednášky na konkrétní úlohy. Podstatu algoritmu totiž

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

Metody síťové analýzy

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.

Algoritmy na ohodnoceném grafu

Algoritmizace prostorových úloh

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

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

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

TGH02 - teorie grafů, základní pojmy

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

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

1 Nejkratší cesta grafem

Grafové algoritmy. Programovací techniky

Grafové algoritmy. Programovací techniky

Cvičení Programování I. Stručné poznámky ke cvičení ze

TGH08 - Optimální kostry

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

8 Přednáška z

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

PROGRAMOVÁNÍ. Cílem předmětu Programování je seznámit posluchače se způsoby, jak algoritmizovat základní programátorské techniky.

Stromové rozklady. Definice 1. Stromový rozklad grafu G je dvojice (T, β) taková, že T je strom,

Vzdálenost uzlů v neorientovaném grafu

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

TGH06 - Hledání nejkratší cesty

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

Stromy, haldy, prioritní fronty

Návrh Designu: Radek Mařík

Úvod do teorie grafů

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

Pokyny pro vypracování maturitních prací 2014

Paralelní grafové algoritmy

TGH10 - Maximální toky

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

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

NEJKRATŠÍ CESTY I. Doc. RNDr. Josef Kolář, CSc. Katedra teoretické informatiky, FIT České vysoké učení technické v Praze

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

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

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

TGH06 - Hledání nejkratší cesty

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

07 Základní pojmy teorie grafů

International Olympiad in Informatics 2013

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

12. Virtuální sítě (VLAN) VLAN. Počítačové sítě I. 1 (7) KST/IPS1. Studijní cíl. Základní seznámení se sítěmi VLAN. Doba nutná k nastudování

zejména Dijkstrův algoritmus pro hledání minimální cesty a hladový algoritmus pro hledání minimální kostry.

Přijímací zkouška - matematika

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

INOVACE PŘEDMĚTŮ ICT. MODUL 11: PROGRAMOVÁNÍ WEBOVÝCH APLIKLACÍ Metodika


Ú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ů

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

6. Tahy / Kostry / Nejkratší cesty

Semestrální úloha 1 z předmětu Programovací jazyk C. Textový merge. Student:

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

školní vzdělávací program ŠKOLNÍ VZDĚLÁVACÍ PROGRAM DR. J. PEKAŘE V MLADÉ BOLESLAVI RVP G 8-leté gymnázium Tvorba www Gymnázium Dr.

TEORIE GRAFŮ TEORIE GRAFŮ 1

Technologie dopravy a logistika LS 14/15

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

Prioritní fronta, halda

Vyučovací hodina. 1vyučovací hodina: 2vyučovací hodiny: Opakování z minulé hodiny. Procvičení nové látky

TGH07 - Chytré stromové datové struktury

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

Propojování sítí,, aktivní prvky a jejich principy

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.

TGH12 - Problém za milion dolarů

10 Podgrafy, isomorfismus grafů

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

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

Dokumentace k semestrální práci z předmětu PT

Maturitní témata. IKT, školní rok 2017/18. 1 Struktura osobního počítače. 2 Operační systém. 3 Uživatelský software.

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

Pokročilé funkce. Průvodce systémem Moodle ČZU. Pokročilé funkce. Středisko podpory elektronického vzdělávání

UŽIVATELSKÁ PŘÍRUČKA K INTERNETOVÉ VERZI REGISTRU SČÍTACÍCH OBVODŮ A BUDOV (irso 4.x) VERZE 1.0

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

Select sort: krok 1: krok 2: krok 3: atd. celkem porovnání. výběr nejmenšího klíče z n prvků vyžaduje 1 porovnání

1. ÚLOHA. Své řešení uveďte na tento list (možno i na jeho druhou stranu).

Pravděpodobnost a její vlastnosti

6. ROČNÍK ŠKOLNÍ SOUTĚŽE V PROGRAMOVÁNÍ 2013

Cykly a pole

a jiné elektronické přístroje včetně mobilů. Pracujte samostatně. Povolen je 1 list A4 vlastnoručně psaných poznámek k předmětu...

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

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

Katalog egon služeb verze: 0.01

Cíle. Teoretický úvod. BDIO - Digitální obvody Ústav mikroelektroniky. Úloha č. 5. Student. Řešení komplexního úkolu kombinační logikou Chemická nádrž

Systémy pro sběr a přenos dat

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

Úvod. Programovací paradigmata

Tento studijní blok má za cíl pokračovat v základních prvcích jazyka Java. Konkrétně bude věnována pozornost rozhraním a výjimkám.

... sekvenční výstupy. Obr. 1: Obecné schéma stavového automatu

Další příklady. Katedra softwarového inženýrství. Katedra teoretické informatiky, Fakulta informačních technologii, ČVUT v Praze. Karel Müller, 2011

1. Témata maturitních prací. 2. Termín závazného zadání maturitní práce. 3. Termín odevzdání maturitní práce. 4. Kritéria hodnocení maturitní práce

3 Co je algoritmus? Trocha historie Definice algoritmu Vlastnosti algoritmu... 3

Uživatelská příručka

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

Popis egon služby. E77 - orgrodokmenaifo. Název dokumentu: Popis egon služeb Verze: Datum aktualizace: Správa základních registrů

Úvod do informatiky. Miroslav Kolařík

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

Zobrazte si svazy a uspořádané množiny! Jan Outrata

Referenční rozhraní. Jiří Kosek. Ministerstvo informatiky ČR. ISSS 25. března 2003

Transkript:

Zadání příkladů pro semestrální práci 9 Cílem seminární práce je aplikace teoretických znalostí z přednášky na konkrétní úlohy. Podstatu algoritmu totiž člověk nejlépe pochopí až pokud jej sám implementuje, nebo modifikuje při řešení konkrétního problému. Termíny 8.. končí možnost odevzdání podle loňského zadání pro opakující.. zveřejnění zadání pro 9 9.. server https://flowdb.nti.tul.cz/secure aktualizován pro nové zadání do.. zaslání rozboru úlohy (textová část) do.. odevzdání první funkční verze programu Pravidla pro vypracování práce Studenti vytvoří řešitelské týmy po jednom nebo dvou lidech. Každý tým vypracuje řešení jedné úlohy dle vlastního výběru. Týmy necht mi mailem nahlásí své složení a úlohu, kterou chtějí řešit. Aktuální stav budu průběžně zveřejňovat na adrese: https://docs.google.com/spreadsheets/d/7zwnxqif--ibpwc9d_fmqeccws9ocbkwx7qsr_zo/edit? usp=sharing Jednu úlohu může řešit maximálně lidí v týmech celkem. Týmy vypracují textový rozbor problému. V rozboru formulujte úloha pomocí grafu (co jsou vrcholy, co hrany, ohodnocení a pod.) a popište použití vhodného grafového algoritmu pro danou úlohu. Dále popište jaké datové struktury použijete. Určete časovou a pamět ovou složitost použitého algoritmu v nejhorším případě. Textovou část ve formátu PDF mi zašlete na e-mail: jan.brezina@tul.cz Týmy implementují vybraný algoritmus. Pro implementaci můžete použít jeden z jazyků: C, C++, C#, Java, Python, Pascal (viz. server) Program by měl být strukturovaný s výstižnými jmény identifikátorů, s okomentovanými funkcemi a hlavními datovými strukturami. Program má skutečně mít časovou a pamět ovou složitost uvedenou v textovém rozboru. Program čte vstup ze standardního vstupu a zapisuje výstup na standardní výstup. Tým otestuje implementaci na testovacím serveru. Webové rozhraní váš program přeloží, spustí na testovací sadě vstupů a porovná s referenčními výsledky. Informujte mě e-mailem o úspěšném odevzdání nebo nezvladatelných problémech s odevzdáním. Každý kód dále kontroluji osobně a e-mailem potvrdím jeho přijetí, nebo případné výhrady. Předchozí body plní tým jako celek, nicméně každý člen týmu musí rozumět jak teoretické části, tak programu a práce mu bude uznána, pokud v rámci zkoušky dokáže zodpovědět dotazy ohledně práce. Zadání úloh. Přelévání nádob MINSPILL Máte k dispozici n nádob s celočíselnými kladnými objemy v i <, i,... n v litrech. Největší nádoba o objemu V je plná a cílem je odměřit daný počet litrů w V v co nejkratším čase, přičemž přelévání probíhá vždy rychlostí litr za sekundu. Chceme získat postup optimálního přelévání pro všechny možné cílové objemy w V. Jedno přelití končí bud plnou cílovou nádobou nebo prázdnou vylévanou nádobou a nedochází ke ztrátám. Formulujte problém jako grafovou úlohu. Co budou vrcholy, co hrany? O jaký typ grafu se jedná? Navrhněte vhodné datové struktury umožňující běh Dijkstrova algortimu pro graf, který není dán na vstupu, ale vzniká

dynamicky. Napište program používající vhodnou implementaci Dijkstrova algoritmu pro nalezení optimálních přelévacích postupů. Pokuste se určit složitost vaší implementace v nejhorším případě:. vzhledem k počtu vrcholů grafu. vzhledem k počtu nádob. Vstup je textový soubor, kde na prvním řádku je počet nádob, na dalších n řádcích jsou objemy nádob. Na výstupu bude V řádků. Na jednom výstupním řádku je postupně: cílový objem w, počet přelití a doba přelití (počet přelitých litrů). Pokud objem w nelze naměřit, vypíše se pouze w následované koncem řádku. 6 6. Web stránky kód: WEBISL Danou množinu webových stránek chceme rozdělit na co největší disjunktní podmnožiny,..., k tak, že v každé podmnožině se lze proklikat z libovolné stránky na libovolnou jinou. Formulujte problém jako grafovou úlohu. Co budou vrcholy, co hrany? O jaký typ grafu se jedná? Navrhněte vhodný algoritmus a určete složitost vaší implementace vzhledem k počtu stránek. Vstup je textový soubor, kde na prvním řádku je počet stránek n a počet odkazů m, na dalších m řádcích jsou jednotlivé odkazy jako dvojce index stránky, ze které odkaz odchází, a index stránky, na kterou vede. Výstup má n řádek, na řádce i je číslo komponenty, ke které patří stránka i. Číslo komponenty je minimální index stránky v komponentě.. Železnice kód: BIGLOKO Železniční společnost VELKÁ MAŠINA plánuje propojit železnicí n měst, mezi nimiž zatím nikde železnice nevede. Byla vypracována studie, ve které bylo ohodnocena výstavba železnice mezi některými dvojicemi měst.

Pro některé dvojice měst bylo vypracováno více variant, celkem bylo uvažováno m variant spojení mezi dvojicí některých měst. Studie také určila míru zátěže životního prostředí a obyvatelstva pro každou variantu a to stupni -. Společnost VELKÁ MAŠINA potřebuje program, který pro zadané výsledky studie navrhne železniční sít, která propojí všechna města a zároveň bude mít nejmenší zátěž životního prostředí. V případě více takových sít í bude vybrána sít nejlevnější. Formulujte úlohu jako grafový problém hledání minimální kostry a navrhněte a implementujte algoritmus pro jeho řešení s časovou složitostí O(m log n) nebo lepší. Vstupem je textový soubor, kde na prvním řádku jsou čísla n a m. Na dalších m řádcích jsou vždy data jedné varianty, tj. čtyři čísla. První dvě udávají indexy koncových měst úseku, tady jsou to čísla z množiny {,..., n }, další číslo udává cenu vybudování úseku (v miliónech korun) opět celé číslo a poslední číslo udává míru zátěže životního prostředí z množiny,,,,, pět je nejhorší. Na výstupu bude n řádků s indexy variant železničních úseků (číslovaných od do m ) použitých výslednou sít. Jejich pořadí je dáno následovně: uvažujte výslednou kostru jako zakořeněný strom v městě. Pro každé další město j existuje jediný předek k. Na pozici j v seznamu bude index až m varianty použité pro spojení z j do předka k. 7. Rozvrh kód: SCHED Řešte zjednodušený problém sestavování rozvrhu. Jsou dány: množina studentů S = {,..., n S }, množina předmětů P = {,..., n P }, množina učitelů U = {,..., n U }, množina výukových bloků B = {,..., n B }. Každý student i S má definovánu množinu zapsaných předmětů p i P. Každý předmět j P má definovaného učitele u j U. Předpokládáme neomezenou zásobu učeben. Cílem je přiřadit předmětům vyučovací bloky tak, aby předměty které mají průnik studentů nebo učitelů neměly stejný blok. Úkoly:. Formulujte úlohu jako problém barvení grafu. Co jsou vrcholy, hrany, barvy?. Vyberte si jeden z heuristických barvících algoritmů a popište jeho průběh při aplikaci na tento konkrétní problém.. Zvojený algoritmus implementujte.

Vstupem je textový soubor. Na prvním řádku jsou čísla n S, n P, n U, n B. Na dalších n S řádcích je pro každého studenta i seznam čísel jeho předmětů p i. Na dalších n P řádcích je pro každý předmět j číslo jeho učitele u j. Výstup programu má n P řádků na řádku j je pro předmět j číslo jeho bloku. Bloky jsou očíslovány tak, aby při ponechání pouze řádků s prvním výskytem bloku tvořily uspořádanou posloupnost. 6 6. Segmentace kód: SEGMENT Pro daný obrázek n n pixelů ve stupních šedi... je třeba odlišit pixely vyobrazeného objektu O od kontrastního pozadí B (problém segmentace obrazu). Přitom není známo zda jde o tmavý objekt na světlém pozadí nebo naopak, ani není znám nějaký odstup intenzit objektu a pozadí. Předpokládáme však, že maximální rozdíl intenzit sousední pixelů a a b v rámci objektu ( a, b O) i v rámci pozadí (a, b B) je alespoň o stupně šedi menší než minimální rozdíl intenzit sousedních pixelů z nichž jeden je z objektu a druhý z pozadí (a O, b B). Předpokládáme, že po obvodu obrázku jsou pouze pixely patřící k pozadí a detekovaný objekt nemá díry. Navrhněte a popište algoritmus založený na hledání minimální kostry, kde ohodnocení hran je dáno rozdílem intenzit sousedících pixelů. Formulujte problém jako grafovou úlohu. Co budou vrcholy, co hrany? Určete složitost vaší implementace vzhledem k počtu pixelů obrázku. Vstup je textový soubor, kde na prvním řádku je velikost obrázku n a na dalších n řádcích je vždy n čísel udavajících intenzity v obrázku. Intenzity jsou čísla od do. Výstup je ve stejném formátu jako vstup, jen místo intenzit je uvedena pro pixel pozadí a pro pixel objektu. 6 6 6

.6 Dodávky elektřiny kód: DELIVERY Model elektrické rozvodné sítě je tvořen elektrárnami,... n e, koncovými přípojkami n e,..., n e + n s a rozvodnami n e +n s,..., n e +n s +n r. Tyto objekty jsou propojeny sítí elektrických vodičů n v. Jeden vodič vždy spojuje právě dva objekty a má definovaný maximální výkon, který jím může být přenášen (v obou směrech stejný). Žádné dvě elektrárny nejsou přímo propojeny a pro každou je znám její výkon. Za účelem výstavby nového výrobního závodu bylo vytipováno N míst, každé s několika nezávislými elektrickými přípojkami. Popište a implementujte algoritmus, který pro každou lokalitu určí maximální dostupný elektrický příkon. Popis vstupu: Na prvním řádku vstupu jsou čtyři přirozená čísla udávající: počet elektráren n e, počet koncových přípojek n s, počet rozvoden n r a počet vodičů n v. Na dalších n e řádcích jsou výkony elekráren. Na dalších n v řádcích je specifikace vodičů. Na jednom řádku jsou tři přirozená čísla udávající postupně: index prvního, index druhého propojeného objektu a maximální přenášený výkon. Výkony elektráren a kapacity vodičů jsou přirozená čísla menší než. Následuje počet lokalit N na semostatném řádku. Na každém z následujících N řádcích je seznam koncových přípojek jedné lokality (maximálně ). Na výstupu programu bude N řádků, na každém maximální dostupný výkon pro odpovídající lokalitu. Formulujte úlohu grafově jako úlohu pro tak, aby šla pro jednu lokalitu řešit jako problém sítě s jedním zdrojem a jedním cílem. Napište program pro nalezení optimálního toku sítí. Použijte BFS pro hledání zlepšující cesty, nebo algoritmus s lepší složitostí. 6 7 7 8