FACULTY OF MECHANICAL ENGINEERING INSTITUTE OF AUTOMATION AND COMPUTER SCIENCE
|
|
- Dominika Konečná
- před 6 lety
- Počet zobrazení:
Transkript
1 VYSOKÉ UČENÍ TECHNICKÉ V BRNĚ BRNO UNIVERSITY OF TECHNOLOGY FAKULTA STROJNÍHO INŽENÝRSTVÍ ÚSTAV AUTOMATIZACE A INFORMATIKY FACULTY OF MECHANICAL ENGINEERING INSTITUTE OF AUTOMATION AND COMPUTER SCIENCE PLÁNOVÁNÍ CESTY ROBOTA POMOCÍ MRAVENČÍCH SYSTÉMŮ ROBOT PATH PLANNING BY MEANS OF ANT SYSTEMS BAKALÁŘSKÁ PRÁCE BACHELOR'S THESIS AUTOR PRÁCE AUTHOR VEDOUCÍ PRÁCE SUPERVISOR VÁCLAV SEDLÁK RNDr. JIŘÍ DVOŘÁK, CSc. BRNO 2009
2
3 Strana 3 ZADÁNÍ ZÁVĚREČNÉ PRÁCE (na místo tohoto listu vložte originál a nebo kopii zadání Vaší práce)
4
5 Strana 5 LICENČNÍ SMLOUVA (na místo tohoto listu vložte vyplněný a podepsaný list formuláře licenčního ujednání)
6
7 Strana 7 ABSTRAKT Tato práce se zabývá plánováním cesty robota pomocí mravenčích systémů. V teoretické části je úvod do problematiky plánování cesty mobilních robotů a přiblížení mravenčích systémů coby nástroje pro optimalizaci a plánování cesty. Praktická část práce se zabývá návrhem a programovou implementací mravenčích systémů pro plánování cesty robota v prostředí Borland Delphi 7. ABSTRACT This thesis deals with robot path planning by means of ant systems. The theoretical part contains an introduction to the path planning of mobile robots and an introduction to ant systems as optimization and path planning tool. The practical part deals with design and program implementation of path planning by ant systems in Borland Delphi 7 environment. KLÍČOVÁ SLOVA Mravenčí systémy, plánování cesty, mobilní robot, optimalizace. KEYWORDS Ant systems, path planning, mobile robot, optimization.
8 Strana 8 Abstrakt PODĚKOVÁNÍ Rád bych poděkoval RNDr. Jiřímu Dvořákovi za cenné podněty a rady k této práci.
9 Strana 9 Obsah: Zadání závěrečné práce...3 Licenční smlouva...5 Abstrakt Úvod Plánování cesty robota Reprezentace prostředí Překážky Pohyb robota Metody plánování cesty Metoda rozkladu do buněk Metody mapy cest Metody potenciálových polí Mravenčí algoritmy Biologické pozadí Chování reálných mravenců Experiment s dvojitým mostem Experiment s překážkou Umělí mravenci Pohyb umělých mravenců Plánování cesty pomocí mravenčího systému Podmínka ukončení běhu algoritmu Aplikace mravenčích algoritmů Návrh algoritmu pro plánování cesty robota Model prostředí Robot Vytvoření grafu Mravenčí kolonie Pohyb mravenců Reset mravence Feromonová stopa Návrh algoritmu Podmínka ukončení běhu algoritmu Algoritmus Srovnávací algoritmus Model prostředí Náhodné hledání Popis programu Ovládání programu Členění a běh programu Výsledky experimentů Ověření funkčnosti programu Srovnání strategií ukládání feromonové stopy Srovnání algoritmů hledání cesty Závěr...41 Seznam použité literatury...43
10
11 Strana 11 1 ÚVOD Během posledních let došlo v plánování cesty robotů k velkému pokroku. S rozvojem informačních technologií došlo i k rozvoji robotiky, od možnosti plánování pohybu pouze ve zcela známém prostředí až po současnou možnost navigace mobilního robota ve zcela neznámém měnícím se prostředí. V současnosti dokážou roboty řešit problémy v mnoha složitých prostředích. Plánování cesty se uplatňuje v mnoha aplikacích, jako např. automatizace, počítačová animace, chirurgie atd.. Existují různé metody plánování cesty robota. Většina metod obsahuje dvě části. První z těchto částí je tzv. předzpracování, kdy se pomocí grafu nebo funkce popisuje pracovní prostor robota. Druhou částí je tzv. dotazovací část, kdy již dochází k hledání cesty robota mezi startovním a cílovým bodem. Důležité pro plánování cesty robota je, aby robot splnit zadaný úkol v nejkratším možném čase s co nejmenšími náklady, eventuálně aby byly splněny další podmínky optimality. Mravenčí systémy jsou pravděpodobnostní algoritmy inspirované chováním reálných mravenců. Mravenčí algoritmy představují kolonie jednoduchých umělých mravenců, kteří spolupracují na řešení daného problému a vzájemně komunikují pouze přes změnu prostředí ve kterém se pohybují. Tyto algoritmy rojové inteligence jsou silným nástrojem pro řešení složitých optimalizačních úloh. Oblast použití těchto mravenčích algoritmů je široká a uplatnění nalezly i v problematice plánování cesty robota. Cílem mé práce je popsat problematiku plánování cesty mobilního robota a principy mravenčích systémů, a na základě těchto systémů navrhnout a implementovat metodu plánování cesty robota a provést ověřovací a srovnávací experimenty. Pro plánování cesty robota využiji mravenčí systémy, použitý algoritmus bude vycházet z algoritmů popsaných v [1] [4]. Zaměřím se na globální plánování v diskrétním dvourozměrném prostředí reprezentovaném neorientovaným grafem. Tato reprezentace umožňuje s jistým omezením modelovat i složité reálné prostředí. Navržený algoritmus musí být schopen nalézt optimální řešení i v tomto komplikovaném prostředí. Aplikací některých specifických operátorů se pokusím zlepšit kvalitu hledání cesty tak, aby hledání bylo rychlejší a cesta byla nejkratší.
12
13 Strana 13 2 PLÁNOVÁNÍ CESTY ROBOTA Pro řízení pohybu robota je důležité naplánování vhodné cesty prostředím tak, aby byl splněn zadaný úkol v nejkratším možném čase s co nejmenšími náklady, případně aby byly splněny jiné podmínky. Plánování cesty může být lokální nebo globální. Cílem obou těchto plánování je nalezení nejkratší možné cesty. Globální plánování hledá optimální cestu prostředím ze startovního do cílového bodu ještě před započetím pohybu robota. Lokální plánování se uplatňuje až během pohybu robota, kdy robot pomocí senzorů nachází překážky v prostředí a je nucen částečně měnit trasu. Účelem lokálního plánování je zabránit kolizím s překážkami, které během pohybu robota změnily svoji polohu nebo se do prostředí, kde se robot pohybuje, dostaly až po započetí pohybu robota. Robot musí být schopen analyzovat změny prostředí a být schopen upravit svoji cestu, tzv. ji přeplánovat. Lokální plánování může řídit pohyb robota po trase vytvořené globálním plánováním nebo může řídit pohyb robota tam, kde nelze aplikovat globální plánování. 2.1 Reprezentace prostředí Pro dosažení uspokojivé přesnosti musí být model prostředí co nejvíce podobný reálnému prostředí. S rostoucí přesností ovšem roste výpočetní náročnost. Proto je třeba mezi požadavky na přesnost a výpočetní náročnost volit kompromis. Model prostředí může být dvourozměrný nebo třírozměrný, v závislosti na tom, zda robot dokáže překonávat překážky nebo stoupání a klesání. Prostředí může být reprezentováno spojitě nebo diskrétně. Obr. 1 Diskrétní model prostředí. Diskrétní prostředí může být reprezentováno grafem nebo prostorem složeným z buněk. V případě, že je prostředí reprezentováno buňkami, se počet a tvar buněk odvíjí od velikosti modelu, požadavku na přesnost a velikosti robota. Velký počet buněk zajistí vyšší členitost a přesnost zobrazení překážek, ale zvýší výpočetní náročnost. Minimální velikost buňky odpovídá velikosti robota.
14 Strana 14 2 Plánování cesty robota Obr. 2 Spojité prostředí. Spojitý model prostředí je kontinuální prostor, který je podobný reálnému prostředí a není rozdělen na buňky jako diskrétní model prostředí. Směr pohybu robota v tomto prostředí není omezen rozkladem na síť buněk jako v případě diskrétního modelu prostředí. Spojitý model také umožňuje přesnější zadávání překážek. 2.2 Překážky Překážky představují různé objekty reálného prostředí, které omezují směr nebo způsob pohybu robota. Zobrazení překážek závisí na zvoleném modelu prostředí. V diskrétním modelu je překážka reprezentovaná jednou nebo více buňkami. Ve spojitém modelu mohou být polygonální překážky reprezentovány vrcholy a hranami, nepolygonální překážky například pomocí křivek. Překážky lze dělit na statické a dynamické. Statické nemění s časem svoji polohu či velikost, naopak dynamické překážky mohou s časem měnit svoji polohu nebo tvar. Pro hledání vhodné cesty v prostředí s dynamickými překážkami je vhodné použít lokální plánování. Překážky lze také dělit z hlediska omezení pohybu a to na prostupné a neprostupné. Prostupné může robot překonat změnou způsobu pohybu. Neprostupné překážky může robot pouze obejít. 2.3 Pohyb robota Podle omezení pohybu robota rozlišujeme holonomní a neholonomní plánování. Holonomní robot není nijak omezen v pohybu. Neholonomní je omezen v pohybu z hlediska času a prostoru. Pohyb robota je omezen překážkami a způsobem reprezentace prostředí. Počet možných směrů pohybu se odvíjí od počtu rozměrů prostoru a také od spojité nebo diskrétní reprezentace prostředí. Ve spojitém prostředí existuje nekonečně mnoho směrů pohybu. V diskrétním prostředí se počet možných směrů pohybu odvíjí od struktury prostředí, často bývá povoleno jen 8 směrů pohybu, jak je naznačeno na obr. 3. Robot se poté pohybuje jen ve směrech, kde nehrozí kolize s překážkou. Rychlost pohybu robota může být konstantní nebo proměnná. Obr. 3 Možné směry pohybu ve 2D diskrétním prostředí členěném do čtvercových buněk.
15 2 Plánování cesty robota Strana Metody plánování cesty Existuje množství metod pro plánování cesty robota mezi body dvěma body. Tyto metody vždy obsahují dvě části. První je tzv. předzpracování, kdy se popisuje pracovní prostor pomocí grafu či funkce. Dle [5] poté následuje tzv. dotazovací část, kdy již probíhá hledání cesty mezi počátečním a koncovým bodem. Obecně platí, že robot hledající cestu daným prostředím se do cílového bodu může dostat za splnění různých podmínek. Základní podmínkou je nalezení nejkratší cesty v nejkratším možném čase bez kontaktu s překážkami. Odkazy na podrobnější informace o dotazovací části lze nalézt v literatuře [10], [11]. Vzhledem k velkému množství metod plánování cesty a jejich různých modifikací uvádím jen ty nejzákladnější metody předzpracování Metoda rozkladu do buněk Princip této metody spočívá v rozkladu prostředí do buněk. Pro každou z buněk pracovního prostoru se určí, zda obsahuje volný prostor nebo překážku. Na základě těchto informací je vytvořen graf, kde vrcholy grafu představují buňky neobsahující překážku a hrany jsou spojnice vrcholů představující sousední buňky. Metodu rozkladu do buněk lze použít jako exaktní nebo aproximativní. Po vytvoření grafu se v dotazovací části aplikuje některý z algoritmů pro hledání cesty grafem. Aproximativní rozklad do buněk Aproximativní metoda rozkládá celé prostředí do buněk stejného tvaru. Tím se daný prostor převede na diskrétní tvar. Přesnost se odvíjí od velikosti buněk, protože i malá část překážky v buňce označí buňku jako překážku. S menší velikostí buňky roste tedy přesnost, ale také roste výpočetní náročnost. Obr. 4 Aproximativní rozklad prostředí do buněk. Exaktní rozklad do buněk Exaktní metoda rozkládá prostředí do nepřekrývajících se buněk. Kvůli usnadnění výpočtu hranic a stanovení přechodů mezi buňkami se volí jednoduchý tvar těchto buněk, nejčastěji trojúhelníky nebo lichoběžníky. Ukázka rozkladu prostředí do lichoběžníkových buněk je na obr. 5. Trasa robota se skládá z počátečního a cílového bodu a bodů přechodu, které robot využívá k bezpečnému pohybu mezi překážkami v modelu prostředí.
16 Strana 16 2 Plánování cesty robota Obr. 5 Exaktní rozklad do lichoběžníkových buněk Metody mapy cest Tyto metody vytvářejí mapu cest, která má podobu grafu reprezentujícího volný prostor. Hrany grafu tvoří cesty, po kterých se může robot pohybovat. Pro hledání cesty se poté využije některý z algoritmů hledání cesty grafem. Graf viditelnosti Dle [11] představuje graf viditelnosti popis volného pracovního prostoru robota, kde vrcholy grafu jsou startovní a cílový bod robota a vrcholy všech překážek v daném prostoru. Hrany grafu poté tvoří spojnice vrcholů, které neprotínají žádnou z překážek. Omezením grafu viditelnosti je nutnost zadávání polygonálních překážek a proto kružnice, elipsy aj. je nutné nahradit polygony. Obr. 6 Graf viditelnosti [5]. Voronoiův diagram Jak uvádí [5] a [11], Voronoiův diagram je geometrická struktura v rovině tvořená body o stejné vzdálenosti od jedné nebo více překážek. Body společně tvoří hrany diagramu, po kterých se
17 2 Plánování cesty robota Strana 17 robot může pohybovat bez rizika kolize s překážkou. Z diagramu je vytvořen graf, jehož vrcholy jsou body o stejné vzdálenosti od třech nebo více překážek a hrany jsou úsečky, tvořené body o stejné vzdálenosti od dvou překážek. Do grafu je třeba zahrnout první a poslední úsek cesty, které vzniknou napojením startu a cíle na nejbližší hrany Voronoiova diagramu. Řešením je nalezení nejkratší cesty grafem. Na obr. 7 je ukázka Voronoiova diagramu ve zjednodušeném modelu prostředí tvořeném bodovými překážkami. Obr. 7 Voronoiův diagram (vlevo) a graf s vyznačenou cestou z něj vytvořený (vpravo) [5]. Pravděpodobnostní metody Algoritmus pravděpodobnostních metod pracuje ve dvou krocích. V prvním kroku se popisuje volný pracovní prostor grafem. Graf se vytváří tak, že se náhodně zkouší pozice v pracovním prostoru a pokud zvolená pozice neleží v žádné z překážek je bod přidán jako vrchol grafu. Algoritmus poté zkouší propojit nový vrchol s existujícími vrcholy a pokud spojnice neprotíná žádnou z překážek, je přidána jako hrana grafu. Poté, co je pracovní prostor dostatečně popsán, se přejde ke druhému kroku. V této části je k vrcholům přidán startovní a cílový bod a opět se propojí možnými cestami s ostatními vrcholy. Pro nalezení cesty takto popsaným prostředím stačí použít některý z algoritmů pro hledání cesty grafem Metody potenciálových polí Práce [10] uvádí, že metody potenciálových polí popisují pracovní prostor potenciálovou funkcí E(x,y). Startovní bod robota má vyšší potenciál než cílový bod. Překážky mají vyšší potenciál než volný pracovní prostor. Robot, který hledá cestu prostorem popsaným potenciálovou funkcí, se pohybuje ve směru největšího záporného gradientu potenciálové funkce. Obr. 8 Potenciálové pole.
18
19 Strana 19 3 MRAVENČÍ ALGORITMY Mravenčí algoritmy (v literatuře také uváděné jako ACO, ant colony optimizationoptimalizace pomocí mravenčích kolonií) představují pravděpodobnostní algoritmy rojové inteligence inspirované chováním reálných mravenců. Původně byly tyto algoritmy, inspirované chováním reálných mravenců při hledání zdrojů potravy, použity pro hledání cesty grafem a v současnosti se mravenčí algoritmy používají v nejrůznějších aplikacích, viz podkapitola 3.4. Jak uvádí [7] a [4], hlavní myšlenkou mravenčích algoritmů je fakt, že principy samoorganizace, které umožňují vysoce koordinované chování reálných mravenců, mohou být použity pro koordinaci populací umělých jedinců, kteří budou vzájemně spolupracovat na řešení výpočetních problémů. Různé aspekty mravenčího chování jsou přitom inspirací pro různé druhy mravenčích algoritmů. Mezi tyto aspekty můžeme zařadit například hledání potravy, stavba mraveniště, rozdělení prací nebo spolupráce při přepravě věcí. 3.1 Biologické pozadí Hlavní inspirací pro mravenčí algoritmy představuje chování mravenčích kolonií při hledání potravy. Mravenci vykazují schopnost nalézt nejkratší cestu mezi mraveništěm a zdrojem potravy a to i přesto, že jsou téměř slepí. Této schopnosti mravenci dosahují díky způsobu komunikace mezi členy kolonií. Mravenci mezi sebou komunikují nepřímo, změnou prostředí ve kterém se pohybují. Tento nepřímý způsob se, zejm. v anglické literatuře, označuje jako stigmergy. Změna prostředí je realizována ukládáním feromonových stop, na které reagují ostatní členové mravenčích kolonií. Tento nepřímý způsob komunikace je dle [7] nástrojem k samoorganizaci mravenčích kolonií. Důležitým prvkem ve vzájemné komunikaci mravenců je také průběžné odpařování feromonových stop, protože způsobuje částečné zapomínání a může zamezit konvergenci řešení Chování reálných mravenců Bylo dokázáno, že chování některých mravenčích druhů je pravděpodobnostní, tzn. že mravenec, který se má rozhodnout kudy pokračovat v cestě, si pravděpodobněji vybere směr, ve kterém detekuje větší množství komunikační látky feromonu. Také bylo prokázáno, že v mravenčích koloniích se uplatňuje pozitivní zpětná vazba. Pro vysvětlení pravděpodobnostního pohybu a pozitivní zpětné vazby poslouží obr. 9. Obr. 9 Chování mravenčích kolonií, výběr nejkratší cesty [9].
20 Strana 20 3 Mravenčí algoritmy Na obr. 9 je naznačen zdroj potravy (P) a hnízdo (H). Nalezení nejkratší cesty mezi těmito dvěma body lze popsat ve 4 krocích. 1. Mravenci hledají cestu z hnízda (H) ke zdroji potravy (P). Pokud mravenec najde zdroj potravy (P), začne hledat cestu zpět do hnízda (H). 2. Pokud mravenec dorazí do bodu, kde se cesta rozděluje do dvou větví rozhoduje se s pravděpodobnostní P (S) (t) pro kratší větev a P (L) (t) pro delší větev. S t k h P S t = S t k h L t k h (1) kde S(t) je intenzita feromonu na kratší větvi, L(t) je intenzita feromonu na delší větvi, h a k jsou konstanty. Dle [8] odpovídají experimentům na živých mravencích hodnoty k=20 a h=2. Vzorec pro výpočet pravděpodobnosti volby delší větve P (L)(t) je obdobný. 3. Na počátku není na žádné z možných cest feromonová stopa a mravencům se tedy všechny cesty jeví stejné a proto volí cesty náhodně. 4. Z obr. 9 vyplývá, že existují celkem 4 možné cesty mezi hnízdem a zdrojem potravy. Pokud na počátku mravenci nezvolí nejkratší možnou cestu, tak dorazí ke zdroji potravy později než ti mravenci, kteří zvolili nejkratší cestu. Intenzita feromonu na kratší cestě již však mezitím zesílila příspěvkem vracejících se jedinců a při dalším hledání cesty proto bude kratší cesta zvýhodněna. Tuto zvýhodněnou cestu bude postupně využívat více mravenců až nakonec zcela převládne, právě tento mechanismus je již zmiňovanou pozitivní zpětnou vazbou Experiment s dvojitým mostem V případě, že mezi zdrojem potravy a hnízdem existují dvě stejně dlouhé cesty, dojde po určité době k ustálení pohybu mravenců pouze po jedné z nich, jak naznačuje obr. 10. Důvod takového chování je naznačen v podkapitole 3.1.1, na počátku není na žádné z možných cest feromonová stopa a mravencům se tedy všechny cesty jeví stejné a proto volí cesty náhodně. Pokud se na některou z cest vydá více mravenců, dojde k uložení většího množství feromonu a tato cesta bude mravenci upřednostňována. Pozitivní zpětná vazba pak zajistí, že všichni mravenci začnou používat jen jednu z cest jak naznačuje obr. 10. Obr. 10 Experiment s dvojitým mostem.
21 3 Mravenčí algoritmy Strana Experiment s překážkou Kromě výše zmíněné schopnosti nalézt nejkratší cestu ke zdroji potravy mají mravenci také schopnost snadno se přizpůsobit změnám prostředí. Například dokážou nalézt nejkratší cestu i přesto, že původní cesta není již více dostupná kvůli nové překážce. Když se na cestě objeví překážka, ti mravenci, kteří jsou těsně u ní, nemohou pokračovat dál po feromonové stopě, ale musí nalézt novou cestu. Nalezení nové nejkratší cesty je obdobné jako v podkapitolách a Umělí mravenci Výše zmíněné experimenty dokazují, že mravenčí kolonie mají optimalizační schopnosti. Použitím pravděpodobnostních pravidel na základě lokálních informací dokážou mravenci nalézt nejkratší cestu mezi dvěma body. Mravenčí algoritmy jsou založeny na koloniích umělých mravenců, jednoduchých agentů, kteří vzájemně komunikují přes umělé feromonové stopy. Mezi těmito koloniemi umělých a reálných mravenců je množství podobností. Jedinci v obou typech kolonií spolupracují, aby dosáhli jistého cíle. Schopnosti obou typů kolonií jako celku vysoce převyšují schopnosti jednotlivých členů těchto kolonií. Umělí mravenci vynikají stejnými schopnosti jako jejich reálné předlohy, ovšem v jistých ohledech se od reálných mravenců liší. Dle [4] se jedná zejména o následující odlišnosti: Umělí mravenci se pohybují v diskrétním světě, pohybují se přes konečnou množinu bodů v diskrétním čase. Umělí mravenci mají vnitřní paměť, která zaznamenává provedené akce. Množství umělého feromonu, který mravenci zanechávají může být např. funkcí kvality nalezeného řešení, funkcí délky cesty, konstantní atd.. Mechanismus odpařování umělého feromonu zajišťuje, že algoritmus neuvízne v lokálním optimu Pohyb umělých mravenců Umělí mravenci mají stejně jako jejich reálné předlohy pravděpodobnostní chování, tedy čím vyšší hodnotu feromonu detekují na cestě, tím vyšší je pravděpodobnost, že se touto cestou vydají. Původní rovnici (1) je pro použití v koloniích umělých mravenců nutno modifikovat. Modifikovaná rovnice pravděpodobnosti výběru cesty P k (i,j) mravencem k z bodu i do bodu j má tvar: i, j i, j k P i, j pro i, j Tabu = i, z i, z k (2) z Tabu k 0 pro i, j Tabu k kde τ (i,j) představuje intenzitu feromonu na spojnici bodů i a j, η (i,j) je dle [1] viditelnost bodu j z bodu i, přičemž platí: i, j = 1 d i, j (3) kde d(i,j) je vzdálenost bodů i a j. Exponenty α,β určují důležitost intenzity feromonové stopy, resp. vzdálenosti mezi body i a j, při výpočtu pravděpodobnosti výběru cesty z bodu i do bodu j. Tabuk je oblast zakázaných bodů, jedná se o již navštívené body uchovávané v paměti mravence. Průběžné ukládání navštívených bodů do vnitřní paměti umělého mravence zamezí tomu, aby se mravenec začal pohybovat ve smyčce po již navštívených bodech. Více informací o této problematice uvádí [4]. Umělí mravenci tedy volí směr cesty na základě obdobných pravidel jako jejich reálné předlohy. Stejně tak jako reální mravenci, mají i umělí mravenci schopnost ukládat po cestě feromonovou stopu, resp. již uloženou feromonovou stopu zesilovat. Intenzita feromonové stopy mezi body i a j τ (i,j)(t) je poté průchodem mravence k v čase t zvýšena o hodnotu τk(t) jak naznačuje rovnice (4). Hodnota τk(t) může být jak konstantní, tak proměnná (více informací uvádí literatura [1] [4]).
22 Strana 22 3 Mravenčí algoritmy i, j t n = i, j t k t (4) V případě, že v modelu umělých mravenců kalkulujeme i s průběžným odpařováním feromonové stopy, má poté výše uvedená rovnice tvar: i, j t n = i, j t k t (5) kde ρ 0;1 je koeficient odpařování feromonové stopy mezi časy t a t+n. Kromě možnosti ukládat konstantní nebo proměnné množství umělého feromonu také existují různé strategie ukládání feromonové stopy jako takové (podrobnější informace uvádí [4]). Na základě výše uvedených rovnic a předpokladu, že mechanismy pozitivní zpětné vazby a samoorganizace budou pracovat stejně jako v koloniích reálných mravenců, lze kolonie umělých mravenců použít k hledání nejkratší cesty prostředím, eventuálně pro řešení jiných optimalizačních problémů, které lze na tento problém převést. Různé modifikace výše uvedených rovnic daly vzniknout různým mravenčím algoritmům. Přehled těchto algoritmů, jejich porovnání a možnosti aplikací uvádí literatura [4],[7],[8]. Dále použitý a uvažovaný mravenčí algoritmus je tzv. mravenčí systém (ant system, AS), popsaný v literatuře [1], [7],[4]. 3.3 Plánování cesty pomocí mravenčího systému Práce [2] uvádí, že užitím mravenčích algoritmů na problematiku plánování cesty lze dosáhnout nejen nalezení cesty ze startovního do cílového bodu, ale také nalezení nejkratší možné cesty, resp. cesty nejblíže optimu. Pro potřeby plánování cesty pomocí mravenčích algoritmů je nutné popsat pracovní prostor pomocí grafu a v tomto grafu určit startovní a cílový bod. Předpokládejme, že máme kolonii umělých mravenců o m jedincích. Algoritmus pro plánování cesty mezi startovním a cílovým bodem pomocí mravenčího systému je v pseudokódu popsaný níže 1. Inicializace: Nastav: t :=0; ( t je časovač ) NC := 0; ( NC je čítač cyklů) Pro všechny hrany grafu (i,j) nastav počáteční intenzitu feromonové stopy τ(i,j) := C. Umísti m mravenců na startovní bod. 2. Nastav: s := 1; ( s je velikost paměti mravence) for k:=1 to m do: Umísti startovní bod do Tabuk (s) v paměti k-tého mravence. 3. repeat Nastav: s := s+1; for k:=1 to m do: Vyber bod j dle rovnice (2). Přesuň mravence k do bodu j. Nastav clk := clk + dij ( clk je délka cesty k-tého mravence ) ( dij je vzdálenost bodů i a j ) if( clk > clmax ) then Zabij mravence k. else Umísti bod j do Tabuk (s). until(dosažen cíl). 4. for k:=1 to m do: Přesuň. mravence k z Tabuk (n) do Tabuk (1). Spočítej délku cesty k-tého mravence Lk, urči nejkratší nalezenou cestu. Urči τk (t).
23 3 Mravenčí algoritmy Strana Pro všechny hrany grafu urči novou hodnotu τ (i,j)(t+n) dle rovnice (4). Nastav: t := t+n; NC := NC+1; 6. if (NC < NCMAX) and (Nestagnující chování) then Vymaž paměť všem mravencům. Pokračuj na krok 2. else Zobraz nejkratší nalezenou cestu. Stop. (Paměť = Tabuk) V tomto algoritmu je aplikovaná omezující podmínka na délku cesty mravence. Pokud mravenec urazí delší cestu než je nejdelší možná, je mravenec eliminován. Další podmínka je aplikovaná na běh algoritmu: po dosažená nejvyššího dovoleného počtu cyklů NCMAX je běh algoritmu ukončen. Kromě výše uvedeného algoritmu lze pro plánování cesty použít také kombinaci mravenčího algoritmu a genetického algoritmu, tzv. ACO-GA, jak uvádí [2] Podmínka ukončení běhu algoritmu Každý cyklus běhu algoritmu je testován na vybrané parametry a ukončení běhu algoritmu je řízené dosažením definované hodnoty daného parametru. Podmínek ukončení běhu algoritmu může být i více a je možné je kombinovat. V tomto případě je algoritmus ukončen při dosažení alespoň jedné z těchto podmínek. Dále jsou uvedeny nejčastější podmínky. Dosažen maximální počet cyklů. Dosažen maximální čas výpočtu. Nalezení dostatečného počtu řešení. Pouze malé změny v řešení během dalších cyklů, ustálení řešení na určitém optimu. 3.4 Aplikace mravenčích algoritmů Mravenčí systémy byly původně užity pro řešení problému obchodního cestujícího, resp. pro hledání nejkratší cesty v grafu. S rozvojem dalších mravenčích algoritmů se poté značně rozšířilo pole možných aplikací těchto optimalizačních metod. Mravenčí algoritmy jsou již ze své podstaty využívány coby nástroj pro optimalizaci přepravních procesů. Jak uvádí [8], existuje několik společností zabývajících se vývojem a implementací mravenčích algoritmů pro optimalizaci nejrůznějších přepravních procesů, resp. distribučních systémů. Dalším možným polem aplikací těchto algoritmů je oblast počítačových sítí. Na základě mravenčích algoritmů byly navrženy metody pro propojování počítačových sítí. Mravenčími algoritmy byly dále řešeny problémy plánování, problém přidělování frekvencí, problém batohu aj.. Další možnosti použití těchto algoritmů uvádí [8] a [9].
24
25 Strana 25 4 NÁVRH ALGORITMU PRO PLÁNOVÁNÍ CESTY ROBOTA 4.1 Model prostředí Prostředí je řešeno jako dvourozměrný diskrétní prostor omezený svými hranicemi. Pracovní prostor robota je popsán neorientovaným grafem. K popisu prostředí byl použit redukovaný graf viditelnosti, jak je naznačeno na obr. 11. Na hrany grafu se ukládá feromonová stopa, kterou využívají členové kolonie umělých mravenců při hledání nejkratší cesty mezi startovním a cílovým bodem. Překážky v tomto prostoru mohou být reprezentovány buď čtverci nebo obdélníky. Nekonvexní tvary překážek v tomto modelu nelze zadávat přímo, ale složité tvary je možné vytvořit vhodným složením několika jednoduchých překážek. Překážky nemění svoji polohu v čase a robot je nemůže nijak překonat, pouze je může obejít. Překážky lze do volného prostoru zadávat pomocí souřadnic a rozměrů. Obr. 11 Grafická reprezentace prostředí Robot Předpokládám, že robot pohybující se v prostředí popsaném výše má nenulové rozměry. Pro zjednodušení je tvar robota nahrazen kružnicí o poloměru a. Takto reprezentovaný robot se ve výše popsaném prostředí může pohybovat pouze po hranách grafu Vytvoření grafu Jak je zmíněno výše, k popisu pracovního prostoru robota je použit redukovaný graf viditelnosti. Pro zajištění průchodu ze startovního do cílového bodu bez kontaktu s překážkami je třeba již při vytváření grafu uvažovat rozměry robota a hrany i vrcholy grafu umístit tak, aby nikde během pohybu nemohlo dojít ke kontaktu robota s překážkou. Pro vysvětlení tvorby grafu poslouží obr. 12 :
26 Strana 26 4 Návrh algoritmu pro plánování cesty robota Pro zajištění průchodu prostředím bez kolize s překážkami je nutné umístit vrcholy a hrany grafu do dostatečné vzdálenosti od překážek. Vzhledem k tomu, že robot je reprezentován kružnicí o poloměru a, nabízí se možnost zajistit bezpečný průchod prostředím tak, že všechny překážky budou zvětšeny v kladném i záporném směru obou os o poloměr a, jak je naznačeno na obr. 12.Na průsečících sousedních hran nafouknuté překážky poté vzniknou vrcholy grafu a hrany grafu jsou ty spojnice vrcholů, které neprotínají žádnou ze zvětšených překážek. V případě, že se v modelu prostředí nachází více překážek (viz obr. 11 ),probíhá při vytváření grafu kontrola, zda vrcholy zvětšených překážek neleží uvnitř jiné zvětšené překážky. Pokud ano, nedojde k vytvoření vrcholu grafu v tomto bodě. Obr. 12 Nafouknutí překážky. 4.2 Mravenčí kolonie Cesta výše uvedeného robota je plánovaná pomocí kolonie m mravenců. Každý z těchto umělých mravenců obsahuje vnitřní paměť, kam se průběžně ukládají vrcholy, které mravenec navštívil. Tato paměť, dále popisovaná jako Tabu k, zajišťuje, aby mravenec nenavštívil žádný z vrcholů vícekrát a po dosažení cílového bodu umožní mravenci návrat po stejné trase. Mravenci také do své paměti průběžně ukládají počet vykonaných kroků a informaci o délce cesty. Mravenci hledají cestu mezi startovním a cílovým bodem a pohybují se po hranách grafu popisujícího prostředí. Vrcholy grafu představují místa, kde mravenci volí další směr pohybu Pohyb mravenců Mravenci se pohybují po hranách grafu a po dosažení vrcholu volí jeden ze sousedních vrcholů a to na základě toho, jakou hodnotu umělé feromonové stopy detekují na hraně spojující tyto vrcholy. Pravděpodobnost pohybu mravence k z bodu i do bodu j je následující: k P i, j = i, j i, j n z =1 i, z i, z pokud j Tabu k (6) 0 pokud j Tabu k kde η(i,j) je převrácenou hodnotou vzdálenosti bodů i a j, τ(i,j), resp τ(i,z), je intenzita feromonové stopy na hraně spojující vrcholy i a j, resp z. Exponent α určuje důležitost hodnoty feromonové stopy při výběru další cesty. Naopak exponent β určuje důležitost vzdálenosti při výběru další cesty. Pokud je α větší než β, rozhodují se mravenci na základě hodnoty feromonové stopy, kterou detekují na hraně mezi dvěma vrcholy, tedy upřednostňují cestu použitou dalšími členy kolonie. Naopak pokud je β větší než α, hraje při rozhodování větší roli vzdálenost vrcholů grafu na úkor intenzity feromonové stopy mezi těmito vrcholy.
27 4 Návrh algoritmu pro plánování cesty robota Strana Reset mravence V podkapitole 3.3 je uvedeno, že pokud mravenec překročí maximální dovolenou délku cesty, dojde k jeho eliminaci. V návrhu algoritmu v případě obdobného problému předpokládám eliminaci mravence a okamžité umístění identického mravence na startovní vrchol, tedy reset mravence. Reset proběhne v okamžiku, kdy se mravenec dostane do bodu odkud nemůže pokračovat dále, jak je naznačeno na obr. 13. Poté dojde k vymazání celé paměti mravence a jeho umístění na startovním bodě. Mravenec se poté opět zapojí do hledání cesty. Obr. 13 Reset mravence po 5 krocích Feromonová stopa Ukládání feromonové stopy je klíčem k samoorganizaci a nalezení nejkratší cesty mezi startovním a cílovým bodem. Umělá feromonová stopa je reprezentovaná ohodnocením hran grafu. Při cestě mravence k. po hraně spojující body i a j je původní množství feromonu τ (i,j)(t) navýšeno o hodnotu τ (i,j) k (t). Množství feromonu na uvedené hraně je poté dáno rovnicí (5). V algoritmu předpokládám aplikaci mechanismu odpařování umělé feromonové stopy. Existují různé strategie ukládání feromonové stopy a v návrhu algoritmu se dále budu zabývat následujícími možnostmi ukládání feromonové stopy. Mravenci uloží feromonovou stopu na všechny hrany, kterými prošli a to bez ohledu na to, zda dorazili do cílového bodu či nikoliv. Mravenci ukládají feromonovou stopu i při návratu z cílového do startovního bodu. Množství ukládaného feromonu je konstantní. Mravenci ukládají feromonovou stopu jen při cestě od cíle zpět ke startovnímu bodu a množství feromonu je konstantní. Mravenci ukládají feromonovou stopu jen při cestě od cíle zpět ke startovnímu bodu a množství feromonu je dáno funkcí: k i, j t = Q l k t kde Q je konstanta, v tomto případě jeden a půl násobek vzdálenosti startovního a cílového bodu, l(k) je délka cesty k-tého mravence po dosažení cílového bodu. Mravenci uloží konstantní množství feromonu na všechny hrany, které použili cestou k cíli v okamžiku dosažení cílového bodu. Při cestě od cílového zpět ke startovnímu bodu již mravenci ukládají průběžně konstantní množství feromonu. Mravenci uloží proměnné množství feromonu na všechny hrany, které prošli cestou k cíli v okamžiku dosažení cílového bodu. Ukládané množství feromonu je dáno rovnicí (7). Při cestě od cílového zpět ke startovnímu bodu mravenci ukládají průběžně množství feromonu dle rovnice (7). (7)
28 Strana 28 4 Návrh algoritmu pro plánování cesty robota Předpokládám, že uvedená strategie průběžného ukládání umělé feromonové stopy bude ve srovnávacích experimentech vykazovat nejhorší výsledky. Důvodem by měl být fakt, že mravenci uloží stopu bez ohledu na nalezení cílového bodu. Tato stopa tedy může ovlivnit rozhodování dalších členů kolonie bez ohledu na to zda spojuje startovní a cílový bod. Dále předpokládám, že nejlepších výsledků ve srovnávacích experimentech bude dosahovat čtvrtá a pátá strategie ukládání stopy. Důvodem by mělo být to, že tato stopa je uložena vždy po dosažení cíle a je tedy zaručeno, že pokud budou další členové kolonie tuto stopu následovat, dosáhnou vždy cíle. 4.3 Návrh algoritmu Podmínka ukončení běhu algoritmu Bez tohoto kritéria by algoritmus nikdy neskončil svůj výpočet a proto je třeba určit, při jakých podmínkách musí ukončit svou činnost. Tyto podmínky musí mít schopnost posoudit kvalitu nalezeného řešení a proto je vhodné kombinovat více omezujících podmínek. V návrhu algoritmu předpokládám následující podmínky ukončení běhu programu. Dosažení maximálního počtu cyklů algoritmu. Dosažení časového limitu běhu algoritmu. Dostatečný počet mravenců najde cestu ze startovního do cílového bodu. Nalezení první možné cesty Algoritmus Algoritmus plánování cesty robota pomocí mravenčích systémů je možné rozdělit na tři dílčí části. První část vytváří model prostředí a vkládá překážky. Druhá část vytváří kolonii umělých mravenců a hledá cestu prostředím. Třetí část poté kontroluje běh algoritmu, správnost zadaných dat a určuje optimální cestu robota. V pseudokódu uvádím návrh algoritmus pro plánování cesty robota pomocí mravenčího systému. 1. Inicializace: Vytvoř model prostředí a vlož překážky. Nastav: Startovní a cílový bod. Konstanty α,β. Urči strategii ukládání feromonové stopy. Vytvoř kolonii m mravenců, umísti kolonii do startovního bodu. NC := 0. (NC je čítač cyklů) Pro všechny hrany grafu (i,j) nastav počáteční intenzitu feromonové stopy τ(i,j) := C. 2. for k:=1 to m do: s := 1. ( s je velikost paměti mravence) Umísti startovní bod do Tabuk(s) v paměti k. mravence. 3. repeat for k:=1 to m do: if (mravenec k uvíznul) then Reset k- tého mravence. else do: Nastav: s := s + 1. Na základě rovnice (6) vyber bod j. Přesuň k. mravence do bodu j. Nastav: clk := clk + dij ( clk je délka cesty k. mravence ) ( dij je vzdálenost bodů i a j )
29 4 Návrh algoritmu pro plánování cesty robota Strana 29 Umísti bod j do Tabuk (s). until(dosažen cíl) or ((Nedosažen cíl) and (Dosažen časový limit)) 4. for k:=1 to m do: Ulož feromonovou stopu. Přesuň k. mravence z Tabuk (n) do Tabuk (1). Spočítej délku cesty k. mravence Lk, urči nejkratší nalezenou cestu. 5. Nastav: NC := NC + 1. Pro všechny hrany grafu urči novou hodnotu τ (i,j)(nc) dle rovnice (5). 6. If (splněny podmínky dle 4.3.1) then Zobraz nejkratší nalezenou cestu. Ulož výsledky hledání. Stop. else Reset všech mravenců. Pokračuj krokem Srovnávací algoritmus Vše uvedený algoritmus bude srovnáván ve dvou směrech. Stejný algoritmus hledání cesty bude použit na odlišný model prostředí a dále bude v modelu prostředí uvedeném v podkapitole 4.1 použito náhodné vyhledávání kolonií agentů namísto mravenčího algoritmu Model prostředí Prostředí je řešeno jako dvourozměrný diskrétní prostor omezený svými hranicemi. Pracovní prostor robota je popsán neorientovaným grafem. Prostředí je rozloženo do čtvercových nebo obdélníkových buněk, kde vrcholy buněk představují vrcholy grafu. Svislé, vodorovné a úhlopříčné spojnice sousedních vrcholů poté představují hrany grafu. Na tyto hrany se poté ukládá umělá feromonová stopa. Na obr. 14 je naznačeno, že každý vrchol grafu může mít maximálně 8 sousedů. Překážky jsou reprezentovány stejně jako v podkapitole 4.1. Model prostředí je vytvořen tak, že nejprve je vytvořen graf a poté jsou přidány překážky. Pokud je vložena překážka tak, že překryje vrchol grafu, je tento vrchol vyjmut z grafu a veškeré vazby tohoto vrcholu na okolní vrcholy grafu a opačně zaniknou. Pokud je překážka vložena tak, že hrana spojující dva vrcholy tuto překážku protíná, je tato hrana z grafu vyjmuta. Pro hledání cesty takto reprezentovaným prostředím bude použit algoritmus uvedený v podkapitole Náhodné hledání Algoritmus náhodného hledání vychází z algoritmu popsaného v podkapitole 4.3. Rozdíl mezi mravenčím algoritmem a algoritmem náhodného hledání spočívá v tom, že mravenci volí další vrcholy náhodně, bez ohledu na intenzitu feromonových stop a bez ohledu na vzdálenost vrcholů. Umělí mravenci využívající tento algoritmus také nebudou ukládat feromonové stopy.
30 Strana 30 4 Návrh algoritmu pro plánování cesty robota Obr. 14 Grafická reprezentace srovnávacího modelu prostředí
31 Strana 31 5 POPIS PROGRAMU Simulace robota je naprogramovaná v prostředí Borland Delphi 7. Snahou bylo využít dostupných prostředků k snadnému a intuitivnímu ovládání programu. Program byl vytvořen použitím technik objektově orientovaného programování. Okno programu je rozdělena do dvou částí hlavních částí: Největší část zabírá pracovní plocha robota. Zde se také zobrazuje výsledné řešení a model prostředí (viz b) na obr. 15,b). Menší část zabírají potřebné ovládací prvky aplikace (viz obr. 15,a). Obr. 15 Okno programu s úvodním ovládacím panelem. Jak je naznačeno na obr. 15, po spuštění programu se zobrazí úvodní ovládací panel, který nabízí možnost vytvoření nového modelu, nebo použití modelu uloženého do souboru. V závislosti na volbě uživatele jsou poté zobrazovány další ovládací panely. Vždy je ovšem aktivní jen jeden panel, na kterém uživatel vkládá potřebné parametry pro běh programu. 5.1 Ovládání programu Volba Nový na úvodním panelu zpřístupní panel s následujícími možnostmi volby: Vytvoření modelu prostředí o požadovaných rozměrech, viz obr. 16 a). Možnost uložit model do souboru, návratu do úvodního menu, použít daný model pro hledání cesty, viz obr. 16 b).. Vložení a odebírání překážek v modelu prostředí, viz obr. 16 c),d). Překážky jsou vytvářeny pomocí souřadnic výchozího bodu a rozměrů překážky, jak naznačuje obr. 16 d). Nejprve je určen počáteční bod o souřadnicích (X0,Y0), tento bod je použit jako levý dolní roh překážky, jak je patrné z obr. 16 d). Program neumožňuje zadávat jiné překážky než čtvercové či obdélníkové. Složitější tvary možné vytvořit skládáním jednotlivých překážek. Každá vložená překážka je vykreslena na pracovní plochu. Volba Použít uložený na úvodním panelu zobrazí na pracovní plochu robota první z dostupných uložených modelů a zpřístupní panel s následujícími možnostmi (viz Obr. 17,a) ) : Přechod k následujícímu modelu, pokud je k dispozici. Přechod k předchozímu modelu, pokud je k dispozici.. Možnost návratu do úvodního menu.
32 Strana 32 5 Popis programu Možnost použít daný model pro hledání cesty. Obr. 16 Ovládací panely, volba Nový. Volba Použít na obou výše zmíněných panelech zpřístupní ovládací panel pro nastavení parametrů hledání cesty, viz obr. 17,b). Možnosti zadávání parametrů jsou následující: Zadání počtu umělých mravenců v kolonii, která hledá cestu prostředím. Zadání konstant α,β viz rovnice (6). Určení strategie ukládání feromonové stopy, viz podkapitola Koeficient odpařování feromonové stopy. Rozměr robota, viz podkapitola Podmínky ukončení běhu algoritmu, při zadání více podmínek se běh algoritmu ukončí při dosažení kterékoliv z podmínek bez ohledu na stav ostatních. Zadání souřadnic startovního a cílového bodu. Volba Start na panelu pro nastavení parametrů zahájí hledání cesty modelem daného prostředí. Po ukončení hledání jsou výsledky hledání cesty uloženy do souboru a je zpřístupněný panel pro opětovné hledání cesty se stejnými parametry. Na pracovní ploše robota je zobrazen model prostředí se startovním cílovým bodem a všemi překážkami v daném modelu prostředí. Na pracovní plochu robota se také vykreslí graf popisující pracovní prostor robota, viz obr. 18.
33 5 Popis programu Strana 33 Obr. 17 Ovládací panely, volby Použít uložený a Použít. 5.2 Členění a běh programu Program byl vytvořen použitím dostupných technik objektově orientovaného programování. Program pracuje celkem s pěti instancemi, jak je naznačeno na obr. 19. Po spuštění programu je volbami Nový a Použít uložený vytvořena řídící část, která pracuje se vstupními a výstupními daty a vytváří další instance programu. První instancí, kterou řízení programu vytvoří, je model prostředí. Model prostředí dále vytváří pole překážek a pole vrcholů grafu. Na základě informací o poloze překážek a vrcholů je dále vytvořen graf popisující volný prostor. Do grafu je vložen startovní a cílový bod a řídící část poté vytvoří kolonii umělých mravenců (pole mravenců). Tito umělí mravenci hledají cestu mezi startovním a cílovým bodem a přitom využívají informace z modelu prostředí. Pokud najdou spojnici startu a cíle, předají informaci řídící části programu, která rozhodne o ukončení nebo dalším pokračování hledání. Po ukončení hledání jsou výsledky uloženy do souboru a zobrazeny na pracovní plochu robota. Řídící část poté uvolní všechny instance programu. Opakování běhu programu je možné opětovnou volbou Nový nebo Použít uložený.
34 Strana 34 5 Popis programu Obr. 18 Výsledek hledání cesty zobrazený na pracovní ploše robota. Obr. 19 Schéma objektů použitých v programu
35 Strana 35 6 VÝSLEDKY EXPERIMENTŮ Experimenty probíhaly ve třech krocích. Nejprve byly ověřovány jednotlivé funkce programu a funkčnost programu jako celku. V druhém kroku byly srovnávány výsledky hledání cesty při různých strategiích ukládání feromonové stopy. Nakonec byly provedeny experimenty s odlišným modelem prostředí, resp. s náhodným hledáním cesty, a výsledky těchto experimentů byly srovnávány s výsledky z druhého kroku. 6.1 Ověření funkčnosti programu V rámci ověřování funkčnosti programu bylo odstraněno několik méně závažných chyb, dále bylo že program se v určitých případech může chovat nestabilně. Jedná se zejména o následující případy: Použití časového kritéria. Velikost mravenčí kolonie přesáhne cca 30 jedinců. Hodnoty exponentů α a β vyšší než 4. Exponent β je větší než α. Počet omezení cyklů algoritmu je vyšší než Počet dosažení cílového bodu je vyšší než Srovnání strategií ukládání feromonové stopy V experimentech byl testován vliv různých strategií ukládání feromonové stopy na hledání cesty daným prostředím. Experimenty byly provedeny ve třech různých modelech. Byly zadány následující parametry hledání cesty: Exponenty α = 3, β = 2. Mravenčí kolonie o 15 členech. Koeficient odpařování feromonové stopy = 0,75. Velikost robota = 0,25. Podmínky ukončení běhu algoritmu: Dosažení cyklů. Sledovány byly tyto parametry: délka cesty, počet kroků mezi startovním a cílovým bodem, počet dobrých řešení a také doba řešení. Za dobré řešení považuji takové řešení, kdy délka trasy robota je nejvýše jeden a půl násobkem nejkratší nalezené cesty, nebo během experimentu nedojde k nestabilnímu chování programu. Pro každou strategii ukládání feromonové stopy (viz 4.2.3) bylo provedeno dvacet experimentů. Model 1 Byl vytvořen jednoduchý model prostředí o rozměrech 8x8, viz obr. 20, tento model prostředí je popsán grafem o 44 vrcholech. Souřadnice startovního bodu jsou (0;1) a souřadnice cílového bodu jsou (8;8). Strategie ukládání stopy. Délka cesty Kroky Dobrá řešení Průměr Min/Max Průměr Min/Max [%] Průměrný čas řešení [ms] ,1 12,5 / 20,7 5,8 5 / ,9 12,5 / 18,5 5,7 5 / ,4 12,6 / 16,4 5,8 5 / ,0 12,5 / 18,3 5,5 5 / ,1 12,5 / 14,2 5,3 5 / Tab. 1 Srovnání strategií ukládání feromonové stopy
36 Strana 36 6 Výsledky experimentů Cílem experimentů s prvním modelem bylo srovnat vliv volby strategie ukládání feromonové stopy na kvalitu řešení. Experimenty odhalily, že v uvedeném modelu nemá volba strategie ukládání feromonové stopy podstatný vliv na hledání cesty. Všechny strategie dosáhly přibližně stejných hodnot všech sledovaných parametrů. Experimentem bylo zjištěno, že při zadaných parametrech hledání upřednostňuje algoritmus nižší počet kroků k cíli na úkor délky cesty, jak naznačuje obr. 20. Model 2 Byl vytvořen jednoduchý model prostředí o rozměrech 5x5, viz obr. 21, tento model prostředí je popsán grafem o 34 vrcholech. Souřadnice startovního bodu jsou (1;1) a souřadnice cílového bodu jsou (5;5). Strategie ukládání stopy. Délka cesty Kroky Dobrá řešení Průměr Min/Max Průměr Min/Max [%] Průměrný čas řešení [ms] ,7 8,9 / 15,7 6,8 5 / ,8 8,45 / 14,1 6,3 4 / ,8 8,1 / 11,4 5,6 4 / ,7 8,9 / 12,1 5,6 4 / ,7 8,5 / 10,4 5,9 4 / Tab. 2 Srovnání strategií ukládání feromonové stopy Cílem experimentů s druhým modelem bylo opět porovnat vliv strategií ukládání feromonové stopy na kvalitu nalezeného řešení. Předpoklad, že výsledky budou obdobné jako u prvního modelu, se potvrdil. Rozdílem oproti experimentům s prvním modelem je zastoupení dobrých řešení. Zatímco u prvního modelu nedošlo během hledání cesty k nestabilnímu chování programu, u druhého modelu docházelo ve 20 až 25% experimentů k pádům aplikace. Příčinu tohoto chování se ovšem nepodařilo odhalit. Model 3 Byl vytvořen model prostředí o rozměrech 30x30, viz obr. 22, tento model prostředí je popsán grafem o 65 vrcholech. Souřadnice startovního bodu jsou (21;21) a souřadnice cílového bodu jsou (7;7). U tohoto modelu byly změněny podmínky ukončení hledání cesty, protože při první části experimentů program vykazoval až 75% selhání (při použití parametrů ukončení hledání zmíněných na počátku této podkapitoly). Podmínky ukončení hledání u tohoto modelu byly proto změněny na ukončení hledání po dosažení 100 cyklů. Strategie ukládání stopy. Délka cesty Kroky Dobrá řešení Průměr Min/Max Průměr Min/Max [%] Průměrný čas řešení [ms] ,4 31,1 / 41,3 10,1 9 / ,4 28,7 / 36,5 9,7 9 / ,4 28,7 / 36,0 10,0 9 / ,9 28,7 / 42,0 9,9 9 / ,5 28,7 / 36,5 9,9 9 / Tab. 3 Srovnání strategií ukládání feromonové stopy.
37 6 Výsledky experimentů Strana 37 Výsledky experimentů na třetím modelu (viz tab. 3) opět dokazují, že pro zvolenou kombinaci parametrů hledání vykazují všechny strategie ukládání feromonové stopy téměř identické výsledky. Experimenty s třetím modelem také ukázaly, že program může s jistými parametry vykazovat nestabilní chování. Řešením je úprava podmínek ukončení běhu algoritmu. Obr. 20 Model prostředí s nejkratší nalezenou cestou,model 1.
38 Strana 38 6 Výsledky experimentů Obr. 21 Model prostředí s nejkratší nalezenou cestou,model Srovnání algoritmů hledání cesty Pro srovnání algoritmů z podkapitoly 4.4 a mravenčích systémů jsem použil prostředí reprezentované modelem č. 3. Provedl jsem dvacet experimentů s algoritmem náhodného hledání a celkem padesát experimentů s odlišným modelem prostředí (viz 4.4.1), tedy deset experimentů pro každou strategii ukládání feromonové stopy. Uvedené algoritmy srovnávám s průměrem výsledků mravenčího systému aplikovaného na model prostředí č.3. Podmínky ukončení hledání cesty byly omezeny na dosažení 100 cyklů programu. Strategie hledání Délka cesty Kroky Dobrá řešení Průměr Min/Max Průměr Min/Max [%] Průměrný čas řešení [ms]. Mravenčí systémy 34,3 29 / 38 9,9 9 / 10, ,5 Náhodné hledání 35,5 29 / 52 11,4 9 / Strategie ukládání stopy. Odlišný model Délka cesty Kroky Dobrá řešení Průměr Min/Max Průměr Min/Max [%] Průměrný čas řešení [ms] , ,5 80 / ,5 67 / ,9 108 / ,5 90 /
39 6 Výsledky experimentů Strana ,2 96 / / ,4 74 / / Tab. 4 Srovnání strategií hledání cesty. Algoritmus náhodného hledání cesty dosáhl téměř stejných výsledků jako mravenčí systémy. Nejlepší řešení mravenčího algoritmu a náhodného hledání bylo identické (viz obr. 22 ). Zdůvodnění, proč tomu tak bylo, nabízí podstata mravenčích algoritmů. Mravenčí algoritmy částečně používají náhodné hledání, tedy je pravděpodobné, že v určitých případech může algoritmus náhodného hledání dosáhnout stejných výsledků jako mravenčí algoritmus. Na rozdíl od náhodného hledání, mravenčí algoritmus s modelem prostředí z dosáhl odlišných výsledků než mravenčí systémy (viz obr. 23 ). Srovnávací model prostředí sice ve většině případů předčil mravenčí systémy v zastoupení dobrých řešení, ale délka nalezeného řešení byla ve všech případech několikanásobně větší. Počet kroků nelze srovnávat kvůli odlišnosti modelů obou prostředí. Srovnávací algoritmus používá k popisu prostoru rozklad do buněk, zatímco mravenčí systém používá redukovaný graf viditelnosti. Je tedy patrné, že řešení pomocí mravenčího systému využije k cestě menší počet vrcholů grafu. Obr. 22 Model prostředí s nalezenou cestou, model 3- hledání cesty mravenčím systémem a náhodným hledáním.
40 Strana 40 6 Výsledky experimentů Obr. 23 Nejlepší nalezené řešení v modelu prostředí dle
41 Strana 41 7 ZÁVĚR Cílem práce bylo seznámit se s problematikou plánování cesty robota a problematikou mravenčích systémů, dále navrhnout mravenčí algoritmus pro plánování cesty robota a tento algoritmus implementovat a provést porovnávací experimenty. Navržený algoritmus předpokládá pohyb holonomního robota v diskrétním dvourozměrném prostředí reprezentovaném grafem. Navržený algoritmus pracuje ve statickém prostředí a používá globální plánování cesty pomocí kolonie umělých agentů, kteří se rozhodují na základě lokálních informací. Návrh algoritmu vychází z nejstaršího mravenčího algoritmu, tzv. mravenčího systému. V navrženém algoritmu se uplatňují principy pozitivní zpětné vazby a také je zajištěno, že v každém cyklu běhu algoritmu jsou upřednostňovány kratší cesty k cílovému bodu. To je zajištěno mechanismem návratu všech členů umělé kolonie do startovního bodu bezprostředně po nalezení cíle, nejdříve jsou tedy nalezeny kratší cesty a ty jsou později díky mechanismu pozitivní zpětné vazby upřednostňovány, až zcela převládnou. Dalším klíčovým prvkem návrhu mravenčího algoritmu je volby strategie ukládání umělé feromonové stopy. Z provedených srovnávacích experimentů vyplynulo, že v daných modelech dosahovaly všechny metody ukládání feromonových stop téměř stejných výsledků. Původní předpoklad z 4.2.3, že strategie průběžného ukládání komunikační látky kdykoli během pohybu bude vykazovat odlišné výsledky než ostatní algoritmy ukládání stopy,se nenaplnil. Taktéž strategie ukládání komunikační látky po dosažení cíle nedosahovala výrazně lepších výsledků než ostatní strategie ukládání umělých feromonových stop. Srovnávací a ověřovací experimenty také ukázaly jistá omezení navrženého programu. Jedná se zejména o nestabilní chování po nastavení určitých parametrů hledání. Ze srovnávacích experimentů dále vyplývá důležitost volby vhodného modelu prostředí. Algoritmus sice pracoval i v grafu s devíti sty vrcholy, ovšem nalezené řešení nedosahovalo parametrů hledání pomocí mravenčích systémů. Výhodou tohoto algoritmu je ovšem větší stabilita. Algoritmus náhodného hledání dosáhl přibližně stejných výsledků jako mravenčí systémy. Důvode je naznačen v podkapitole 6.3. Dle mého názoru je navržený algoritmus dostačující pro globální plánování cesty robota ve statickém prostředí. Úpravou algoritmu a umožněním lokálního plánování pohybu robota měnícím se prostředím by mohla být rozšířena možnost reálných aplikací tohoto algoritmu. V tomto případě by pravděpodobně bylo nutné změnit model prostředí. Další možností rozšíření stávajícího algoritmu je možnost aplikace, resp. kombinace některého dalšího algoritmu ze skupiny evolučních algoritmů. Při úpravě algoritmu je ovšem nutné vzít v potaz možný nárůst výpočtové náročnosti algoritmu v případě úpravy vlastního algoritmu či modelu prostředí.
PLÁNOVÁNÍ CESTY MOBILNÍHO ROBOTU POMOCÍ MRAVENČÍCH ALGORITMŮ MOBILE ROBOT PATH PLANNING BY MEANS OF ANT ALGORITHMS
VYSOKÉ UČENÍ TECHNICKÉ V BRNĚ BRNO UNIVERSITY OF TECHNOLOGY FAKULTA STROJNÍHO INŽENÝRSTVÍ ÚSTAV AUTOMATIZACE A INFORMATIKY FACULTY OF MECHANICAL ENGINEERING INSTITUTE OF AUTOMATION AND COMPUTER SCIENCE
Úvod do mobilní robotiky AIL028
md at robotika.cz, zbynek.winkler at mff.cuni.cz http://robotika.cz/guide/umor07/cs 27. listopadu 2007 1 Mapa světa Exaktní plánování 2 3 Plánování s otáčením Mapa světa - příklad Obsah Mapa světa Exaktní
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é
Metoda Monte Carlo a její aplikace v problematice oceňování technologií. Manuál k programu
Metoda Monte Carlo a její aplikace v problematice oceňování technologií Manuál k programu This software was created under the state subsidy of the Czech Republic within the research and development project
Rasterizace je proces při kterém se vektorově definovaná grafika konvertuje na. x 2 x 1
Kapitola 4 Rasterizace objektů Rasterizace je proces při kterém se vektorově definovaná grafika konvertuje na rastrově definované obrazy. Při zobrazení reálného modelu ve světových souřadnicích na výstupní
U Úvod do modelování a simulace systémů
U Úvod do modelování a simulace systémů Vyšetřování rozsáhlých soustav mnohdy nelze provádět analytickým výpočtem.často je nutné zkoumat chování zařízení v mezních situacích, do kterých se skutečné zařízení
Aplikované úlohy Solid Edge. SPŠSE a VOŠ Liberec. Ing. Jan Boháček [ÚLOHA 27 NÁSTROJE KRESLENÍ]
Aplikované úlohy Solid Edge SPŠSE a VOŠ Liberec Ing. Jan Boháček [ÚLOHA 27 NÁSTROJE KRESLENÍ] 1 CÍL KAPITOLY V této kapitole si představíme Nástroje kreslení pro tvorbu 2D skic v modulu Objemová součást
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
Ú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
Ú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 3 úsečky (segmenty) v horní části 2 úsečky ve spodní části
NESTABILITY VYBRANÝCH SYSTÉMŮ. Úvod. Vzpěr prutu. Petr Frantík 1
NESTABILITY VYBRANÝCH SYSTÉMŮ Petr Frantík 1 Úvod Úloha pokritického vzpěru přímého prutu je řešena dynamickou metodou. Prut se statickým zatížením je modelován jako nelineární disipativní dynamický systém.
VYSOKÉ UČENÍ TECHNICKÉ V BRNĚ BRNO UNIVERSITY OF TECHNOLOGY
VYSOKÉ UČENÍ TECHNICKÉ V BRNĚ BRNO UNIVERSITY OF TECHNOLOGY FAKULTA STROJNÍHO INŽENÝRSTVÍ ÚSTAV AUTOMATIZACE A INFORMATIKY FACULTY OF MECHANICAL ENGINEERING INSTITUTE OF AUTOMATION AND COMPUTER SCIENCE
Programátorská dokumentace
Programátorská dokumentace Požadavky Cílem tohoto programu bylo představit barevné systémy, zejména převody mezi nejpoužívanějšími z nich. Zároveň bylo úkolem naprogramovat jejich demonstraci. Pro realizaci
Návod k použití softwaru Solar Viewer 3D
Návod k použití softwaru Solar Viewer 3D Software byl vyvinut v rámci grantového projektu Technologie a systém určující fyzikální a prostorové charakteristiky pro ochranu a tvorbu životního prostředí a
Státnice odborné č. 20
Státnice odborné č. 20 Shlukování dat Shlukování dat. Metoda k-středů, hierarchické (aglomerativní) shlukování, Kohonenova mapa SOM Shlukování dat Shluková analýza je snaha o seskupení objektů do skupin
Ú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
Hledání správné cesty
Semestrální práce z předmětu A6M33AST Závěrečná zpráva Hledání správné cesty Nela Grimová, Lenka Houdková 2015/2016 1. Zadání Naším úkolem bylo vytvoření úlohy Hledání cesty, kterou by bylo možné použít
13 Barvy a úpravy rastrového
13 Barvy a úpravy rastrového Studijní cíl Tento blok je věnován základním metodám pro úpravu rastrového obrazu, jako je např. otočení, horizontální a vertikální překlopení. Dále budo vysvětleny různé metody
Emergence chování robotických agentů: neuroevoluce
Emergence chování robotických agentů: neuroevoluce Petra Vidnerová, Stanislav Slušný, Roman Neruda Ústav Informatiky, AV ČR Kognice a umělý život VIII Praha 28. 5. 2008 Evoluční robotika: EA & neuronové
Moderní systémy pro získávání znalostí z informací a dat
Moderní systémy pro získávání znalostí z informací a dat Jan Žižka IBA Institut biostatistiky a analýz PřF & LF, Masarykova universita Kamenice 126/3, 625 00 Brno Email: zizka@iba.muni.cz Bioinformatika:
Projekční algoritmus. Urychlení evolučních algoritmů pomocí regresních stromů a jejich zobecnění. Jan Klíma
Urychlení evolučních algoritmů pomocí regresních stromů a jejich zobecnění Jan Klíma Obsah Motivace & cíle práce Evoluční algoritmy Náhradní modelování Stromové regresní metody Implementace a výsledky
Optimalizační algoritmy inspirované chováním mravenců
Optimalizační algoritmy inspirované chováním mravenců Biologická analogie ACO metaheuristic Ant system a jeho modifikace Specifikace problémů Aplikace Motivace NP-hard problémy časová náročnost nalezení
State Space Search Step Run Editace úloh Task1 Task2 Init Clear Node Goal Add Shift Remove Add Node Goal Node Shift Remove, Add Node
State Space Search Po spuštění appletu se na pracovní ploše zobrazí stavový prostor první předpřipravené úlohy: - Zeleným kroužkem je označen počáteční stav úlohy, který nemůže být změněn. - Červeným kroužkem
SYLABUS 9. PŘEDNÁŠKY Z INŢENÝRSKÉ GEODÉZIE
SYLABUS 9. PŘEDNÁŠKY Z INŢENÝRSKÉ GEODÉZIE (Řešení kruţnicových oblouků v souřadnicích) 3. ročník bakalářského studia studijní program G studijní obor G doc. Ing. Jaromír Procházka, CSc. prosinec 2015
Geometrické vyhledávání
mnohoúhelníky a jejich vlastnosti lokalizace bodu vůči konvexnímu mnohoúhelníku rozhodnutí, zda je bod vnitřní či vnější lokalizace bodu vůči nekonvexnímu mnohoúhelníku rozhodnutí, zda je bod vnitřní či
Automatizace je proces při němž je řídicí funkce člověka nahrazována činností
Automatizace je proces při němž je řídicí funkce člověka nahrazována činností různých přístrojů a zařízení. (Mechanizace, Automatizace, Komplexní automatizace) Kybernetika je Věda, která zkoumá obecné
Ant Colony Optimization 1 / 26
GoBack Ant Colony Optimization 1 / 26 Vznik Chování mraveců Double Bridge Experiment Řešení via ACO Metaheuristika 2 / 26 Vznik Vznik Chování mraveců Double Bridge Experiment Řešení via ACO Metaheuristika
jednoduchá heuristika asymetrické okolí stavový prostor, kde nelze zabloudit připustit zhoršují cí tahy Pokročilé heuristiky
Pokročilé heuristiky jednoduchá heuristika asymetrické stavový prostor, kde nelze zabloudit připustit zhoršují cí tahy pokročilá heuristika symetrické stavový prostor, který vyžaduje řízení 1 2 Paměť pouze
13. Lineární programování
Jan Schmidt 2011 Katedra číslicového návrhu Fakulta informačních technologií České vysoké učení technické v Praze Zimní semestr 2011/12 MI-PAA EVROPSKÝ SOCIÁLNÍ FOND PRAHA & EU: INVESTUJENE DO VAŠÍ BUDOUCNOSTI
P R OGR AM P R O NÁVRH VÝVAR U
P R OGR AM P R O NÁVRH VÝVAR U Program Vývar je jednoduchá aplikace řešící problematiku vodního skoku. Zahrnuje interaktivní zadávání dat pro určení dimenze vývaru, tzn. jeho hloubku a délku. V aplikaci
ČVUT FEL X36PAA - Problémy a algoritmy. 4. úloha - Experimentální hodnocení algoritmů pro řešení problému batohu
ČVUT FEL X36PAA - Problémy a algoritmy 4. úloha - Experimentální hodnocení algoritmů pro řešení problému batohu Jméno: Marek Handl Datum: 3. 2. 29 Cvičení: Pondělí 9: Zadání Prozkoumejte citlivost metod
Převod na nový školní rok
Převod na nový školní rok Funkce pro převod na nový školní je součástí systému SAS od jeho počátku. Umožňuje převést třídy a žáky ze školního roku, který končí, do dalšího školního roku. Před tím, než
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
Simulace pohybu chodců pomocí celulárních modelů
Simulace pohybu chodců pomocí celulárních modelů Marek Bukáček výzkumná skupina GAMS při KM KIPL FJFI ČVUT v Praze 8. červen 2011 Obsah Úvod Celulární modely úprava Floor field modelu Proč modelovat Akademický
11. Tabu prohledávání
Jan Schmidt 2011 Katedra číslicového návrhu Fakulta informačních technologií České vysoké učení technické v Praze Zimní semestr 2011/12 MI-PAA EVROPSKÝ SOCIÁLNÍ FOND PRAHA & EU: INVESTUJENE DO VAŠÍ BUDOUCNOSTI
Nový způsob práce s průběžnou klasifikací lze nastavit pouze tehdy, je-li průběžná klasifikace v evidenčním pololetí a školním roce prázdná.
Průběžná klasifikace Nová verze modulu Klasifikace žáků přináší novinky především v práci s průběžnou klasifikací. Pro zadání průběžné klasifikace ve třídě doposud existovaly 3 funkce Průběžná klasifikace,
SYLABUS PŘEDNÁŠKY 10 Z GEODÉZIE 1
SYLABUS PŘEDNÁŠKY 10 Z GEODÉZIE 1 (Souřadnicové výpočty 4, Orientace osnovy vodorovných směrů) 1. ročník bakalářského studia studijní program G studijní obor G doc. Ing. Jaromír Procházka, CSc. prosinec
Manuál k programu IDP 1.0
Příloha B Manuál k programu IDP 1.0 Toto je manuál k programu IDP - Interakční diagram průřezu 1.0, který byl vytvořen v rámci této diplomové práce za podpory grantu Studentské grantové soutěže ČVUT v
Diplomová práce Prostředí pro programování pohybu manipulátorů
Diplomová práce Prostředí pro programování pohybu manipulátorů Štěpán Ulman 1 Úvod Motivace: Potřeba plánovače prostorové trajektorie pro výukové účely - TeachRobot Vstup: Zadávání geometrických a kinematických
GIS Geografické informační systémy
GIS Geografické informační systémy Obsah přednášky Prostorové vektorové modely Špagetový model Topologický model Převody geometrií Vektorový model Reprezentuje reálný svět po jednotlivých složkách popisu
GoClever Map 2.5 manuál
GoClever Map 2.5 manuál Obsah 1. Na dotyku záleží... 4 2. Navádění k lokaci... 5 3. Navigační okno... 7 3.1. Změna nastavení systému navigačního okna... 7 4. Hlavní vlastnosti GoClever Map 2.5... 8 5.
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
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
Souřadný systém. Obr.: Druhý objekt v otočeném souřadném systému
Souřadný systém Příkaz: uss/ucs Komentář: AutoCAD umožňuje definici, pojmenování a uchování neomezeného počtu uživatelských souřadných systémů a definuje jeden základní Globální souřadný systém samozřejmě
Modelování a simulace Lukáš Otte
Modelování a simulace 2013 Lukáš Otte Význam, účel a výhody MaS Simulační modely jsou nezbytné pro: oblast vědy a výzkumu (základní i aplikovaný výzkum) analýzy složitých dyn. systémů a tech. procesů oblast
Úvod do mobilní robotiky AIL028
Pravděpodobnostní plánování zbynek.winkler at mff.cuni.cz, md at robotika.cz http://robotika.cz/guide/umor05/cs 12. prosince 2005 1 Co už umíme a co ne? Jak řešit složitější případy? Definice konfiguračního
MATLABLINK - VZDÁLENÉ OVLÁDÁNÍ A MONITOROVÁNÍ TECHNOLOGICKÝCH PROCESŮ
MATLABLINK - VZDÁLENÉ OVLÁDÁNÍ A MONITOROVÁNÍ TECHNOLOGICKÝCH PROCESŮ M. Sysel, I. Pomykacz Univerzita Tomáše Bati ve Zlíně, Fakulta aplikované informatiky Nad Stráněmi 4511, 760 05 Zlín, Česká republika
Truss 4.7. Předvolby nastavení tisku
Truss 4.7 Firma Fine s.r.o. připravila verzi 4.7 programu Truss. Tato verze přináší následující změny a vylepšení: Změna práce s násobnými vazníky Z důvodu omezení chyb v průběhu návrhu byl upraven způsob
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
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í
KŘIVKY A PLOCHY. Obrázky (popř. slajdy) převzaty od
KŘIVKY A PLOCHY JANA ŠTANCLOVÁ jana.stanclova@ruk.cuni.cz Obrázky (popř. slajdy) převzaty od RNDr. Josef Pelikán, CSc., KSVI MFF UK Obsah matematický popis křivek a ploch křivky v rovině implicitní tvar
VUT Brno Fakulta informačních technologií Simulační nástroje a techniky (SNT) 2014/2015 Vehicle routing problem Ant colony
VUT Brno Fakulta informačních technologií Simulační nástroje a techniky (SNT) 2014/2015 Vehicle routing problem Ant colony František Němec (xnemec61) xnemec61@stud.fit.vutbr.cz 19. července 2015 1 Úvod
Metamorfóza obrázků Josef Pelikán CGG MFF UK Praha
Metamorfóza obrázků 1998-2011 Josef Pelikán CGG MFF UK Praha pepca@cgg.mff.cuni.cz http://cgg.mff.cuni.cz/~pepca/ Morphing 2011 Josef Pelikán, http://cgg.mff.cuni.cz/~pepca 1 / 21 Metamorfóza obrázků -
Triangulace. Význam triangulace. trojúhelník je základní grafický element aproximace ploch předzpracování pro jiné algoritmy. příklad triangulace
Význam triangulace trojúhelník je základní grafický element aproximace ploch předzpracování pro jiné algoritmy příklad triangulace Definice Triangulace nad množinou bodů v rovině představuje takové planární
Testování mobilní navigace NACESTY
České vysoké učení technické v Praze Fakulta elektrotechnická A7B39TUR 2015/2016, A2 Testování mobilní navigace NACESTY Kognitivní průchod a heuristická evaluace Jakub Berka berkajak@fel.cvut.cz Obsah
MI-PAA. úkol č.3. Řešení problému batohu dynamickým programováním, metodou větví a hranic a aproximativním algoritmem
Jakub Holý holyjak1@fit.cvut.cz MI-PAA úkol č.3 Řešení problému batohu dynamickým programováním, metodou větví a hranic a aproximativním algoritmem Zadání Naprogramujte řešení problému batohu: 1. metodou
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
Zadejte ručně název první kapitoly. Manuál. Rozhraní pro program ETABS
Zadejte ručně název první kapitoly Manuál Rozhraní pro program ETABS Všechny informace uvedené v tomto dokumentu mohou být změněny bez předchozího upozornění. Žádnou část tohoto dokumentu není dovoleno
TGH09 - Barvení grafů
TGH09 - Barvení grafů Jan Březina Technical University of Liberec 15. dubna 2013 Problém: Najít obarvení států na mapě tak, aby žádné sousední státy neměli stejnou barvu. Motivační problém Problém: Najít
Dobývání znalostí. Doc. RNDr. Iveta Mrázová, CSc. Katedra teoretické informatiky Matematicko-fyzikální fakulta Univerzity Karlovy v Praze
Dobývání znalostí Doc. RNDr. Iveta Mrázová, CSc. Katedra teoretické informatiky Matematicko-fyzikální fakulta Univerzity Karlovy v Praze Dobývání znalostí Pravděpodobnost a učení Doc. RNDr. Iveta Mrázová,
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
Geometrické algoritmy pro počítačovou grafiku
České vysoké učení technické v Praze Fakulta jaderná a fyzikálně inženýrská Katedra fyzikální elektroniky Informatická fyzika Geometrické algoritmy pro počítačovou grafiku Semestrální práce Autor práce:
Algoritmizace. 1. Úvod. Algoritmus
1. Úvod Algoritmizace V dnešní době již počítače pronikly snad do všech oblastí lidské činnosti, využívají se k řešení nejrůznějších úkolů. Postup, který je v počítači prováděn nějakým programem se nazývá
Několik úloh z geometrie jednoduchých těles
Několik úloh z geometrie jednoduchých těles Úlohy ke cvičení In: F. Hradecký (author); Milan Koman (author); Jan Vyšín (author): Několik úloh z geometrie jednoduchých těles. (Czech). Praha: Mladá fronta,
Algoritmizace prostorových úloh
Algoritmizace prostorových úloh Vektorová data Daniela Szturcová Prostorová data Geoobjekt entita definovaná v prostoru. Znalost jeho identifikace, lokalizace umístění v prostoru, vlastností vlastních
4EK311 Operační výzkum. 1. Úvod do operačního výzkumu
4EK311 Operační výzkum 1. Úvod do operačního výzkumu Mgr. Jana SEKNIČKOVÁ, Ph.D. Nová budova, místnost 433 Konzultační hodiny InSIS E-mail: jana.seknickova@vse.cz Web: jana.seknicka.eu/vyuka Garant kurzu:
Úvod do modelování a simulace. Ing. Michal Dorda, Ph.D.
Úvod do modelování a simulace systémů Ing. Michal Dorda, Ph.D. 1 Základní pojmy Systém systémem rozumíme množinu prvků (příznaků) a vazeb (relací) mezi nimi, která jako celek má určité vlastnosti. Množinu
Mgr. Tomáš Kotler. I. Cvičný test 2 II. Autorské řešení 6 III. Klíč 15 IV. Záznamový list 17
Mgr. Tomáš Kotler I. Cvičný test 2 II. Autorské řešení 6 III. Klíč 15 IV. Záznamový list 17 1 bod 1 Určete průsečík P[x, y] grafů funkcí f: y = x + 2 a g: y = x 1 2, které jsou definovány na množině reálných
Nastavení stránky : Levým tlačítkem myši kliknete v menu na Soubor a pak na Stránka. Ovládání Open Office.org Draw Ukládání dokumentu :
Ukládání dokumentu : Levým tlačítkem myši kliknete v menu na Soubor a pak na Uložit jako. Otevře se tabulka, v které si najdete místo adresář, pomocí malé šedočerné šipky (jako na obrázku), do kterého
Voronoiův diagram. RNDr. Petra Surynková, Ph.D. Univerzita Karlova v Praze Matematicko-fyzikální fakulta
12 RNDr., Ph.D. Katedra didaktiky matematiky Univerzita Karlova v Praze Matematicko-fyzikální fakulta petra.surynkova@mff.cuni.cz http://surynkova.info Definice V( P) nad množinou bodů P { p v rovině 1,
Matematické modelování dopravního proudu
Matematické modelování dopravního proudu Ondřej Lanč, Alena Girglová, Kateřina Papežová, Lucie Obšilová Gymnázium Otokara Březiny a SOŠ Telč lancondrej@centrum.cz Abstrakt: Cílem projektu bylo seznámení
Lineární klasifikátory
Lineární klasifikátory Lineární klasifikátory obsah: perceptronový algoritmus základní verze varianta perceptronového algoritmu přihrádkový algoritmus podpůrné vektorové stroje Lineární klasifikátor navrhnout
verze Grafický editor PALSTAT s.r.o. systémy řízení jakosti PALSTAT CAQ 1 Obsah
1 Obsah 1 Obsah... 1 2 Úvod... 2 2.1 Výhody... 2 2.2 Základní ovládání... 2 3 Menu... 3 3.1 Menu Soubor... 3 3.1.1 Menu Soubor / Nový... 3 3.1.2 Menu Soubor / Otevřít... 3 3.1.3 Menu Soubor / Otevřít podle
Experimentální realizace Buquoyovy úlohy
Experimentální realizace Buquoyovy úlohy ČENĚK KODEJŠKA, JAN ŘÍHA Přírodovědecká fakulta Univerzity Palackého, Olomouc Abstrakt Tato práce se zabývá experimentální realizací Buquoyovy úlohy. Jedná se o
Řešení geometrické úlohy spočívá v nalezení geometrického útvaru (útvarů) daných vlastností.
Řešení geometrické úlohy spočívá v nalezení geometrického útvaru (útvarů) daných vlastností. Metody řešení konstrukčních úloh: množinou bodů zobrazením výpočtem kombinací předchozích způsobů Konstrukční
časovém horizontu na rozdíl od experimentu lépe odhalit chybné poznání reality.
Modelování dynamických systémů Matematické modelování dynamických systémů se využívá v různých oborech přírodních, technických, ekonomických a sociálních věd. Použití matematického modelu umožňuje popsat
OSTRAVSKÁ UNIVERZITA V OSTRAVĚ PŘÍRODOVĚDECKÁ FAKULTA
OSTRAVSKÁ UNIVERZITA V OSTRAVĚ PŘÍRODOVĚDECKÁ FAKULTA BAKALÁŘSKÁ PRÁCE 2002 SEDLÁK MARIAN - 1 - OSTRAVSKÁ UNIVERZITA PŘÍRODOVĚDECKÁ FAKULTA KATEDRA INFORMATIKY A POČÍTAČŮ Vizualizace principů výpočtu konečného
Úvod do mobilní robotiky AIL028
zbynek.winkler at mff.cuni.cz, md at robotika.cz http://robotika.cz/guide/umor05/cs 5. prosince 2005 1 Mapa světa Exaktní plánování 2 3 Plánování s otáčením (náznak řešení) Mapa světa - příklad Obsah Mapa
MANUÁL K AGENDĚ SPEDICE PŘÍRUČKA PRO UŽIVATELE
MANUÁL K AGENDĚ SPEDICE PŘÍRUČKA PRO UŽIVATELE Úvodem Spedice je nová agenda WEBDISPEČINKU, která nahrazuje dosavadní Optimalizaci rozvozů a svozů. Umožňuje vytvářet rozvozové trasy (přepravy), zastávky
SEKVENČNÍ LOGICKÉ OBVODY
Sekvenční logický obvod je elektronický obvod složený z logických členů. Sekvenční obvod se skládá ze dvou částí kombinační a paměťové. Abychom mohli určit hodnotu výstupní proměnné, je potřeba u sekvenčních
Numerické řešení variačních úloh v Excelu
Numerické řešení variačních úloh v Excelu Miroslav Hanzelka, Lenka Stará, Dominik Tělupil Gymnázium Česká Lípa, Gymnázium Jírovcova 8, Gymnázium Brno MirdaHanzelka@seznam.cz, lenka.stara1@seznam.cz, dtelupil@gmail.com
VYUŽITÍ METOD PŘÍMÉHO HLEDÁNÍ OPTIMA PŘI PREDIKTIVNÍM ŘÍZENÍ
VYUŽITÍ METOD PŘÍMÉHO HLEDÁNÍ OPTIMA PŘI PREDIKTIVNÍM ŘÍZENÍ P. Chalupa, J. Novák Univerzita Tomáše Bati ve Zlíně Fakulta aplikované informatiky Centrum aplikované kybernetiky Abstrakt Příspěvek se zabývá
4. Statika základní pojmy a základy rovnováhy sil
4. Statika základní pojmy a základy rovnováhy sil Síla je veličina vektorová. Je určena působištěm, směrem, smyslem a velikostí. Působiště síly je bod, ve kterém se přenáší účinek síly na těleso. Směr
5. Náhodná veličina. 2. Házíme hrací kostkou dokud nepadne šestka. Náhodná veličina nabývá hodnot z posloupnosti {1, 2, 3,...}.
5. Náhodná veličina Poznámka: Pro popis náhodného pokusu jsme zavedli pojem jevového pole S jako množiny všech možných výsledků a pravděpodobnost náhodných jevů P jako míru výskytů jednotlivých výsledků.
i β i α ERP struktury s asynchronními motory
1. Regulace otáček asynchronního motoru - vektorové řízení Oproti skalárnímu řízení zabezpečuje vektorové řízení vysokou přesnost a dynamiku veličin v ustálených i přechodných stavech. Jeho princip vychází
5. Umělé neuronové sítě. Neuronové sítě
Neuronové sítě Přesný algoritmus práce přírodních neuronových systémů není doposud znám. Přesto experimentální výsledky na modelech těchto systémů dávají dnes velmi slibné výsledky. Tyto systémy, včetně
Usuzování za neurčitosti
Usuzování za neurčitosti 25.11.2014 8-1 Usuzování za neurčitosti Hypotetické usuzování a zpětná indukce Míry postačitelnosti a nezbytnosti Kombinace důkazů Šíření pravděpodobnosti v inferenčních sítích
OPTIMALIZAČNÍ ÚLOHY. Modelový příklad problém obchodního cestujícího:
OPTIMALIZAČNÍ ÚLOHY Problém optimalizace v různých oblastech: - minimalizace času, materiálu, - maximalizace výkonu, zisku, - optimalizace umístění komponent, propojení,... Modelový příklad problém obchodního
Shodná zobrazení. bodu B ležet na na zobrazené množině b. Proto otočíme kružnici b kolem
Shodná zobrazení Otočení Příklad 1. Jsou dány tři různé soustředné kružnice a, b a c. Sestrojte rovnostranný trojúhelník ABC tak, aby A ležel na a, B ležel na b a C ležel na c. Řešení. Zvolíme vrchol A
Numerické metody a programování. Lekce 8
Numerické metody a programování Lekce 8 Optimalizace hledáme bod x, ve kterém funkce jedné nebo více proměnných f x má minimum (maximum) maximalizace f x je totéž jako minimalizace f x Minimum funkce lokální:
CVIČNÝ TEST 35. OBSAH I. Cvičný test 2. Mgr. Tomáš Kotler. II. Autorské řešení 6 III. Klíč 15 IV. Záznamový list 17
CVIČNÝ TEST 35 Mgr. Tomáš Kotler OBSAH I. Cvičný test II. Autorské řešení 6 III. Klíč 15 IV. Záznamový list 17 I. CVIČNÝ TEST 1 Vypočtěte [( 3 3 ) ( 1 4 5 3 0,5 ) ] : 1 6 1. 1 bod VÝCHOZÍ TEXT K ÚLOZE
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
Algoritmy výpočetní geometrie
Algoritmy výpočetní geometrie prof. Ing. Pavel Tvrdík CSc. Katedra počítačových systémů Fakulta informačních technologií České vysoké učení technické v Praze c Pavel Tvrdík, 2010 Efektivní algoritmy (BI-EFA)
Interpolace obrazu pro experimentální měřiče plošného teplotního rozložení
Interpolace obrazu pro experimentální měřiče plošného teplotního rozložení Bc. Zdeněk Martinásek Vysoké učení technické v Brně, Fakulta elektrotechniky a komunikačních technologií, Ústav telekomunikací,
Příklad 1 ŘEŠENÉ PŘÍKLADY Z M1B ČÁST 2. Určete a načrtněte definiční obory funkcí více proměnných: a) (, ) = b) (, ) = 3. c) (, ) = d) (, ) =
Příklad 1 Určete a načrtněte definiční obory funkcí více proměnných: a) (, ) = b) (, ) = 3 c) (, ) = d) (, ) = e) (, ) = ln f) (, ) = 1 +1 g) (, ) = arcsin( + ) Poznámka V těchto úlohách máme nalézt největší
CVIČNÝ TEST 48. OBSAH I. Cvičný test 2. Mgr. Tomáš Kotler. II. Autorské řešení 6 III. Klíč 15 IV. Záznamový list 17
CVIČNÝ TEST 48 Mgr. Tomáš Kotler OBSAH I. Cvičný test 2 II. Autorské řešení 6 III. Klíč 15 IV. Záznamový list 17 I. CVIČNÝ TEST VÝCHOZÍ TEXT A OBRÁZEK K ÚLOZE 1 Je dán konvexní čtyřúhelník, jehož vnitřní
Detekce kartografického zobrazení z množiny
Detekce kartografického zobrazení z množiny bodů Tomáš Bayer Katedra aplikované geoinformatiky Albertov 6, Praha 2 bayertom@natur.cuni.cz Abstrakt. Detekce kartografického zobrazení z množiny bodů o známých
Mgr. Tomáš Kotler. I. Cvičný test 2 II. Autorské řešení 7 III. Klíč 15 IV. Záznamový list 17
Mgr. Tomáš Kotler I. Cvičný test 2 II. Autorské řešení 7 III. Klíč 15 IV. Záznamový list 17 VÝCHOZÍ TEXT A OBRÁZEK K ÚLOZE 1 Je dán rovinný obrazec, v obrázku vyznačený barevnou výplní, který představuje
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
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ý
GIS Geografické informační systémy
GIS Geografické informační systémy Obsah přednášky Prostorové vektorové modely Špagetový model Topologický model Převody geometrií Vektorový model Reprezentuje reálný svět po jednotlivých složkách popisu