1 Hledání řešení. 1.1 Klasické problémy. 1.2 Problém rezervace letenek

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

Download "1 Hledání řešení. 1.1 Klasické problémy. 1.2 Problém rezervace letenek"

Transkript

1 1 Hledání řešení Základem celé řady implementací inteligentních systémů je hledání řešení. Obvykle jsou pro mnoho problémů známé výpočetní metody, které hledají řešení deterministicky podle algoritmu, popisujícího toto řešení. V reálném světě je ale řada aplikací, kde není znám algoritmus popisující řešení problému, nebo je pro svou prostorovou či časovou složitost v praxi nepoužitelný. V těchto situacích si tedy člověk musí poradit na základě intuice, zkušenosti, analogie s jinými problémy, nebo v nejjednodušším případě hrubou silou,tedymetodoupokus-omyl.tytonedeterministickémedotypakv oblasti umělé inteligence nazýváme řešením úloh. 1.1 Klasické problémy Stalo se tradicí, zkoušet a demonstrovat metody umělé inteligence na skupině dobře známých, a dalo by se říci tradičních, problémech. o tédo skupiny známých problémů řadíme např. tyto: Hanojské věže. 15puzzle. Problém obchodního cestujícího. Problém rezervace letenek. Pro vysvětlení základních principů a myšlenek si zde zvolíme jen příklad problému rezervace letenek. Tento problém nabízí asi nejširší škálu analogií s mnohými reálnými problémy a dává řešiteli možnost s tímto úkolem libovolně nakládat, podle aktuálních požadavků zadání. 1.2 Problém rezervace letenek Pro popis problému můžeme zvolit zavedené konvence z teorie grafů. Tyto principysevyužívajívmnohaoborech,jdetedyopostupydobřeznáméa ověřené. Za uzly grafu si dosadíme jednotlivá letiště a hrany mezi nimi budou tvořit přímé linky. Každé hraně také můžeme přiřadit cenu, tady vzdálenost mezi dvěma místy. Příkladem může být situace na obr. 1. Zadáníprodanýpopisproblémupakzní:najdětespojenízmístaX do místa Y. Takovéto zadání je samozřejmě asi to nejjednodušší, jaké jsme schopni v dané chvíli uvést. Pokud ale budeme muset takovýto problém skutečně řešit, okamžitě se objeví řada omezujících kritérií. A navíc u každého zákazníka jiná. Např. můžeme hledat taková spojení, která nejméně zatíží naši peněženku. Nebo 1

2 500 G 110 A B Obrázek 1: Graf popisující problém rezervace letenek budeme muset transportovat nadměrné zavazadlo, a to budou schopni překládat jen na některých letištích. alším příkladem může být snaha omezit počet přestupů. A určitě se najdou tací, kteří budou mít naspěch a chtějí býtvcíliconejrychleji,bezohledunacenu. Stačí krátké zamyšlení a už se objevují první nedostatky našeho jednoduchéhopopisuzobrázku1.jeninformaceovzdálenostidvoumístasiv praxi stačit nebude. Musíme určitě přidat cenu letenky a čas, jak dlouho se poletí. A to jsme ještě nezmínili možnost přidat informace i k jednotlivým uzlům.jakýbudečasnapřestup,zdabudeozákazníkapostaráno,zdase nebude muset v jednom městě přesunout mezi dvěma letišti taxíkem, což můžebýtvdopravníšpičceakcevelmiriskantníatakbychommohliúlohu rozvíjet do dalších podrobností. Vraťme se ovšem na zem, do úvodního kursu umělé inteligence. Náš obrázek 1 je přehledný, obsahuje všechny potřebné údaje a pro vysvětlení základních principů nám v něm nic nechybí. A navíc můžeme náš příklad snadnozobecnitna rezervacijízdenek,cožnámbudevnašichzeměpisných šířkách daleko bližší. 1.3 Zobecnění grafové reprezentace Teoriegrafůnásurčitěnemusísvazovatjensmístynamapěajejichspojnicemi. Grafem lze i popsat řadu dalších problémů. Stačí zmínit stavový automat, kdy uzly grafu mohou být stavy systému a hrany budou přechody mezi stavy. Budeme pak hledat takovou posloupnost akcí, kterou dostaneme systém do požadovaného stavu(a přitom se budeme muset vyvarovat slepým ramenům,kdybychomsemohlidostatdosituací,zekterýchužnení 2

3 A G B B B Obrázek2:StromřešeníprospojenízboduAdo. návratu, nebo by mohly náš systém poškodit). S myšlenkou popisu stavového automatu musíme zmínit ještě jednu vlastnost grafů, dosut neuvedenou: hrany grafu mohou být orientované, tedy jednosměrné. Mohou být i vícenásobné, či s rozdílnou cenou v obou směrech. Grafem také lze popsat pracovního postupu při řešení havarijní situace např. ve vodní elektrárně nebo obecně u jakéhokoliv zařízení. Postup odpojování různých zařízení podléhá určitým předpisům a také zcela určitě fyzikálním zákonům(jinak budeme muset reagovat v případě výpadku mazání a jinak v okamžiku výpadku synchronizace). Řadu zařízení nelze zastavit v nekonečně krátkém čase a doba zastavení také nemusí být dána pevnou časovou konstantou. A proto v závislosti na typu poruchy mohou být proveditelné postupy jiné a je třeba rozhodnout na základě aktuálně naměřených hodnot a ověřených stavů. 1.4 Strom řešení Mějme problém na obrázku 1 a dostaneme konkrétní zadání: najděte spojení sboduadobodu. Prodanézadáníneníjedinéřešeníapokudsiřekneme,žesenechceme nikdynanašícestěvracetnamísto,kdejsmejižbyli,můžemevšechnařešení zakreslitdografu,kterémuříkámestromřešeníajenaobrázku2.jdeo 3

4 výsledek aplikace grafového algoritmu pro hledání cesty v grafu. Kořenem stromu je uzel A a jednotlivé dosažené cíle jsou listy tohoto stromu. Výchozí a cílové místo je označeno silným kolečkem, ostatní místa zůstavajívkolečkutenkém.naobrázku2jeividět,žeseběhemřešenívyskytlo několik slepých cest, které vidíme jako listy, jež nejsou řešením pro dané zadání. Je jasné, že pro složitější úlohy je grafická reprezentace zobrazující všechna řešení mnohdy nemožná pro své celkové rozměry, ale na druhé straně je názorná a dostatečně vysvětluje, jaká jsou možná řešení, jak a kudy bylo cíle dosaženo a ukazuje i slepé cesty. Jen je třeba upozornit, že často dochází k zaměňování pojmu graf problému a strom řešení. Strom řešení je grafickým znázorněním všech řešení pro zadaný graf a požadovaný výchozí a cílový uzel. V některých vyjímečných případech může graf problému vypadat téměř stejně, jako strom řešení. Ale popisují něco jiného! 1.5 Algoritmy hledání řešení V předchozí podkapitole jsme se zmínili o algoritmech hledání cestu v grafu. Zdesipopíšemedvěmetodyproslepéhohledání hledánídohloubkya hledání do šířky. ále se pak zmíníme o možných heuristických metodách Hledání do hloubky Při tomto hledání vybíráme uzly tak, že pokud neexistuje elementární řešení - přímé spojení výchozího a cílového uzlu, vybíráme prostředníky, abychom co nejrychleji dospěli k vzdálenému cíli(opět jen připomeneme, že při hledání cesty v grafu se nevracíme do již navštívených uzlů). Jak takový postup vypadá, je názorně vidět na obrázku 3. Opět hledáme cestuzadovgrafu1adoznáméhostromuřešení2jsmejenčárkovanými čarami naznačili postup řešení(a tedy postup vzniku stromu řešení) Implementace hledání do hloubky Nejprve nadefinujeme všechny hrany grafu. % zadani hran grafu - orientovanych! hrana( a, g, 500 ). hrana( a, b, 210 ). hrana( a, c, 230 ). hrana( b, d, 90 ). hrana( b, e, 190 ). 4

5 A G B B B Obrázek3:Hledánídohloubky-prohledánícestyzboduAdo. hrana( c, e, 180 ). hrana( d, e, 100 ). hrana( d, f, 200 ). hrana( e, f, 220 ). hrana( f, g, 110 ). Takto zadané informace ovšem spíše reprezentují orientované hrany hrafu. Proto pokud chceme používat hrany jako obousměrné, museli bychom každouhranuzadatisopačnýmvýchozímacílovýmuzlem. legantnější samozřejmě bude, pokusit se vyřešit obousměrný průchod přes hranu programově: % hledani neorientovane hrany spoj( X, Y, ) :- hrana( X, Y, ). spoj( X, Y, ) :- hrana( Y, X, ). Tímtomámezadanýcelýgrafzobrázku1,kdejsouvšechnyhranyneorientované. Teď už můžeme napsat, jak bude vypadat implementace algoritmu 5

6 pro hledání do hloubky. Pro zajištění průchodu každým uzlem jen jednou, použijeme pomocný predikát z předchozí kapitoly- assertb. :-dynamic( uzel/1 ). % algoritmus hledani do hloubky assertb( uzel( X ) ), spoj( X, Y, ), assertb( uzel( Y ) ), write( Nalezene reseni ), nl, listing( uzel ). assertb( uzel( X ) ), spoj( X, Z, 1 ), Z \= Y, hloubka( Z, Y, 2 ), is write( Slepa cesta z ), write( X ), write( - ), write( Y ), nl, fail. Upozornění: algoritmu si do databáze ukládá informaci i prošlých uzlech. hcete-li po nalezení jednoho řešení pokračovat v hledání pro jiné zadání, musíte ostranit z databáze fakty uzel(x). Nejlépe následujícím příkazem: retractall( uzel( _ ) ) Hledání do šířky Postup hledání do šířky můžeme opět znázornit graficky ve stromu řešení. Hledánípostupujepo vrstvách,kdyprovýchozíuzelnejprveprojdeme všechny jeho nejbližší sousedy. Pro všechny tyto sousedy opět hledáme jejich sousedy. Tento postup opakujeme tak dlouho, dokud v dané vrstvě není obsažen požadovaný cíl. Názorně je to vidět na obrázku Implementace hledání do šířky Základ implementace, tedy popis grafu, můžeme použít z předchozího algoritmu hledání do hloubky. 6

7 A G B B B Obrázek4:Hledánídošířky-prohledánícestyzboduAdo. Musíme jen navrhnout, jak budeme postupovat. Předchozí algoritmus pracoval vždy jen maximálně se dvěma uzly grafu současně. Zde ovšem musíme postupovat po vrstvách a tak se automaticky nabízí použití seznamů. Nejprve si sestavíme dva pomocné predikáty. Jeden pro nalezení všech sousedů zadaného uzlu. Nazveme jej okoli. ruhým pomocným predikátem bude vrstva, kdy pro již známou vrstvu sestavíme vrstvu následující. Postup je jednoduchý, nalezneme okolí pro každý prvek vrstvy a všechny takto získané seznamy spojíme do jediného. Jako pomocné predikáty použijeme jižznáméověření,zdajeprvekobsaženvseznamu-predikátprvekapro spojení dvou seznamů predikát spoj seznamy. % nalezeni okolnich uzlu pro zadany uzel okoli( U, SI, SO ) :- spoj( U, X, _ ), not( prvek( X, SI ) ), okoli( U, [ X SI ], SO ). okoli( _, S, S ). % nalezeni nasledujici vrstvy 7

8 vrstva( [], [] ). vrstva( [ H T ], VO ) :- okoli( H, [], OK ), vrstva( T, V ), spoj_seznamy( OK, V, VO ). S těmito pomocnými predikáty je sestavení algoritmu snadné. Vstupem do řešení je predikát sirka. Ten volá hlavní predikát sirka vrstvy, kde probíhá vlastní postup po vrstvách. % algoritmus hledani do sirky - % - cesta z uzlu S do - nalezeneho ve vrstve V % sirka( Start, il, Vrstva ) sirka( S,, V ) :- sirka_vrstvy(, [S], L ), write( Nalezena vrstva: ), nl, write( L ). % sirka_vrstvy( il, Vrstva, Vysledek ) sirka_vrstvy(, V, V ) :- prvek(, V ). sirka_vrstvy(, VI, VO ) :- vrstva( VI, V ), sirka_vrstvy(, V, VO ). Jenutnododat,žealgoritmusneevidujejižjednouprošléuzlyatakse ve vrstvách objevují některé uzly duplicitně a nebere se ani ohled na uzly již prošlé. Jednoduchým, ale ne zcela korektním řešením by mohlo být vyloučení duplicit ve vrstvě. Úplné řešení tohoto problému ale není triviální a nebude zde rozebíráno. 1.6 Heuristika vějižuvedenémetodyhledánířešení-hledánídohloubkyadošířky-jsou metody slepé, postupující čistě mechanicky. Pro zlepšení efektivity hledání je dobré využít nějaké heuristiky. Mnozí siasiihnedpoložíotázku,cotoheuristikaje. Nemá smysl hledat jen jedno slovo, kterým bychom tento pojem vysvětlili. Ale určitě můžeme říci, že použití zkušenosti, intuice, zdravého rozumu a(lokální) znalosti problému, může přispět ke zefektivnění postupu hledání řešení. Představíme si dva takové jednoduché algoritmy: 8

9 Hill-limbing- metoda největšího gradientu. Least-ost- cesta nejmenších nákladů. 1.7 Hill limbing Jak už samotný název metody napovídá, je tato metoda inspirována reálnou situací. hceme-li dosáhnout vrcholu kopce, bude nejrychlejší postup po spádnici, tedy cestou nejvyššího gradientu(pokud použijeme analogii z matematiky). Nanašempříkladusjízdenkamibymohlojítoúvahu,ženejlepšíbude koupit v každém místě jízdenku do nejvzdálenějšího místa, čímž urazíme největšíkuscestyapřiblížímesetaknejvícekcíli.vpraximátatoúvaha smysl, pokud půjde o spojení ve velmi rozlehlé síti míst. Při aplikaci na hromadnou dopravu do města je podobné rozhodnutí naopak asi velmi nevhodné, neboť bychom již prvním použitým spojem vycestovali na konečnou stanici za město. V počítačové síti bychom si mohli aplikaci metody Hill-limbing představit v situaci implicitního směrování paketů v síti, kdy budeme pakety odesílat tím spojem, který má v dané chvíli nejvyšší propustnost. Následná implementace bude jen rozšířením prohledávání do hloubky o vyhledání nejvzdálenějšího souseda.pomocnýpredikátprotentoúkolby mohl vypadat asi následovně: hillclimb( X, Y, ) :- spoj( X, Y, ), not( ( spoj( X, _, 2 ), 2 > ) ),!. Predikát nalezne nejvzdálenějšího souseda pro zadané X. Ač může predikát na první pohled vypadat nesrozumitelně, jeho význam je zřejmý: hledámetakovýspojzx,abyneexistovaljinýspojzx,kterýbymělvyšší cenu. Teď můžeme predikát přidat k slepému prohledávání do hloubky. Postup hledání bude takový, že se pokusíme jít v každém uzlu metodou nejvyššího gradietu a bude-li tato cesta slepá, tak se vrátíme a budeme postupovat klasickým způsobem- hledáním do hloubky. Výsledný algoritmus bude vypadat následovně: assertb( uzel( X ) ), spoj( X, Y, ), assertb( uzel( Y ) ), write( Nalezene reseni ), nl, listing( uzel ). 9

10 assertb( uzel( X ) ), hillclimb( X, Z, 1 ), Z \= Y, hloubka( Z, Y, 2 ), is assertb( uzel( X ) ), spoj( X, Z, 1 ), Z \= Y, hloubka( Z, Y, 2 ), is write( Slepa cesta z ), write( X ), write( - ), write( Y ), nl, fail. 1.8 Least ost ruhou ukázkou použití heuristiky bude příklad postupu tím směrem, který bude vyžadovat nejmenší náklady, režii nebo energii. Určitě se také nabízí ne zcela přesné, ale výstižné vysvětlení: postupovat cestou nejmenšího odporu. Vpraxibytomohloznamenat,ženapř.přirozvozuzbožísebudeme snažit od každého zákazníka pokračovat k nejbližšímu dalšímu. Tím ovšem neříkáme, že jsme postupovali optimálně! alšímpříkladbymohlbýtopětzpočítačovésítě,kdysebudemesnažit imlicitně všechna data směrovat tím spojem, za který platíme nejnižší cenu za množství přenesených dat. Implementace bude i v tomto případě jen rozšířením slepého hledání dohloubky.potřebujemejenpomocnýpredikátpronalezení nejbližšího souseda pro zadaný výchozí bod. Predikát bude vypadat následovně: leastcost( X, Y, ) :- spoj( X, Y, ), not( ( spoj( X, _, 2 ), 2 < ) ),!. Stačíletmýpodledajejasné,žesejednáojižznáméřešenímetody Hill limbing, jen použijeme opačnou podmínku a hledáme tak spoj, jehož cena je nejnižší. Výsledný program také bude stejný jako u předchozí metody, jen se predikát hillclimb nahradí predikátem leastcost. 10

11 2 vičení Téma hledání řešení bude probíráno ve dvou cvičeních. 2.1 Ověření funkcionality algoritmů Každý student si nakreslí vlastní souvislý graf s minimálně 10 vrcholy a 15 hranami.každáhranamusímítsvoucenuajemožnomítihranyorientované. Pro kontrolu správného fungování algoritmů je vizuální kontrola velmi důležitá a je možno rychleji hledat chyby v reprezentaci dat i v programu. Nepodceňujte význam obrázků! Přepištěsialgoritmyprohledánířešenídošířkyidohloubkyaověřte jejich funkcionalitu nad vlastním grafem. 2.2 Hledání optimálního řešení, použití heuristiky Rozšiřtě algoritmus hledání do hloubky o možnost nalezení všech řešení pro každé zadání. Nalezená řešení ukládejte postupně do databáze prologu. Z nalezených řešená vyberte optimální řešení. Musíte si ovšem sami rozhodnout, cojevdanéchvílichápáno,jako optimální řešení.zdanejkratší,nebo nejdelší cesta, případně cesta s nejměnším počtem vrcholů. o hledání je také možno zapojit heuristiku a porovnat pořadí nalezených řešení. 11

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

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

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

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

Ř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

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

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

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

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

Ú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

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

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

Hlavolamy a teorie grafů

Hlavolamy a teorie grafů Hlavolamy a teorie grafů Petr Kovář 1 petr.kovar@vsb.cz 1 Vysolá škola báňská Technická univerzita Ostrava, Škola matematického modelování, 2009 Přehled přednášky Úloha hanojských věží Část 1. Co není

Více

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

HEURISTICKÉ ALGORITMY PRO ŘEŠENÍ ÚLOH OBCHODNÍHO CESTUJÍCÍHO HEURISTICKÉ ALGORITMY PRO ŘEŠENÍ ÚLOH OBCHODNÍHO CESTUJÍCÍHO Heuristické algoritmy jsou speciálními algoritmy, které byly vyvinuty pro obtížné úlohy, jejichž řešení je obtížné získat v rozumném čase. Mezi

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

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

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

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

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

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

Opiceabanán. Jdeoúlohu,kdysevdanémprostorupohybujeopice,někdejezavěšenýbanánaopicenanějnedosáhne.Vprostorujeovšemtakéžidle,

Opiceabanán. Jdeoúlohu,kdysevdanémprostorupohybujeopice,někdejezavěšenýbanánaopicenanějnedosáhne.Vprostorujeovšemtakéžidle, 1 Plánovací systémy Jako další samostatnou kategorii umělé inteligence můžeme vyčlenit oblast plánovacích úloh. Ne vždy jsou úlohy z této třídy řazeny mezi plánování, někdy mohou některé úlohy zapadnout

Více

Implementace A* algoritmu na konkrétní problém orientace v prostoru budov

Implementace A* algoritmu na konkrétní problém orientace v prostoru budov Implementace A* algoritmu na konkrétní problém orientace v prostoru budov Popis problému Orientaci ve známém prostředí lze převést na problém nalezení cesty z místa A do místa B. Obecně platí, že robot

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

1 Linearní prostory nad komplexními čísly

1 Linearní prostory nad komplexními čísly 1 Linearní prostory nad komplexními čísly V této přednášce budeme hledat kořeny polynomů, které se dále budou moci vyskytovat jako složky vektorů nebo matic Vzhledem k tomu, že kořeny polynomu (i reálného)

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

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

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

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

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 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 Umíme z minulé hodiny Implementace zásobníku a fronty pomocí

Více

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

zejména Dijkstrův algoritmus pro hledání minimální cesty a hladový algoritmus pro hledání minimální kostry. Kapitola Ohodnocené grafy V praktických aplikacích teorie grafů zpravidla graf slouží jako nástroj k popisu nějaké struktury. Jednotlivé prvky této struktury mají často přiřazeny nějaké hodnoty (může jít

Více

4 Pojem grafu, ve zkratce

4 Pojem grafu, ve zkratce Petr Hliněný, FI MU Brno, 2014 1 / 24 FI: IB000: Pojem grafu 4 Pojem grafu, ve zkratce Třebaže grafy jsou jen jednou z mnoha struktur v matematice a vlastně pouze speciálním případem binárních relací,

Více

12. Lineární programování

12. Lineární programování . Lineární programování. Lineární programování Úloha lineárního programování (lineární optimalizace) je jedním ze základních problémů teorie optimalizace. Našim cílem je nalézt maximum (resp. minimum)

Více

GRAFY A GRAFOVÉ ALGORITMY

GRAFY A GRAFOVÉ ALGORITMY KATEDRA INFORMATIKY PŘÍRODOVĚDECKÁ FAKULTA UNIVERZITA PALACKÉHO GRAFY A GRAFOVÉ ALGORITMY ARNOŠT VEČERKA VÝVOJ TOHOTO UČEBNÍHO TEXTU JE SPOLUFINANCOVÁN EVROPSKÝM SOCIÁLNÍM FONDEM A STÁTNÍM ROZPOČTEM ČESKÉ

Více

CLARKEOVA-WRIGHTOVA METODA ŘEŠENÍ ÚLOHY VRP

CLARKEOVA-WRIGHTOVA METODA ŘEŠENÍ ÚLOHY VRP CLARKEOVA-WRIGHTOVA METODA ŘEŠENÍ ÚLOHY VRP 1. Definice úlohy Úloha VRP (Vehicle Routing Problem problém okružních jízd) je definována na obecné dopravní síti S = (V,H), kde V je množina uzlů sítě a H

Více

ALGORITMY A DATOVÉ STRUKTURY

ALGORITMY A DATOVÉ STRUKTURY Název tématického celku: Cíl: ALGORITMY A DATOVÉ STRUKTURY Metodický list č. 1 Časová složitost algoritmů Základním cílem tohoto tematického celku je vysvětlení potřebných pojmů a definic nutných k popisu

Více

Algoritmizace diskrétních. Ing. Michal Dorda, Ph.D.

Algoritmizace diskrétních. Ing. Michal Dorda, Ph.D. Algoritmizace diskrétních simulačních modelů Ing. Michal Dorda, Ph.D. 1 Úvodní poznámky Při programování simulačních modelů lze hlavní dílčí problémy shrnout do následujících bodů: 1) Zachycení statických

Více

Hanojská věž. T2: prohledávání stavového prostoru. zadání [1 1 1] řešení [3 3 3] dva možné první tahy: [1 1 2] [1 1 3]

Hanojská věž. T2: prohledávání stavového prostoru. zadání [1 1 1] řešení [3 3 3] dva možné první tahy: [1 1 2] [1 1 3] Hanojská věž zadání [1 1 1] řešení [3 3 3] dva možné první tahy: [1 1 2] [1 1 3] který tah je lepší? (co je lepší tah?) P. Berka, 2012 1/21 Stavový prostor 1. množina stavů S = {s} 2. množina přechodů

Více

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

Cvičení 5 - Průchod stromem a grafem Cvičení 5 - Průchod stromem a grafem Radek Mařík Marko Genyk-Berezovskyj ČVUT FEL, K13133 14. března 2013 Cvičení 5 - Průchod stromem a grafem 14. března 2013 1 / 18 Outline 1 Průchod stromem 2 Cvičení

Více

Logaritmická rovnice

Logaritmická rovnice Ročník:. Logaritmická rovnice (čteme: logaritmus z x o základu a) a základ logaritmu x argument logaritmu Vzorce Použití vzorců a principy počítání s logaritmy jsou stejné jako u logaritmů základních,

Více

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

3. Optimalizace pomocí nástroje Řešitel 3. Optimalizace pomocí nástroje Řešitel Rovnováha mechanické soustavy Uvažujme dvě různé nehmotné lineární pružiny P 1 a P 2 připevněné na pevné horizontální tyči splývající s osou x podle obrázku: (0,0)

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

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

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

Více

Přednáška 3: Limita a spojitost

Přednáška 3: Limita a spojitost 3 / 1 / 17, 1:38 Přednáška 3: Limita a spojitost Limita funkce Nejdříve je potřeba upřesnit pojmy, které přesněji popisují (topologickou) strukturu množiny reálných čísel, a to zejména pojem okolí 31 Definice

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

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

Zobrazte si svazy a uspořádané množiny! Jan Outrata LatVis Zobrazte si svazy a uspořádané množiny! Jan Outrata Motivace potřeba visualizovat matematické (algebraické) struktury rychle, přehledně a automaticky počítačovými prostředky ruční kreslení je zdlouhavé

Více

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

Výhody a nevýhody jednotlivých reprezentací jsou shrnuty na konci kapitoly. Kapitola Reprezentace grafu V kapitole?? jsme se dozvěděli, co to jsou grafy a k čemu jsou dobré. rzo budeme chtít napsat nějaký program, který s grafy pracuje. le jak si takový graf uložit do počítače?

Více

u odpovědí typu A, B, C, D, E: Obsah: jako 0) CLP Constraint Logic Programming

u odpovědí typu A, B, C, D, E: Obsah: jako 0) CLP Constraint Logic Programming Průběžná písemná práce Průběžná písemná práce Obsah: Průběžná písemná práce Aleš Horák E-mail: hales@fi.muni.cz http://nlp.fi.muni.cz/uui/ délka pro vypracování: 25 minut nejsou povoleny žádné materiály

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

METODY ŘEŠENÍ ÚLOH MX2M

METODY ŘEŠENÍ ÚLOH MX2M METODY ŘEŠENÍ ÚLOH MX2M doc. RNDr. Jana Příhonská, Ph.D., jana.prihonska@tul.cz, linka 2370 Rozdělení úloh Podle obsahu, zadání, požadavku Podle využité řešitelské strategie Podle poznávacích procesů Podle

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

Binární vyhledávací stromy II

Binární vyhledávací stromy II Binární vyhledávací stromy II doc. Mgr. Jiří Dvorský, Ph.D. Katedra informatiky Fakulta elektrotechniky a informatiky VŠB TU Ostrava Prezentace ke dni 19. března 2019 Jiří Dvorský (VŠB TUO) Binární vyhledávací

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

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

Slepé prohledávání do šířky Algoritmus prohledávání do šířky Při tomto způsobu prohledávání máme jistotu, že vždy nalezneme koncový stav, musíme ale p

Slepé prohledávání do šířky Algoritmus prohledávání do šířky Při tomto způsobu prohledávání máme jistotu, že vždy nalezneme koncový stav, musíme ale p Hanojská věž Stavový prostor 1. množina stavů S = {s} 2. množina přechodů mezi stavy (operátorů) Φ = {φ} s k = φ ki (s i ) zadání [1 1 1] řešení [3 3 3] dva možné první tahy: [1 1 2] [1 1 3] který tah

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

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

Ú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ů Stavový prostor a jeho prohledávání SP = formalismus k obecnějšímu uchopení a vymezení problému, který spočívá v nalezení posloupnosti akcí vedoucích od počátečního stavu úlohy (zadání) k požadovanému

Více

Aplikované úlohy Solid Edge. SPŠSE a VOŠ Liberec. Ing. Jan Boháček [ÚLOHA 15 VĚTRACÍ OTVOR]

Aplikované úlohy Solid Edge. SPŠSE a VOŠ Liberec. Ing. Jan Boháček [ÚLOHA 15 VĚTRACÍ OTVOR] Aplikované úlohy Solid Edge SPŠSE a VOŠ Liberec Ing. Jan Boháček [ÚLOHA 15 VĚTRACÍ OTVOR] 1 CÍL KAPITOLY V této kapitole se budem zabývat jedním ze speciálních prvků, kterýmž je Větrací otvor. Jak název

Více

Úvod do informatiky. Miroslav Kolařík

Úvod do informatiky. Miroslav Kolařík Úvod do informatiky přednáška desátá Miroslav Kolařík Zpracováno dle R. Bělohlávek, V. Vychodil: Diskrétní matematika 2, http://phoenix.inf.upol.cz/esf/ucebni/dm2.pdf P. Martinek: Základy teoretické informatiky,

Více

TEORIE GRAFŮ TEORIE GRAFŮ 1

TEORIE GRAFŮ TEORIE GRAFŮ 1 TEORIE GRAFŮ 1 TEORIE GRAFŮ Přednášející: RNDr. Jiří Taufer, CSc. Fakulta dopravní ČVUT v Praze, letní semestr 1998/99 Zpracoval: Radim Perkner, tamtéž, v květnu 1999 ZÁKLADNÍ POJMY Říkáme, že je dán prostý

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

1. Toky, řezy a Fordův-Fulkersonův algoritmus

1. Toky, řezy a Fordův-Fulkersonův algoritmus 1. Toky, řezy a Fordův-Fulkersonův algoritmus V této kapitole nadefinujeme toky v sítích, odvodíme základní věty o nich a také Fordův-Fulkersonův algoritmus pro hledání maximálního toku. Také ukážeme,

Více

Uživatelský manuál: Modul Nové kontakty

Uživatelský manuál: Modul Nové kontakty Uživatelský manuál: Modul Nové kontakty Se zapnutím nových kontaktů souvisí nasazení nové aplikace Těžká podatelna a nový formulář pro evidenci externí písemnosti (dokumentu). Zapnutí nových kontaktů lze

Více

Automatická detekce anomálií při geofyzikálním průzkumu. Lenka Kosková Třísková NTI TUL Doktorandský seminář, 8. 6. 2011

Automatická detekce anomálií při geofyzikálním průzkumu. Lenka Kosková Třísková NTI TUL Doktorandský seminář, 8. 6. 2011 Automatická detekce anomálií při geofyzikálním průzkumu Lenka Kosková Třísková NTI TUL Doktorandský seminář, 8. 6. 2011 Cíle doktorandské práce Seminář 10. 11. 2010 Najít, implementovat, ověřit a do praxe

Více

2.7.6 Rovnice vyšších řádů

2.7.6 Rovnice vyšších řádů 6 Rovnice vyšších řádů Předpoklady: 50, 05 Pedagogická poznámka: Pokud mám jenom trochu čas probírám látku této hodiny ve dvou vyučovacích hodinách V první probíráme separaci kořenů, v druhé pak snížení

Více

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

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

Více

2.7.6 Rovnice vyšších řádů

2.7.6 Rovnice vyšších řádů 6 Rovnice vyšších řádů Předpoklady: 50, 05 Pedagogická poznámka: Pokud mám jenom trochu čas probírám látku této hodiny ve dvou vyučovacích hodinách V první probíráme separaci kořenů, v druhé pak snížení

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

Dynamika vázaných soustav těles

Dynamika vázaných soustav těles Dynamika vázaných soustav těles Většina strojů a strojních zařízení, s nimiž se setkáváme v praxi, lze považovat za soustavy těles. Složitost dané soustavy závisí na druhu řešeného případu. Základem pro

Více

Slučování tabulek. Sloučení dvou tabulek

Slučování tabulek. Sloučení dvou tabulek Slučování tabulek Newsletter Statistica ACADEMY Téma: Příprava dat Typ článku: Návody Máte informace ve více tabulkách a chcete je sloučit dohromady? Pak je tento článek právě pro Vás. Vysvětlíme, jaké

Více

Rozvoj tepla v betonových konstrukcích

Rozvoj tepla v betonových konstrukcích Úvod do problematiky K novinkám v požární odolnosti nosných konstrukcí Praha, 11. září 2012 Ing. Radek Štefan prof. Ing. Jaroslav Procházka, CSc. Znalost rozložení teploty v betonové konstrukci nebo její

Více

Parametrické programování

Parametrické programování Parametrické programování Příklad 1 Parametrické pravé strany Firma vyrábí tři výrobky. K jejich výrobě potřebuje jednak surovinu a jednak stroje, na kterých dochází ke zpracování. Na první výrobek jsou

Více

Rozdělování dat do trénovacích a testovacích množin

Rozdělování dat do trénovacích a testovacích množin Rozdělování dat do trénovacích a testovacích množin Marcel Jiřina Rozpoznávání je důležitou metodou při zpracování reálných úloh. Rozpoznávání je definováno dvěma kroky a to pořízením dat o reálném rozpoznávaném

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

1 Nejkratší cesta grafem

1 Nejkratší cesta grafem Bakalářské zkoušky (příklady otázek) podzim 2014 1 Nejkratší cesta grafem 1. Uvažujte graf s kladným ohodnocením hran (délka). Definujte formálně problém hledání nejkratší cesty mezi dvěma uzly tohoto

Více

1. Vektorové algoritmy jejich výstupem je soubor geometrických prvků, např.

1. Vektorové algoritmy jejich výstupem je soubor geometrických prvků, např. Kapitola 5 Řešení viditelnosti Řešit viditelnost ve scéně umí většina grafických programů. Cílem je určit ty objekty, resp. jejich části, které jsou viditelné z určitého místa. Tyto algoritmy jsou vždy

Více

TGH02 - teorie grafů, základní pojmy

TGH02 - teorie grafů, základní pojmy TGH02 - teorie grafů, základní pojmy Jan Březina Technical University of Liberec 28. února 2017 Metainformace materiály: jan.brezina.matfyz.cz/vyuka/tgh (./materialy/crls8.pdf - Introduction to algorithms)

Více

Cílem kapitoly je seznámit studenta se seznamem a stromem. Jejich konstrukci, užití a základní vlastnosti.

Cílem kapitoly je seznámit studenta se seznamem a stromem. Jejich konstrukci, užití a základní vlastnosti. Seznamy a stromy Cílem kapitoly je seznámit studenta se seznamem a stromem. Jejich konstrukci, užití a základní vlastnosti. Klíčové pojmy: Seznam, spojový seznam, lineární seznam, strom, list, uzel. Úvod

Více

Úloha - rozpoznávání číslic

Úloha - rozpoznávání číslic Úloha - rozpoznávání číslic Vojtěch Franc, Tomáš Pajdla a Tomáš Svoboda http://cmp.felk.cvut.cz 27. listopadu 26 Abstrakt Podpůrný text pro cvičení předmětu X33KUI. Vysvětluje tři způsoby rozpoznávání

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

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

nelze projít pomocí tzv. eulerovského tahu tedy, nelze nakreslit jedním tahem Teorie grafů je matematická disciplína. Spadá do oblasti diskrétní matematiky je to specifická matematická disciplína, diskrétní znamená nespojitá odvíjí se od toho, že procesy v počítačích popisujeme

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

Předpovídejte snadno a rychle

Předpovídejte snadno a rychle Předpovídejte snadno a rychle Newsletter Statistica ACADEMY Téma: Časové řady, exponenciální vyrovnávání Typ článku: Příklad Dnes se budeme zabývat situací, kdy chceme předpovídat, jak se bude v čase vyvíjet

Více

Složitosti základních operací B + stromu

Složitosti základních operací B + stromu Složitosti základních operací B + stromu Radim Bača VŠB Technická univerzita Ostrava Fakulta elektrotechniky a informatiky Katedra informatiky ŠKOMAM 2010-1- 28/1/2010 Složitosti základních operací B +

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

Základy umělé inteligence

Základy umělé inteligence Základy umělé inteligence Hraní her (pro 2 hráče) Základy umělé inteligence - hraní her. Vlasta Radová, ZČU, katedra kybernetiky 1 Hraní her (pro dva hráče) Hraní her je přirozeně spjato s metodami prohledávání

Více

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

CVIČNÝ TEST 22. OBSAH I. Cvičný test 2. Mgr. Tomáš Kotler. II. Autorské řešení 6 III. Klíč 13 IV. Záznamový list 15 CVIČNÝ TEST 22 Mgr. Tomáš Kotler OBSAH I. Cvičný test 2 II. Autorské řešení 6 III. Klíč 13 IV. Záznamový list 15 I. CVIČNÝ TEST VÝCHOZÍ TEXT K ÚLOZE 1 Kontroloři Státní zemědělské a potravinářské inspekce

Více

7. přednáška Systémová analýza a modelování. Přiřazovací problém

7. přednáška Systémová analýza a modelování. Přiřazovací problém Přiřazovací problém Přiřazovací problémy jsou podtřídou logistických úloh, kde lze obecně říci, že m dodavatelů zásobuje m spotřebitelů. Dalším specifikem je, že kapacity dodavatelů (ai) i požadavky spotřebitelů

Více

Algoritmus. Cílem kapitoly je seznámit žáky se základy algoritmu, s jeho tvorbou a způsoby zápisu.

Algoritmus. Cílem kapitoly je seznámit žáky se základy algoritmu, s jeho tvorbou a způsoby zápisu. Algoritmus Cílem kapitoly je seznámit žáky se základy algoritmu, s jeho tvorbou a způsoby zápisu. Klíčové pojmy: Algoritmus, vlastnosti algoritmu, tvorba algoritmu, vývojový diagram, strukturogram Algoritmus

Více

Nerovnice. Vypracovala: Ing. Stanislava Kaděrková

Nerovnice. Vypracovala: Ing. Stanislava Kaděrková Nerovnice Vypracovala: Ing. Stanislava Kaděrková Název školy Název a číslo projektu Název modulu Obchodní akademie a Střední odborné učiliště, Veselí nad Moravou Motivace žáků ke studiu technických předmětů

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

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

pracovní list studenta

pracovní list studenta Výstup RVP: Klíčová slova: pracovní list studenta Funkce kvadratická funkce Mirek Kubera žák načrtne grafy požadovaných funkcí, formuluje a zdůvodňuje vlastnosti studovaných funkcí, modeluje závislosti

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

e-mail: RadkaZahradnikova@seznam.cz 1. července 2010

e-mail: RadkaZahradnikova@seznam.cz 1. července 2010 Optimální výrobní program Radka Zahradníková e-mail: RadkaZahradnikova@seznam.cz 1. července 2010 Obsah 1 Lineární programování 2 Simplexová metoda 3 Grafická metoda 4 Optimální výrobní program Řešení

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

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

Kreslení grafů na plochy Tomáš Novotný

Kreslení grafů na plochy Tomáš Novotný Kreslení grafů na plochy Tomáš Novotný Úvod Abstrakt. V první části příspěvku si vysvětlíme základní pojmy týkající se ploch. Dále si ukážeme a procvičíme možné způsoby jejich zobrazování do roviny, abychom

Více

4.3. GONIOMETRICKÉ ROVNICE A NEROVNICE

4.3. GONIOMETRICKÉ ROVNICE A NEROVNICE 4.3. GONIOMETRICKÉ ROVNICE A NEROVNICE V této kapitole se dozvíte: jak jsou definovány goniometrické rovnice a nerovnice; jak se řeší základní typy goniometrických rovnic a nerovnic. Klíčová slova této

Více

TGH06 - Hledání nejkratší cesty

TGH06 - Hledání nejkratší cesty TGH06 - Hledání nejkratší cesty Jan Březina Technical University of Liberec 26. března 2013 Motivační problémy Silniční sít reprezentovaná grafem. Najdi nejkratší/nejrychlejší cestu z místa A do místa

Více

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

{ } 1.3.2 Množina všech dělitelů. Předpoklady: 010301 1.3.2 Množina všech dělitelů Předpoklady: 010301 Pedagogická poznámka: Na začátku si rozebereme řadu z poslední Odpočítávané. Na způsob jejího generování většinou nikdo nepřijde a proto ji dostanou žáci

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