SBORNÍK PŘÍSPĚVKŮ Z LETNÍ ŠKOLY MEZIOBOROVÉ PŘÍSTUPY INFORMATIKY A KOGNITIVNÍ VĚDY

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

Download "SBORNÍK PŘÍSPĚVKŮ Z LETNÍ ŠKOLY MEZIOBOROVÉ PŘÍSTUPY INFORMATIKY A KOGNITIVNÍ VĚDY"

Transkript

1 SBORNÍK PŘÍSPĚVKŮ Z LETNÍ ŠKOLY MEZIOBOROVÉ PŘÍSTUPY INFORMATIKY A KOGNITIVNÍ VĚDY Fakulta informatiky a managementu Univerzity Hradec Králové Projekt Informační, kognitivní a interdisciplinární podpora výzkumu je spolufinancován Evropským sociálním fondem a státním rozpočtem České republiky.

2 Recenzent: prof. RNDr. Josef Zelenka, CSc. Recenzovaný sborník 1. ročníku letní školy Mezioborové přístupy informatiky a kognitivní vědy. Publikace neprošla jazykovou úpravou. Za obsahovou správnost odpovídají autoři příspěvků. ISBN

3 Recenzovaný sborník příspěvků z 1. ročníku letní školy Mezioborové přístupy informatiky a kognitivní vědy. Letní školu uspořádali členové vědeckých týmů působících na Fakultě informatiky a managementu Univerzity Hradec Králové spolu s projektovým týmem INKOV ve dnech 6. až 10. června Programový výbor: Ing. Agáta Bodnárová prof. RNDr. Martin Gavalec, CSc. Ing. Filip Malý, Ph.D. prof. RNDr. Peter Mikulecký, Ph.D. Mgr. Petr Tučník, Ph.D. Organizační výbor: Bc. Anna Hovorková Ing. Kateřina Mišičková Ing. Hana Šafránková prof. RNDr. Josef Zelenka, CSc.

4

5 OBSAH Josef Zelenka LETNÍ ŠKOLA MEZIOBOROVÉ PŘÍSTUPY INFORMATIKY A KOGNITIVNÍ VĚDY. 7 PŘÍSPĚVKY Lukáš Beran, Karel Petránek ROZPOZNÁNÍ OBLIČEJŮ NA MOBILNÍCH ZAŘÍZENÍCH 8 Josef Horálek, Martin Hátaš, Tomáš Cink PROBLEMATIKA PROTOKOLU IPV6 16 Lukáš Kinc, Jiří Neuman TÝMOVÁ KOMUNIKACE A ZÁZNAMNÍK POZNÁMEK Z TERÉNU 28 Tomáš Machálek VYUŽITÍ METODY PARTICLE SWARM OPTIMIZATION PŘI VZÁJEMNÉM ZAROVNÁVÁNÍ 2D OBRÁZKŮ. 38 Peter Mikulecký AMBIENTNÍ INTELIGENCE JEDNA Z CEST KE KOMPLEXNÍ PODPOŘE LIDSKÝCH AKTIVIT. 48 Peter Sinčák, Mária Virčíková, Marcel Hric NOVÉ VÝZVY STROJOVEJ INTELIGENCIE TEORETICKÉ VÝCHODISKÁ. 58 Ján Vaščák UMELÁ INTELIGENCIA V METÓDACH NAVIGÁCIE ROBOTOV POSTERY Luboš Běhounek HLEDÁNÍ CESTY A GENEROVÁNÍ MAPY Stanislav Brandejs UŽITÍ SOFTROBOTŮ A UI PRO NPC Richard Cimler MULTIAGENTOVÝ PŘÍSTUP K PROBLÉMŮM LINEÁRNÍHO PROGRAMOVÁNÍ 100 Richard Cimler, Kamila Olševičová AGENTOVÝ MODEL DOPRAVY: POROVNÁNÍ KŘIŽOVATKY A KRUHOVÉHO OBJEZDU. 104 Nikola Dostálová VÍCEKRITERIÁLNÍ ROZHODOVÁNÍ U AUTONOMNÍCH AGENTŮ Michal Gregor, Karel Petránek, Martin Burian ROBOTICKÁ RUKA KONSTRUKCE A POUŽITÍ

6 Nela Klusáčková APLIKACE VÍCEKRITERIÁLNÍHO ROZHODOVÁNÍ V MULTIAGENTNÍCH SYSTÉMECH Zuzana Němcová FRONTY V UZAVŘENÍM A OTEVŘENÉM SYSTÉMU HROMADNÉ OBSLUHY 133 Alena Pozdílková MONGEOVSKÉ MATICE V MAX MIN ALGEBŘE Jiří Štěpánek VYUŽITÍ MULTIAGENTOVÉHO SYSTÉMU V SIMULACI AKCIOVÉHO TRHU. 141 Hana Tomášková EIGENPROBLEM CIRKULANTNÍCH MATIC V EXTREMÁLNÍCH ALGEBRÁCH

7 LETNÍ ŠKOLA MEZIOBOROVÉ PŘÍSTUPY INFORMATIKY A KOGNITIVNÍ VĚDY Poprvé v červnu 2011 Fakulta informatiky a managementu Univerzity Hradec Králové hostila účastníky letní školy Mezioborové přístupy informatiky a kognitivní vědy, kterou připravili členové vědeckých týmů působících na FIM spolu s projektovým týmem INKOV. Každý den letní školy byl věnován jednomu tématu a byl garantován jedním vědeckým týmem. V dopoledních blocích se odborníci z České republiky i ze zahraničí věnovali těmto tématům: Quo & Qua Vadis Intelligent Systems prof. Ing. Peter Sinčák, CSc., Umelá inteligencia v metódach navigácie robotov Dr. Ing. Ján Vaščák, Extremal Algebras in Optimization prof. Karel Zimmermann, Tropical linear programming a Tropical two sided eigenproblem Dr. Sergei Sergeev. Přednášelo i několik externích odborníků, s přednáškou Vývoj pro Windows Phone 7 vystoupil Štěpán Bechynský a Úvod do vývoje pro Android přednesl Ing. Ondřej Berger. Zaslouženou pozornost vyvolala i přednáška Ambientní inteligence jedna z cest ke komplexní podpoře lidských aktivit prof. RNDr. Peter Mikulecký, Ph.D. Odpoledne začala posterovými sekcemi studentů a pokračovala praktickými semináři pod vedením pozvaných hostů či členů vědeckých týmů. V rámci letní školy byla otevřena tato témata: Moderní přístupy v oblasti počítačových sítí, Autonomní systémy, Nestandardní optimalizační metody, Mobilní aplikace a jejich vývoj, Inteligentní a znalostní přístupy k podpoře lidských aktivit. Přejeme Vám, aby první ročník letní školy byl pro Vás zajímavou inspirací. za organizátory letní školy Josef Zelenka Poděkování Všechny příspěvky vznikly za podpory projektu Informační, kognitivní a interdisciplinární podpora výzkumu INKOV, registrační číslo CZ.1.07/2.3.00/ , který je spolufinancován Evropským sociálním fondem a státním rozpočtem České republiky. 7

8 ROZPOZNÁNÍ OBLIČEJŮ NA MOBILNÍCH ZAŘÍZENÍCH FACE RECOGNITION ON MOBILE DEVICES Lukáš Beran, Karel Petránek Abstrakt Vývoj současných aplikací je v současnosti velkou měrou ovlivněn zejména nároky na uživatelskou přívětivost, intuitivní a rychlé ovládání výsledné aplikace. V souvislosti s tímto trendem se v aplikacích čím dál více využívá počítačového vidění. Jedním z nejčastějších úkolů počítačového vidění je detekce a rozpoznání osob na fotografii. Příspěvek se věnuje detekci a rozpoznání obličejů na fotografiích, které jsou pořízeny pomocí mobilního telefonu s platformou Android. V příspěvku jsou představeny běžně používané algoritmy a navržena demonstrační mobilní aplikace typu klient-server, která rozpozná osoby na fotografii pořízené vestavěnou kamerou. Klíčová slova detekce obličejů, rozpoznání obličejů, počítačové vidění, Android, mobilní zařízení Abstract The development of modern applications strongly depends on user friendliness and fast responses of the user interface. Following this trend, many applications employ computer vision as a key usability element. The most frequent use of computer vision is in the area of face detection and recognition. This article presents face detection and recognition on mobile devices running the Android operating system and discusses some commonly used algorithms. The results of face recognition on a mobile device using its built-in camera are demonstrated on a sample application. Keywords face detection, face recognition, computer vision, Android, mobile devices 1. Úvod Zvyšující se požadavky na rychlost a bezpečnost dnešních systémů vedou vývojáře k používání sofistikovaných metod jak spolehlivě a v krátkém časovém intervalu jednoznačně identifikovat jedince. Jednou z možností jsou biometrická data. Mezi tato data patří např. otisky prstů, oční sítnice, duhovka nebo obličej. Jejich porovnávání s referenčními daty uloženými v databázi lze určit jejich shodu a potvrdit totožnost nebo naopak. 8

9 V souvislosti s rozvojem technologií umožňujícími pracovat s vizuálními daty vzrostla poptávka po jejich využívání v nejrůznějších aplikacích. Mezi velmi populární případy využití počítačové analýzy obrazu patří rozpoznávání lidského obličeje. Tento princip identifikace jedince lze využít v celé řadě aplikací, které pracují s fotografiemi jednotlivých lidí. Typickým příkladem jsou např. sociální sítě, kde jsou kromě některých osobních údajů uživatelů obsaženy také fotografie s jejich obličeji. Mezi základní cíle tohoto příspěvku patři využití algoritmu rozpoznání lidské tváře v oblasti mobilních technologií a sociálních sítí. 2. Úvod do problematiky 2.1. Biometrická data Biometrická data se v současnosti využívají v mnoha odvětvích zejména v souvislosti s identifikací dané osoby a zvýšení bezpečnosti. Ať už se jedná o velkou organizaci (např. tovární komplex s utajenými výrobními postupy) nebo pouze o přístupový terminál pro výdej určitého druhu zboží (identifikace pomocí obličeje v tomto případě zvyšuje zejména rychlost autentizace), slouží biometrická data obecně za účelem rozpoznání. Způsob využití těchto dat pak primárně závisí kontextu a na konkrétním účelu, za kterým jsou získávána. Následující tabulka shrnuje některé příklady jak tato data využít (zdroj [10]). Oblast Biometrika Informační bezpečnost Dohlížení a prosazování zákonů Identifikační karty Přístupová práva 2.2. Proces rozpoznání obličeje Konkrétní využití řidičské průkazy, imigrace, pasy, registrace voličů úřady vyžadující kontrolu totožnosti (sociální příspěvky, ) logování do systémů (např. Windows 7) zabezpečení přístupu k databázi, bezpečnost aplikací, šifrování souborů zabezpečení obchodních terminálů (bankomatů) přístup k síti intranet, přístup k síti internet, lékařské záznamy kamerové systémy identifikace tváře podezřelého vyšetřování autentizace uživatele přístup do organizace (např. do továrny, do utajeného prostoru) možnost přístupu k vybranému přístroji Tab. 1: Typické aplikace rozpoznání obličeje Celý proces rozpoznávání obličeje lze z teoretického hlediska rozdělit do několika následujících kroků: 9

10 Získání dat pro následnou analýzu pořízení snímku z fotoaparátu, popř. nalezení existujícího snímku, extrahování snímku z videa. Identifikace obličeje na analyzovaném snímku využití vhodného algoritmu, volba správné míry kritérií pro rozpoznání obličeje. Porovnání zjištěného obličeje s obličeji v databázi porovnání získaných grafických dat s grafickými daty v databázi 2.3. Identifikace obličejů v obraze Identifikace obličejů ve vyfotografovaném snímku se dá rozdělit na dvě dílčí části: detekce obličejů zjištění oblastí, ve kterých se obličeje nachází, rozpoznání obličejů porovnání detekovaných oblastí s databází známých obličejů. Protože rozpoznání obličejů vyžaduje databázi obličejů, která může být velmi rozsáhlá, není vhodné provádět rozpoznání obličejů na mobilním zařízení s omezenou pamětí. Vhodnou strategií je provést detekci obličejů na zařízení a detekované obličeje odeslat k rozpoznání na server. Detekce obličejů Detekce obličejů na mobilním zařízení musí být co nejméně výpočetně náročná, aby nedocházelo k prodlevám při používání aplikace a s tím spojené vysoké spotřebě elektrické energie. Detekce na základě barvy kůže Jednou z nejjednodušších a zároveň výpočetně nejméně náročných metod je detekce obličejů na základě barvy kůže. Dá se ukázat, že barva lidské kůže se pohybuje v poměrně úzké části barevného spektra, a lze ji proto snadným způsobem segmentovat ze vstupního obrazu [1]. Vhodným barevným modelem pro snadnou specifikaci barvy kůže je HSV [8] (Hue- Saturation-Value). HSV reprezentuje barvu jako tři hodnoty odstín (hue), jako mix základních barev červené, zelené, modré a žluté; sytost (saturation), která reprezentuje barevnost (nulová sytost znamená šedotónový obrázek); světlost (value), která udává intenzitu dopadajícího světla. Mezi výhody detekce na základě barvy patří nezávislost na orientaci obličeje a jeho vzdálenosti od kamery. Metoda je rovněž robustní vůči změnám v osvětlení obličeje a změnám výrazu. Nevýhodou detekce na základě barvy kůže je fakt, že se tato barva na fotografiích vyskytuje často i v oblastech, které nejsou součástí lidského těla. Navíc není možné detekovat obličeje na černobílých fotografiích. 10

11 Obr. 1: Ukázka segmentace na základě barvy kůže Na obrázku je vidět častý výskyt barvy kůže mimo oblast těla. Detekce algoritmem pro rozpoznání objektů Viola a Jones [9] v roce 2001 navrhli adaptivní algoritmus pro detekci objektů v obraze. Protože obličeje lze chápat jako speciální případ objektu, je možné tento algoritmus využít pro jejich detekci. Algoritmus nejprve transformuje vstupní obraz do jednoduchého feature space, které obsahuje pouze čtyři druhy obdélníkových features. Tyto features lze vypočítat v konstantním čase, nezávisle na velikosti obdélníku [4]. Díky tomu je možné dosáhnout velmi rychlého běhu algoritmu, a zároveň testovat různé velikosti obdélníků, čímž je zajištěna nezávislost na velikosti obličeje. Protože obecně existuje v obrazu velké množství features (několikanásobně větší než je počet pixelů), je nutné eliminovat features, které nejsou pro detekci objektu kritické. Viola a Jones používají adaptivní učící se algoritmus AdaBoost [6] pro detekci takových features. Pro detekci na základě natrénovaných dat je opět použit AdaBoost pro rozhodnutí, zda daná množina features odpovídá danému objektu. Výhodou Viola-Jones algoritmu je vysoká rychlost, detekce obličejů i v šedotónových obrazech, možnost adaptace a nezávislost na velikosti objektu. Nevýhodou je nutnost algoritmus natrénovat a citlivost vůči rotaci a afinnímu zkreslení, které je u fotografií běžné. Tento algoritmus je použit v implementaci mobilní aplikace, přičemž jako základ byly využity knihovny OpenCV [3] a JViolaJones [2], které obsahují implementaci tohoto algoritmu a rovněž natrénované modely ve formě XML souborů. 11

12 Obr. 2: Ukázka detekce obličejů s použitím Viola-Jones algoritmu a trénovacích dat OpenCV. Obličej, který je pootočen, není správně detekován. Rozpoznání obličejů Cílem rozpoznání obličejů je porovnání oblastí vrácených detektorem obličejů s databází známých obličejů. V implementaci byla fáze rozpoznání obličejů přesunuta na server kvůli vysoké paměťové náročnosti při zpracovávání rozsáhlejší databáze obličejů. Umístění na serveru rovněž umožňuje jednodušší propojení se sociálními sítěmi. Rozpoznávání na základě 2D informace Pro 2D rozpoznání obličejů je možné využít podobné principy jako pro detekci. Základem je extrakce features ze snímku obličeje, čímž dojde ke snížení výpočetní složitosti problému a ke zvýšení SNR. Často aplikovanými metodami pro extrakci features jsou Principal Component Analysis (PCA), Independent Component Analysis či Linear Discriminant Analysis (LDA) [7]. Po extrakci těchto features je vypočítána euklidovská vzdálenost mezi vzorovým snímkem a snímkem s neznámým obličejem. Osoba na snímku je označena, pokud je nalezen takový vzorový snímek, který má od vstupního snímku vzdálenost menší než stanovený práh. Pokud je takových snímků více, je vybrán ten s nejmenší vzdáleností. Díky těmto výpočetně jednoduchým krokům je možné provádět rychlé rozpoznání osob. Nevýhodou těchto metod je závislost na intenzitě osvětlení, velikosti, rotaci a afinních transformacích, takže jsou vhodné především na rozpoznání obličejů orientovaných přímo do kamery. Rozpoznávání na základě 3D informace Další třídou algoritmů, které lze využít pro rozpoznání obličeje, je rozpoznávání na základě 3D informace. Předpokladem je získání trojrozměrných grafických dat a jejich následné převedení do vhodné zpracovatelné digitální podoby. Nejčastěji se pro tento účel využívá tzv. normálová mapa. Jedná se o barevný obrázek, kde jednotlivé složky RGB modelu reprezentují ve dvojdimenzionálním (dále jen 2D, 3D) obraze odpovídající obraz ve 3D. Zjednodušeně řečeno se jedná o 2D reprezentaci povrchu tváře ve 3D. Jednotlivé barevné pixely RGB modelu pak představují odpovídající normály. Samotný převod obrazu obličeje na normálovou mapu probíhá v několika krocích. Nejprve je nutné z originálního obrazu tváře získat pomocí aproximace její přibližný 12

13 tvar. V tomto kroku je s využitím normál vytvořena rekonstrukce obličeje pomocí polygonů a vznikne síť reprezentující tvar obličeje ve 3D (viz Obr. 3b.). Následně je vytvořena sférická projekce (promítnutí) 3D sítě na 2D plátno (Obr. 3c.). Posledním krokem je převedení normál ze získané sítě (Obr. 3d.) na dvourozměrné pole, kde každý obrazový bod představuje normálu pomocí hodnoty barevného spektra RGB [5]. Obr. 3: Princip převodu grafických dat na normálovou mapu (a) 3D model, (b) aproximovaná síť, (c) 2D projekce sítě, (d) normálová mapa Hlavním důvodem procesu převodu na normálovou mapu je snadnější manipulace s daty v této podobě. Při použití této reprezentace grafických dat lze provádět celá řada akcí, jako jsou rozpoznání výrazu obličeje nebo vzájemné porovnávání dvou obličejů. Porovnání grafických dat obličejů Ve chvíli, kdy jsou grafická data převedena do podoby normálové mapy, lze přejít k samotnému procesu porovnávání obličejů. Ve výše uvedeném postupu jsou grafická data převedena pomocí RGB modelu na normálovou mapu. Tato reprezentace je vhodná pro porovnání dvou obličejů a následnému určení jejich shody. Podle [2] se pro porovnání normálové mapy NA a NB použije následující rovnice, kde jsou obsaženy jednotlivé normály zastoupeny složkami RGB modelu. ar cos( r N A r NB Kde ϴ je úhlová vzdálenost mezi obrazovými body (xna, yna) a (xnb, ynb) normálové mapy NA a NB. Následně je vytvořena diferenční mapa, kde jsou jednotlivé rozdíly zaznamenány pomocí stupnice šedivé barvy. Pomocí této mapy diferencí lze sestavit histogram (obr. č. 2), z kterého je patrné jako velká je vzájemná podobnost obou tváří. g N A g NB b N A b NB ) Obr. 4: Histogram diferencí, zdroj [8] 13

14 Obr. 4 zobrazuje dva histogramy, které zachycují úhlové vzdálenosti. V prvním případě (a) byla rozdílnost obou porovnávaných tváři velmi malá (shodné tváře, podobná normálová mapa). V druhém případě (b) jsou normálové mapy odlišné (odlišné obličeje) [8]. 3. Návrh demonstrační aplikace Navrhovaná aplikace funguje na mobilním zařízení a k identifikaci obličejů využívá služby pro on-line rozpoznávání obličejů Face.com. Jako softwarová platforma byl zvolen operační systém Google Android. Pro implementaci byl vybrán algoritmus detekce obličejů Viola-Jones především kvůli vysoké rychlosti a existující implementaci v podobě OpenCV [3] a JViolaJones [2]. V aplikaci jsou pro porovnání použity obě implementace, přičemž z rychlosti zpracování je zřejmá výhoda nativního kódu v podobě OpenCV. Protože je z paměťových a výpočetních důvodů nevhodné udržovat na mobilním zařízení kompletní databázi známých obličejů pro rozpoznání, byla část pro rozpoznání obličejů přesunuta na server. Na server jsou odesílány pouze výřezy s detekovanými obličeji, aby byl minimalizován datový přenos Způsob použití aplikace Základním účelem demonstrační aplikace (z uživatelského úhlu pohledu) je využití možnosti mobilního zařízení pracovat s fotografiemi a následně využití dat umístěných na sociální síti. Uživatel bude pak během krátkého okamžiku schopen zjistit informace o vyfotografované osobě. Mezi základní dostupné funkce ze strany uživatele patří: identifikace obličeje s využitím vestavěného fotoaparátu vlastního zařízení, identifikace obličeje s využitím fotografie uložené v galerii. 4. Závěr Mezi základní požadavky na rozpoznání obličejů na mobilních zařízeních patří výpočetní nenáročnost a rychlost zpracování. V příspěvku bylo prozkoumáno několik způsobů rozpoznání obličeje. Přístup, který využívá snímání 3D obrazu celého obličeje a porovnává rozdíly normálových vektorů dvou obličejů, je velmi přesný, není však vhodný pro mobilní zařízení. Důvodem je vysoká výpočetní náročnost a absence 3D informace v datech z vestavěné kamery. V demonstrační aplikaci byl využit postup rozpoznání založený na detekci obličejů na zařízení a následné rozpoznání těchto obličejů na serveru. Metoda detekce obličejů je založena na algoritmu Viola-Jones, který pomocí adaptivního přístupu redukuje dimenzionalitu úlohy. V kombinaci s implementací v nativním kódu je tento postup dostatečně výkonný i pro mobilní zařízení, přičemž úspěšnost detekce dosahuje % v závislosti na světelných podmínkách a vzdálenosti obličejů od kamery. 14

15 Literatura [1] ALBIOL, A., TORRES, L. & DELP, E.J. Optimum Color Spaces for Skin Detection., [2] ANON. Jviolajones - Java face detection - Google Project Hosting [online]. [Cit ]. Dostupné z WWW: < [3] ANON. OpenCV Homepage [online]. [Cit ]. Dostupné z WWW: < [4] CROW, F.C. Summed-area tables for texture mapping. ACM SIGGRAPH Computer Graphics, 1984, vol. 18, s [5] DELAC, K. & GRGIC, M. Face Recognition. InTech 2007, ISBN [6] FREUND, Y. & SCHAPIRE, R.E. A Decision-Theoretic Generalization of on-line Learning and an Application to Boosting [7] GRGIC, M. & DELAC, K. Face Recognition Homepage [online]. [Cit ]. Dostupné z WWW: < [8] Oliveira. Skin Detection Using HSV Color Space [online]. [Cit ]. Dostupné z WWW: < [9] VIOLA, P. & JONES, M. Robust Real-time Object Detection. INTERNATIONAL JOURNAL OF COMPUTER VISION, [10] ZHAO, W., CHELLAPPA, R., PHILLIPS, P.J. & ROSENFELD, A. Face recognition: A literature survey. ACM Computing Surveys (CSUR), 2003, vol. 35, s Lukáš Beran Univerzita Hradec Králové, Fakulta informatiky a managementu Rokitanského 62, Hradec Králové, Česká republika lukas.beran.2@uhk.cz Karel Petránek Univerzita Hradec Králové, Fakulta informatiky a managementu Rokitanského 62, Hradec Králové, Česká republika karel.petranek@uhk.cz 15

16 PROBLEMATIKA PROTOKOLU IPV6 ISSUES IPV6 Josef Horálek, Martin Hátaš, Tomáš Cink Abstrakt Příspěvek představuje problematiku protokolu IPv6. Nejprve představuje základní principy fungování tohoto protokolu. Vysvětluje základní principy adresování IPv6, přidělování adres a problematiku DNS záznamů pro IPv6. V další části pak seznamuje s nejrozšířenějšími problémy a jejich možným řešením při přechodu od IP4 k IPv6. Na závěr jsou pak uvedeny aktuální data ohledně využívání protokolu IPv6. Klíčová slova IPv4, IPv6, tunelování, adresování, datagram Abstract The paper presents the issue of IPv6. At first it presents the basic principles of this protocol. It explains the basic principles of IPv6 addressing, address allocation and the issue of DNS records for IPv6. Next section introduces the most widespread problems and possible solutions in the transition from IP4 to IPv6. In conclusion there are presented current data of use of IPv6. Keywords IPv4, IPv6, tunnelling, addressing, datagram 1. Úvod Internet Protocol verze 6 (IPv6) se má v nejbližší době stát následníkem protokolu současného Internetu, kterým je Internet Protocol verze 4 (IPv4). Ve starší literatuře bývá označován též jako IP Next Generation (IPng). Tento článek představuje základní strukturu protokolu IPv6, systém adresace a možnosti přidělování adres. Dále představuje problematiku DNS záznamů pro protokol IPv6 a na závěr pak předkládá několik vybraných problémů, které doprovází přechod adresace od IPv4 k IPv6. Na tyto problémy nejen poukazuje, ale také představuje možnosti jejich řešení. V samotném závěru jsou uvedena nejaktuálnější data týkající využívání IPv6 adresace. 16

17 2. Vlastnosti a vývoj Jeho kořeny sahají do začátků devadesátých let, kdy začalo být zřejmé, že se adresní prostor dostupný v rámci IPv4 rychle tenčí. Rozsah adres IPv4 je omezen velikostí jejich adresy. Tehdy vypracované studie ukazovaly, že s perspektivou přibližně deseti let dojde k jeho úplnému vyčerpání. Jelikož na řešení problému bylo k dispozici poměrně dost času, rozhodlo se IETF (Internet Engineering Task Force) navrhnout významné změny, která by kromě rozšířeného adresního prostoru přinesly i další nové vlastnosti. Na počátku IPv6 stály tedy následující požadavky: rozsáhlý adresní prostor, který vystačí pokud možno navždy, tři druhy adres: individuální (unicast), skupinové (multicast) a výběrové, (anycast), jednotné adresní schéma pro Internet i vnitřní sítě, hierarchické směrování v souladu s hierarchickou adresací, zvýšení bezpečnosti (zahrnout do IPv6 mechanismy pro šifrování, autentizaci a sledování cesty k odesilateli), podpora pro služby se zajištěnou kvalitou, optimalizace pro vysokorychlostní směrování, automatická konfigurace (pokud možno plug and play), podpora mobility (přenosné počítače apod.), hladký a plynulý přechod z IPv4 na IPv6. Jak je vidět, cíle nebyly vůbec skromné. Chopili se jich především Steven Deering a Robert Hinden, kteří mají největší podíl na vzniku nového protokolu. Jejich snaha tak vyústila koncem roku 1995 ve vydání sady RFC definujících IPv6. Jedná se o RFC 1883: Internet Protocol, Version 6 (IPv6) Specification [1] a jeho příbuzné. 3. Jak IPv6 funguje Základním kamenem IPv6 je dokument RFC 2460: Internet Protocol, Version 6 (IPv6) Specification [2, 3], který obsahuje především formát datagramu. Tedy toho, co na síťové vrstvě modelu TCP/IP zajišťuje přenos paketů po síti, aby dorazili od zdroje do požadovaného cíle. Ostatním mechanismům a datovým formátům, které souvisejí s IPv6, jsou věnovány další RFC specifikace, který je velké množství. Datagram Paket IPv6 má stejný formát jako paket IPv4. To znamená, že obsahuje hlavičku, za kterou následují nesená data. V protokolu IPv6 má hlavička konstantní velikost 40 B. Obsahuje pouze základní údaje a veškerá nepovinná a doplňková data se pak zapisují do dalších hlaviček (next header). 17

18 8 bitů 8 bitů 8 bitů 8 bitů Verze Třída provozu Délka dat Identifikace toku dat Další hlavička Max. skoků Adresa odesílatele Adresa příjemce Obr. 1: Hlavička datagramu IPv6 Popis jednotlivých položek hlavičky datagramu IPv6: Verze (Version) obsahuje informaci, zda se jedná o paket IPv4, nebo IPv6. Třída provozu (Trafic class) určuje prioritu datagramu, nebo jeho zařazení do určité přepravní skupiny. Díky této položce může být paket odbaven přednostně, nebo může být pozdržen implementace služeb se zaručenou kvalitou (QoS). Identifikace toku dat (Flow label) umožňuje paket identifikovat jako součást určitého toku mezi odesílatelem a příjemcem. Díky tomu se výrazně zrychlí tok dat, protože router řeší směrování pouze u prvního paketu toku a další odesílá podle něj. Tato položka je podle RFC 2460: Internet Protocol, Version 6 (IPv6) Specification stále ve fázi experimentu. Délka dat (Payload length) Určuje počet bajtů datagramu bez úvodní hlavičky. Protože tato položka má 2 B, může být největší délka IPv6 datagramu 64 kb. Další hlavička (Next header) Protože hlavička IPv6 byla oproti IPv4 značně redukována, mnoho údajů se přesunulo do zřetězených hlaviček. Tato položka určuje typ další hlavičky, nebo následujících dat. Maximální počet skoků (Hop limit) jedná se o ekvivalent položky TTL v hlavičce IPv4. Každý datagram může absolvovat omezený počet průchodů routerem (jeden průchod je jeden hop). Při každém hopu je toto číslo dekrementováno. Pokud se bude rovnat nule, tak paket bude zahozen. Slouží jako ochrana před zacyklením směrování a nekonečným oběhem paketů po síti. Adresy (Source address, Destination address) zabírají 80 % datového objemu hlavičky a jsou uváděny v hexadecimální soustavě. Další hlavičky Při popisu hlavičky diagramu IPv6, jsme zmínili, že obsahuje položku nazývanou další hlavičky. Nyní si krátce popíšeme, o co se jedná. Protokol IPv6 přináší oproti IPv4 možnost zřetězení hlaviček. Každá hlavička je však samostatná. Pokud paket obsahuje více hlaviček, jsou spojeny právě přes pole Další hlavička. Tímto způsobem je možné zřetězit za sebou tolik hlaviček, kolik považujeme za nutné. Poslední z hlaviček obsahuje v tomto poli typ dat, které daný 18

19 datagram nese. V následujícím jsou uvedeny nejčastější hodnoty, které je možné nalézt v položce Další hlavička. Rozšiřující hlavičky 0 volby pro všechny 43 směrování 44 fragmentace 50 šifrování obsahu 51 autentizace 59 poslední hlavička 60 volby pro cíl 135 mobilita Typ nesených dat 6 TCP 8 EGP 9 IGP 17 UDP 46 RSVP 47 GRE 58 ICMP Tab. 1: Nejdůležitější položky dalších hlaviček [8] Pořadí jednotlivých hlaviček teoreticky může být libovolné, ale je vývojáři protokolu IPv6 doporučují držet se pořadí popsaného v dokumentu RFC 2460: Internet Protocol, Version 6 (IPv6) Specification [2], které je následující: základní hlavička IPv6, volby pro všechny (hop-by-hop options), volby pro cíl (destination options), směrování (routing), fragmentace (fragment), autentizace (authentication), šifrování obsahu (encapsulating security payload), volby pro cíl (destination options), mobilita (mobility). Každá z výše uvedených hlaviček se může vyskytnout maximálně jednou, s jedinou výjimkou, a to hlavičky Volby pro cíl. Ta se může vyskytnout nejvýše dvakrát. Jednou před hlavičkou Směrování a podruhé před samotnými daty. Průchozí router čerpá informace jen hlavičky Volby pro všechny, která se vždy nachází za základní hlavičkou IPv6. Pokud tedy router v základní hlavičce v poli Další hlavička vidí jinou hodnotu než 0, může skončit s analýzou datagramu, protože všechny ostatní hlavičky jsou určené pro adresáta paketu. 4. Adresy v IPv6 Nyní je načase představit, jak vlastně vypadají. Adresy jsou stejně jako u předchůdců IPv6 přidělovány jednotlivým síťovým rozhraním, nikoliv jednotlivým uzlům [3]. Individuální (unicast) jednoznačná adresa jednoho síťového rozhraní. Skupinové (multicast) adresa skupiny uzlů a paket je doručen všem. Výběrové (anycast) adresa skupiny uzlů, ale paket se doručí jenom jednomu ze skupiny obvykle tomu nejbližšímu. 19

20 Oproti IPv4 nejsou definovány oznamovací (broadcast) adresy. Tyto jsou nahrazeny skupinovými adresami. Jak již bylo řečeno adresa IPv6 se zapisuje pomocí 32 hexadecimálních čísel rozdělených do osmi čtveřic, které jsou navzájem odděleny dvojtečkou hhhh: hhhh: hhhh: hhhh: hhhh: hhhh: hhhh: hhhh. Protože IPv6 se skládá ze 128 binárních číslic, je počet jedinečných kombinací roven číslo Pro lepší představu o mohutnosti adresného prostoru je možné říci, že na každý milimetr čtvereční zemského povrchu (jedno zda suchozemského, či mořského) připadá (miliónů miliard) adres [4, 5]. Jelikož zápis takto velké adresy je a bude mírně nepřehledný, je možno použít několik zjednodušených forem zápisu. Ty nejpoužívanější si nyní ukážeme. Plné vyjádření IP adresy Příkladem může být adresa A38C:0000:0000:0000:00B6:0000:0000:03F8. Počáteční nuly v každé čtveřici se nemusejí uvádět, proto lze výše uvedenou adresu také přepsat takto: A38C:0:0:0:B6:0:0:3F8. Zkrácený zápis pomocí zdvojené dvojtečky Zdvojená dvojtečka může v zápisu nahradit libovolné množství čtveřic nul, avšak se může v zápisu objevit jenom jednou. Důvodem je, že při vícerém použití by nebylo jasné, kolik čtveřic nul kde nahrazuje. Proto naši vzorovou adresu je možné zkráceně zapsat jako A38C::B6:0:0:3F8, nebo také jako A38C:0:0:0:B6::3F8. Není však množné ji zkrátit tímto způsobem A38C::B6::3F8. Zápis prefixu Všechny zařízení ve stejné síti, resp. podsíti musí mít stejný začátek svojí IP adresy (tzv. prefix) někdy nazývané jako maska. Délka prefixu může být různá. Tento princip vychází z mechanismu CIDR (Classless Inter-Domain Routing) a obdobný je i způsob zápisu adresy s prefixem, který je následující: A38C:92E4:F52A:0000:00B6:0000:0000:03F8/40. Z takto zapsané adresy se nejen, že dá poznat unikátní adresa síťového rozhraní, ale i prefix sítě, který má v tomto případě 40 bitů. Jenom tento prefix lze například zapsat takto: A38C:92E4:F500::/40. V tomto případě je nutné zdůraznit, že do prefixu již nepatří poslední dvě nuly ze skupiny F500. Při délce 40 bitů do prefixu patří jenom první dvě číslice z této skupiny. Ovšem poslední dvě nuly je nutné do prefixu uvést, protože kdyby se uvedl pouze tvar A38C:92E4:F5/40, znamenalo by to, že tato skupina by ve skutečnosti vypadala A38C:92E4:00F5/40, čím bychom vyjádřili naprosto jiný prefix. Rozdělení adres Podobně jako IPv4, tak i IPv6 implementuje různé typy adres pro různé účely. Jednotlivé typy pod sebe zastřešují adresy se stejnými vlastnostmi a každý má jiný prefix. Specifický význam mají adresy ::0 a ::1. První značí, že zařízení nemá přidělenou žádnou IPv6 adresu a druhá je adresa pro loopback obdoba IPv4 adresy Stručný přehled IPv6 adres je uveden v následujícím seznamu. 20

21 ::/128 Nedefinovaná adresa ::1/128 Loopback FC00::/7 Unikátní individuální lokální adresa FE08::/10 Individuální lokální linkové adresy FF00::/8 ostatní Skupinové (multicast) adresy Individuální globální 5. Automatické přidělování adres Významnou změnou protokolu IPv6 je, že může být adresa automaticky přidělena a to dvěma způsoby: Stavová konfigurace funguje na stejném principu jako DHCP v IPv4. Bezstavová konfigurace pomocí zpráv zvaných ohlášení routeru. Stavová konfigurace Základem je DHCP z IPv4. Identifikace ale již neprobíhá pomocí MAC adresy, ale za použití DHCP Unique Identifier (DUID). Každý uzel má přiřazené tři DUID: Vytvořen výrobcem (sériové číslo). Kombinace linkové adresy a času vytvoření. Samotná linková adresa. Uzel, který chce přidělit adresu, rozešle na implicitní adresu všech serverů (FF02::1:2) výzvu (solicit). Server na ni zareaguje ohlášením serveru (advertise). Na základě odpovědí na výzvu, které uzel obdržel, si sestaví seznam dostupných DHCP serverů. Z nich si jeden zvolí a znovu na adresu FF02::1:2 odešle oznámení s DUID serveru, který si zvolil. Vybraný server klientovi pošle navrženou adresu (reply). Adresy jsou přidělovány na určitý časový horizont. Po jeho uplynutí musí uzel požádat o prodloužení platnosti adresy (renew). Pokud vybraný DHCP server neodpovídá, může se uzel obrátit na jiný (rebind) [5, 8]. Bezstavová konfigurace Tato konfigurace je postavena na údajích posílaných routery v rámci zpráv zvaných ohlášení routerů. Tyto zprávy jsou posílány do všech sítí připojených k routeru v náhodných časových intervalech. Uzel, který chce požádat o přidělení adresy, si nejprve vygeneruje lokální linkovou adresu a ověří její unikátnost pomocí objevování sousedů [6]. Pak počká na ohlášení routeru, ze kterého získá prefix místní sítě. Ten připojí před vygenerovanou část svojí linkové adresy a získá tak unikátní adresu. 6. DNS (Domain Name System) DNS slouží k překladu uživatelsky snadno zapamatovatelných názvů stránek (např. na číselné IP adresy, které si drtivá většina uživatelů nepamatuje. Pro IPv6 se systém DNS stává naprostou nutností, protože IPv6 adresy jsou naprosto nezapamatovatelné. 21

22 Největším problémem DNS systému je ukládání IPv6 informací. Tento problém řeší RFC 3596: DNS Extensions to Support IP Version 6 [5]. Pro správnou funkci DNS systému je nutné, aby servery podporovaly obě verze IP protokolu. Dopředné dotazy Jejich úkolem je přeložit symbolické jméno na příslušnou IP adresu. Principielně vycházejí z DNS IPv4, které pro tento účel zavádějí tzv. záznamy A. Protože je délka IPv6 adresy oproti adrese IPv4 čtyřnásobná, zavádějí se AAAA záznamy. Příkladem budiž následující záznam: nejake.jmeno.cz AAAA 2001:6CC0:F:9802:A3E5:DA85:6BC4:11A7 Pokud bude mít počítač nejake.jmeno přiděleno více adres v dané síti, budou všechny tyto adresy uvedeny v AAAA záznamech a záznam může vypadat například takto: nejake.jmeno.cz Zpětné dotazy AAAA 2001:6CC0:F:9802:A3E5:DA85:6BC4:11A7 AAAA 2001:34BE:666:9802:A3E5:DA85:6BC4:11A7 Tyto dotazy převádějí příslušnou IP adresu na symbolické jméno. Postup je takový, že se vezme celá adresa (včetně všech nul), zrcadlově se obrátí a na konec se přidá.ip6.arpa. Pro výše uvedenou adresu by zpětný dotaz vypadal následovně: 7.A C.B A.D.5.E.3.A F C.C ip6.arpa V tomto okamžiku je možné provést distribuovanou správu reverzních domén, protože prefix adresy se díky zrcadlovému otočení dostal na konec. Pokud by doména měla prefix 2001:6CC0:F::/48, tak by jí odpovídala reverzní doména F C.C ip6.arpa. Obsah záznamů DNS Jak již bylo zmíněno, může mít jedno síťové rozhraní více adres. A právě zde vyvstává dilema, které z nich zařadit do systému DNS. Do systému DNS se zařazují globální individuální adresy a adresy přechodových mechanismů. Naopak se nezařazují lokální linkové a náhodně generované krátkodobé adresy. 7. Přechod od IPv4 k IPv6 Protože na IPv6 nelze přejít najednou, musí se obecně zajistit, aby obě verze Internet Protokolu mohly fungovat vedle sebe a následně postupně přecházet k IPv6. Systémy, které umožňují současné fungování obou verzí, můžeme rozdělit do následujících skupin: Dvojí zásobník zařízení pracuje jak s IPv4, tak s IPv6. Může komunikovat pomocí obou verzí Internet Protokolu. Tunelování paket IPv6 se zabalí jako data k paketu IPv4 a pošle se skrz IPv4 síť. Překladače překládají pakety z IPv4 do IPv6 a obráceně. Rozšíření brání jejich nedořešená implementace. 22

23 Dvojí zásobník Ač by se z názvu mohlo zdát, že zařízení pracuje s oddělenými zásobníky pro IPv4 a IPv6, velice často tomu tak není a zařízení má pouze jeden zásobník, který dokáže uchovat oba typy adres. Tato zařízení musí mít jak IPv4, tak IPv6 adresu. Proto se jim také říká IPv4/IPv6 uzly. K získání obou adres se použijí standardní metody (buď manuální konfigurace, nebo DHCP). Ke komunikaci mezi protokoly dochází až na vyšší vrstvě TCP/IP modelu (většinou až na aplikační). Zásadní nevýhodou těchto zařízení je nutnost mít i IPv4 adresu, což je trochu v rozporu s plánem postupně přejít na adresy IPv6 [5]. Tunelování Při tunelování se IPv6 pakety přenášejí jako data IPv4 paketů skrze IPv4 síť. Tunel je obvykle tvořen dvěma krajními IPv4/IPv6 zařízeními a libovolným počtem IPv4 zařízeními mezi nimi. Obě krajní zařízení mají jak IPv4, tak IPv6 adresu. Pokud se IPv6 paket musí přepravit tunelem, router jej zabalí jako data do IPv4 paketu, který pošle na IPv4 adresu druhé strany tunelu. Skutečnost, že paket nese tunelovaný IPv6 datagram, značí hodnota 41 v položce Protokol v hlavičce obalujícího IPv4 datagramu [5, 8]. Když takový paket dorazí na konec tunelu, router z něj vybalí IPv6 paket, se kterým naloží podle údajů v jeho hlavičce. Při průchodu tunelem je IPv6 paket v roli nesených dat, takže zařízení po cestě k němu nepřistupují. Proto je také průchod celým tunelem považován za jeden skok. 6to4 Hlavním cílem 6to4 bylo omezit nutnou konfiguraci na minimum. Je definováno v RFC 3056: Connection of IPv6 Domains via IPv4 Clouds. Aby bylo možné tento protokol využívat, musí mít síť nejméně jednu veřejnou IPv4 adresu. Ta je většinou přidělena 6to4 routeru, který je připojen jak i IPv4 Internetu, tak k IPv6 síti. Na základě IPv4 adresy se vytvoří 6to4 prefix. Ten má standardní délku 48 bitů. Jeho prvních 16 bitů tvoří prefix 2002::/16 a zbylých 32 bitů je IPv4 adresa převedená do hexadecimálního formátu. Pokud bude IPv4 adresa bude 6to4 prefix mít hodnotu 2002:4DEC:D046::/48. Pro chod 6to4 není potřeba nastavit žádné tunely. Jedinou podmínkou je pouze router podporující 6to4. Pro umožnění komunikace musí mít router přiřazenou také minimálně jednu IPv6 adresu. 6over4 Hlavním účelem 6over4 spojení jednotlivých počítačů podporujících IPv6, které se nalézají v IPv4 síti. Byl definován v RFC 2529: Transmission of IPv6 over IPv4 Domains without Explicit Tunnels [5, 8]. Počítač, který chce použít 6over4 musí podporovat obě verze Internet Protokolu, protože svoje IPv6 pakety posílají tunelem 6over4 routeru, který je předává dále. Počítač využívající 6over4 může využívat všechny běžné mechanismy IPv6 jako automatickou konfiguraci, objevování sousedů, apod. Pro funkčnost 6over4 musí IPv4 síť podporovat skupinově adresované datagramy (IPv4 multicast), což je jedna z hlavních nevýhod 6over4. 23

24 Teredo Většina tunelovacích mechanismů si nedokáže poradit s NAT. Proto byl vyvinut mechanismus Teredo, jehož definice je v RFC 4380: Teredo: Tunneling IPv6 over UDP through Network Address Translations (NATs). Teredo je možné použít s trychtýřovým i omezeným NATem. Neporadí si ovšem se symetrickým NATem. Pro přenos zpráv je využit protokol UDP, který je používán i v NAT. Teredo adresa začíná Teredo prefixem 2001::/32, za kterým následuje IPv4 adresa serveru, který adresu udělil. Tato část adresy pochází od serveru, zbytek si uzel generuje sám. Prvních 16 bitů obsahuje příznaky, které mj. určují verzi NATu. Dalších 16 bitů obsahuje číslo UDP portu a posledních 32 bitů je IPv4 adresa NATu. Struktura adresy je popsána na obrázku bitů 16 bitů 16 bitů 16 bitů IPv4 adresa serveru Příznaky UDP port IPv4 adresa NATu Obr. 2: Struktura adresy Teredo Pokud chce počítač přidělit Teredo adresu, musí kontaktovat Teredo server. Tento kontakt proběhne formou UDP paketu, který odešle routeru a ten ji přes IPv4 doručí na adresu Teredo serveru. Server klientovi odpoví formou ohlášení routeru, ze kterého klient získá svoji Teredo adresu. Komunikace dvou uzlů přes Teredo se děje přímo, bez jakéhokoliv prostředníka. Pokud ale chce uzel s Teredo adresou komunikovat s jiným uzlem, který má IPv6 adresu, musí komunikovat přes překladač, jež překládá pakety z Teredo do IPv6 a naopak [8]. 8. IPv6 aktuálně Jak již bylo výše zmíněno, k nové verzi protokolu nelze přejít najednou. Je však nutné si uvědomit, že migrace k IPv6 již započala a stále probíhá. Je však obtížné měřit aktuální stav, kvůli rozdělení zodpovědnosti za alokování IPv6 adresních prostorů z globální organizace IANA na kontinentální registrátory a z nich pak dále k lokálním poskytovatelům těchto služeb. Lokálních poskytovatelů je tolik, že je prakticky nemožné získat od všech aktuální statistiky o přidělených adresách. Současný stav je však možné vyjádřit pomocí následujících ukazatelů. Počet autonomních systémů (AS), které podporují IPv6. Počet /32 bloků, které kontinentální registrátor přidělil lokálním. Počet AAAA jmenných záznamů pro IPv6. Přechod autonomních systémů Celkový počet autonomních systémů je Tyto systémy používají protokol IPv4 nebo IPv6. Z tohoto počtu jich používá pouze protokol IPv4 a 99 pouze protokol IPv6. Systému, které využívají obou protokolů je Čili AS, které IPv6 využívají je 4096, což je 10,75% z celkového počtu [7]. 24

25 Bloky přidělené lokálním registrátorům Kontinentální registrátor zpravidla přiděluje lokálním registrátorům a velkým poskytovatelům internetových služeb bloky adres s délkou /32. Kontinentálních registrátorů je 5 (RIPE NCC pro Evropu, ARIN pro Severní Ameriku, APNIC pro Asii, LANIC pro Jižní Ameriku a AFRINIC pro Afriku). Podle počtu bloků přidělených těmito společnostmi můžeme usuzovat rozšířenost IPv6 i v kontinentálním měřítku. Následující graf zobrazuje absolutní počty /32 adresních bloků přidělených jednotlivými kontinentálními registrátory [9,10]. APNIC; RIPE NCC; ARIN; LACNIC; 909 AfriNIC; 249 Obr. 3: Počet /32 IPv6 prefixů alokovaných kontinentálními registrátory ke květnu 2011 [9] Jmenné záznamy pro IPv6 Jak již bylo zmíněno, jmenné záznamy jsou udržovány jmennými servery DNS. Systém serverů DNS je hierarchický a z hlediska podpory pro IPv6 jsou zajímavé top level domain (TDL) servery, protože se nacházejí téměř na špici celé hierarchie. K tomu, aby se dalo prohlásit, že daný server podporuje IPv6, musí splňovat tato kritéria: Mít vlastní IPv6 adresu a nativní konektivitu, tak aby byl skrz protokol IPv6 dostupný. Musí mít vlastní AAAA záznam v kořenových (jemu nadřazených) DNS serverech. Musí být schopen vrátit žadateli AAAA záznam. Domén prvního řádu (.cz,.com, ) je z nich má IPv6 jmenné servery, což je 83,9 %. [4] V současné době je registrovaných IPv6 domén. V tabulce níže jsou uvedeny počty registrovaných AAAA záznamů Ipv6 nejmohutnějších domén prvního řádu. 25

26 Top level domain Počet AAAA záznamů.com net info org cz Tab. 2: Počet AAAA záznamů [4,7] Všimněte si, že Česká republika se do top 5 vešla jako jediná národní doména [4,7]. Všechny ostatní v této tabulce jsou generické. Další nejmohutnější národní doména je.us s záznamy. Literatura [1] DEERING, S. E. Deering ; HINDEN, R. M. Hinden. Internet Protocol, Version 6 (IPv6) Specification [online] [cit ]. RFC Dostupné z WWW: < [2] DEERING, S. E. Deering ; HINDEN, R. M. Hinden. Internet Protocol, Version 6 (IPv6) [online] [cit ]. RFC Dostupné z WWW: < [3] DEERING, S., HINDEN, R., NORDMARK, E. RFC IPv6 Global Unicast Address Format [online]. August 2003 [cit ].]. Dostupný z WWW: < [4] Hurricane Electric IPv6 [online] [cit ]. Dostupné z WWW: < [5] MÍČA, O. Internet Protokol verze 6. DFJP, UPCE, vedoucí práce: J. Horálek, s. Bakalářská práce. Univerzita Pardubice, Dopravní fakulta Jana Pernera. [6] NARTEN, T., et al. RFC Neighbor Discovery for IP version 6 (IPv6) [online]. September 2007 [cit ]. Dostupný z WWW: < [7] NIC.CZ : Správce domény CZ [online] [cit ]. IPv6 statistiky. Dostupné z WWW: < [8] SATRAPA, P. Internetový protokol IPv6. Praha : Cesnet, s. Dostupné z WWW: < ISBN [9] The Internet Assigned Numbers Authority [online] [cit ]. IPv6 Global Unicast Address Assignments. Dostupné z WWW: < [10] The Number Resource Organization [online] [cit ]. Dostupné z WWW: < 26

27 Mgr. Josef Horálek Univerzita Hradec Králové, Fakulta informatiky a managementu Rokitanského 62, Hradec Králové, Česká republika josef.horalek@uhk.cz Bc. MartinHátaš Univerzita Hradec Králové, Fakulta informatiky a managementu Rokitanského 62, Hradec Králové, Česká republika martin.hatas@uhk.cz Bc. Tomáš Cink Univerzita Hradec Králové, Fakulta informatiky a managementu Rokitanského 62, Hradec Králové, Česká republika tomas.cink@uhk.cz 27

28 TÝMOVÁ KOMUNIKACE A ZÁZNAMNÍK POZNÁMEK Z TERÉNU TEAM COMMUNICATION AND NOTES RECORDING Bc. Kinc Lukáš, Bc. Neuman Jiří Abstrakt Tato práce pojednává o problematice týmové komunikace, rychlém záznamu informací a sdílení dokumentů. Identifikuje typické problémy a potřeby členů týmu pracujících v různorodých podmínkách, kde může být omezený pracovní prostor či čas. Na tyto problémy se pokouší nalézt dostatečně vhodné řešení. Řešení, které by značnou měrou přispělo k vyšší efektivitě, produktivitě a komfortu při každodenní práci v terénu i mimo něj. Toto řešení se snaží aplikovat vývojem informačního systému, který je v této práci navrhnut a následně také implementován. Systém využívá moderních, ale zároveň široce rozšířených, technologií a možnosti svého využití zvyšuje volnou dostupností zdrojových kódů a podporou implementace uživatelských rozšíření. Klíčová slova Týmová komunikace, správa dokumentů, mobilní aplikace, vývoj software, informační systémy. Abstract This work deals with the topic of team communication, instant notes recording and document sharing. It identifies typical problems and needs of team members working under varied conditions where workspace and time can be very limited. It attempts to find a solution good enough to eliminate these problems. The work proposes a solution which highly increases productivity, efficiency and comfort of a worker both outdoors and indoors. This solution is applied in development of a new information system which is designed and implemented as a part of this work. The information system is built upon modern and widely spread technologies. Usability of this system is increased by a free availability of its source codes and support for user interface implementation. Keywords Team communication, document management, mobile application, software development, information systems. 28

29 Úvod V dnešní době je závislost na informačních systémech zřejmá a stále více je nutné řešit otázku mobility. Přístup k informačnímu systému přímo z terénu velkou měrou zefektivňuje práci uživatelů. Pro některé profese či zájmové skupiny je práce v terénu jejich hlavní činností a v terénu tráví většinu svého času. Pro tyto uživatele je velmi důležité, aby mohli k systému přistupovat bez těžkého notebooku, jehož start vyžaduje určitý čas. Tyto problémy zejména nastávají tam, kde je nutný pohyb z místa na místo v krátkém čase, jako je kupříkladu značení tras či vyměřování pozemkových ploch, anebo tam, kde jsou podmínky pro práci nějakým způsobem omezeny, například při výstupu na horskou plošinu. Pro tyto situace je nutné sáhnout ještě po menších zařízeních, jako jsou PDA nebo dnešní mobilní telefony, částečně uzpůsobené pro office-like aplikace. S těmi je možné relativně pohodlně zpracovávat i některé lehce složitější úlohy, jako je vyplnění formulářů, komunikace v kratších zprávách anebo ukládání rychlých poznámek nebo souborů, přístrojem pořízených. Některé z výše zmíněných situací pomáhá řešit náš malý informační systém AirBird Colibri. Ten nabízí prostředí pro týmovou komunikaci, záznamník poznámek včetně poznámek v multimediální podobě, správce dokumentů pořízených v terénu i jinde. Veškeré tyto funkce systém zpřístupňuje přes webové rozhraní a rozhraní mobilního klienta. Tento systém je určen právě pro osoby, které si potřebují zaznamenávat důležité poznámky, informace či myšlenky při pohybu v terénu nebo časové tísni a potřebují data zaznamenat co nejrychleji bez čekání. Problém týmové komunikace Týmová komunikace je důležitou součástí práce v kolektivu spolupracovníků. Každý pracovní tým se potýká s problémem zvládnutí efektivní komunikace, vhodnou dostupností společných dokumentů nebo například s omezenými zdroji, ze kterých musí načerpat maximum pro svou práci. Jedním z druhů komunikace mohou být i porady v reálném čase, na což mohou být lepší hlasové konferenční aplikace, než diskuze psanou formou. Dalším druhem je naopak stálejší diskuze, která se může týkat například vývoje aktuálních problémů, popřípadě diskuze, která nemusí být řešena v reálném čase anebo u které je vhodné persistentní uložení s rychlou možností vyhledávání. Při práci mají spolupracovníci často potřebu sdílet společné dokumenty a to ať již společně vytvářené, tak výsledky práce jednotlivých členů skupiny. Jako příklad si lze snadno představit různé odborné články, postupy a manuály, směrnice, zákony, reporty, zvukové či obrazové záznamy a další. Řešením pak bývá nějaký společný prostor dostupný po síti anebo přes informační systém, kam mají spolupracovníci přístup. Při práci více lidí na jednom souboru nebo na souvisejících datech je vhodné řešit i logování úprav se záznamem kdo kterou věc v jaký čas upravil a v nejlepším případě umožnit i verzování dat, kdy každá uložená úprava vytvoří další verzi souborů a je možné se vracet i ke starším verzím. Tuto 29

30 funkčnost uživatelé ocení především ve chvíli, kdy byla například uložena nějaká nežádaná změna. Systém AirBird Colibri se zaměřuje na podporu stálé a persistentní komunikace v týmu a poskytuje uživatelům službu podobnou klasickým diskusním fórům. Funkčnosti a parametry, které mohou uživatelé systému ocenit, zahrnují možnost vytvoření a udržování více diskusních vláken s různými tématy. Založené téma není již obvykle potřeba dále větvit. Takové větvení má za následek typicky sníženou přehlednost, a to především na mobilních zařízeních, které mívají menší zobrazovací plochu. V rámci komentářů v tématech diskuze je možné ukládat i přílohy, což mohou mít například fotografie anebo pracovní dokumenty v elektronické podobě. Tyto dokumenty jsou spravovány systémem pro správu dokumentů a je tak možné jejich verzování a snadné stažení. Problém zaznamenávání poznámek v terénu Často se stává, že pracovníci v terénu si potřebují zaznamenat nějaké poznámky či například fotografie při své práci. Někdy se jedná například o akutní situaci nebo myšlenku, která nesmí být zapomenuta a je nutné ji rychle zaznamenat. Médium, na které může být taková důležitá informace zaznamenána, zahrnuje prostý papír, diktafon, ale především i elektronické zařízení, které má dnes každý u sebe. Je jím mobilní telefon. Naše aplikace je schopna poskytnout právě efektivní, přehledné a pohotové rozhraní pro záznam informací s využitím elektroniky. Umožňuje rychlou poznámku s instantním uložením na serveru. Tím se stává ihned dostupnou odkudkoliv. Ve chvíli, kdy se autor vrátí domů, ke svému počítači, může ji dále zpracovávat na výkonnějším systému s větší zobrazovací plochou. Rychlé poznámky mohou být využity i opačně. Pokud si uživatel cokoli poznamená do svých poznámek z pohodlí domova, v terénu se potom stačí připojit na stejný server, ovšem za pomoci mobilního klienta, a k daným poznámkám se dostat během několika sekund. Problém omezených zdrojů Valná většina pracovních týmů se musí při pořizování softwarových řešení řídit především omezeným rozpočtem. Obzvláště to platí pro různé zájmové skupiny, neziskové organizace nebo vzdělávací instituce. Při řešení unikátních problémů může nastat problém, kdy nelze v rámci daného rozpočtu pořídit nový systém šitý na míru potřebám organizace. Pak může být vhodné zvolit univerzálnější, již dostupné, řešení. Při výběru jsou důležitými kritérii podpora požadovaných funkcí, cena, hardwarové nároky, licenční podmínky a cena na pořízení podpůrného software (OS, databáze, ). Problémy s nevhodně zvoleným systémem se mohou projevit až po nějaké době provozu. Například pokud se organizace rozhodne přejít na nová hardwarová zařízení, naroste počet klientů a výkon se stane nedostatečným nebo poskytované funkce přestanou být dostatečné a je potřeba je rozšířit o nové. Částečným řešením těchto situací může být predikce budoucího 30

31 vývoje situace v týmu anebo snaha o nezávislost, tedy pořízení produktů, které je možné provozovat téměř za všech podmínek. Systém Airbird Colibri je vyvíjen jako open source projekt, což umožní komukoli nahlížet do kódu a upravovat jej podle svých potřeb. Systém je zároveň díky tomu nabízen zcela zdarma k nekomerčním i komerčním účelům. Je tedy možné ho bez problémů vyzkoušet a v případě osvědčení jej bez problémů nasadit do provozu. Serverový systém je schopen komunikovat s různými klientskými aplikacemi za pomoci webových služeb, což z něj dělá nezávislým vůči technologii zpracování klientských aplikací. Základním klientem je aplikace vyvíjená nad platformou Java ME. Díky široké rozšířenosti běhového prostředí Javy na mobilní zařízení, by měla tato klientská aplikace bez problémů běžet na všech moderních zařízeních. Informační systém AirBird Colibri Cílem informačního systému AirBird Colibri je zavézt jednoduchý centralizovaný komunikační kanál pro spolupráci v týmu. Hlavním přínosem systému je umožnění komunikace všech členů týmu (projektového, vědeckého, zájmové skupiny atd.), která je centralizovaná, jednoduchá, efektivní a dostupná i v terénu. Aby bylo možné dostát potřebné úrovně bezpečnosti, poskytuje systém rozhraní pro správu uživatelů. Funkce pro správu uživatelů jsou dostupné přes webové rozhraní a jsou přístupné pouze uživatelům s patřičnými právy. Systém slouží také jako centralizované úložiště relevantních dokumentů. Základní mobilní klientská aplikace je dostupná pro platformu Java ME. Její výhodou je dostupnost na většině moderních mobilních zařízení bez potřeby instalace dodatečných aplikací. Výhodou je také její nezávislost na konkrétní mobilní platformě z hlediska hardware, i z hlediska operačního systému. Předpoklady pro správné fungování aplikace jsou dány pouze jejím charakterem a jsou uvedeny v požadavcích na systém. Díky dostupné integrační vrstvě serverové aplikace AirBird Colibri je možné vytvořit novou aplikaci, která bude se systémem spolupracovat a bude využívat jeho hotové služby. Tyto aplikace mohou být díky integraci přes webové služby implementovány v jakémkoliv moderním jazyce. Jejich složitost se může značně lišit od jednoduchých aplikací poskytujících pouze optimalizované grafické rozhraní k serverové části až po aplikace, které umožní zpracování, editaci a vytváření dokumentů spravovaných systémem AirBird Colibri. Co systém AirBird Colibri nabízí? Diskuze ve vláknech s možností připojení přílohy k příspěvkům Ukládání rychlých poznámek včetně dat v multimediální podobě Otevřené zdrojové kódy s možností rozšíření funkčnosti Hotovou mobilní aplikaci založenou na technologii Java ME Integraci s exitujícími, nebo nově vyvíjenými systémy Přístup přes webové rozhraní 31

32 Spolehlivost, škálovatelnost a vysokou dostupnost díky možnosti nasazení na cluster. Pro koho je systém určen? Pro spolupracující tým lidí, který je často roztroušen v terénu Pro zájmovou skupinu lidí zabývající se sportem v přírodě nebo přírodními vědami Pro tvůrčí osoby, potřebující rychle si zaznamenávat své nápady Jak IS AirBird Colibri funguje v praxi? Představme si skupinu turistů se zájmem o pohoří Krkonoš. Tato skupina ráda diskutuje o svých zážitcích a turistických výletech po všemožných trasách, kde naráží na různé zážitky a krásná místa. Každá navržená trasa a místo v Krkonoších zde mají svou vlastní diskusi plnou názorů, rad a fotografií z těchto míst. Turisté často plánují své trasy na základě této diskuse, avšak na cestě mohou znejistit nebo jim něco zabrání pokračovat v naplánované trase. Najednou musí pečlivě naplánovanou trasu operativně změnit. Díky diskusi k této trase mohou rychle najít alternativní cestu anebo se ujistit, že je vše v pořádku, pokud si nejsou jisti místem. Díky početné skupině osob v tomto týmu je i pravděpodobné, že se potkají na nějakém místě, popřípadě že se právě nachází více osob z tohoto týmu na stejné trase. Systém diskuse jim umožní operativně si naplánovat setkání v nějakém bodě, který domluví doslova za pochodu. Zde se přímo vybízí služba, která by sledovala za pomoci GPS přihlášené uživatele a mohla je upozornit na blízkost kolegy z týmu; tato služba by mohla být obratem rychle implementována do systému na žádost komunity a to jak autory systému, tak i programátory z řad turistické skupiny, díky volně dostupným zdrojovým kódům. Turisté na svých cestách zažívají různé zážitky a navštěvují různá místa v různou dobu. O každém zážitku se dá napsat poutavý příběh, místa se dají vyfotografovat a každá fotka může být nějak unikátní, stačí stejné místo vyfotografovat v jinou hodinu či jiný měsíc v roce. Na cestě však není čas dlouze popisovat své zážitky, ovšem je vhodné psát si poznámky, aby nic nebylo po návratu domů zapomenuto. K tomu tito uživatelé používají naši službu ukládání poznámek. Díky ní si ukládají textové poznámky, fotografie a nahrávky pořízené přímo na cestě. Své poznámky pak mohou v klidu domova utřídit, multimediální záznamy upravit a vše ve strukturované podobě zpřístupnit ostatním uživatelů, a podělit se s nimi tak o své zážitky a zkušenosti. Typická omezení mobilní platformy a jejich řešení Mobilní platformy disponují typicky značně omezenými zdroji, které je při vývoji aplikačního řešení třeba brát v úvahu. Mezi omezení, se kterými se jak uživatelé, tak vývojáři systému běžně potýkají, patří především omezená konektivita (dostupnost a cena připojení, přenosová rychlost, stabilita připojení, ), méně 32

33 výkonný hardware, malá zobrazovací plocha nebo velké rozdíly mezi různými druhy a modely mobilních zařízení. Informační systém AirBird Colibri byl vyvíjen takovým způsobem, aby koncový uživatel systému pocítil daná omezení co nejméně. Omezená konektivita mobilních zařízení patří pravděpodobně mezi největší problémy. IS AirBird se snaží minimalizovat dopad tohoto problému na uživatele použitím hned několika metod. Předně je to kompresí dat přenášených mezi serverem a klientem. Tím lze dosáhnout rychlejšího přenosu dat mezi mobilním zařízením a serverem, ale také úspory financí v případě, kdy uživatel platí za přenesená data. V případě, kdy konektivita není dostupná vůbec, systém lze stále používat v offline režimu. V tomto režimu jsou dostupné pouze funkce zaznamenávání poznámek včetně multimediálních příloh. Jelikož veškerá diskusní vlákna jsou uložena na serveru, přístup k nim není v offline režimu možný. Pro ukládání příloh poznámek ovšem systém vyžaduje dostatek volného místa v souborovém systému mobilního telefonu. Ve chvíli, kdy přejde systém do online režimu, budou veškeré poznámky zaznamenané offline přeneseny na server. Nižší výkonnost hardware řeší systém velmi efektivně použitím architektury klient-server. Díky tomu veškeré zpracování dat, transformace formátů, validace a další aplikační logika probíhá na výkonném serveru. Klient již získá data ve finální podobě a jeho úkolem je již jen vhodnou formou data prezentovat uživateli. S tímto si již hravě poradí jakékoliv moderní mobilní zařízení. Vzhledem k tomu, že systém AirBird Colibri se snaží být dostupný i pro uživatele mobilních telefonů, je grafické uživatelské rozhraní jeho mobilního klienta přizpůsobeno velmi malým rozměrům displejů. Pro zařízení s většími displeji, jako jsou třeba tablety, je vhodnější využít možnosti implementace vlastního klienta. V případě stále konektivity lze také pohodlně přistupovat k systému přes webový prohlížeč. Poslední problém s velkými rozdíly mezi konfigurací a hardware je již částečně překonán zvolenou platformou výchozího mobilního klienta. Klientská aplikace je navíc navržena tak, aby vyžadovala co nejmenší množinu knihoven. Technologie Server Technologie informačního systému použité na serveru jsou již zčásti dány vývojovou platformou. Serverová část je vyvinuta nad platformou.net od společnosti Microsoft. Již samotná platforma poskytuje dostatek knihoven pro vývoj aplikací (Unity Framework, Entity Framework, ASP.NET). Kromě knihoven od společnosti Microsoft byl použit také framework pro logování Log4net. Mobilní klient Výchozí mobilní klient je dostupný pro platformu Java ME. Tato technologie umožní provozovat mobilního klienta na téměř všech moderních mobilních zařízení a dokáže nabídnout dostačující prostředí pro práci se systémem. 33

34 Návrh Uživatelské role Systém bude pracovat s následujícími rolemi uživatelů: Anonymní uživatel o Má velmi omezená práva, která lze rozšířit registrací, po jejíž přijetí správcem se stane uživatel členem týmu. o Může prohlížet veřejná témata a zprávy a přidávat příspěvky k veřejným tématům. Nemůže však k příspěvkům přikládat dokumenty. Člen týmu o Může prohlížet veškerá témata a zprávy v systému. o Smí vkládat příspěvky k tématům a k těmto příspěvkům přikládat dokumenty. o Může stahovat dokumenty a dokumenty také nahrávat. Vybrané typy dokumentů je možno přímo upravovat. o Má k dispozici soukromé poznámky, které jsou ideální pro zaznamenání aktuálních poznatků z terénu, výzkumu atd. o K poznámkám může přikládat také dokumenty, které je později možné přiložit například také ke zprávě nebo je zpřístupnit ostatním uživatelům přímo. Vedoucí týmu o Může využívat všech funkcí, které má k dispozici člen týmu. o Může do aplikace registrovat vlastní zásuvné moduly, které umožní dále zvýšit produktivitu a efektivitu práce v týmu. Tyto moduly lze následně zpřístupnit vybraným rolím. o Navíc mu systém poskytuje jednoduché rozhraní pro správu všech uživatelů. Toto rozhraní obsahuje funkce pro přidávání, odstraňování a zobrazení uživatelů a dále možnost potvrzování / zamítnutí registrací. Výše uvedený seznam obsahuje pouze výchozí role systému. Díky integrovanému správci uživatelů, rolí a práv je možné seznam rozšířit nebo zcela změnit. Případy užití Create registration Jediným případem užití pro neregistrovaného uživatele je v současné verzi vytvoření registrace. Uživatel vyplní vstupní pole formuláře grafického rozhraní a potvrdí žádost o registraci. Confirm registration Dává vedoucímu týmu možnost potvrzení žádosti o registraci, kterou dříve vyplnil neregistrovaný uživatel prostřednictvím UC Create registration. Veškerá funkčnost je obsažena v tabulce, která zobrazuje všechny žádosti o registraci s připnutými tlačítky pro zamítnutí nebo potvrzení žádosti. 34

35 User list Obsahuje seznam všech registrovaných uživatelů, tj. v současné verzi všech členů týmu. Kromě přehledu základních informací o členech týmu neposkytuje žádné další funkčnosti. Notes list Umožňuje členovi týmu evidovat vlastní poznámky, které nejsou veřejné a jsou přístupné pouze jemu. Může tak vkládat poznatky, postřehy či nápady přímo v terénu a zpracovat je později. Každá poznámka může obsahovat textovou část a / nebo přílohu ve formě dokumentu libovolného typu. Člen týmu může zobrazit seznam a detail svých poznámek a poznámky také vytvářet prostřednictvím jednoduchého formuláře se vstupem pro text a přílohu. Topic list Poskytuje členům týmu pohled na seznam řešených, diskutovaných témat. Formou přehledného seznamu poskytuje informace o zakladateli tématu a datech jeho vytvoření a poslední modifikace. Vybráním požadovaného tématu ze seznamu je uživatel přesměrován na Message list. Message list Umožňuje členovi týmu prohlížet si zprávy přiřazené k jednotlivým tématům. Na tyto zprávy může také reagovat zasláním nové zprávy pod svým jménem vyplněním textové pole umístěného pod seznamem zpráv. K zasílané zprávě může připojit také libovolný dokument, který bude zobrazen jako příloha zprávy. V případě, že je ke zprávě připojena příloha, může si ji člen týmu prostřednictvím ikonky sponky stáhnout. Obr. 1: Use Case model 35

36 Datový model Tabulka Tab. 1 shrnuje entity, které informační systém obsahuje. Název Topic Message Popis obsahuje záznamy o tématech jednotlivých diskuzí. Eviduje především název daného tématu a jeho autora ukládá zprávy náležící do některého z témat. Ke zprávě je vždy přiřazen její autor a čas vzniku Note tabulka obsahující osobní poznámky uživatele. V případě, že poznámka obsahuje také dokument jako přílohu, záznam obsahuje odkaz na přiložený dokument Document obsahuje dokumenty vložené do systému buď samostatně anebo jako přílohy k týmovým zprávám a osobním poznámkám User tabulka obsahující seznam uživatelů systému. V současné verzi obsahuje především jejich autentizační údaje a jméno Authentication_Token Tab. 1: Popis datového modelu Pohled na systém tabulka autentizačních tokenů, které byly přiděleny uživateli. Obsahuje historii tokenů za poslední týden Systém je navržen tak, aby usnadňoval komunitě uživatelů jeho snadnou integraci. Z tohoto důvodu jsou jeho hlavní funkce dostupné přes webové služby. Současně zpřístupňuje veškeré své funkce přes webové rozhraní přístupné přímo z webového prohlížeče bez nutnosti další instalace či konfigurace. Spolu se serverovou aplikací je dodáván také mobilní klient napsaný v jazyce Java. Tento klient přistupuje k serverové aplikaci právě přes webové služby. Mobilní klient Architektura mobilního klienta je založena na důkladném oddělení všech vrstev tak, aby byla možnost v případě potřeby vrstvu vyměnit za jinou. Skládá se ze tří základních vrstev, vrstvy pro grafické uživatelské prostředí, vrstvy komunikační se stuby webových služeb a vrstvy integrační oddělující předchozí dvě vrstvy. Grafické prostředí je reprezentované jedním midletem. Tato třída v sobě obsahuje veškeré uživatelské obrazovky a informace o přechodech mezi nimi. Důvodem k jedné třídě je možnost pohodlné editace v grafickém prostředí vývojového IDE; přehlednost komponent je udržována v tomto editoru, nikoli v rozdělení do tříd. Z grafického prostředí jsou volány potřebné metody na fasádách webových služeb. Fasády mají za úkol odstínit uživatelské rozhraní od komunikační vrstvy. Samotné fasády primárně pouze přesměrovávají z midletu na konkrétní stub. Stuby webových služeb jsou generovány vývojovým prostředím na základě wsdl souboru, který definuje danou webovou službu. 36

37 Komponenty serveru Funkčnost a zodpovědnost jednotlivých komponent je popsána v tabulce Tab. 2. V případě některých komponent může být funkčnost z důvodu složitosti delegována dále na dílčí komponenty. Toto rozdělení však již není z high-level pohledu důležité. Název ExternalFacade Popis Fasáda, která zajišťuje jednotný přístup k funkcím systému všem externím rozhraním systému, tj. webovým službám i webovému rozhraní. DocumentManager Správce dokumentů. Zprostředkovává přístup k dokumentům, jejich verzování a bezpečné ukládání. DocumentStorage MessagingService NotesManager SecurityManager Tab. 2: Popis komponent serveru Úložiště dokumentů. Tato vrstva umožňuje snadno vyměnit úložiště dokumentů (např. databáze, souborový systém, FTP server, ) Služba zajišťující operace nad diskusními vlákny, zasílání zpráv a jejich správu. Správce osobních poznámek. Zajišťuje přístup k vlastním poznámkám a operace nad nimi. Správce zabezpečení má na starost autentizaci a autorizaci uživatelů, správu práv a uživatelských rolí. Závěr IS AirBird Colibri se snaží vyřešit některé problémy týmové komunikace a zaznamenávání poznámek při práci v terénu. Nabízí multiplatformní, nízkonákladové a snadno dostupné prostředí pro základní potřeby práce v omezených podmínkách a dává možnost k implementaci další funkcionality podle přání konkrétních uživatelů. Bc. Lukáš Kinc Univerzita Hradec Králové, Fakulta informatiky a managementu Rokitanského 62, Hradec Králové, Česká republika e mail: lukas.kinc@uhk.cz Bc. Jiří Neuman Univerzita Hradec Králové, Fakulta informatiky a managementu Rokitanského 62, Hradec Králové, Česká republika e mail: jiri.neuman@uhk.cz 37

38 VYUŽITÍ METODY PARTICLE SWARM OPTIMIZATION PŘI VZÁJEMNÉM ZAROVNÁVÁNÍ 2D OBRÁZKŮ APPLICATION OF PARTICLE SWARM OPTIMIZATION IN 2D IMAGE ALIGNMENT Tomáš Machálek Abstrakt Problematika zarovnávání (registrace) 2D obrazových dat zasahuje do mnoha praktických oblastí, počínaje tvorbou panoramatických fotografií, přes registraci multimodálních medicínských snímků až například po kompresi videa. Tato práce se zabývá nasazením algoritmu Particle Swarm Optimization při hledání optimálních translačních transformací pro dva související obrázky s použitím metod založených na přímém porovnávání jejich obrazových bodů. Ty lze formulovat jako úlohy hledání globálního extrému funkce kvantifikující v závislosti na použité metrice odlišnost překrývajících se oblastí. Klíčová slova inteligence hejna, optimalizace hejnem částic, stochastická optimalizace, registrace obrazových dat, zarovnávání obrázků Abstract The problem of 2D image alignment has many practical applications starting from panorama image stitching, multi modal image registration to video compression. This work deals with application of the Particle Swarm Optimization algorithm in finding optimal translation transformations when aligning two related images using methods based on direct pixel data comparison. Such model can be interpreted as a global optimization problem searching optima of some concrete image overlapping evaluation metrics. Keywords Swarm inteligence, Particle Swarm Optimization, stochastic optimization, image registration, image alignment 1. Úvod Particle Swarm Optimization (dále jen PSO) je globální stochastická optimalizační metoda publikovaná v roce 1995 J. Kennedym a R. Eberhartem. Její princip je inspirován modely založenými na kooperativním řešení problémů, které lze 38

39 pozorovat u řady živočišných druhů včetně člověka. Algoritmus PSO je založen na iterativním vývoji skupiny částic, které se pohybují v n rozměrném prostoru představujícím definiční obor účelové funkce optimalizačního problému. Částice v každé iteraci korigují svůj směr pohybu v závislosti na vlastním průběžně aktualizovaném nejlepším nalezeném řešení a současně na základě polohy doposud nejlepšího řešení nalezeného okolními částicemi. Okolí v tomto kontextu nechápeme v souvislosti s metrikou definičního oboru funkce, nýbrž jako graf určující komunikační strukturu částic, jehož konkrétní podoba má též vliv na průběh a výsledek hledání. Mezi citované aplikační oblasti algoritmu PSO patří například (viz. [1][3]): výroba a regulace elektrické energie, design a řízení neuronových sítí, řídící aplikace, robotika, plánování (scheduling), data mining, ekonomické a finanční aplikace. 2. Specifikace problému Tento článek shrnuje výsledky diplomové práce [1][2], jejímž cílem bylo: navrhnout a implementovat konkrétní řešení problému zarovnávání 2D obrázků s využitím algoritmu PSO při omezení na translační transformace, řešení implementovat ve formě, která by umožňovala testovat, parametrizovat či modifikovat předložené algoritmy prostřednictvím skriptovacího jazyka přímo v realizované aplikaci, ověřit korektnost implementace PSO pomocí benchmarkových testů, porovnat výsledky PSO v navrženém řešení s některými dalšími optimalizačními metodami a testovat vliv parametrů PSO na chování algoritmu při řešení popsané úlohy. 3. Algoritmus PSO O hejnu budeme uvažovat jako o uspořádané n tici, kdy i té částici v čase t přisoudíme polohu i (t) a rychlost i (t). Budeme li se odkazovat na k tou složku vektoru i té částice, použijeme označení pro složku polohového vektoru resp. pro složku rychlosti. Dále pro každou částici definujeme její okolí 1,, \. Vyjdeme li z [1][1], pak lze klíčový vztah pro výpočet složky vektoru rychlosti v diskrétním časovém okamžiku t formulovat takto: Rovnice 1: Výpočet složky vektoru rychlosti částice Po výpočtu všech složek vektoru lze již částici aktualizovat polohu: 1 Rovnice 2: Aktualizace polohy částice 39

40 Interpretace jednotlivých symbolů je následující: je d tá složka polohového vektoru dosavadního nejlepšího řešení, které i tá částice sama nalezla, je d tá složka polohového vektoru dosavadního nejlepšího řešení, které dosáhlo okolí částice, je konstanta pro korekci velikosti rychlosti částice, a jsou v každém kroku náhodně volené hodnoty z intervalu 0, při rovnoměrném rozdělení pravděpodobnosti. Zdůrazněme (viz. [1][1]), že tyto hodnoty se generují náhodně pro každou složku vektoru zvlášť. 4. Metriky pro vyhodnocení překryvu obrázků Rastrovým obrazem zde rozumíme funkci, :. Pro kvantifikaci odlišnosti překrývajících se částí zarovnávaných obrazů existuje řada metrik, které se liší výpočetní náročností i použitelností v závislosti na typu porovnávaných obrazových dat. Tato práce se zaměřila na tři často používané metriky součet absolutních hodnot rozdílů (SAD), normalizovanou vzájemnou korelaci (NCC) a vzájemnou informaci (MI).,,,, Rovnice 3: Součet absolutních hodnot rozdílů (SAD),,,,,,,, Rovnice 4: Normalizovaná vzájemná korelace (NCC) kde 1,, Rovnice 5: Průměrná hodnota jasu pixelu obrázku 1 a 1,, Rovnice 6: Průměrná hodnota jasu pixelu obrázku 2,,,,, log, Rovnice 7: Vzájemná informace (MI) 40

41 kde resp. jsou marginální pravděpodobnosti výskytu pixelu s jasem v obrázku resp. s jasem v obrázku a,, je pak sdružená pravděpodobnost výskytu pixelu s jasem v obrázku a současně pixelu s jasem v obrázku. 5. Realizované řešení Základní myšlenku testovaného řešení je možno vidět na obrázku 1. Pro oba zarovnávané obrázky jsou nejdříve vytvořeny postupně více a více podvzorkované varianty, a to tak, že v každém kroku je jejich výška a šířka snížena na polovinu. Tyto kroky pro každý obrázek proběhnou tolikrát, aby kratší ze stran žádného obrázku neměla délku menší než 150 pixelů. Hodnota byla zvolena empiricky s ohledem na testovanou sadu dat a rozhodně ji nelze považovat za univerzální. Jak uvádí [1][5], při nevhodně zvolené míře zmenšení může dojít k přílišnému úbytku detailů a následné ztrátě hledaného optima. Při zmenšování obrázků je z důvodu potlačení vyšších frekvencí v obrazových datech použita konvoluce obrazové funkce s Gaussovou funkcí. Obr. 1: Princip řešení využívá obrazové pyramidy postupně více a více podvzorkovaných variant původních obrázků. Globální optimalizace probíhá jen na nejmenší variantě a na dalších úrovních se řešení pouze koriguje za použití jednodušších, lokálních metod. Na nejmenších variantách vstupních obrázků proběhne hledání požadované transformace pomocí vybraných globálních optimalizačních metod a při přechodu na vyšší rozlišení je pak provedena lokální optimalizace na omezené obdélníkové oblasti 11x11 pixelů se středem v optimu nalezeném v úrovni předchozí. Je též třeba brát v potaz skutečnost, že se zmenšující se plochou překryvu obou obrázků klesá možný počet vzájemně odlišných hodnot jasu pixelů na této společné ploše a hrozí tak nalezení numericky sice optimálního, avšak vizuálně zcela chybného řešení. Implementovaná aplikace tento problém omezuje tak, že do výpočtu metrik popsaných výrazy (3), (4) a (7) doplňuje váhovou funkci, která příliš malé společné plochy penalizuje [1][5]. Stejně tak byly vhodně nastaveny omezující podmínky pro prohledávaný prostor transformací v závislosti na míře očekávaného překryvu (předpokládáme li např., že obrázky se mají v ideálním případě zcela překrývat, nemá smysl uvažovat rozsah transformací s extrémy vedoucími na překryvy velikosti v řádu pouhých jednotek procent plochy těchto obrázků). 41

42 6. Experimenty V první části byla ověřena implementace PSO v rámci realizované aplikace. Výsledky jsou k dispozici v tabulkách 1 a 2. Hledanou hodnotou účelové funkce byla vždy 0. Informace o použitých benchmarkových funkcích a podrobnostech konfigurace všech testů je možno získat v [1][1]. doba výpočtu Swarmint Jswarm PSO funkce prům. čas [s] s. odchylka [s] prům. čas [s] s. odchylka [s] Parabola 26,60 0,52 13,90 0,57 Alpine 13,90 0,32 8,80 0,42 Rosenbrock 12,00 0,47 5,80 1,75 Griewank 4,20 0,42 5,20 0,42 Tab. 1: Výsledky implementované aplikace (označena jako Swarmint) na benchmarkových funkcích z hlediska doby výpočtu ve srovnání s jinou existující implementací PSO nalezené řešení funkce Swarmint Jswarm PSO hodnota f ce s. odchylka hodnota f ce s. odchylka Parabola 0,04 0,03 3,02 1,45 Alpine 0,13 0,16 1,01 0,60 Rosenbrock 3,00 1,00 75,83 116,17 Griewank 0,53 0,24 0,71 0,16 Tab. 2: Výsledky implementované aplikace (označena jako Swarmint) na benchmarkových funkcích z hlediska kvality řešení (optimum je 0) ve srovnání s jinou existující implementací PSO Další série testů měla porovnat několik optimalizačních algoritmů a metrik pro kvantifikaci překryvu obrázků při řešení úlohy jejich vzájemného zarovnávání. Optimalizace byla realizována metodami PSO, Nelder Meadovou metodou pohyblivého simplexu (byla použita hotová implementace z projektu Apache Commons), simulovaným žíháním (implementace podle [1][4]), metodou hrubé síly. Nelder Meadův algoritmus se nachází na pomezí mezi lokálními a globálními optimalizačními metodami, avšak předběžné experimenty na testovacích datech ukázaly, že několik opakování z náhodně vybraných bodů definičního oboru účelové funkce je schopno problém řešit v čase a kvalitě srovnatelnými s ostatními vybranými postupy. Pro další měření byl počet těchto opakování empiricky stanoven na 5. Algoritmus PSO byl oproti výrazu (1) implementován v mírně modifikované variantě, která do výpočtu vždy vnáší i informaci o dosavadním nejlepším globálním řešení. Takový přístup lze chápat jako existenci dvou paralelních 42

43 komunikačních topologií částic, kdy jedna je fixně tvořena úplným grafem, ovšem s tím rozdílem, že řešení sledované v této struktuře uvažuje každou částici jako svého vlastního souseda. Upravený vztah pro výpočet rychlosti vypadá takto: Rovnice 8: Modifikace výpočtu rychlosti částice PSO kde b i je doposud nejlepší globální řešení a hodnota c 4 je generována podle stejných pravidel jako c 2 a c 3, avšak obecně z jiného rozsahu hodnot (zde <0, 0,43>). Srovnávací testy proběhly na čtyřech dvojicích obrázků, a to všemi kombinacemi uvedených optimalizačních algoritmů a metrik. Kompletní výsledky je možné najít v [1][2]; zde uvádíme pouze výsledky dvou vybraných dvojic. testovací dvojice č. optimum (x, y) celkem pixelů 1 ( 816, 36) (0, 0) Tab. 3: Správnáá řešení zarovnání testovaných dvojic a celkové počty pixelů, které bylo nutno při výpočtu zpracovat Kvalita jednotlivých testovaných variant byla vyhodnocována podle euklidovské vzdálenosti nalezených zarovnání od správných hodnot (viz. tab. 3). Uvedené testované dvojice obrázků vznikly uměle (rozdělení na dvě části, vytvoření vizuálně modifikované varianty originálu) vždy z jednoho obrázku za jasně definovaných podmínek tak, aby bylo možné přesně určit správná zarovnání. Obr. 2: Testovací dvojice č. 1(použito se svolením držitele autorských práv, firmy Intel) 600 px SAD NCC 0 MI PSO NM SA BF 43

44 Obr. 1: Vzdálenost výsledků jednotlivých optimalizačních metod od správného řešení u dvojice č sec SAD NCC 0 MI PSO NM SA BF Obr. 4:Doba výpočtu u jednotlivých optimalizačních metod u dvojice č. 1 Obr. 5: Testovací dvojice č. 2 px PSO NM SA BF SAD NCC MI Obr. 6: Vzdálenost výsledků jednotlivých optimalizačních metod od správného řešení u dvojice č sec SAD NCC 0 PSO NM SA BF MI Obr. 7: Doba výpočtu u jednotlivých optimalizačních metod u dvojice č. 2 Poslední série testů se týkala zkoumání vlivu některých parametrů na chování algoritmu PSO z hlediska řešeného problému. V následujících grafech jsou zaneseny výsledky měření vlivu počtu iterací, parametru a komunikační struktury částic. Tabulkaa 3 znázorňuje zrychlení aplikace dosažené paralelním zpracováním na více procesorových jádrech. 44

45 vzdálenost od nej. řešení směrodat. odch. px počet iterací Obr. 8: Vliv počtu iterací na kvalitu řešení (30 částic, bez využití obrazové pyramidy) vzdálenost od nej. řešení směrodat. odch. 15 px počet iterací Obr. 9: Vliv počtu iterací na kvalitu řešení (30 částic, s využitím obrazové pyramidy) i best směrodat. odch. 60 iterace ,1 0,2 0,3 0,4 0,5 0,6 0,7 0,8 0,9 1 hodnota c 1 Obr. 10: Závislost iterace, ve které bylo nalezeno nejlepší (v rámci daného běhu, nikoliv nutně optimální) řešení na parametru c 1 45

46 vzdálenost od nej. řešení směrodat. odch. px ,1 0,2 0,3 0,4 0,5 0,6 0,7 0,8 0,9 1 hodnota c 1 Obr. 11: Kvalita řešení v závislosti na parametru c 1 i best směrodat. odch kruhová wheel úplná von Neumann Obr. 12: Vliv topologie částic na iteraci, ve které došlo k nalezení nejlepšího (v daném běhu, nikoliv nutně optimálního) řešení Core i Core 2 Duo 1 vlákno 4 vlákna faktor zrychlení 1 vlákno 2 vlákna faktor zrychlení čas [s] 50,15 18,61 2,69 91,01 63,17 1,44 sm. odch. [s] 0,14 0,31 0,04 0,46 0,73 0,02 7. Závěr Tab. 3: Škálování výkonu při použití vícevláknového výpočtu Realizovaná aplikace ukázala, že PSO, byť v jedné z nejobecnějších konfigurací, dosahuje výsledků plně srovnatelných s jinými metodami používanými v oblasti zarovnávání 2D obrázků. Zajímavé je zejména srovnání se simulovaným žíháním, jehož výsledky byly téměř ve všech testech horší. Zkoumaný vliv parametrů PSO odpovídal popisu v dostupné literatuře. Z hlediska zkoumaných metrik překryvu obrázků se potvrdilo, že jejich volba je závislá především na typu zpracovávaných dat s tím, že metrika NCC se v tomto směru prezentovala jako nejvíce univerzální, zatímco metriky SAD a vzájemná informace z testů vyšly jako specializovanější vždy pro určitý typ obrazových dat. I zde tedy výsledky odpovídaly dostupným informacím o jejich využitelnosti pro specifické problémy. 46

47 V dosažení univerzálnosti realizovaného řešení brání zejména nutnost hledat před použitím algoritmu řadu parametrů manuálním testováním cílové sady obrázků. Pokud by se podařilo najít vhodné parametry (zejména u obrazové pyramidy, penalizace malých překryvů obrázků a PSO) automatizovaně, použitelnost celého řešení by se nepochybně zvýšila. Literatura [1] CLERC, Maurice. Particle Swarm Optimization. ISTE, London, [2] MACHÁLEK, Tomáš. Využití metody Particle Swarm Optimization při vzájemném zarovnávání 2D obrázků s. Diplomová práce na Fakultě informatiky a managementu Univerzity Hradec Králové. Vedoucí diplomové práce doc. RNDr. Kamila Olševičová, PhD. [3] SEDIGHIZADEH, D., MASEHIAN, E. Particle Swarm Optimization Methods, Taxonomy and Applications. International Journal of Computer Theory and Engineering, 1, No. 5, December , [4] SEGARAN, T. Programming Collective Intelligence. O'Reilly, [5] SZELISKI, Richard. Computer Vision: Algorithms and Applications. Springer, Bc. Tomáš Machálek Univerzita Hradec Králové, Fakulta informatiky a managementu Rokitanského 62, Hradec Králové, Česká republika e mail: tomas.machalek@uhk.cz 47

48 AMBIENTNÍ INTELIGENCE JEDNA Z CEST KE KOMPLEXNÍ PODPOŘE LIDSKÝCH AKTIVIT AMBIENT INTELLIGENCE A WAY TO COMPLEX HUMAN ACTIVITIES SUPPORT Peter Mikulecký Abstrakt Příspěvek je zaměřen na úvahy o v současnosti intenzivně zkoumané oblasti s velkým aplikačním potenciálem ambientní inteligenci. Ambientní inteligence je představa o informační společnosti budoucnosti, v níž se člověk nachází v inteligentním prostředí, jehož prvky jsou schopny vzájemné inteligentní komunikace a spolupráce za účelem vhodné podpory různých aktivit uživatele. Inteligentní prostředí tohoto typu lze modelovat jako multi-agentní systém, jehož prvky lze považovat za vzájemně komunikující a spolupracující entity, žijící svým vlastním životem ve vztahu k reálnému životu paralelně probíhajícím v tomtéž prostředí. Příspěvek se zabývá několika důležitými aspekty ambientní inteligence a rozebírá možnosti jejího využití pro co nejširší, ne-li komplexní podporu lidských aktivit. Klíčová slova ambientní inteligence, pomáhající technologie, lidské aktivity, informační a komunikační technologie Abstract This contribution brings contemplation about ambient intelligence, a recently very intensively investigated area with a great application potential. Ambient intelligence is a vision of future information society, where a human user will appear in an intelligent environment, which elements would be capable of ubiquitous mutual communication and collaboration aiming of intelligent support of various user s activities. Intelligent environments of this type can be modelled as a multi-agent system, elements of which are tractable as mutually communicating and collaborating entities living their own lives related to the real life being in progress in parallel in the same environment. Some important aspects of ambient intelligence are discussed and possibilities of its utilisation for a broad, if not complex support of human activities are analysed. Keywords Ambient intelligence, helping technologies, human activities, information and communication technologies. 48

49 1. Úvod Oblast tzv. ambientní inteligence (angl. Ambient Intelligence, což lze volně přeložit jako všudypřítomná inteligence nebo i inteligence prostředí), je v období posledních cca 10 let předmětem intenzivního výzkumu zejména v zemích Evropské unie, jejíž nedávný 6. i současný 7. rámcový program výzkumu považuje tuto oblast za jednu ze stěžejných pro další rozvoj znalostní společnosti. Představa o ambientní inteligenci vychází z původní vize Marka Weisera [15] o počítačích pro 21. století. Předpokládá posun ve využívání informačních technologií od obvyklých osobních počítačů k různým typům informačních zařízení, které budou integrovány do běžného životního prostředí lidí a budou jim tak napomáhat při řešení běžných i méně běžných životních či pracovních situací. V souvislosti s tím se rovněž předpokládá potlačení dnes převažujících technologických aspektů výpočetních a informačních technologií do pozadí, přičemž do popředí zájmu se přesunou inteligentní rozhraní konkrétních uživatelských prostředí. Detailnější informace k celé problematice lze nalézt např. v [4]. Hlavním účelem ambientní inteligence je naplnit poslání tzv. pomáhajících technologií, tedy technologií, které jsou určeny zejména k tomu, aby byly nápomocné lidem při jejich běžných každodenních aktivitách, i při některých specifických činnostech. Jak už jsme výše uvedli, představa o použití ambientní inteligence vede k představě o inteligentních prostředích, které vzniknou z pro nás doposud velice obvyklých a každodenně využívaných prostředí jejich obohacením o vyspělé všudypřítomné informační a komunikační technologie schopné inteligentní podpory lidských aktivit v tomto prostředí. Výzkumy v tomto směru rezultují do prototypů inteligentních domů, domácností, kanceláří, učeben, domovů pro seniory, apod. Při nadšených ale i celkem střízlivých informacích o prvních výsledcích v oblasti všudypřítomné inteligence je nicméně zatím málo upozorňováno na případná nebezpečí, které tato technologie a zejména pak její možné budoucí rozsáhlé nasazení v sobě skrývá. Současná, více méně konzumní společnost nepochybně uvítá (pokud tak už částečně neudělala) pohodlí a nezpochybnitelné přínosy, které z nasazení technologií ambientní inteligence plynou či mohou vyplývat. V tomto článku bychom rádi popsali několik možností aplikací této technologie, chceme ale i upozornit na některá nebezpečí a protiřečení daného přístupu. 2. Představa o ambientní inteligenci Ambientní inteligence (Ambient Intelligence) je vizí informační společnosti budoucnosti, ve které je největší důraz kladen na uživatelskou přívětivost; efektivní a distribuovanou podporu služeb; posílení možností efektivního využívání relevantních zdrojů ze strany uživatelů; podporu interaktivní činnosti. Tato vize předpokládá, že lidé budou působit v prostředí inteligentních a intuitivně využitelných rozhraní k procesorům, umístěným do všech typů objektů. Pod 49

50 objekty zde rozumíme zcela běžné předměty, které nás obklopují a které tvoří prostředí, v němž působíme. Takovéto prostředí bude pak schopné rozpoznat přítomnost konkrétních individuí a reagovat na jejich přítomnost nevyrušujícím a často neviditelným způsobem, který bude obvykle plně integrován do dané situace. Tato reakce prostředí by měla zásadně působit ve prospěch daného uživatele, měla by mu pomoci řešit zcela běžné ale i zřídka se vyskytující problémy. Cílem využití ambientní inteligence je podstatně rozšířit interakci lidí a digitální informační technologií zejména využitím všudypřítomných (ubiquitous) výpočetních zařízení. Jádrem představy o ambientní inteligenci jsou tři v současnosti se značně rozvíjející technologie: všudypřítomné počítače (ubiquitous computing), všudypřítomná komunikace (ubiquitous communication), inteligentní uživatelská rozhraní (intelligent user interfaces). Všudypřítomné počítače znamenají zejména integraci mikroprocesorů do běžných objektů denní potřeby, jako je nábytek, oděv, kuchyňská zařízení, hračky, apod. V podstatě se jedná o použití počítačů doslovně všude. Počítače jsou zde dostupné pomocí prostředků fyzického prostředí, jsou nicméně obvykle skryty očím uživatele. Všudypřítomná komunikace umožňuje kromě jiného třeba to, že různé objekty s integrovanými procesory budou schopny komunikovat mezi sebou či s uživatelem především prostředky bezdrátové komunikace, která se postupně stane dominantní technologií. Inteligentní uživatelská rozhraní umožňují obyvatelům prostředí s ambientní inteligencí interakci s prostředím a jeho ovládání přirozenou cestou (hlas, gestikulace) s vysokým stupněm personalizace (zohlednění preferencí uživatele či kontextu s danou situací nebo činností). Toto všechno umožní silné zjednodušení používání různých zařízení, která budou využitelná velice přirozeně a intuitivně. Pro ilustraci představy o ambientní inteligenci byla vytvořena celá řada tzv. scénářů, osvětlujících možné přínosy této technologie pro společnost. Scénáře jsou více méně příklady možného budoucího využití přístupů ambientní inteligence v rozmanitých oblastech každodenního lidského života [4]. 3. Scénáře pro využití ambientní inteligence Pro ilustraci představy o ambientní inteligenci byla vytvořena celá řada tzv. scénářů, osvětlujících možné přínosy této technologie pro společnost. Scénáře jsou více méně příklady možného budoucího využití přístupů inteligence prostředí v rozmanitých oblastech každodenního lidského života [4]. Zajímavé je, že scénáře měly být rozvojem příslušných technologií naplněné v roce 2010, tedy v loňském roce a skutečně byl ve směru jejich naplnění zaznamenán mohutný pokrok. První představa EU pro další rozvoj v jejích rámcových programech byla promítnutá do následujících čtyř scénářů: Maria The Road Warrior, Dimitrios and Digital Me, 50

51 Carmen Traffic, Sustainability, and Commerce, Annette and Solomon in the Ambient for Social Learning, V následujících odstavcích tyto scénáře stručně přiblížíme. Scénář Maria, The Road Warrior popisuje reprezentantku nejmenované firmy, která vyjíždí na služební cestu do vzdáleného města, kde ji čeká obchodní jednání spojené s prezentací a diskusí se zákazníky. Vše, co Maria potřebuje, je zařízeno předem a prostředí, ve kterém se pak Maria pohybuje, s ní komunikuje skrze P-Com, což je inteligentní osobní komunikační zařízení (v dnešních poměrech pravděpodobně chytrý telefon). Mezi možné výsledky její komunikace s prostředím mohou patřit následující automatizované činnosti: vypůjčené auto předem připravené, je zajištěn přístup do centra města, parkoviště; je zajištěný pokoj v jejím oblíbeném hotelu, přičemž prostředí pokoje předem personalizováno dle Mariiných zvyklostí a preferencí; je zařízená pomoc při prezentaci na obchodním setkání, informační i znalostní podpora jejího jednání, bude-li potřeba; relaxace večer po setkání dle jejích požadavků či preferencí. Scénář Dimitrios and Digital Me je zaměřen na popis řešení, ve kterém digitální avatar pomáhá vytíženému manažerovi Dimitriosovi zvládat telefonickou i jinou komunikaci. Digital-Me (D-Me) je digitální zařízení reprezentující Dimitriosova avatara, jenž je schopen v zastoupení Dimitriose přebírat všechny pokusy o kontakt s Dimitriosem (zejména telefon) a vyřizovat je místo Dimitriose, po vyhodnocení jejich naléhavosti. Hovory, které vyhodnotí jako zásadně důležité, pak přesune na samotného Dimitriose, zejména pokud se D-Me nepovede vyřídit vše potřebné s D-Me volající osoby. Dalším scénářem byla Carmen Traffic, Sustainability, and Commerce. Tento scénář je zaměřen na podporu běžných aktivit zaměstnané ženy, která se potřebuje v nějakou dobu dostat na několik míst, nakoupit pár věcí a dostat se včas domů. Prostředí jí najde a zařídí možnosti přepravy, vyhodnotí potřeby týkající se nákupu, upozorní na případné slevy, ochraňuje ji před možnými nehodami a naplánuje celou její misi tak, aby se dostala v plánovanou dobu domů. Posledním scénářem byl scénář Annette and Solomon in the Ambient for Social Learning. Scénář popisuje možnosti inteligentního prostředí (učebny) pro podporu výuky či diskusí studijních skupin. Inteligentní učebna si pamatuje každého studujícího, jeho dosavadní postup v učení, připravuje mu vhodně zvolené studijní materiály, organizuje individuální program učení, apod. Učebna rovněž organizuje i sdílené vyučování několika osob dle jejich mentálního stavu a progresu ve studiu. Učebna je také schopna probírat s odpovědným pedagogem progres skupiny i individuálních studujících a přizpůsobovat jim celý program výuky. 51

52 4. Inteligentní prostředí jako multi-agentový systém Možnosti realizace ambientní inteligence v různých typech prostředí jsou zkoumány v mnoha směrech: vzájemné rozpoznávání a přizpůsobování zařízení, která utvářejí prostředí, personalizace a adaptace systémů s ohledem na potřeby a preference uživatelů, porozumění dynamice okolního prostředí, na základě čehož pak systém upravuje svou další činnost, podpora vzájemné součinnosti a spolupráce jednotlivých komponent a systémů ve sdíleném prostředí, autonomie, samoregulace a samoopravitelnost komponent. Agent je, jak známo schopný autonomně a flexibilně jednat v dynamickém prostředí [11], případně dle [16] je to umělá výpočetní entita, která může realizovat jisté úlohy s jistým stupněm autonomie či iniciativy, přičemž se inteligentně přizpůsobuje svému okolí. Z hlediska těchto definic člověk není považován za agenta, z pohledu ambientní inteligence je ovšem mnohdy užitečné člověka mezi agenty zahrnout. Prostředí, protkané technologiemi, lze modelovat jako multi-agentový systém, tedy distribuovaný, decentralizovaný systém autonomních, heterogenních a navzájem interagujících entit (agentů). Síla multi-agentových systémů spočívá v možnosti propojit různé druhy agentů, disponující rozdílnými možnostmi a schopnostmi zpracovávat nejrůznější druhy vstupů. Při snaze budovat ambientní inteligenci mohou být agentové systémy inspirativní ve třech směrech, a sice jako [2]: metafora, na základě které lze uvažovat o komplexních, distribuovaných výpočetních systémech, zdroj technologií pro takové systémy, inteligentní uživatelská rozhraní. V agentovém prostředí lze uvažovat skupiny agentů, které spolupracují a/nebo sdílejí nějaký účel, např.: agent poskytující informace a agent přiřazený displeji, osobní agenty skupiny jednotlivých uživatelů, množina agentů reprezentující osobní zařízení (počítač) jednoho uživatele. V rámci určené skupiny mohou agenty komunikovat na základě role, kterou v této skupině zastávají. Lze očekávat, že takto vymezený pojem skupiny pomůže uživateli získat lepší možnost ovládat interaktivní prostředí, nebo v něm explicitně vidět kombinace zařízení, služeb či relevantního obsahu. Úlohy a aktivity právě zapojeného uživatele jsou každá reprezentovány jinou skupinou agentů. Asociaci agentů s jednotlivými zařízeními, službami či obsahem v rámci daného prostředí řešil Misker [7] vytvořením tzv. ad hoc agentového prostředí. Propojení mezi agenty vzniká v průběhu řešení nějakého úkolu a nutnou podmínkou přitom 52

53 je sdílení jistých objemů znalostí mezi agenty a rovněž i sdílení komunikačních protokolů. Namísto interakce s individuálními zařízeními pak uživatel interaguje s inteligentním prostředím jako s celkem. Zařízení a služby je nutno chápat jako více méně nezávislé, aby byla naplněna představa o autonomii agentů tím však dochází k jistému pnutí mezi snahou uživatele mít plnou kontrolu nad prostředím a autonomií agentů. Možným řešením je zde právě zavedení již zmíněného konceptu spolupracujících skupin lidí a agentů jako způsobu, jak uživateli poskytnout plnou kontrolu nad spolupracujícími agenty. Současné agentové technologie, realizované jako architektury, relevantní techniky a algoritmy jsou dobře aplikovatelné při vytváření různých typů inteligentních prostředí. Příklady těchto aplikací jsou uvedeny např. v [3], [7], [8], [9], [10], [12], [13] či [14]. Jak jsme již uvedli dříve, vize inteligentního prostředí s ambientní inteligencí je představou prostředí založeném na nenápadných, mnohdy až neviditelných interakcích mezi lidmi a počítačovými službami v globálním výpočetním prostředí. Služby v takovémto inteligentním prostředí se chápou jako všudypřítomné v tom smyslu, že je nezprostředkuje nějaký speciální poskytovatel, ale místo toho jsou přidružené všem druhům objektů či zařízení v prostředí, přičemž tato zařízení v ničem nepřipomínají dnešní počítače. Lidé budou interagovat s těmito službami prostřednictvím inteligentních a intuitivních rozhraní, začleněných do těchto objektů a zařízení, které budou vstřícné lidským potřebám. Veliká třída předpokládaných aplikací v inteligentních prostředích by měla přinášet užitek obyčejným lidem v běžném sociálním kontextu. Tento požadavek implikuje potřebu takových technologií, které jsou transparentní. V tomto kontextu lze transparentnost chápat jako vlastnost, která uživateli pomůže pochopit, je-li to potřeba, funkcionální chování objektu či zařízení v prostředí. Jednoduše řečeno, transparentnost by měla posunout interakce v inteligentním prostředí blíže způsobu, jakým uvažují lidé, než ke způsobu, jakým pracují počítače. Další výzvou, kterou dle [14] představa inteligentních prostředí navozuje je, že elektronická infrastruktura prostředí by měla působit inteligentně ve prospěch lidí. Inteligentní prostředí těžko může vystačit s představou jednoho přímo ovládaného rozhraní, skrze které uživatel požaduje výsledky od nějakého monolitického systému. Nabízí se spíše představa, dle které musí být konceptuální složky takovéhoto prostředí často nejenom schopné jednoduché spontaneity, ale musí být i proaktivní, tedy chovající se tak, jakoby to byly agenty jednající v zájmu lidí. Pro pochopení složek inteligentních prostředí se tedy ukazuje být přirozené využít agentové metafory. Agent v tomto kontextu může být softwarová (ale i hardwarová) entita, která vnímá či ovlivňuje prostředí, má znalost prostředí a svých vlastních cílů, a umí proaktivně plánovat dosažení svých cílů nebo cílů svých uživatelů, čímž lze pomocí složené interakce elektronického a fyzického prostředí dosáhnout užitečného výstupu pro lidské uživatele. Nejdůležitějším technologickým aspektem každého složitého softwarového systému je jeho architektura. V případě ambientní inteligence architektura inteligentních prostředí musí zohlednit strukturu složek systému, jejich vzájemné 53

54 vztahy, jejich konstrukci a vývoj v čase. Zvláštností systémové architektury inteligentních prostředí je, že se musí přizpůsobovat dynamickým požadavkům nových uživatelů. Z tohoto aspektu je nutno uživatele považovat za stále mobilnější. Předpokládá se totiž jejich dynamicky se měnící interakce se stále jinými inteligentními prostředími domov, auto, pracovní prostředí, letiště, restaurace, atd. V každém takovém prostředí je nutné, vzhledem k pohybu uživatele, zabezpečit jeho přístup ke zdrojům prostředí (ke službám, prostředkům, atd.). Zde je důležitým předpokladem funkčnosti prostředí to, že jsou jeho jednotlivé komponenty navrženy tak, aby byly schopné vzájemné komunikace, ne-li přímo dohovoru o společném postupu, kterého účelem by za všech okolností měla být podpora aktivit uživatele, pomoc při řešení jeho problémů, apod. Uživatel totiž celkem právem očekává, že přechodem do nového prostředí neztratí nic na možnostech plynule pokračovat ve své, již započaté činnosti, ať už pracovní, nebo jiné. Od inteligentního prostředí se pak očekává, že se požadavkům uživatele přizpůsobí a adaptuje se na ně. Pokud se jedná o požadavky na použití agentových architektur, empirická zjištění z mnoha dosavadních výsledků výzkumu inteligentních prostředí ukazují, že uživatelé vždy potřebují mít (resp. rozhodně by měli mít) kontrolu nad prostředím, ve kterém se pohybují; problematika zabezpečení osobních údajů, resp. důvěryhodnosti inteligentních prostředí se jeví být velice zásadní pro další rozvoj této oblasti; uživatelé nesmějí být technologiemi rušení či obtěžováni; tj. podpůrné inteligentní systémy jim nesmějí komplikovat stávající způsoby řešení problémů; učení systému musí být pokud možno implicitní, nesmí uživatele žádným způsobem zatěžovat; podstatným požadavkem je potřeba personalizace služeb prostředím poskytovaných. 5. Aplikační oblasti Mezi další aplikační oblasti pro použití přístupů ambientní inteligence k vytvoření inteligentního prostředí patří, kromě již zmíněných v podobě scénářů ISTAG, především tyto: inteligentní prostředí pro domácnosti či celé rodinné domy, zahrnující kromě zajišťování běžných potřeb (jako je topení, či zalévání zahrad) i méně běžné, jako je inteligentní provoz domácího kina; inteligentní kanceláře, zde jako příklad lze uvést koncept Smart Office [1], i náš výzkum zaměřený na vytvoření prostředí podporujícího vysokou kvalitu rozhodování manažerů [5]; inteligentní zdravotnická zařízení [13]; inteligentní vozidla či dokonce inteligentní provoz mnoha vozidel v nějakém prostředí. 54

55 Na základě již řečeného lze konstatovat, že dvě základní kritéria pro posouzení úspěšnosti inteligentního prostředí mohou být vymezeny jako kvalita rozhodování inteligentních entit, tvořících toto prostředí a schopnost učení se skupin těchto entit (agentů) při snaze zlepšovat úroveň a personalizaci služeb tímto prostředím poskytovaných. Zaměříme-li se na možné scénáře využití ambientní inteligence v univerzitním prostředí, perspektiva všudypřítomných počítačů a z toho plynoucí možnosti pro využití ambientní inteligence nám dává širší perspektivu pro vytváření studijních skupin tak, abychom brali v úvahu i širší kontext týkající se studujících, např. místo vzdělávání, čas a dostupnost různých zdrojů (či už technických, jako jsou počítače, nebo vzdělávacích a dalších). Tato perspektiva může mít značný dopad na efektivnost univerzitního vzdělávání, zejména v případě kombinované či distanční formy vzdělávání. Navíc může ovlivnit i složitost různých administrativních procesů v rámci univerzity. To vše však vyžaduje takové změny odpovídajícího univerzitního prostředí, které umožní zavedení principů a přístupů ambientní inteligence. Je přirozené, že různé studijní skupiny, ne-li každý jednotlivý student optimálně vyžaduje diferencovaný přístup ze strany pedagogů a administrativy. Tento přístup silně souvisí s kontextem různých situací jejich vzdělávacího procesu a mnohdy také s různými docela komplikovanými situacemi administrativní povahy. Na ilustraci možností využití ambientní inteligence v univerzitním prostředí uveďme dva scénáře, volně převzaté z [6], které nám způsobem analogickým k [4] ozřejmí, o co v daném přístupu může jít. Scénář 1. Studentka Andrea byla přijata ke studiu a chce začít studovat v prvním ročníku. Nemá žádnou nebo téměř žádnou znalost studijních předpisů, pravidel, zvyků, zkrátka neví, jak to na univerzitě chodí. V prvních dnech pobytu na škole najednou čelí celé řadě pro ni obtížných problémů, spojených se zápisem do studia, s výběrem předmětů, přizpůsobením svého rozvrhu, seznámením se s pedagogy, budovami, místnostmi, knihovnou, apod. Pravděpodobně i částečná automatická znalostní či informační podpora v uvedeném směru by se jí zřejmě hodila. Skvělé by bylo, dostalo-li by se jí této podpory v kontextu s místem, kde se právě nachází a se situací či problémem, který právě řeší. Scénář 2. Docent Bedřich vchází do své místnosti, inteligentní dveře se mu po jeho identifikaci automaticky otevřou a aktivizuje se komplexní audiovizuální systém v jeho místnosti, který ho příjemným ženským hlasem uvítá a podá automaticky první informace o tom, co bude Bedřichův nejbližší program. Na obrazovce jeho počítače se objeví menu pokrývající potřebné informační či znalostní zdroje související s Bedřichovým programem pro daný den. Objeví se informace či znalosti relevantní Bedřichovu profilu, jeho odborným zájmům a situacím, které jej zanedlouho čekají. V průběhu dne se v kontextu s časem, plánem činnosti a probíhající situací celá informační a znalostní podpora Bedřicha od jeho inteligentní pracovny průběžně mění. Je zřejmé, že od scénářů, podobných uvedeným, je ke skutečné inteligenci univerzitního prostředí ještě docela dlouhá cesta. Technologicky je nicméně většina 55

56 z naznačených scénářů docela reálná, větším problémem je obsahová stránka relevantní znalostní či informační podpory. I zde existuje celá řada postupů, metod a nástrojů, ale jako každá změna, i tato záleží také na změně celkové kultury organizace (v tomto případě univerzity), aby aplikace relevantních nástrojů či přístupů byla pracovníky i studenty univerzity přijímána a akceptována. A samozřejmě, aby se na ní sami aktivně podíleli. 6. Závěr Oblast ambientní inteligence přechází v současnosti intenzivním rozvojem, lze zaznamenat přímo explozi různých zajímavých aplikací i teoretických výsledků. Z výzkumného hlediska jde o oblast, kde je stále celá řada otevřených problémů, mimo jiné plynoucí z absence nějakého pevného teoretického základu. Jako každá nová technologie i tato přináší celou řadu problémů etických, bezpečnostních, společenských, atd. Vše čeká na řešení a stále silnější zájem o ambientní inteligenci nasvědčuje tomu, že její rozvoj a široké využití jejího potenciálu je ještě před námi. Pak se možná přiblížíme k jakémusi ideálu komplexní podpory každodenních lidských aktivit a lze předpokládat, že si na tuto podporu v krátké době přivykneme. Lidská lenost je přece stále velikým hybatelem pokroku. Literatura [1] Gal, C.L., Martin, J., Lux, A., Crowley, J.L. Smart Office: An Intelligent Interactive Environment. IEEE Intelligent Systems, July/August, [2] Grill, T., Khalil, I., Kotsis, G. Agents for Ambient Intelligence Support or Nuisance. ÖGAI Journal 23/1, [3] Hu, J., Feijs, L. An Agent-based Architecture for Distributed Interfaces and Timed Media in a Storytelling Application. In Proc. ACM AAMAS 2003, New York: ACM Press, 2003, s [4] ISTAG: Scenarios for Ambient Intelligence in Luxembourg: European Commission, [5] Mikulecký, P. Remarks on Ubiquitous Intelligent Supportive Spaces. In Recent Advances in Applied Mathematics and Computational and Information Sciences, Proc. of the 15th American Conference on Applied Mathematics and Proc. of the International Conference on Comp. and Information Sciences. Editoři K. Jegdic, P. Simeonov, V. Zafiris), Vols. I and II, Athens: WSEAS Press, s [6] Mikulecký, P., Olševičová, K. University Education as an Ambient Intelligence Scenario. In ECEL 2005, 4rd European Conference on e-learning. Editor Dan Remenyi, Reading, England: ACL, s [7] Misker, J.M.V., Veenman, C.J., Rothkrantz, L.J.M. Groups of Collaborating Users and Agents in Ambient Intelligent Environments. In Proc. ACM AAMAS 2004, New York: ACM, s [8] O Hare, G.M.P., O Grady, M.J., Collier, R., Keegan, S., O Kane, D., Tynan, R., Marsh, D. Ambient Intelligence Through Agile Agents. In Ambient Intelligence 56

57 for Scientific Discovery. Editor Yang Cai, LNAI 3345, Berlin: Springer Verlag, s [9] Obermair, Ch., Ploderer, B., Reitberger, W., Tscheligi, M. Cues in the Environment: A Design Principle for Ambient Intelligence. In Proc. of CHI 2006, New York: ACM Press, s [10] Ramdane-Cherif, A., Benarif, S., Levy, N. Agent Technologies For Pervasive Computing and Communications. In Proceedings of the Third IEEE International Conference on Cognitive Informatics (ICCI 04), [11] Russell, S., Norvig, P. Artificial Intelligence: A Modern Approach. 2nd ed., Prentice-Hall, [12] Sashima, A., Izumi, N., Kurumatani, K. CONSORTS: A Multiagent Architecture for Service Coordination in Ubiquitous Computing. In Proc. Multi-agent for Mass User Support - MAMUS Editor K. Kurumatani, LNCS 3012, Berlin: Springer Verlag, s [13] Spanoudakis, N., Moraitis, P. Agent-based Architecture in an Ambient Intelligence Context. In Proc. 4th European Workshop on Multi-Agent Systems (EUMAS'06), Lisbon, Portugal, [14] Stathis, K., Toni, F. Ambient Intelligence Using KGP Agents. In EUSAI Editor P. Markopoulos, LNCS 3295, Berlin: Springer Verlag, s [15] Weiser, M. The Computer for the 21st Century. Scientific American 265 (1991), s [16] Wooldridge, M. Introduction to MultiAgent Systems. J. Wiley & Sons, prof. RNDr. Peter Mikulecký, PhD. Univerzita Hradec Králové, Fakulta informatiky a managementu Rokitanského 62, Hradec Králové, Česká republika peter.mikulecky@uhk.cz 57

58 -, Marcel Hric Slovensko Abstrakt podstate resp. tak zo svojej sa resp. /umelou inteligenciou oblasti a -nano-cogno- a - 1. u (MA, obie v rokoch

59 e, kde Microsoft re vznikol v Japonsku v Tsukube 1. Tieto technol 59

60 . O inteligenciu. v tzv. zo na roku 1957 na v Dartmouthe v prostriedky vtedy ako aj teraz hlavne patria : s : a o 60

61 o o o o jeden alebo viac Tieto pod ciele danom odbore - duje, o o tohto - 61

62 o o adiacich komplexov : o o o o 62

63 predikcie, do akej miery - -noriem a T- typu if- fuzzy exp algoritmy teda patria medz -bodovo v o jedinec pomocou gene ne hodnoty 63

64 prostredie simul m distribuovanej umelej inteligencie. procesorov, pri 64

65 pojmu: agent - agentov) strojovej/umelej inteligencie v Tento zo networked systems. teda inteligenciu a 65

66 odhadu a - az oblasti pod. Upload partial knowledge Knowledge Fusion and Download to Each Agent Upload partial knowledge Upload partial Agent #1 Agent #2 knowledge Agent #N Environ #1 Environ #2 Environ #N o k 66

67 Popis humanoidnej platformy robota NAO inkrementality a skupinovej robotike s v tvorbe tzv, (eternal systems) v oblasti ICT NAO a Medzi v 1. reinforcement learning a tvorby HCI s a prenosu poznatkov z 67

68 2. v s oblasti identifi a a roblematika 7. a jeho meradle teda o a 5 Z tvorby dvoc -LAS) a - - CIT- tvorbu a prepojenie na prax. 68

69 [1] Quo Vadis Computational Intelligence. Heidelberg : Physica-Verlag, s. ISBN , ISSN Intelligent Technologies Theory and Applications. Amsterdam, IOS Press, 2002, 347 s., ISBN Machine Intelligence Quo Vadis, Singapur, Word - Scientific, 2004, ISBN10: X, ISBN13: [4] The State of the Art in Computational Intelligence, Heidelberg : Physica-Verlag, 2000, 401s., ISBN , ISSN Quo Vadis Intelligent Systems 116s, ISBN [6] : AIBO talking procedure based on incremental learning approach, In: Acta Technica Jaurinensis. Vol. 1, no. 3 (2008), p ISSN [7] inteligencie? In: SOFTECON, SOFTEC, s. Incremental building of intelligent systems In: Kybernetika a informatika. - Bratislava : STU, s. - ISBN

70 UMELÁ INTELIGENCIA V METÓDACH NAVIGÁCIE ROBOTOV ARTIFICIAL INTELLIGENCE IN METHODS OF ROBOT NAVIGATION Ján Vaščák Abstrakt Tento príspevok sa zaoberá problematikou vzťahu navigácie a prostriedkov umelej inteligencie (UI), predovšetkým časti známej ako výpočtová inteligencia. Samotný pojem navigácie je možné rozdeliť jednak na plánovanie cesty a jednak na vlastnú navigáciu, ktorá rieši najmä otázky reagovania na zmeny situácie prostredia, napr. obchádzanie prekážok a sledovania predpísanej (naplánovanej) cesty. Keďže je zrejmé, že uvedené úlohy sú odlišnej povahy, budú tieto najsamprv ozrejmené a následne budú definované všeobecné vlastnosti prístupov vhodných na ich riešenie. Napokon budú uvedené niektoré prostriedky patriace aspoň čiastočne do oblasti UI, ktoré riešia problémy navigácie hlavne pre mobilné roboty, ako sú napr. fuzzy logika, potenciálové polia a siete Neural Gas s na to nadväzujúcou ukážkou niektorých experimentov. Kľúčové slová Navigácia, plánovanie cesty, fuzzy logika, fuzzy kognitívne mapy, potenciálové polia, siete Neural Gas. Abstract This paper deals with the relation between navigation and means of artificial intelligence (AI), first of all a part known as computational intelligence. The notion navigation can be divided to the path planning and the own navigation, which solves problems of situation changes, e.g. obstacle avoidance and path tracking. It is evident the mentioned tasks are of diverse nature. Therefore, they will be at first explained and then general properties of convenient methods will be defined. Finally, some means belonging to the area of AI will be mentioned, which solve navigation problems mainly for mobile robots as e.g. fuzzy logic, potential fields and networks Neural Gas with some shown experiments. Keywords Navigation, path planning, fuzzy logic, fuzzy cognitive maps, potential fields, networks Neural Gas. 70

71 1. Úvod Vo všeobecnosti pojem navigácia predstavuje monitorovanie a riadenie pohybu vozidla (loď, lietadlo, robot a pod.) z jedného bodu v priestore do druhého. Implicitne sa teda predpokladá, že existuje nejaký plán, na základe ktorého sa vozidlo presúva po jednotlivých bodoch, ktorý je vytvorený, buď človekom, alebo nejakým systémom na základe istých cieľov a obmedzení. Pre potreby robotiky je však vhodnejšie rozdeliť širšie koncipovanú úlohu všeobecnej navigácie na plánovanie cesty a vlastnú navigáciu, ktorá zabezpečuje dodržiavanie predpísaného plánu cesty. Jedná sa tu hlavne o spracovanie údajov zo senzorov a spôsob minimalizácie vzniknutej odchýlky. Do tejto úlohy môžeme zaradiť napr. aj riešenie nepredvídateľných udalostí ako obchádzanie pohybujúcich sa prekážok, či iné havarijné stavy. Obidve časti všeobecnej navigácie sú samozrejme navzájom prepojené a v celej rade, najmä jednoduchších, metód splývajú. Ak nebude hroziť nedorozumenie, tak v ďalšom budeme všeobecnú navigáciu označovať iba ako navigáciu. Úlohou tohto príspevku je poukázať na niektoré vybrané metódy UI, ktoré sa využívajú v obidvoch typoch úloh a sa javia ako najperspektívnejšie. Vychádzame pritom z premisy, že základnou formou reprezentácie znalosti v UI je produkčné pravidlo, či už ako dvojhodnotové alebo vo forme fuzzy pravidla, ktoré umožňuje okrem iného aj priame využitie prostriedkov výpočtovej inteligencie. Práve tieto metódy niekedy vyvolávajú otázky, či daná metóda ešte zodpovedá základnej paradigme UI, t.j. že zvolená metóda má odrážať spôsob ľudského riešenia problému alebo aspoň nejaký jav živej prírody. Načrtnúť v tomto nejakú jasnú hranicu je ale častokrát nemožné a skôr sa stretávame s faktom, že málokedy má zmysel aplikovať čistokrvnú UI. Skôr sa bude v budúcnosti jednať o syntézu UI a konvenčných prístupov známych napr. z teórie riadenia. Po stručnom úvode do problematiky plánovania cesty sa budeme zaoberať možnosťami využitia fuzzy logiky v riadení pohybu. Ďalej si ukážeme možnosť využitia konceptu fuzzy kognitívnych máp (FKM) v úlohách tohto typu. Na to nadviažeme konkrétnymi metódami plánovania cesty ako potenciálové polia a siete typu Neural Gas. Jednotlivé príklady budú prezentované experimentmi, ktoré sme vykonávali na našom pracovisku Centra pre inteligentné technológie na Technickej univerzite v Košiciach. 2. Základné prístupy plánovania cesty v robotike V súčasnosti jestvujú tri základné skupiny metód pre plánovanie cesty mobilných robot ov [1]1, 6]: 1. heuristické, 2. exaktné, 3. mriežkové (grid) algoritmy. Typickým reprezentantom prvej skupiny sú tzv. Bug algoritmy, ktoré sú jednoduché, ale vhodné väčšinou iba pre tzv. statické prostredie, t.j. s nepohyblivými a nemennými prekážkami. Exaktné algoritmy ako grafy viditeľnosti, Voronoiove diagramy, či A * umožňujú matematicky korektným spôsobom nájsť 71

72 najlepšiu (v tomto zmysle najkratšiu) trajektóriu. V prípade nemožnosti nájsť riešenie sú dokonca schopné výpočtový proces ukončiť, a tak predísť zacykleniu algoritmu. Problémom je však to, že vyžadujú veľmi presné údaje o prekážkach, čo v praktických aplikáciách môže byť vážny problém. Preto sa tiež väčšinou využívajú pre statické prostredie, t.j. scéna rozloženia jednotlivých objektov sa nemení. Z tohto uhla pohľadu sa mriežkové algoritmy zdajú byť vhodnejšie pre reálne prevádzkové podmienky, nakoľko v závislosti na chybe snímania je možné definovať presnosť mriežky, alebo navrhnúť viacvrstvové mriežky, ktoré najprv umožnia hrubú navigáciu a po priblížení sa robota k cieľu prepnú na presnejšiu mriežku, kde iba v tomto úseku vyžadujú presné snímanie. Takto je možné okrem iného aj skrátiť dobu výpočtu. 3. Fuzzy regulátory pri riadení pohybu Veľkou výhodou fuzzy regulátorov (FR) je nielen schopnosť spracovávať neurčité znalosti o danom prostredí ako aj nepresné dáta zo snímačov, ale aj fakt, že primárne boli navrhnuté ako pravidlové systémy (ich rozšírením sú napr. fuzzy kognitívne mapy), čiže je možné na nich priamo modelovať ľudský prístup riešenia daného problému. Ich veľkou nevýhodou je neschopnosť sa učiť. Preto bola navrhnutá celá rada postupov a adaptačných algoritmov na automatickú tvorbu bázy znalostí. V ďalšom si ukážeme tzv. Procyk Mamdaniho samo organizačný FR, pôvodne navrhnutý v [8]8] a modifikovaný vo viacerých prácach ako napr. [2]5, 9], ktorého základná bloková schéma sa nachádza na obr. 1. Činnosť tohto systému je založená na bloku merania výkonnosti, ktorý vyhodnocuje na základe prepísaných kritérií kvalitu regulátora. Výstupom je pre daný krok vzorkovania k hodnota výkonnosť p(k), ktorá určuje mieru, do akej majú byť vykonané zmeny v báze znalostí. Pre tento účel je ale potrebné zadefinovať tzv. inkrementálny model M 1 (k), ktorý je obdobou lineárnej aproximácie prvého rádu riadenej sústavy a určuje sa z matice dynamiky jej stavového popisu. Keďže medzi vstupmi a výstupmi regulátora a sústavy existuje inverzný vzťah, tento vyjadrujeme symbolom inverznej funkcie, nakoľko potrebujeme poznať v konečnom dôsledku model regulátora M 1 (k) a nie sústavy M(k). Výstupom z bloku modelu je tzv. oprava r(k), ktor á priamo predpisuje hodnotu, o ktorú sa má zmeniť báza znalostí. V tomto prípade predpokladáme, že poznáme vhodné rozdelenie premenných vstupov a výstupov na jazykové hodnoty. Kombináciou všetkých možných vstupov dostaneme úplný súbor vzájomne neprotirečivých pravidiel, pomocou ktorých sú vlastne popísané všetky možné situácie. Úloha sa nám tak zjednoduší iba na nájdenie správnej výstupnej hodnoty a tá bude práve modifikovaná hodnotou r(k), kde bude upravovaný hlavne vrchol funkcií príslušnosti výstupov. Pre úplnosť je vhodné dodať, že Procyk Mamdaniho samo organizačný FR je možné implementovať pre bázu znalostí vo forme jednak fuzzy produkčných pravidiel a jednak fuzzy relácií. Bližšie informácie o tomto type regulátora sú napr. v [9]. Okrem uvedeného prístupu je možné využiť na modifikáciu bázy znalostí aj tradičné gradientové prístupy, keď sa definuje vzťah výstup vstup daného regulátora ako funkcia závislá od n parametrov bázy znalostí a následne sa táto 72

73 parciálne derivuje podľa týchto parametrov. Takto dostaneme sústavu n rovníc o n neznámych. Obr. 1. Bloková schéma Procyk Mamdan iho samo organizačné ho FR. Kombinovaním Procyk Mamdaniho prístupu a gradientových metód dostávame systém, ktorý sa napr. vie učiť jednoduché úlohy plánovania pohybu z bodu A do bodu B, či už bez alebo s obchádzaním prekážky (bližšie viď [9]), ako je vidieť na obr. 2, kde je ukázané porovnanie s ručne nastaveným a adaptívnym FR. Je možné vidieť evidentný rozdiel medzi správaním sa bez a s prekážkou. Adaptívny FR vykazuje kratšiu trajektóriu v prípade bez prekážky, zatiaľ čo v prípade s prekážkou je tomu naopak. Navyše je možné pozorovať istú opatrnosť voči prekážke. Trajektória si ju najprv opatrne obchádza a v jednom bode sa začne od nej vzďaľovať najrýchlejším možným spôsobom. Toto správanie je obdobné človeku, ktorý by prekážku vnímal ako aktívne nebezpečenstvo. To je však kvalitatívne nová informácia, ktorú adaptívny FR implicitne obsahuje vo svojich pravidlách, ale ktorú mu nikto nevložil. Tento prípad je typickým príkladom emergencie nových vlastností, ktoré sa vopred nepredpokladali. Uvedieme si ešte jednu jednoduchú a pritom efektívnu možnosť využitia fuzzy logiky, kde sa práve využije ich vlastnosť, že využívajú pravdivostné hodnoty z celého rozsahu intervalu [0; 1]. Využíva sa pritom princíp tzv. sonarovej percepcie, kde získavame jednak uhol natočenia nejakej prekážky od robota a jednak jej vzdialenosť. Na základe toho sa okolo robota skonštruuje kruhový sonarový signál (viď obr. 3), ktorý je v tomto prípade reprezentovaný ako lichobežníková funkcia príslušnosti, kde jej jadro predstavuje šírku prekážky. Veľkosť nosiča je súčtom jadra a šírky samotného robota (robot je tiež istou 73

74 formou prekážky, najmä keď potrebuje prejsť pomedzi dve prekážky). Výška hgt t akejto funkcie príslušnosti je závislá od dosahu sonara a sa vypočítava ako: dosah vzdialenosť hgt =. (1) dosah Obr. 2. Ukážka tvorby trajektórií ručne navrhnutým FR (a, c) a adaptívnym FR (b, d) pre prípady bez prekážky (a, b) a s prekážkou (c, d). Takýto sonarový signál predstavuje vlastne pravidlo indikujúce nevhodnosť voľby príslušného smeru. Čím je vyššia hodnota stupňa príslušnosti pre uhol natočenia robota, tým je tento smer menej vhodný, lebo prekážka je bližšie. Voľné smery pohybu majú nulový stupeň príslušnosti. Preto je logické takýto výrok znegovať a použiť nejaký operátor doplnku, napr. 1 hgt, k pretransformovaniu sonarového signálu na informáciu vhodnosti daného smeru. Predpokladajme, že poznáme polohu cieľa. V takomto prípade je možné skonštruovať ďalšiu funkciu príslušnosti (napr. trojuholníkovú) nad celým univerzom s vrcholom v danom cieli. Prienikom, čiže realizovaním nejakej t normy (napr. minimum) medzi týmito funkciami príslušnosti bude výsledná funkcia vyjadrovať kompromis medzi polohou cieľa a priestorom bez prekážok. Defuzzifikovaním takto získanej výslednej funkcie príslušnosti získame výstupnú hodnotu S, ktorá predstavuje požadovaný smer natočenia robota v danom čase. Celý proces je potrebné si predstaviť v čase, kde pohyb a jeho prípadná zmena sa vykonávajú v jednotlivých krokoch. Využijúc viachodnotovú logiku, akou je aj fuzzy logika, kde sa rozlišuje medzi bližšími a vzdialenejšími prekážkami, sa realizuje implicitná zásada: Najprv rieš bližšie prekážky a až potom vzdialenejšie! Takto 74

75 robot získava schopnosť ich obchádzať. V neposlednom rade je takýto prístup aj všeobecný vzhľadom na počet a do istej miery aj tvar prekážok. Obr. 3. Negovaný kruhový sonarový signál (plná čiara), trojuholníková funkcia príslušnosti cieľa (prerušovaná čiara) a smer natočenia S po vykonaní defuzzifikácie prieniku funkcií príslušnosti. 4. Fuzzy kognitívne mapy ako podpora rozhodovania FKM predstavujú isté zovšeobecnenie konvenčných fuzzy pravidlových systémov a môžu byť použité jednak na rovnaké úlohy pri priamom riadení pohybu robota, ako bolo ukázané v predošlej stati a jednak na podporu rozhodovania pri výbere niektorej z variant riešenia. Bližšie informácie o základoch FKM, ich využití a adaptácii je možné nájsť napr. v [2]. Prvou možnou aplikáciou je priame použitie FKM ako istého fuzzy regulátora, kde s využitím adaptačných mechanizmov si definuje funkcie príslušnosti jednotlivých uzlov ako aj váhy spojení. Vzhľadom na to, že sa jedná o v princípe zložité štruktúry, predpokladá sa, že uzly a ich významy sa zadefinujú ručne. Na obr. 4 je možné vidieť jeden príklad FKM riešiacej úlohu prechodu vozidla do cieľa so známou polohou s ohľadom na prekážky. Pomocou senzorov S 1 S 5 sa zisťuje poloha a blízkosť prekážok, čo sa vyhodnocuje v uzloch C 8 C 15, či prekážka je blízko (b) alebo kriticky blízko (kb). Ďalej pre rozhodnutie o akcii je potrebné poznať polohu cieľa, či je naľavo (C L ), napravo (C P ) alebo priamo vpredu pred vozidlom (C V ) uzly C 4 C 6. Taktiež je potrebné vziať do úvahy blízkosť cieľa (C b ), čo predstavuje uzol C 7, ktorý je priamo napojený na výstupný uzol C 3 predstavujúci podmienku zastavenia (S), ak je táto splnená na hodnotu aspoň 0,95. Zvyšné výstupné uzly C 0 C 2 sú pre akčné zásahy, či sa vozidlo má natočiť doľava (L), doprava (P), alebo ísť rovn o vpred (V). Bližšie informácie o tomto type úlohy a typoch adaptačných metód pre FKM viď napr. [13]. Ďalší príklad využitia FKM ukazuje na možnosť hybridizácie, t.j. vzájomného prepojenia viacerých prostriedkov za účelom riadenia premávky robotických vozidiel, napr. v automatizovanom závode alebo pri pomoci s vyhľadávaním vhodného parkovacieho miesta pri hypermarketoch. Ak máme presne zadefinovanú komunikačnú sieť, ako je napr. parkovisko obkolesené obchodmi (obr. 5), tak na požiadavku čo najvhodnejšie zaparkovať k nejakému obchodu 75

76 môžeme využiť niektorý z grafových prehľadávacích algoritmov ako je A * [6], ktorý je schopný brať do úvahy tzv. cenu cesty, keďže na výber parkovacieho miesta nevplýva iba jeho minimálna vzdialenosť k danému obchodu, ale napr. jej zložitosť vyjadrená počtom odbočení, či doba čakania, ak by niekde vznikla zápcha. Takto sa môže stať, že najbližšie parkovacie miesto nemusí byť najvhodnejšie a že sa oplatí radšej zastaviť o niečo ďalej. Obr. 4. Príklad fuzzy kognitívnej mapy pre navigáciu vozidla k známej polohe cieľa v prostredí s prekážkami. Obr. 5. Príklad parkoviska so simulovanou premávkou vozidiel v nákupnom stredisku a tvorba ciest pre prichádzajúce vozidlá. 76

77 Pre výber vhodnej cesty je preto najvýhodnejšie vykonať výber pre viacero voľných parkovacích miest v blízkosti vybraného cieľa, nielen to najbližšie. Pre tieto miesta sa pomocou A * algoritmu vytvoria optimálne cesty a ich výhodnosť sa bude navzájom porovnávať. Samozrejme, každý užívateľ má rôznu prioritu ohľadom hodnotiacich kritérií. Zatiaľ čo pre mladého a zdravého človeka nie je problém prejsť peší niekoľko metrov navyše, tak pre človeka s problémami chôdze bude lepšie radšej trochu počkať v zápche. Inými slovami, tieto priority je možné popísať váhami w i a pomocou nich hodnotiace kritéria navzájom pospájať. Takto dostaneme nasledujúcu FKM (obr. 6), ktorá vypočítava mieru vhodnosti daného parkovacieho miesta a miesto s najlepšou vhodnosťou je následne vybrané [11]. 5. Potenciálové polia Obr. 6. Príklad FKM pre výber najvhodnejšieho parkovacieho miesta. Potenciálové polia (prvý krát navrhnuté v [4]) patria do skupiny mriežkových algoritmov. Vychádzajú z metafory magnetického poľa. Pomocou nich je tak možné modelovať prostredie s prekážkami ako potenciálové rozdiely a na ich základe určovať akčný zásah. Takáto reprezentácia vlastne predstavuje vytvorenie istej krajinky (obr. 7a), čo je veľmi vhodná forma reprezentácie znalostí pre využitie prostriedkov výpočtovej inteligencie. V ďalšom bude táto možnosť prezentovaná na simulácii problému parkovania. V prostredí pre pohyb robotov sú v podstate dva druhy objektov: ciele a prekážky. Vo vyjadrení pomocou potenciálového poľa by ciele mali robot priťahovať a prekážky ho od seba odpudzovať, t.j. v silovom vyjadrení sa bude jednať o príťažlivé Fc a odpudivé Fp sily. 77

78 F( x, y) F ( x, y) F ( x, y). = + (2) C P i i Množina všetkých síl pre všetky body priestoru (x,y) vytvára vektorové pole F (viď obr. 7b). Podobne, potenciálové pole U je zobrazením všetkých potenciálov U(x,y), vypočítaných ako práca vykonaná medzi bodom (x,y) a bodom s nulovým potenciálom (x 0,y 0 ) pozdĺž cesty l: ( x, y) U( x, y) = F. dl. ( x, y ) Potenciálové pole predstavuje tak priestor, ktorý pripomína istú krajinku s vrcholkami zodpovedajúcimi prekážkam a údoliami predstavujúcimi ciele. Ak umiestnime mobilný robot do ľubovoľného bodu (x,y), tak pôsobením gravitácie sa tento bude pohybovať po trajektórii s najstrmším zostupom, čo zodpovedá gradientu, a tým získame najrýchlejšiu cestu k cieľu. Okrem toho, nastavením strmosti vrcholkov je možné definovať isté bezpečnostné odstupy, ktoré slúžia ako isté tolerančné pásma pre prípad nepresného snímania alebo akčného zásahu. Takýmto spôsobom vieme modelovať istý súlad medzi rýchlosťou a bezpečnosťou pohybu. 0 0 ( 3) Obr. 7. Príklad potenciálového poľa s tromi prekážkami P1, P2, P3 (čierne oblasti) a cieľom C s vypočítanou trajektóriou z bodu Š a) a k nemu prislúchajúce vektorové pole b). Uvedený prístup je vhodný najmä v prípade, ak prekážky sú statické, t.j. sa nepohybujú. V praxi sa však stretávame s dynamickými prekážkami a rôznymi kolíznymi situáciami. Pre tento účel je preto systém doplnený o regulátor kolíznych stavov. Systém najsamprv zo zosnímanej situácie (napr. snímka z kamery) vypočíta potenciálové pole a určí optimálnu trajektóriu, na ktorej si v jednotlivých odstupoch vytvorí postupnosť sledovacích značiek. Sledovací mechanizmus následne riadi vozidlo od jednej značky po druhú. Meranie odchýlky a vlastná navigácia sa robí iba na základe týchto značiek. Ak do trajektórie vstúpi nejaká dynamická prekážka, tak postupnosť značiek sa naruší, t.j. sledovač nevidí nasledujúcu značku, a tým sa spustí systém na obchádzanie prekážok, ktorý bude 78

79 v činnosti dovtedy, pokiaľ nenarazíme na ďalšiu značku. Keďže postupnosť značiek je vopred známa, tak systém vie, v ktorej časti priestoru sa nachádza a prepína sa znovu na režim sledovania, viď obr. 8. Bližší popis o uvedenom systéme sa nachádza v [10]. Obr. 8. Ukážka využitia potenciálových polí v prostredí s dynamickými prekážkami. 6. Využitie neurónových sietí typu Neural Gas Neurónové siete predstavujú veľmi rozsiahlu problematiku a iba vytvorenie prehľadu metód v navigácií presahuje možnosti tohto príspevku. Na tomto mieste by sme spomenuli jednu menej známu, ale zaujímavú aplikačnú možnosť, ktorá rieši problémy popisu nesúrodej komunikačnej siete, napr. dopravnej siete nejakého mesta (viď obr. 10), kde využitie potenciálových polí by bolo problematické. Použitie ináč veľmi efektívnych mriežkových algoritmov je v takomto prípade problematické kvôli svojej heterogenite, čo by vyžadovalo konštruovanie veľmi hustej mriežky, a s tým spojenej výpočtovej zložitosti. Siete Neural Gas sú vo svojej podstate grafy, pomocou ktorých je možné modelovať tvar daných obrazcov, podobne ako Kohonenové siete, avšak na rozdiel od nich nemajú pevnú topológiu prepojení výstupnej vrstvy, čo sa ukazuje výhodným práve v nehomogénnych oblastiach. Pri určovaní zmeny polohy výstupných neurónov sa využíva taktiež princíp susednosti. Tá sa však mení v každom adaptačnom kroku v závislosti od daného vstupu [7]. Táto zvýšená miera adaptácie umožňuje, aby sa mohli neuróny navzájom relatívne volne presúvať v prostredí, ktoré majú popísať svojim vhodným rozložením, čo evokuje dojem šírenia plynu v uzatvorenom priestore. Úlohou tejto siete je vhodným spôsobom rozvrstviť svoje neuróny a navzájom ich tak pospájať, aby takáto geometrická štruktúra čo najvernejšie popisovala pôvodný obrazec. Na obr. 9 je zobrazený postup učenia sa siete Neural Gas na medzikruží, kde vhodným kombinovaním Kohonenovho a konkurenčného Hebbovho učenia sa v jednotlivých krokoch učenia postupne 79

80 pridávajú neuróny na vhodné miesta a tie sa vzájomne prepoja. Dá sa dokázať, že z výslednej štruktúry (obr. 9g) je možné vytvoriť tzv. Voronoiove oblasti, ktoré garantujú grafovým prehľadávacím algoritmom (napr. A * ) nájdenie optimálnej cesty. Obr. 9. Postup učenia sa siete Neural Gas na medzikruží. V našom prípade môžeme túto vlastnosť sietí Neural Gas s výhodou použiť práve pri popise cestných sietí miest a obcí, kde po zosnímaní mapovej dokumentácie a spracovaní získanej snímky použitím filtrov môžeme na ne tieto siete priamo aplikovať a následne nasadiť algoritmus A * pre vyhľadávanie ciest, ako je to znázornené na obr. 10. Takto odpadne zložitá (v mnohom ručná) príprava bázy znalostí o daných komunikáciách. Bližší popis učenia sietí Neural Gas ako aj postupu ich využitia v plánovaní ciest v rámci mestských komunikácií je možné nájsť v [12]. Obr. 10. Vytvorenie topológie siete Neural Gas (svetlé čiary) na pozadí výseku cestných komunikácií (tmavá plocha). 80

81 7. Závěr Uvedený zoznam prístupov k plánovaniu cesty je len malým výberom z celej širokej škály možností, ako je možné využiť prostriedky UI. Z priestorových možností nebolo napr. možné spomenúť evolučné algoritmy, ktoré sa síce na úlohy plánovania priamo málo využívajú, môžu však byť veľmi dobrým prostriedkom pre nastavovanie parametrov plánovacích algoritmov. Z hľadiska všeobecnosti prístupu a napojenia na ďalšie prostriedky sme sa zaoberali jednak veľmi špecifickými prostriedkami ako potenciálové polia a siete typu Neural Gas ako aj fuzzy regulátormi a FKM, ktoré je možné ďalej rozvíjať a napájať na ďalšie prostriedky, v tomto prípade hlavne na pravidlové systémy a symbolickú UI ako takú. Treba si totiž uvedomiť, že plánovanie ako také je strategickou hrou, ktorá má svoje pravidlá. Práve odhaľovanie zákonitostí medzi jednotlivými objektmi a pravidiel, podľa ktorých sa skúsený plánovač riad i, je jadrom tohto typu problému. Napokon ďalším krokom v plánovaní ciest je zostavovanie sady plánov pre vzájomne kooperujúce roboty, čo je napr. aj rozšírenie úlohy riadenia premávky plánovaním ciest pre všetky vozidlá [11], či robotický futbal, alebo úloha prenasledovania koristi predátormi. Korisť predstavuje neustále sa meniaci cieľ, ktorého správanie musia predátori vedieť aspoň čiastočne odhadnúť a prispôsobiť k tomu svoj lov. Pre tento účel je ale potrebné získať pravidlá správania sa koristi a technických možností (obmedzení) predátorov, bližšie napr. [3]. Poďakovanie Táto práca bola vytvorená realizáciou projektu Rozvoj Centra informačných a komunikačných technológií pre znalostné systémy (kód ITMS projektu: ) na základe podpory operačného programu Výskum a vývoj financovaného z Európskeho fondu regionálneho rozvoja. Literatúra [1] DUDEK, G.; JENKIN, M. Computational Principles of Mobile Robotics. Cambridge : Cambridge University Press, s. ISBN [2] Fuzzy Cognitive Maps : Advances in Theory, Methodologies, Tools and Applications. Edited by Michael Glykas. Berlin Heidelberg : Springer Verlag, s. Studies in Fuzziness and Soft Computing, ISBN [3] HLÁDEK, Daniel; VAŠČÁK, Ján; SINČÁK, Peter. MULTI ROBOT CONTROL SYSTEM FOR PURSUIT EVASION PROBLEM. Journal of Electrical Engineering. 2009, vol. 60, no. 3, s Dostupný také z WWW: < 4.pdf>. ISSN [4] KHATIB, O. Real time obstacle avoidance for manipulators and mobile robots. In Proceedings of IEEE International Conference on Robotics and Automation. [s.l.] : [s.n.], s

82 [5] KIM, Y.T.; BIEN, Z. Robust self learning fuzzy controller design for a class of nonlinear MIMO systems. Int. Journal Fuzzy Sets and Systems. 2000, vol. 111, no. 2, s ISSN [6] LAVALLE, S.M. Planning algorithms. Cambridge : Cambridge University Press, s. Dostupné z WWW: < ISBN [7] MARTINETZ, T.M.; SCHULTEN, K.J. A neural gas network learns topologies. Artificial Neural Networks. 1991, vol. 1, no. 1, s [8] PROCYK, T.J.; MAMDANI, E.H. A linguistic self organizing process controller. Automatica. 1979, no. 15, s ISSN [9] VAŠČÁK, J.; MADARÁSZ, L. Automatic adaptation of fuzzy controllers. Acta Polytechnica Hungarica : Journal of Applied Sciences at Budapest Tech Hungary. 2005, vol. 2, no. 2, s Dostupný také z WWW: < ISSN [10] VAŠČÁK, J. Navigation of Mobile Robots Using Potential Fields and Computational Intelligence Means. Acta Polytechnica Hungarica : Journal of Applied Sciences at Budapest Tech Hungary. 2007, vol. 4, no. 1, s Dostupný také z WWW: < ISSN [11] VAŠČÁK, J. Fuzzy cognitive maps in path planning. Acta Technica Jaurinensis : Series Intelligentia Computatorica. 2008, vol. 1, no. 3, s Dostupný také z WWW: < doc_download/89 fuzzy cognitive maps in path planning.html>. ISSN [12] VAŠČÁK, J. Using neural gas networks in traffic navigation. Acta Technica Jaurinensis : Series Intelligentia Computatorica. 2009, vol. 2, no. 2, s Dostupný také z WWW: < doc_download/56 using neural gas networks in traffic navigatin.html>. ISSN [13] VAŠČÁK, J.; MADARÁSZ, L. Adaptation of fuzzy cognitive maps : a comparison study. Acta Polytechnica Hungarica : Journal of Applied Sciences at Budapest Tech Hungary. 2010, vol. 7, no. 3, s ISSN Dr. Ing. Ján Vaščák Technická univerzita v Košiciach, Fakulta elektrotechniky a informatiky Letná 9, Košice, Slovensko e mail: jan.vascak@tuke.sk 82

83 HLEDÁNÍ CESTY A GENEROVÁNÍ MAPY PATHFINDING AND MAP GENERATING Luboš Běhounek Abstrakt Tato práce se zabývá jednoduchým generováním výškové mapy pomocí generování náhodných hodnot a jejich rozostřením a následným grafickým zobrazením v ukázkovém programu, dále se zabývá hledáním nejvýhodnější cesty v této vygenerované výškové mapě za využití algoritmu A* s heuristikou i bez s možností nastavení různých parametrů například jestli se lze pohybovat diagonálně, podle jaké cenové funkce se má cesta hledat apod. To je vše ukázáno v ukázkovém programu, který nabízí i možnost editace vlastní mapy. Klíčová slova hledání cesty, generování mapy Abstract This work is about simple generating of heightmap using random values and their blurring followed by graphic presentation in example application. In this heightmap, A* algorithm is used to search for the best path both with and without heuristics with optional parameters if agent can move on diagonals, what cost function is used etc. Example application which allows user's customization of map is used for demonstration. Keywords pathfinding, map generating 1. Úvod Počítačové generování map se dnes často používá pro generování terénu za využití tzv. heightmapy (výšková mapa), především z toho důvodu, že je to poměrně jednoduché a efektivní. Takto generované mapy se používají pro různé zobrazení terénu v simulacích, počítačových hrách, ale i jinde. Díky diskrétnosti takto generovaných map je pak jednoduché sestavení grafů reprezentujících tuto mapu a hledání optimálních cest - například pro navigaci botů (počítačem ovládaných postav). K tomuto účelu jsem v jazyce C# vytvořil jednoduchý ukázkový program (ze kterého je většina zde přiložených obrázků), který dokáže generovat 83

84 pseudonáhodné mapy (nebo nechá uživatele je upravovat) a umožňuje uživateli nastavovat základní parametry zobrazování výsledků a měnit základní parametry prohledávacího (i generovacího) algoritmu. 2. Generování mapy Pro uchovávání výšky trojrozměrného terénu se dnes mimo kompletních modelů využívá také výše zmíněná výšková mapa, což je dvourozměrné pole, ve kterém každý záznam určuje výšku nějakého bodu terénu. Mezi jeho výhody patří především snadná editovatelnost. Výsledná pozice bodu je určena jeho souřadnicemi v poli a jako třetí souřadnice je použita právě hodnota v poli na této pozici, například pokud hodnota pole[4,8]=5, pak pozice bodu je (4,8,5). Pro případné dopočítání pozice bodů, které v poli nejsou, se pak používá interpolace z pozic bodů okolních. Na obr. 1 je vidět ukázková heightmapa ve stupních šedé (čím je barva světlejší, tím je vyšší nadmořská výška). Obr. 1: Příklad výškové mapy - Austrálie [4] Při generování výškové mapy lze postupovat mnoha způsoby, mezi základní patří ruční editace, která sice většinou vypadá nejlépe, ale může být pro velké mapy příliš pracná. Proto se někdy přistupuje k procedurálnímu generování map, které dokáží vygenerovat více či méně realisticky vypadající mapu, v závislosti na kvalitě algoritmu a vhodně nastavených parametrech. V dnešní době se pro tvorbu výškových map často využívají fraktály a Perlinův šum (perlin noise)[1], pro ukázkovou aplikaci byl z důvodu jednoduchosti vytvořen následující algoritmus, který je pro účely ukázkové aplikace plně dostačující (dá se říci, že je to vlastně zjednodušená verze Perlinova šumu). Pro každý bod v dvourozměrném poli je vygenerováno náhodné číslo v rozsahu 0- Vmax, kde Vmax je maximální výška terénu, vznikne terén, který je ale příliš členitý (zrnitý), viz obr. 2, proto je několikrát aplikováno ještě jednoduché rozostření, které pro každý záznam spočítá průměr z jeho okolí (obr. 3) a nakonec je ještě celý 84

85 terén o určitou hodnotu snížen, aby bylo možné určovat množství vody na mapě (obr. 4), voda je neprůchozí pole, za vodu jsou považována všechna pole, kde je výška<0. Obr. 2: Terén vygenerovaný z náhodných čísel Obr. 3: Terén po pětinásobné aplikaci rozostření 3. Hledání cesty Obr. 4: Terén po pětinásobném rozostření a snížení výšky Kvůli jednoduchosti implementace algoritmu a zobrazení výsledků je zde mapa převedena na graf jako pravidelná mřížka, ale existují i jiné přístupy, například 85

86 navigation mesh, který mapu průchodnosti ukládá jako množinu mnohoúhelníků, což je výhodnější především pro rozsáhlé spojité prostory (více viz. [6]). Pro hledání cesty byl zvolen velmi rozšířený algoritmus A*, který za pomoci heuristiky kombinuje optimálnost Dijsktrova algoritmu s rychlostí např. algoritmu Greedy Best-First-Search (který není optimální, ale je rychlejší)[5]. Pokud je u heuristické funkce dodržena podmínka, že odhad nepřesáhne reálnou vzdálenost, tak je nalezená cesta vždy optimální, tedy že má nejmenší cenu[2]. Popis algoritmu[3]: Openset a Closedset jsou množiny polí, openset je množina právě prohledávaných a closedset je množina již prohledaných. H cena je heuristický odhad ceny z tohoto pole do cíle, G cena je aktuální cena cesty do daného políčka od startu a F je odhad výsledné délky cesty přes toto políčko (F=G+H). 1) Přidá se počáteční pole do opensetu. 2) Opakuje se následující: a) Vyhledá se políčko X s nejnižsí F cenou v opensetu. b) X se vyřadí z opensetu a přidá do closedsetu. c) Pro všechny sousední pole Y tohoto políčka X: Ignoruje se, pokud není průchodné nebo je v closedsetu, jinak Pokud není v opensetu, přidá se do něj. X se nastaví jako jeho rodič. Nastaví se F, G a H ceny políčka Y. Pokud již byl v opensetu, zkontroluje se, jestli je tato cesta k tomuto políčku lepší (použitím G ceny). Nižší G cena znamená, že je to lepší cesta, pokud tomu tak je, změní se rodič políčka Y na políčko X a přepočítá se G a F skóre políčka Y. 3) Algoritmus končí když: a) Je přidáno cílové políčko do closedsetu cesta byla nalezena b) Openset je prázdný cesta neexistuje 4) Uložit cestu. Začíná se od cíle, najde se jeho rodič, přidá se do výsledné cesty, nalezne se rodič jeho rodiče (ten se také přidá do výsledné cesty) a toto se analogicky opakuje, dokud se nedojde k počátku. Pro heuristickou funkci H(n) políčka n existuje velké množství heuristických funkcí, mezi běžně používané se řadí například Manhattanská a Chebyshevova vzálenost[5], v ukázkovém programu byla použita vzdálenost Eukleidovská: H(n) = dist(n, cíl). Tato funkce dodržuje podmínku nutnou pro nalezení optimální cesty[2] a hledání je většinou značně urychleno, protože jsou při prohledávání upřednostňována pole směrem k cíli, takže jich program musí prohledat menší množství. Jako heuristickou funkci lze použít i H(n)=0, což bude mít za následek, že žádná heuristika nebude použita. Rozdíl mezi použitím a nepoužitím heuristické funkce je vidět v množství prohledaných polí na obr. 5 a obr. 6 (lze postřehnout, že různé heuristické funkce mohou vracet různé cesty, ale celková cena těchto cest je vždy stejná). 86

87 Obr. 5: Vyhledávání s H(n) = 0 Obr. 6: Vyhledávání s H(n) = dist(n,cil) Způsobů výpočtu ceny přechodu mezi sousedními políčky lze použít mnoho, v ukázkovém programu jsou ukázány tyto tři: minimální výškový rozdíl hledá se taková cesta, která bude mít nejmenší součet převýšení, agent se bude snažit veškeré překážky obejít, pokud je to možné, i kdyby měl vzdálenostně ujít mnohonásobek nejkratší přímé cesty (obr. 7) costheight = abs(height(n1)-height(n2)) minimální vzdálenost agent ignoruje převýšení, jde nejkratší vzdušnou cestou, pouze pokud jsou v cestě neprůchozí místa, tak se jim vyhýbá (obr. 8). Pokud se lze pohybovat po diagonálách a v daném prostředí cesta po diagonále má větší cenu (jako v reálném světě), tak pro výpočet vzdálenosti na diagonále je vhodnější použít vzdálenost spíše než 1. costdist = sqrt((n1.x-n2.x) 2 + (n1.y-n2.y) 2 ) 87

88 kombinovaná použije se výškový rozdíl i vzdálenost políček (obr. 9), každému parametru lze nastavit jinou váhu (v následujícím vzorci jsou váhami proměnné alpha a beta) costcomb = alpha*costheight + beta*costdist Obr. 7: Cena - minimální výškový rozdíl Obr. 8: Cena - minimální vzdálenost 4. Závěr Obr. 9: Kombinovaná cena (obě váhy 1) Tento článek se zabýval jednoduchým vytvářením výškových map, včetně jednoho ukázkového algoritmu využívajícího generování náhodných hodnot a jejich následním rozostřením pro realističtější vzhled a hledáním nejkratší cesty v této 88

89 mapě s různým nastavením ohodnocovací funkce (výškový rozdíl, vzdálenost a obě kritéria zkombinovaná) a různými funkcemi pro heuristickou analýzu, která při volbě vhodného algoritmu pro daný typ mapy dokáže prohledávání výrazně urychlit. Literatura [1] ELIAS, Hugo. The good-looking textured light-sourced bouncy fun smart and stretchy page [online] [cit ]. Perlin Noise. Dostupné z WWW: < [2] KORF, Richard. Symposium on Abstraction, Reformulation and Approximation [online] [cit ]. Recent Progress in the Design and Analysis of Admissible Heuristic Functions. Dostupné z WWW: < [3] LESTER, Patrick. Almanac of Policy Issues [online] [cit ]. A* Pathfinding for Beginners. Dostupné z WWW: < [4] ModTheSims [online] [cit ]. Issue with self-made heightmaps in CAW. Dostupné z WWW: < 2_heightmap_Australia.JPG>. [5] PATEL, Amit. Amit's A* Pages [online] [cit ]. Dostupné z WWW: < [6] TOZOUR, Paul. Game/AI [online] [cit ]. Fixing Pathfinding Once and For All. Dostupné z WWW: < Luboš Běhounek Univerzita Hradec Králové, Fakulta informatiky a managementu Rokitanského 62, Hradec Králové, Česká republika lubos.behounek@uhk.cz 89

90 UŽITÍ SOFTBOTŮ A UI PRO NPC USING SOFTBOTS AND AI FOR NPC Stanislav Brandejs Abstrakt Tato práce je zaměřena primárně na oblast nehráčských charakterů (NPC) v počítačových hrách. Po definování podstatných pojmů bude čtenáři představeno roztřídění žánrů her a příslušných NPC a také odpovídají techniky UI, které jsou používané pro implementaci požadovaného chování herních elementů. V následující části následuje detailní popis vlastní funkcionality a architektury botů použitých v akčních hrách z prvního pohledu (FPS). V závěru jsou uvedeny informace o budoucí práci a konceptech v této oblasti vývoje. Klíčová slova počítačové hry, herní entity, NPC, softwaroví boti, architektura softbotů Abstract This paper is focused primarily on area of Non-Player Characters (NPC) in computer games. After definition of necessary terms, reader will be introduced to classification of both games and NPCs, according to AI techniques used for implementation of desired behavior in game elements. In the following part, detailed description of functionality and architecture of bots used in First Person Shooter (FPS) games will be provided. Information on future work and concepts in this area is concluding this paper. Keywords Computer games, Game entities, NPC, Software Bots, Architecture of Softbots 1. Úvod V dnešní době jsou již počítačové hry chápány jako další mediální forma, stejně jako filmová produkce, nebo knižní tvorba. Na rozdíl od filmů a textu nabízejí širokou možnost zpětné vazby, značnou dynamičnost děje a vlastního zážitku. Krom toho, že při hraní hry vnímáme její audiovizuální stránku, jsme zároveň součástí celého herního prostředí, které reaguje na naše akce. Tato reaktivnost se s dnešním vývojem stále zdokonaluje a jsou používány nové mechanismy, které tento zážitek umocňují. 90

91 Velice důležitým prvkem je implementace Umělé Inteligence (dále jen UI), její integrace do herního prostředí a její použití pro NPC, které jsou nedílnou součástí zážitku. 2. Typologie Her Každá hra má odlišnou hratelnost. Pro přehlednost se používá dělení do kategorií. Kompletní výčet můžete najít ve článku Video-herní žánry publikovaný na Wikipedii [8]. Pro přiblížení principů UI a její použití pro NPC jsou nejzajímavější následující herní žánry: arkády, strategie, RPG. Pokud obecně hovoříme o arkádových hrách, jsou myšleny takové hry, které mají hratelnost postavenou na odměňování hráče za adekvátní reflexy a schopnost účelně vnímat herní prostředí. Jedná se především o akční hry z prvního pohledu (tzv. FPS, neboli First Person Shooter), akční hry z pohledu třetí osoby (3 rd person), hry závodní, letecké simulátory atd. Strategické hry se oproti arkádám nesou v pomalejším tempu s důrazem na bystrost a logiku hráče. Implementace UI je stěžejním prvkem hratelnosti. Hráč pouze zadává jednoduché příkazy, ale elementární chování NPC jednotek zaopatřuje počítač. RPG (Role-Playing Game), neboli hry na hrdiny jsou založené na příběhu a vlastním vyprávění (to mají společné s adventurami, které však neobsahují systém pravidel herního světa). Typický je vývoj postav, celého herního světa a také působení náhody (veškeré dění ovlivňují generátory náhodných čísel). 3. Non-Player Character Podle článku na Wikipedii [7] je NPC, neboli Non Player Character (dále jen NPC) reprezentací jakékoliv živoucí herní entity, která není ovládána hráčem. Existují v herním virtuálním světě a představují iluzi určité inteligence. Všechna NPC obsahují konkrétní naprogramování (statické, nebo implementaci botů), které zajišťuje odpovídající reakce na podněty (podobně jako čistě reaktivní agent). Při použití softwarových botů je možno dosáhnout komplexnější autonomie. Další článek [4] nahlíží na NPC jako na specifické expertní systémy, v rozsahu od elementárních, až po skutečně obsáhlé. V klasických FPS hrách představují oponenty/spoluhráče a je u nich kladen důraz na používání schopností, zbraní, dostupných předmětů, path-finding, reflexní chování a aktuální uvažování obecně. V těchto případech se již pro tyto entity zažilo označení "boti". Bot je však mechanismus interního programování, který NPC řídí. Na rozdíl od arkádových her jsou v RPG hrách používány NPC v mnohem širším měřítku. Zastupují veškeré bytosti herního světa, počínaje enviromentálními NPC bez širšího vlivu, až po dějové NPC. U těchto NPC je kladen největší důraz na věrohodnost entity: tedy jak dobře dokáže zahrát určenou roli. 91

92 Speciální kategorií NPC jsou UI pro strategické hry. Ty musí zajišťovat souhru všech jednotek na herní mapě včetně logistiky a path-finding. Stěžejním prvkem je spočítání adekvátní strategie vzhledem k probíhajícímu dění ale také s ohledem na budoucí možný vývoj situace. Důležitá je tedy kooperace, ovládání prostředků a hlavně racionální, logické uvažování. 4. Softwarový bot Používá se pro každou entitu video-herních NPC, která mají vykazovat známky autonomního chování. Zaopatřují zpracování vstupních informací dle kognitivní reprezentace světa a následné vyhodnocení a provedení adekvátní reakce. Na rozdíl od klasických agentů UI (kteří jsou optimalizovaní na nejvyšší možnou efektivitu) se schopnosti botů omezují tak, aby se přiblížili jednání lidského hráče. Vzhledem ke strojové povaze není problém sestrojit bota s nadlidskou přesností. S takovým botem by se však nedalo soupeřit a pro to herní boti podléhají určitým omezením. 5. Statický softbot Podle článku Computer game bot [4] jsou činnosti statického softbota předdefinované a dokáže pracovat pouze v deterministickém prostředí. Tyto prostředí jsou konkrétní herní mapy. Pro každou mapu musí mít bot definovanou soustavu waypointů: tedy bodů na mapě, ke kterým se vážou algoritmy a předem definované rutiny (skripty). U tohoto typu softbotů jsou mechanismy strojového učení a získávání poznatků omezené jen na úzkou oblast vlastního rozhodování. Nevýhoda těchto botů spočívá v tom, že jejich chování je předvídatelné (obzvláště patrné bez zásahu hráče) a ve znovu opakované situaci takřka identické. Pouze v případě, že program statického bota obsahuje širokou škálu různorodých reakcí, tak se tato předvídatelnost ztrácí. Typickým příkladem pro jejich použití jsou arkádová multiplayerová klání jako Quake 3 Arena (tato hra posloužila jako příklad principu implementace UI pro jednotlivá NPC.), Unreal tournament, Counter-Strike apod Historie Statických Softbotů Vývoj statických botů začal se zavedením FPS žánru a her, jako byl Wolfenstein 3D, legendární DOOM, Duke-Nukem 3D, apod. Všechny tyto hry využívaly pro NPC oponenty velice jednoduché skripty, které operovaly jen s minimálním množstvím FSM modelů (viz Níže). Velký zlom nastal v roce 1998 s příchodem hry Unreal a technologie Unreal Engine (jehož nové verze se používají dodnes a jsou základem spousty počítačových her), ve které se začalo používat instancí statických botů pro každé NPC zvlášť. Boti byli doplněni o systém waypointů (bodů cesty) a také o modely pro kooperaci mezi více NPC. To bylo umožněno díky integraci vyšší UI, která řídila základní vrstvy chování botů a umožnila jejich vzájemnou kooperaci v rámci skupiny a dále konkrétní a definovatelné chování jednotlivých skupin. 92

93 Později, v témže roce (1998), byla také vydaná hra Half-Life, ve které stojí za pozornost její modularita. Hra obsahovala možnost instalace dalších modulů, které používaly původní herní engine bez návaznosti na originální obsah. Začaly tak vznikat zcela nové herní módy a vznikla široká komunita hráčů, vývojářů a programátorů, kteří vytvořili spoustu rozsáhlých projektů. Z ohledu na vývoj UI a softbotů byl klíčový mód Counter-Strike. Původně neobsahoval žádnou implementaci UI, což bylo impulzem pro vývojáře. Vznikla spousta doplňkových programů pro podporu botů (nejznámější: PODBot). Zajímavé je, že přes značné stáří hry vývoj pokračuje dodnes. Komunita sídlí na serveru Bots-United.com [3] a dají se zde dohledat zajímavé informace o vývoji. 6. Dynamický softbot Tito softboti si dokáží vytvořit vlastní systém waypointů. Vytvářejí si kognitivní model tím, že procházejí herní prostředí. Také počítají s možností změny okolností a s aktuálností získaných informací. Vyvozené závěry pak ovlivňují chování bota. V případě kooperace těchto softbotů je lépe ošetřeno předávání informací, jejich zpracování, následné usuzování a rozhodování. 7. Principy funkce Softbotů Jak je uvedeno výše, použití a implementace UI se liší podle typu hry. Dále si ukážeme základní funkčnost softbotů pro použití v akčních hrách. Tito softboti dokáží simulovat přirozené lidské reflexy, reakční logiku a dokáží využívat herních mechanismů obdobně jako hráč. Bot stejně jako člověk dokáže vnímat prostředí kolem sebe a v návaznosti na to jednat. Na rozdíl od člověka však bot vnímá jen pomocí systému pro reprezentaci vjemů získaných z virtuálního prostředí. Dle aktuální situace je pak odvozováno následné chování bota, které je určeno naprogramováním a v případě dynamických softbotů také znalostní databází, která se postupem existence bota rozšiřuje a usnadňuje tak vlastní rozhodování. Všechny tyto principy a vzory chování jsou aplikované pomocí jednotlivých modulů, ze kterých je sestavena vlastní architektura softbota. Každý tento modul odpovídá za řešení určité situace a používá k tomu příslušné aritmeticko-logické operace. Pro váhové rozhodování se využívá fuzzy logiky (v jednodušších případech) a také neuronových sítí, které dokáží řešit složitější problémy, jako jsou různý puzzly apod. Řeší se tak hlavní problémy jako je navigace bota (realizovaná modulem pro path-finding) výběr předmětu, schopnosti a načasování vlastní akce Path-finding Je základní operací, které musí být bot schopný a slouží k vyhledání optimální cesty skrz herní prostředí. Jednotlivé úseky, zóny, křižovatky, klíčová místa a výhodné pozice jsou označeny soustavou bodů (waypointů) a pomocí výpočtu je zvolena nejoptimálnější trasa ke zvolenému cíli. Momentální cíl je určen dle váhových proměnných. Pokud se váha dosavadního cíle během cesty změní, je také přepočítána nová cesta a bot se vydá za novým cílem. 93

94 Pro vypočítání optimální trasy se většinou používají heuristické algoritmy, v případě Quake 3 Arena botů konkrétně Floyd-Warshallův, Dijkstra a A* algoritmus. Ukázalo se však, že už samotné rozmisťování waypointů je problematickou záležitostí a je s ním potřeba počítat při prvotním návrhu úrovní. To je obzvlášť důležité, pokud jsou používáni ryze statičtí boti. Ti se totiž řídí pouze předem definovanou strukturou waypointů. Dynamičtí boti si vytváří waypointy vlastní, ale i tak je potřeba úroveň vhodně navrhnout, aby toto bylo vůbec možné. Na obrázku č. 1 je vidět jednoduchá síť pro průchod bludištěm. Waypointy musí být na všech klíčových místech, jako jsou rohy, křižovatky a cílové oblasti, jinak by bot nebyl schopen bludištěm vůbec projít a pravděpodobně by se zasekl na první zatáčce bez příslušného waypointu. Obr.1: Struktura waypointů pro průchod bludištěm (zdroj [2]) Pro komplexní herní prostředí nestačí ani podrobná soustava waypointů a je třeba používat techniku pro plánování mezicest. Tato technika se nazývá Routing, a slouží k počítání všech možných cest od bodu 1 k bodu 2. Zahrnuty jsou všechny možné situace, které cestou mohou nastat a jejich optimální řešení. Cesta se určuje dle momentální situace, tedy v závislosti na aktuálním dění. Pokročilejší principy routingu jsou použity kupříkladu při konfrontaci s dalším NPC nebo hráčem a umožňují využívat vlastnosti prostředí pro potřeby NPC. Obr. 2: Ukázka plánovače cesty pro průchod komplexní mapou (zdroj [2]) 94

95 Pokud se jedná o dynamického bota, využívá funkčnost routingu i pro vlastní označování waypointů dle momentální váhy konkrétního místa. Přesné postupy pro implementaci takovéto funkčnosti jsou podrobně popsány v tezi botů pro Quake 3 Arena [2]. Na obrázku č. 2, který je z této teze převzat, je vidět grafická ukázka plánovače routingu, kdy je každá část prostoru označena obdélníkovou výsečí, z kterých je nakonec vyselektována optimální cesta Final State Machine Model (FSM Model) Každý bot obsahuje systém pro určení svého stavu. Z těchto stavů se následně odvozuje vlastní chování a reaktivnost bota. Změny stavů jsou řízené rozhodovací logikou pomocí vyšších vrstev UI (viz níže). Každý stav obsahuje různou sestavu rutin a následně ovlivňuje dílčí váhové priority. Počet těchto stavů je konečný Rozhodovací moduly Obr. 3: Ukázka jednoduchého FSM modelu bota (zdroj [2]) Používá se Fuzzy logika, neuronové sítě a genetické algoritmy. Pomocí těchto metod se určují priority bota v ohledu na vstupní proměnné. Tyto prvky zohledňují zpracování paralelně distribuovaných informací a předchozích instancí konkrétního rozhodnutí. Používají se také pro práci s informacemi, které bot zaznamená během vlastní existence a které se dají použít pro efektivnější řešení složitých váhových operací. Celá tato vrstva UI řeší nejednoznačné problémy ovlivněné širokým spektrem vstupních proměnných. 8. Architektura softbotů Bot je soustavou dílčích procesů s různou prioritou, které obstarávají zpracování informací a odpovídající reakce. Jedná se o poměrně složitý víceúrovňový model, který odpovídá implementované rozhodovací logice. Tato architektura je rozdělena na úrovňové vrstvy. Dále bude rozepsána struktura botů použitých ve hře Quake3 Arena. Všechny poznatky jsou přejaté z oficiální Q3A teze [2]. První vrstva slouží pro interakci s prostředím, tedy vnímání herního prostředí a následné akce vykonané botem, je to tedy vlastní I/O rozhraní, podobně, jako skutečný hráč má k dispozici ovládací a audiovizuální zařízení. Smysly bota jsou vytvořeny pomocí AAS systému povědomí o okolí (Area Awareness System), který zaopatřuje bota všemi podstatnými vjemy o 95

96 momentálním stavu herního prostředí. Používají se přímo herní data, která jsou abstrahována do použitelné formy. Tyto data následně tvoří kognitivní model. Základní akce jsou dílčí elementy chování bota a jsou obdobou akcí namapovaných na klávesnici a myš. Druhá vrstva obstarává nižší inteligenci, která simuluje podvědomé reakční chování a také určuje dílčí preference bota. Skládá se z fuzzy logiky, báze dílčích cílů, navigace (path-finding, routing) a dodatečných procesních metod. Modul charakter obsahuje prvotní nastavení bota a může se lišit pro každou instanci. Zde je uloženo nastavení preferencí a v podstatě vlastní osobnost softbota (realizováno jako.ini soubor). Tato vrstva také obsahuje komunikační modul, který slouží ke zpracování příkazů pro koordinaci týmu. Třetí vrstva je UI síť, která zajišťuje vyšší inteligenci a také řídící a vyhodnocovací procesy. Jedná se o kombinaci produkčních pravidel (většinou zapsaných jako podmíněné příkazy) a klíčových uzlů (node) určujících reakci v různých situacích dle stavu mysli bota. Principem funkce je velice podobná s Final State Machine a je tedy nejvyšší rozhodovací vrstvou. Obsahuje implementaci vyšší logiky pro samotný souboj, ale také UI pro překonávání možných překážek a řešení puzzlů. Navíc umožňuje práci s externími příkazy. Čtvrtá vrstva je určená pro kooperaci mezi více boty a určenému botovi přidává funkci team leadera, který je pak odpovědný za distribuci příkazů mezi ostatními boty a jejich kooperaci. To je v tomto případě vyřešeno pomocí teamového in-game chatu a textových zpráv, které mohou číst i lidští hráči. Pokud hráč zná klíčové slova tohoto textového protokolu, může sám koordinovat NPC týmové spoluhráče. Je tím zajištěna dodatečná zpětná vazba. Rozvrstvení rozhodovací logiky je záměrné a to pro to, že nižší vrstvy pouze zprostředkují informace vrstvám vyšším a nemusí se zabývat vyhodnocováním. Je tím zvýšena efektivita systému, protože moduly mohou kontinuálně zpracovávat další příchozí informace bez případných hluchých míst. Na dalším obrázku je zobrazen informační tok mezi jednotlivými moduly softbota. Všechny datové toky, které míří vzhůru, nesou informace o statusu bota a stavu jeho okolí. Vyšší rozhodovací vrstvy zpracují tyto informace a udržují aktuální informace o herním světě a o tom, co se vlastně děje. 96

97 Obr. 4: Model komunikace mezi moduly ve víceúrovňové architektuře softbota. (zdroj [2]) 9. Implementace a použití Softbotů Pokud hovoříme o botech, hovoříme o v podstatě nezávislých programech, které vnímají hru na podobné úrovni jako samotný hráč. Zajímavé je, že vlastní myšlení botů je vůči hře realizováno asynchronně. Přes to že herní engine zpracovává jednotlivé herní rámy dle výpočetních možností, boti jsou na těchto výpočtech nezávislí a reagují v předem definovaných intervalech (Q3A boti operují na 10hz). 10. Další vývoj NPC Hry, které pro NPC využívají softboty dokážou vytvořit iluzi plného a živoucího světa. Mnoho moderních her má implementaci umělé inteligence na velice dobré úrovni a při hraní máte skutečně pocit, že jste součástí herního světa a NPC jsou skuteční živí tvorové. Bohužel, poslední dobou je na vzestupu tendence hry zpracovat pouze audiovizuálně a až tak se nezabývat vlastním obsahem a funkčností prostředí a vše jednoduše scenáristicky předskriptovat. Vznikají tak díla, která sice vypadají úchvatně, ale více než o dynamickou hru se jedná o statický herní zážitek, který neposkytuje žádnou výzvu a ani pocit z dobrého hraní. Díky tomuto trendu upadá i samotná snaha o vývoj dokonalejší a abstraktnější herní UI. V herním průmyslu se již točí ohromné množství peněz, ale vývoj umělé inteligence přes to značně stagnuje. Všechny dnešní hry jsou stále jen kopie dávných herních konceptů, které tu jsou v takřka nezměněné formě od počátku devadesátých let. Skutečně obsáhlé a autonomní NPC se zatím používají jen pro úzkou paletu her (převážně právě FPS). V ostatních hrách jsou implementované jen velice jednoduché modely. Bylo by dobré nasazení softbotů rozšířit do většího počtu her a implementovat funkce, které zajistí větší míru abstraktního uvažování. 97

98 Toho by se také dalo mnohem lépe dosáhnout, kdyby dnešní hry obsahovaly podrobnou dokumentaci, otevřený zdrojový kód a také byly ve větší míře editovatelné samotnými hráči. Z historického vývoje je dobře vidět, že nejrozsáhlejší projekty ohledně softbotů byli právě takové, kolem kterých mohla vzniknout komunita nadšených nezávislých vývojářů. Herní společnosti přes to zarputile chrání své know-how a spousta mechanismů, které by se daly snadno vylepšit, podléhají informační bariéře. 11. NPC pracující s přirozeným jazykem Na serveru Gamasutra.com nedávno vyšel článek [5] o integrování jazykového zpracovávání do NPC a použití pro herní dialogy. Takovéto NPC by mohli v určité míře chápat vlastní herní prostředí a bylo by možné vytvářet složitější relace. Taková NPC by měla využití kupříkladu pro RPG a adventury. NPC, které ovládají přirozený jazyk a s kterými můžete přímo komunikovat pomocí vlastních otázek by bylo dalším krokem k pokročilejší UI. Vlastní funkčnost by byla podobná mechanismům, které obsahuje například cleverbot.com. 12. Závěr S rostoucím výpočetním výkonem je již možné simulovat autonomní procesy a používat dynamická herní prostředí. Je však potřeba popularizovat i jiné aspekty her, než jejich audiovizuální zpracování a vytvořit prostor pro tvorbu vyzrálejších děl, které by dokázaly poskytnout mnohem sofistikovanější zážitky doplněné o další spektrum dynamiky virtuálního realismu. Literatura [1] SMED, Jouni; KAUKORANTA, Timo; HAKONEN, Harri. Aspects of Networking in Multiplayer Computer Games. N/a. 2001, n/a, s. 8. [2] WAVEREN, J.M.P. van. The Quake III Arena Bot : Thesis. University of Technology Delft Faculty ITS, s. University of Technology Delft Faculty ITS. [3] Bots United [online] [cit ]. Dostupné z WWW: < [4] En.wikipedia.org [online] [cit ]. Computer_game_bot. Dostupné z WWW: < [5] NUTT, Christian. Future of Games: Generating Natural Language For Game Dialogue. [online] , n/a, [cit ]. Dostupný z WWW: < ng_natural_language_for_game_dialogue.php>. [6] En.wikipedia.org [online] [cit ]. Game_artificial_intelligence. Dostupné z WWW: < 98

99 [7] En.wikipedia.org [online] [cit ]. Non-player_character. Dostupné z WWW: < [8] Video game genres. In Wikipedia : the free encyclopedia [online]. St. Petersburg (Florida) : Wikipedia Foundation, , last modified on [cit ]. Dostupné z WWW: < Stanislav Brandejs Univerzita Hradec Králové, Fakulta informatiky a managementu Rokitanského 62, Hradec Králové, Česká republika stanislav.brandejs@uhk.cz 99

100 MULTIAGENTOVÝ PŘÍSTUP K PROBLÉMŮM LINEÁRNÍHO PROGRAMOVÁNÍ MULTIAGENT APPROACH TO LINEAR PROGRAMMING PROBLEMS Richard Cimler Abstrakt Tento článek se zabývá možnostmi využití multiagenových simulací pro řešení některých problémů lineárního programování (LP). Je zde popsán model pro simulace obslužných linek v teorii hromadné obsluhy a možná rozšíření tohoto modelu díky agentovému přístupu. Další část textu pojednává o speciálním případu toků v síti, kde jsou hrany grafu ohodnoceny nejen maximálním průtokem, ale také kvalitou dané cesty. V závěru jsou zmíněny výhody využívání simulací pro řešení problémů LP. Klíčová slova toky v sítích, multiagentový systém, lineární programování Abstract In this paper multiagent approach to linear programming problems is described. First part of the paper shows simulations used to solving queuing theory problems and possible extending of these simulations. Special case of the flow network is described in the second part of paper. Connections in flow system are evaluated by maximal flow and by quality of this connection. Advantages of multiagent approach are mentioned in the conclusion. Keywords flow network, multiagent system, linear programming 1. Úvod Pomocí metod lineárního programování můžeme hledat maximum nebo minimum lineární funkce, při splnění určitých podmínek popsaných soustavou lineárních nerovností. Tyto metody se používají pro řešení různých problémů, jako jsou například problémy hromadné obsluhy, toky v sítích, dopravní problémy a další. Některé složité problémy nelze řešit pomocí metod lineárního programování a je potřeba je řešit pomocí simulací. [3] Agentové simulace lze použít pro řešení těchto problémů. V následujícím textu bude popsán multiagentový přístup k problémům teorie hromadné obsluhy a speciálnímu případu maximálního toku v síti. 100

101 2. Teorie hromadné obsluhy Teorie hromadné obsluhy, neboli také teorie front, se zabývá situacemi, ve kterých do systému složeného z obslužných uzlů, vstupují jednotky, které nesou požadavky na obsluhu. Požadavky jsou postupně obsluhovány v uzlech a jednotky postupují systémem až do výstupního uzlu. Velikost a větvení systému není nijak omezeno, může se jednat například i o systém složený pouze z jednoho uzlu, který je zároveň vstupní, tak i výstupní Model hromadné obsluhy Pro zkoumání možností využití multiagentového přístupu k teorii front, byl navržen a implementován model sítě obslužných linek v programovacím jazyce Java. Model byl nejdříve vyzkoušen pro jednoduché systémy složené pouze z jedné až třech obslužných linek a výsledky simulací byly porovnány s výsledky výpočtů na základě metod lineárního programování. Pomocí statistických metod byly navrženy a potvrzeny hypotézy o shodě získaných výsledků a tím zkontrolována funkčnost agentového modelu. Složitější problémy lze řešit pouze pomocí simulací. Jedná se o modely, které jsou složeny z více různorodých linek. V simulacích byly testovány různé strategie odesílání obsloužených jednotek v částech systému, kde docházelo k větvení. Nákladové a časové charakteristiky byly porovnávány pro čtyři různé strategie. Požadavek je odeslán lince s: a) nejkratší frontou, b) nejrychlejší obsluhou, c) nejmenším poměrem současné a průměrné délky fronty, d) nejlevnější obsluhou. Výstupem simulace jsou časové a nákladové charakteristiky systémů využívajících různé strategie. Systém, který by měl takto nastavené linky, by bylo velice složité řešit pomocí metod lineárního programování. Další zkoumanou oblastí teorie hromadné obsluhy byla možnost vytvoření samoorganizujícího systému, který se přizpůsobuje vnějším podmínkám, tedy v tomto případě intenzitě příchodů požadavků do systému. Obslužné linky reagovaly na změnu intenzity příchodů jednotek do systému zrychlením nebo zpomalením své práce. Intenzitu příchodů do systému linky odvozovaly od délek svých front, které kontrolovaly po určitém intervalu. Náklady na chod systému závisely na rychlosti práce uzlů a na ceně za čekání jednotek v systému. Rychlost linek se přizpůsobovala podmínkám tak, aby celkové náklady na chod uzlu byly minimální. Více informací a výsledky simulací v [1]. 3. Toky v sítích Teorie toků v sítích se dá aplikovat na různé problémy. Typickým příkladem je tok v potrubí, kde jsou jednotlivé hrany, spojující uzly, charakterizovány maximálním průtokem. Cílem výpočtů je zjistit maximální možný přítok tak, aby byl systém schopen toto množství pojmout a vytékalo stejné množství, které do systému přitéká. 101

102 V našem případě jsme aplikovali tuto teorii na problém dopravního toku. Uzly představují křižovatky a hrany cesty. Tyto cesty nejsou ohodnoceny pouze svojí maximální kapacitou, ale i kvalitou. Cesty v síti jsou vždy jednosměrné, aby se předešlo nekonečným smyčkám Model toků v sítích V prostředí NetLogo byla naprogramována simulace, ve které je možné vytvořit systém uzlů a spojení mezi nimi a pozorovat různé charakteristiky takového systému. Tyto systémy je možné poté upravovat a zjišťovat, jak se změny projeví na výsledcích měření různých charakteristik. V simulaci lze sledovat charakteristiky systému, jako je současný počet vozidel a komfort řidičů v celém modelu a v jeho částech. Tyto charakteristiky lze sledovat jak na monitorech s číselnou hodnou, tak na grafickém znázornění systému. Vytvořené modely lze snadno upravovat, například přidáním závislosti aktuální kvality cesty, na počtu aut nacházejících se právě na této cestě. V takto upraveném modelu lze zkoumat možnosti regulace příchodů jednotek do systému tak, aby byl vždy zachován určený minimální průměrný komfort všech řidičů Současná práce Jako příklad současného výzkumu je uveden jeden konkrétní model systému. Systém, zobrazený na obr. 1, je rozdělen na tři části, vstupní (C1), střední (C2) a výstupní (C3). Obr. 1: Model systému Účelovou funkcí z je maximalizace komfortu řidičů v jednotlivých částech systému, vycházejícího z kvality cesty, po které se právě pohybuji. Kvalita cesty je označena a ij, počet aut na cestě je označen x ij. Kde i je počáteční uzel a j konečný. Řešení s pomocí lineárního programování maximalizuje následující funkci: Nyní bude vytvářeno řešení pomocí agentového přístupu, kde budou agenty vybírat nejvhodnější cestu na základě svých informací o dějích v systému. Pozorovat vliv množství informací o systému, na kvalitu jejich rozhodnutí, je cílem další práce. 102

103 4. Závěr Mnohé úlohy lineárního programování lze řešit pomocí simulací, některé složité úlohy lze řešit pouze pomocí nich. Výhodou využívání simulací je jednoduchost změn v modelovaném systému a možnost přidávání dalších parametrů, které by v klasickém přístupu lineárního programování bylo těžké do modelu implementovat. Nevýhodou agentového přístupu je časová náročnost na vytvoření simulací, tato nevýhoda je kompenzována možností využití vytvořené simulace pro řešení různých modelů situací. Literatura [1] CIMLER, Richard. Řešení optimalizačních úloh teorie hromadné obsluhy v multiagentových systémech. Hradec Králové, Diploma thesis. University of Hradec Králové. (in Czech). [2] JABLONSKÝ, Josef; LAUBER, Josef. Optimalizační a simulační modely operačního výzkumu. Hradec Králové: GAUDEAMUS, ISBN (in Czech). [3] LAWRENCE, John A.; PASTERNACK, Barry A. Applied management science. 2nd ed. New York: Wiley, ISBN Ing. Richard Cimler Univerzita Hradec Králové, Fakulta informatiky a managementu Rokitanského 62, Hradec Králové, Česká republika e mail: richard.cimler@uhk.cz 103

104 AGENTOVÝ MODEL DOPRAVY: POROVNÁNÍ KŘIŽOVATKY A KRUHOVÉHO OBJEZDU AGENT-BASED TRAFFIC SIMULATION: ROUNDABOUT COMPARED WITH INTERSECTION Richard Cimler, Kamila Olševičová Abstrakt V příspěvku představujeme agentové modely fungování dopravy na křižovatce a na zvláštním typu kruhového objezdu. Modely jsou implementovány v prostředí NetLogo a jsou navržen tak, aby pomocí nich bylo možné provést experimenty a ověřit dvě hypotézy, a sice že (a) tok dopravy vedený po kruhovém objezdu je plynulejší, než tok dopravy na světly řízené křižovatce, (b) kombinace dvou kruhových objezdů zrychlí průjezd sanitky danou lokalitou. Klíčová slova agent, agentový model, NetLogo, simulace, dopravní problém Abstract The objective of the paper is to present the agent-based models that were developed for simulation of the traffic flow in the center of Hradec Králové. Two frequented intersections are planned to be rebuilt into the system of two roundabouts, with the aim to eliminate traffic jams and to enable faster through passage of ambulances going from and to the hospital situated along the intersections. Keywords Agent, agent-based model, NetLogo, simulation, transport, traffic 1. Úvod Prostřednictvím agentových modelů a simulací můžeme zkoumat komplexní systémy a případně i predikovat důsledky zásahů do takových systémů. Jednou z oblastí, v níž lze přístupy založené na agentech úspěšně uplatnit a na kterou se zaměřujeme v tomto příspěvku, je modelování dopravních situací. Představujeme agentové modely fungování dopravy v lokalitě Mileta v Hradci Králové. V současné době se jedná o jednu z nejzatíženějších křižovatek ve městě. Dle výsledků celostátního sčítání dopravy, které byly zveřejněny v květnu 2011, projede po mostě přes Labe (který s křižovatkou těsně sousedí) téměř vozidel za den. Vedle křižovatky se navíc nalézá Fakultní nemocnice, takže tudy 104

105 často projíždějí vozidla záchranné služby. Dopravní provoz není stejně intenzivní ve všech čtyřech směrech. Po hlavním městském okruhu projíždí tranzitní doprava, směr do centra je vytížen relativně více, než výjezd ve směru k nemocnici. Z těchto důvodů je plánováno přebudování dvou světelných křižovatek na systém dvou mimoúrovňových kruhových objezdů (obr. 1). Obr. 1: Plánovaný systém dvou kruhových objezdů v lokalitě Mileta 2. Modelování situace v prostředí NetLogo Rozhodli jsme vytvořit agentovou simulaci v prostředí NetLogo a použít ji k experimentálnímu porovnání stávajícího řešení dopravní situace v lokalitě Mileta s řešením navrhovaným. Za účelem tohoto srovnání byly navrženy dva modely se stejnými vlivnými parametry (hustota dopravy, vytíženost jednotlivých směrů, rychlost vozidel apod.). Modely jsou vytvořeny za využití reálných údajů (mj. rozměry křižovatky, rozdělení jízdních pruhů, umístění semaforů a další), resp. v souladu s návrhem nového řešení křižovatky. Jednotlivé vozidlo je reprezentováno agentem, který se pohybuje křižovatkou v souladu s dopravními předpisy a přitom nezávisle na ostatních agentech. Agent reaguje na nastavení semaforů, popř. na ostatní agenty, pokud dává přednost protijedoucím vozidlům. Parametry agentů vycházejí také z reálných dat (např. velikost agenta je volena v měřítku odpovídajícím rozměrům křižovatky). Každý agent (vozidlo) má definovánu počáteční pozici na některém příjezdu ke křižovatce, počáteční rychlost, maximální rychlost a zrychlení. Výchozí hodnoty parametrů jsou náhodně generovány při vytvoření agenta. Tato variabilita v nastavení parametrů přispívá k podobnosti modelu s modelovanou situací. Pohyb agenta je usměrňován pomocí značek, umístěných v prostředí. Základní chování agenta spočívá v postupném zrychlování až do maximální rychlosti a v pohybu stále stejným směrem. Toto základní chování může přerušit buď jiný agent (dojde ke zpomalení, aby se zabránilo srážce), nebo značka, nalezená v prostředí. V simulaci kruhového objezdu je použito 5 typů značek: Začátek nájezdu na kruhový objezd při zjištění této značky agent změní chování: začíná hledat značku konec nájezdu na kruhový objezd. 105

106 Konec nájezdu na kruhový objezd zde agent zhodnotí, zda je možné najet na kruhový objezd, v kladném případě začne hledat značku křížení s kruhovým objezdem. Křížení s kruhovým objezdem po nalezení této značky agent změní způsob pohybu: namísto rovné jízdy sleduje tvar kruhového objezdu. Výjezd z kruhového objezdu pokud je tato značka v dohledu agenta a shoduje se s hlavním cílem jízdy (nebo alespoň vede směrem k hlavnímu cíli), agent směřuje k této značce. Po dosažení výjezdu je stanoven nový směr pohybu a agent se navrací k základnímu chování. Před nájezdem na kruhový objezd agent sleduje, zda k místu nájezdu nepřijíždí po objezdu jiný agent a zda tento agent bude objezd opouštět nebo nikoli. Při pohybu po kruhovém objezdu se opět agent řídí základním pravidlem, tedy zjišťuje, zda před ním nejede jiný agent a pokud ano, zpomalí na rychlost agenta před sebou. Opuštění objezdu je řešeno rovněž pomocí značek, představujících směry výjezdů. Obdobně je zaveden systém čtyř značek pro usměrnění pohybu agentů při průjezdu světelnou křižovatkou: Semafor je značka, která nese informaci, zda je možné pokračovat v jízdě a hledat značku výjezd z křižovatky. Výjezd z křižovatky je značka, po jejímž přejetí se agent vrací k základnímu chování. Změna pruhu pokud agent zjistí tuto značku, odpovídajícím způsobem změní směr jízdy a sleduje jiný semafor. Přednost v jízdě řeší případ, kdy směr jízdy není volný, i když barva semaforu je zelená. Obr. 2: Model řešení křižovatky pomocí dvou kruhových objezdů 106

107 Obr. 2 představuje hlavní okno simulace řešení dopravní situace pomocí dvou kruhových objezdů. Mezi nastavitelné parametry patří hustoty dopravy z jednotlivých směrů a vytížení výjezdů. Je zde také možnost vygenerovat zvláštního agenta-sanitku a simulovat jeho průjezd. V rámci experimentů budou na obou modelech zkoumány stejné dopravní situace, jako je ranní špička nebo víkendový provoz. K simulování hustot dopravy v jednotlivých směrech budou využita data, získaná měřením (počty osobních a nákladních vozidel a jejich obvyklé rychlosti). Smyslem experimentů bude prověření hypotézy o plynulosti dopravy. Druhá hypotéza se týká rychlosti průjezdu sanitky. K experimentu bude použit zvláštní typ agenta s chování odlišným od ostatních agentů v modelu, tj. s absolutní předností jízdy. Sanitka ignoruje semafory a ani se neřídí pravidly přednosti na kruhovém objezdu. Budeme předpokládat, že ostatní řidiči respektují absolutní přednost sanitky a nedělají chyby. Rychlost sanitky je závislá na počtu vozidel v okolí. Ostatní vozidla reagují na průjezd sanitky zastavením. 3. Závěr Představené modely dopravní situace křižovatky Mileta v Hradci Králové a jejího připravovaného řešení pomocí dvou kruhových objezdů jsou navrženy tak, aby bylo možné provádět i další experimenty a měření. Po získání a nastavení potřebných parametrů aut bude možné například zkoumat spotřebu a emise vypuštěné do ovzduší v souvislosti s časem, potřebným na brzdění a zrychlování při průjezdu křižovatkou, resp. objezdem. Logiku modelu křižovatky i kruhového objezdu je možné využit i pro simulaci dopravy v jiných lokalitách, v modelu stačí pouze upravit umístění jednotlivých důležitých míst, jako je vjezd na kruhový objezd, umístění a nastavení semaforů, hustoty dopravy z jednolitých směrů apod. Poděkování Příspěvek vznikl v rámci řešení projektu GAČR č.402/09/0662 Rozhodovací procesy v autonomních systémech. Ing. Richard Cimler Univerzita Hradec Králové, Fakulta informatiky a managementu Rokitanského 62, Hradec Králové, Česká republika richard.cimler@uhk.cz doc. RNDr. Kamila Olševičová, Ph.D. Univerzita Hradec Králové, Fakulta informatiky a managementu Rokitanského 62, Hradec Králové, Česká republika kamila.olsevicova@uhk.cz 107

108 VÍCEKRITERIÁLNÍ ROZHODOVÁNÍ U AUTONOMNÍCH AGENTŮ MULTICRITERIA DECISION MAKING OF AUTONOMOUS AGENTS Nikola Dostálová Abstrakt Práce se zabývá vícekriteriálním rozhodováním v multiagentových systémech a popisem architektury agentů rozhodujících se na tomto principu. Bude zde uveden stručný přehled souvisejících pojmů a vývoje v této oblasti. Na příkladu budou srovnány dvě metody PRIAM a ORESTE v teoretické i praktické rovině. Klíčová slova Autonomní agent, vícekriteriální rozhodování, kriteriální matice, metoda PRIAM, metoda ORESTE. Abstract Text is focused on multicriterial decision-making in multiagent systems and provides description of architecture of agents which use this decision-making method as their control mechanism. Short overview of related terminology and historical development in this field will be presented. Two methods PRIAM and ORESTE will be applied to comparison. Keywords Autonomous agent, multicriteria decision making, criterial matrix, PRIAM method, ORESTE method. 1. Úvod V průběhu vývoje lidstva se vyskytly mnohé snahy o vytvoření tzv. umělého člověka, nebo lépe řečeno stroje, který by nejen vypadal jako člověk, ale i se tak choval. S těmito snahami se setkáváme nejen v literatuře, kdy se autoři snaží čtenáři přeložit návrh takového stroje, ale i ve vědě, kdy se vědci snaží vytvořit první robotické systémy (viz [1]). Časem se ukázalo, že snaha o vytvoření umělého člověka zatím není na dané úrovni poznání realizovatelná. Tedy, umělé inteligence se nezabývá konstruováním umělého člověka, ale stroje, který umí řešit problémy v daném prostředí. Takový stroj se nazývá agent. Tato práce by měla přiblížit, jaké charakteristické vlastnosti by měl mít agent, aby mohl být označován za agenta autonomního. Dále stručně seznámit s funkčností autonomního agenta a ukázat důležitost schopnosti rozhodování. 108

109 V případech, kdy se agent rozhoduje mezi více možnostmi pomocí stanovení určitých kritérií, se toto rozhodování nazývá vícekriteriální. Dále budou uvedeny některé základní pojmy z této oblasti a něco málo z historie vícekriteriálního rozhodování. V poslední části jsou uvedeny dvě vícekriteriální metody metoda PRIAM, založená na aspiračních úrovních volených uživatelem, a metoda ORESTE, která vyžaduje od uživatele ordinální informaci o kritériích (tzn. jejich uspořádání podle důležitosti). Srovnání není jen teoretické, ale součástí seminární práce je i praktická část, kde jsou principy obou metod ukázány na příkladu. 2. Autonomní agent Dle [3], pod pojmem agent, resp. autonomní agent, rozumíme uzavřený počítačový systém zasazený do nějakého okolí, který je schopen pružně a autonomně působit za účelem plnění daného cíle. Za charakteristické vlastnosti autonomního agenta je považováno (dle[3]): autonomnost schopnost samostatného fungování, řízení svých výkonů a kontrolování svého vnitřního stavu (bez vnějšího zasahování), společenské chování schopnost interakce s jinými agenty (resp. s člověkem) prostřednictvím jistého komunikačního mechanismu, reaktivita neboli reagování na podněty z okolí, iniciativnost schopnost cíleného chování vyvíjením vlastní iniciativy, nejen reagování na podněty z okolí. Na základě těchto vlastností lze charakterizovat hlavní funkce agenta. Jakmile agent identifikuje cíl, řídí svůj úsudek v cyklu: rozpoznávání situace rozhodování o řešení výkon řešení. Pro podporu rozhodování mu slouží funkce návrhu řešení a kooperace s jiným agentem (resp. s člověkem). Podrobněji jsou schopnosti agenta popsány na obr

110 Obr.1: Schopnosti agenta Dle [3]: Pro funkci kooperace agenta slouží jeho schopnost komunikovat s okolím (s jinými agenty, resp. s člověkem). Pro podporu rozhodování disponuje schopností navrhovat jednorázová řešení problémů (typicky volání optimalizačních algoritmů), jakož i schopnost vytváření dlouhodobějších plánů řešení problémů. Percepční (senzorickou) funkci agenta zabezpečuje schopnost jednorázově se dotazovat na stav systému nebo spustit monitor, který iniciativně a samostatně informuje o jistých situacích. A konečně výkonnou funkci naplňuje buď zahájením akce, která okamžitě změní stav systému anebo spuštěním samostatného procesu, který potom bez dalších vnějších zásahů mění stav systému v jistých časových okamžicích. Dále se budeme zabývat samotnou schopností rozhodování. Z [2]: Jak ale zabezpečíme, aby se agent dokázal rozhodnout, jakou část úkolu bude právě plnit, jaké prostředky na plnění cílů použije a jakým postupem?. Jestliže je agent nucen se rozhodnout, většinou existují nebo je možné vytvořit určitá kritéria, podle kterých se bude rozhodovat a vybírat z možných variant řešení. Takovému rozhodování se říká vícekriteriální. Agent jej může využívat ve formě zadaných algoritmů vytvořených podle některé z metod vícekriteriálního rozhodování. 3. Historie vícekriteriálního rozhodování Již v nejstarších dochovaných filosofických textech je možné se setkat s potřebou respektování různých a často i protichůdných kritérií při rozhodování. Tento problém vystupuje tím více, čím méně je autorem vnímán dogmatismus či tolerovány ideologie. 110

111 Poprvé byl problém vícekriteriálního rozhodování formulován v rámci ekonomie, a to Vilfredem Paretem r (odtud vznikl pojem paretovská optimalita nebo paretovská hranice označující druh optimality ve vícekriteriálních úlohách). O rozvoj teorie vícekriteriálního rozhodování významně přispěl i T. Ch. Koopmans. Kolem r vzniká tzv. cílové programování, což je disciplína, zabývající se hledáním výrobních programů, vyhovujících současně několika předem zadaným cílům. Po pár letech již vychází první knižní díla se samotnou tématikou vícekriteriálního rozhodování. Této problematice se začíná věnovat i řada vědeckých časopisů a vzniká i časopis, Multi-Criteria Decision Analysis, zabývající se výlučně touto problematikou. Od r se o vícekriteriálním rozhodování pravidelně pořádají velké mezinárodní vědecké konference a řada konferencí místního významu. Odborníci pracující v této oblasti jsou sdruženi v mezinárodní organizaci International Society on Multiple Criteria Decision Making. 4. Vícekriteriální rozhodování Rozhodovací úlohy, v nichž se důsledky rozhodnutí posuzují podle více kritérií, budeme nazývat úlohami vícekriteriálního rozhodování. Do této kategorie patří velice různorodé úlohy, a proto není možné předložit jakoukoli univerzální teorii a z ní vyplývající výsledný rozhodující algoritmus, který je vhodný pro všechny typy úloh. Teorii vícekriteriálního rozhodování je tedy nutné uvést klasifikací úloh vícekriteriálního rozhodování. Jedním z nejdůležitějších klasifikačních hledisek je způsob zadání množiny přípustných variant: a) pokud je tato množina zadána ve formě konečného seznamu -> mluvíme o úloze vícekriteriálního hodnocení variant (s tímto úlohami budeme dále pracovat), b) pokud je vymezena souborem podmínek, které rozhodovací alternativy musí splňovat, aby byly přípustné -> mluvíme o úloze vícekriteriálního programování. Dalším klasifikačním hlediskem jsou informace, podle nichž můžeme úlohy vícekriteriálního rozhodování dělit do čtyř skupin (dle [2]): 1. úlohy s informací umožňující skalarizaci optimalizačního kriteria (= s kardinální informací o kritériích) jde sice o úlohu jednokriteriální, ale je nutno ji zařadit, jelikož je původně formulována jako vícekriteriální a je zde informace umožňující shrnutí více kritérií do jednoho kritéria skalárního. Je zde nutná teorie vícekriteriálního rozhodování a to proto, aby byla objasněna uvedená redukce na skalár a nedošlo k případnému zkreslení či ztrátě původních informací. 2. úlohy bez informace umožňující solarizaci tyto úlohy jsou jádrem teorie i praxe vícekriteriálního rozhodování. Je zde zaveden pojem 111

112 nedominovaného řešení. Většinou je v tomto případě velice obtížné najít jednoznačné optimální řešení, jelikož nedominovaných řešení je obecně velice mnoho a informace, kterou máme k dispozici, neumožňuje mezi nedominovanými řešeními dále rozlišovat. 3. úlohy s informací získaných v průběhu řešení často je k řešení vícekriteriální úlohy k dispozici nedostatek informací, jelikož ani aplikace, ani uživatel předem nemůžou přesně předpovědět, jaké informace budou potřeba. Proto byly vyvinuty postupy, které během procesu rozhodování umožňují získávání informací od uživatele skrze dotazovací mechanismus. Problémem ovšem je, že uživatel občas nedokáže spolehlivě odpovědět na dotaz počítače a za účelem dostat od počítače řešení úlohy, vkládá do něj řadu domněnek. Výsledkem počítače potom nemůže být zcela optimální řešení. 4. parametrická řešení jelikož jsou si mnozí uživatelé vědomi toho, že je výsledné řešení závislé na ne vždy spolehlivé počáteční informaci, dávají přednost širšímu náhledu do problematiky před více či méně jednoznačným doporučením k akci. Parametrická řešení jsou tedy zobrazení, která udávají optimální řešení jako funkci vložené informace. Jejich nevýhodou může být nepřehlednost. V úlohách, kde dochází k vícekriteriálnímu rozhodování na základě hodnocení variant, má množina rozhodovacích variant konečný počet prvků. Tuto množinu budeme značit A. Dále je nezbytné určit hodnotící kriteria a metody, kterými zjistíme kvantitativní údaje o hodnotách těchto kriterií pro všechny varianty. Z předešlého, a to z variant a kriterií, můžeme vytvořit tzv. kriteriální matici. Jak je uvedeno v [2], jestliže není dáno jinak, předpokládá se, že matice je brána jako maximalizační, což znamená, že varianta je tím lepší, čím je hodnota kriteria vyšší. Jestliže je matice minimalizační, není problém její hodnoty přetransformovat na maximalizační například namísto kritéria náklady na pořízení zavést kriterium ušetřené náklady na pořízení oproti stanovenému standardu. Je nutné seznámit s pojmem nedominovaná varianta. Jedná se o variantu, ke které neexistuje varianta lepší, v tom smyslu, že pokud u ní zlepšíme hodnoty některých kritérií, nedojde ke zhoršení kriterií jiných. Přesněji podle definice: Nechť ai (Yi1, Yi2,, Yik) a aj (Yj1, Yj2,, Yjk) jsou dvě varianty. Jestliže varianta ai dominuje variantu aj, pak ai aj. Varianta a se nazývá nedominovaná, jestliže v množině rozhodovacích variant A neexistuje varianta, která ji dominuje. 112

113 Dle [3]: Je-li v množině A jediná nedominovaná varianta, je možné ji beze vší pochybnosti označit za optimální variantu. Typickým případem však je, že nedominovaných variant je více. Často se můžeme setkat s případem, že AN = A. Jeli totiž rozhodovací situace jen trochu přehledná a je-li uživatel seznámen s problematikou, podaří se mu dominované varianty předem vyloučit. Je-li v množině AN více variant a je-li nutné doporučit k realizaci pouze variantu jedinou, je nutné aplikovat metody, které vyberou z množiny AN v jistém smyslu reprezentativní variantu. Varianta, která je vybrána jako reprezentant množiny AN se nazývá variantou kompromisní (někdy se mluví o nejlepší kompromisní variantě). 5. Srovnání dvou vícekriteriálních metod 5.1. Metoda PRIAM Pokud uživatel nedodá žádné dodatečné informace o kritériích, je úplným řešením úlohy vícekriteriálního hodnocení variant množina všech nedominovaných variant AN. Ale tato množina nedominovaných variant může být v některých případech velice obsáhlá. Platí, že čím větší počet kritérií je zadán, tím vzniká více nedominovaných variant. Proto je nutné nějakým způsobem získat preference uživatele např. získat požadovanou aspirační úroveň kritérií, uspořádání kritérií podle důležitosti, zadání vah kritérií apod. Poté je možné zvolit jednu kompromisní variantu (nejlepší možnou variantu). Metoda PRIAM patří mezi metody s informací o aspiračních úrovních kritérií. Jedná se o přístup, který vychází ze znalosti aspiračních hodnot, které by měly varianty alespoň dosahovat při hodnocení podle jednotlivých kritérií, aby byly pro uživatele akceptovatelné. Metoda PRIAM je založena na heuristickém prohledávání množiny a uživatel udává směr, ve kterém prohledávání postupuje. Mluvíme-li o heuristické informaci, jedná se o počet variant, které zůstávají přípustné pro danou aspirační úroveň. Formální přístupy rozhodovací analýzy vytvářejí model rozhodovací situace a řeší tento model pomocí formálních technik. Výsledek je prezentován uživateli. Konkrétněji, k rozhodování dochází u množiny p variant A = a1, a2, a3,.., ap. Hodnoty ki(aj); i = 1, 2, 3,,p; j = 1, 2, 3,,k reprezentují hodnotu i-tého kritéria pro j-tou variantu. Nyní navrhne uživatel aspirační úrovně ke každé kriteriální hodnotě: ( ) = ( ), ( ),, ( ). Následně, jestliže platí ( ) ( ), dostáváme akceptovatelné varianty, jejichž počet označíme d. Číslo d je heuristická informace pro změny aspiračních úrovní. Podle [2]: Jestliže platí : 113

114 d>1, potom může rozhodovatel změnit aspirační úrovně podle počtu akceptovatelných variant, d=1, potom je dosažena nedominovaná varianta, d=0, potom neexistuje žádná akceptovatelná varianta a hledá se nejbližší varianta k zadaným aspiračním úrovním řešením úlohy. ( ) = ( ) aj A, Kde ; i=1, 2,..,k jsou ideální kriteriální hodnoty. Výsledkem metody PRIAM je cesta aspiračních úrovní a kompromisní varianta Metoda ORESTE Metoda ORESTE se řadí mezi metody s ordinální informací o kritériích. Od uživatele je požadováno kvaziuspořádání kritérií a kvaziuspořádání variant (tzn. že připouštíme stejně důležitá kritéria i stejně důležité varianty). Tato metoda obsahuje dvě části. V první jsou určeny vzdálenosti každé varianty pode každého kritéria od fiktivního počátku (pořadová čísla fiktivní varianty a fiktivního čísla jsou 0). Poté jsou varianty podle určitých pravidel uspořádány. V druhé části dochází k preferenční analýze, kdy pro každou variantu lze provést test na zjištění preference P, indiference I nebo nesrovnalosti N. Celkem se metoda ORESTE skládá z šesti dílčích kroků, z [2]: 1) sestavíme vektor q a matici P. vektor q = (,,, ), kde qj je pořadí j-tého kritéria, matice P = (pij); i = 1, 2, p; j = 1, 2, k, kde pij je pořadí varianty ai podle j- tého kritéria, v případě indiferentních kritérií jsou brána průměrná pořadová čísla. 2) vytvoříme matici D vzdáleností od fiktivního počátku. matice D = ( ); i=1, 2, p; j=1,2, k; pro prvky platí = ( ) obvykle se používá r = 3, + ( ), pro měření vzdálenosti od fiktivního počátku je použita tzv. Dujmovičova metrika ([4]]. 3) uspořádáme varianty. hodnoty dij seřadíme od nejmenší po největší a ohodnotíme je pořadím, na místo dij napíšeme pořadí (případně průměrné pořadí), vznikne nová matice R = (rij), 114

115 pro každou variantu ai spočítáme =, hodnoty ri seřadíme od nejmenší po největší, čímž získáme uspořádání variant. 4) vypočítáme normalizované preferenční intenzity. Spočítáme hodnoty tzv. preferenčních intenzit podle: = ( h h); i,j = 1,2, p, kde Iij je množina kritérií, pro která je ai preferováno před aj (ajpaj), vznikne matice C = (cij), spočítáme maximální intenzitu = ( 1), normalizovanou preferenční intenzitou rozumíme hodnotu = vznikne matice Cn = ( ). 5) test indiference. musí být splněny následující podmínky: parametr volíme tak, aby parametr volíme tak, aby ( ), ( ),,, pokud jsou obě podmínky splněny, řekneme, že varianta ai je indiferentní s aj (ai I aj). 6) test nesrovnatelnosti variant. podmínka nesrovnatelnosti říká, že preferenční intenzity jsou příliš velké vzhledem k tomu, jak blízko jsou varianty u sebe, ale nejsou indiferentní, pokud platí, pak jsou varianty ai a aj nesrovnatelné (ai N aj), parametr τ volíme tak, aby 2 4, pokud předchozí podmínka není splněna, konstatujeme, že varianta ai je preferována před aj (ai P aj). Výsledky preferenční analýzy můžeme zachytit jednak v matici, kdy řádky i sloupce odpovídají variantám (prvky matice potom přinášejí informaci o vzájemném vztahu pro každou dvojici variant), a jednak graficky Srovnání Nyní tyto dvě metody vícekriteriálního rozhodování srovnáme na řešení rozhodovacího problému: Máme vybrat z vybraných studijních oborů na vysokých školách obor, který by nám nejvíce vyhovoval podle námi zadaných kritérií. Vybrali jsme 13 oborů a zadali 7 kriterií: k1) vzdálenost od domova (hodnoty udávány v km). k2) počet přijímaných na vybraný obor. 115

116 k3) šance na přijetí na vybraný obor (hodnoty udávány v %; hodnotu dostáváme z údajů o počtu uchazečů a počtu přijímaných na obor, a úspěšnosti u přijímacích zkoušek v uplynulých několika letech). k4) spokojenost a uplatnění absolventů (hodnoty ve škále od 1 (=nízké) do 5 (=vysoké); hodnotu dostáváme z údajů, jak byli studenti spokojeni se studiem, kolik z absolventů dále po ukončení VŠ pokračuje ve stejném oboru, jaké jsou jejich platy atd. k5) úroveň vědecké a výzkumné činnosti školy (hodnoty ve škále od 1 (=nízké) do 5 (=vysoké)). k6) možnosti studia v zahraničí a mezinárodní spolupráce (hodnoty ve škále od 1 (=žádné) do 5 (=mnoho)). k7) možnost bydlení na kolejích (hodnoty 1 (jestliže ne) nebo 2 (jestliže ano)). Sestavíme kriteriální matici: Tab. 1: Kriteriální matice zadaného rozhodovacího problému i k1 k2 k3 k4 k5 k6 k Závěr Autonomní agenty se s vývojem nových technologií stále více podobají člověku. Někteří agenti jsou schopni chovat se, reagovat a rozhodovat se stejně jako člověk, ale nikdy toho nebudou schopni sami, bez pomoci člověka. Člověk jim tuto schopnost dává naprogramovanými algoritmy, které sám vytvoří, aby fungovaly v určitých situacích tak jako člověk sám. 116

117 Metody vícekriteriálního rozhodování jsou pro člověka užitečné i při řešení běžných rozhodovacích problémů. Usnadňují mu rozhodování a pomáhají v hledání optimálních řešení. Literatura [1] Kubík, A.: Inteligentní agenty Tvorba aplikačního software na bázi multiagentových systémů. Computer Press, Brno, ISBN [2] Fiala, P.; Jablonský, J.; Maňas, M.: Vícekriteriální rozhodování. Praha, VŠE, 1994, ISBN [3] Digitální knihovna Univerzity Pardubice: ( [4] Nikola Dostálová Univerzita Hradec Králové, Fakulta informatiky a managementu Rokitanského 62, Hradec Králové, Česká republika nikola.dostalova@uhk.cz 117

118 ROBOTICKÁ RUKA KONSTRUKCE A POUŽITÍ ROBOTIC ARM CONSTRUCTION AND APPLICATIONS Michal Gregor, Karel Petránek, Martin Burian Abstrakt Robotické ruce a robotická ramena jsou nedílnou součástí moderních výrobních hal, kde usnadňují obtížnou montáž složitých technických zařízení, snižují chybovost způsobenou lidským faktorem a šetří náklady. Příspěvek se věnuje konstrukci obecné robotické ruky, která je schopna uchopovat a manipulovat s předměty. Rovněž jsou rozebrány možnosti a problémy automatického ovládání ruky. Příspěvek je založen na zkušenostech z praktické konstrukce a softwarového ovládání stavebnice Merkur, Robotická ruka Beta. Klíčová slova robotika, robotická ruka, hardware, Merkur Abstract Robotic arms are a common part of modern assembly halls. They facilitate an often complicated construction of various technical devices, decrease error rate caused by human factors and cut down the manufacturing costs. This article describes a generic robotic arm construction and the options and problems of an automated artificial control. The generic arm is able to grab and manipulate various objects. The article is based on a practical robotic arm construction and software control using a Merkur kit called Robotic Arm Beta. Keywords robotics, robotic arm, hardware, Merkur 1. Úvod S rozmachem robotiky v druhé polovině 20. století je úzce spojen vývoj hardwarových zařízení, která mají za úkol napodobit a nahradit části lidského těla. Jednou z nejčastěji napodobovaných částí těla jsou ruce především díky jejich všestrannému použití při montáži stále složitějších zařízení či manipulaci s těžkými objekty. V příspěvku je popsána konstrukce robotické ruky s pěti stupni volnosti, která vychází z robotické stavebnice Merkur [1]. Je rozebráno konstrukční řešení ruky a zmíněny technické obtíže při konstrukci ruky ze stavebnice. Druhá část 118

119 příspěvku se věnuje ovládání ruky pomocí softwaru a možnostmi automatického ovládání pomocí algoritmů umělé inteligence, především počítačového vidění a umělých neuronových sítí. 2. Konstrukce robotické ruky Sestavená robotická ruka je ovládána pomocí šesti krokových servo motorů, které umožňují volný pohyb ruky s pěti stupni volnosti. První motor je umístěn v podstavě ruky a zajišťuje otáčení celého ramene ruky v teoretickém rozsahu Prakticky je tento rozsah omezen nastavením motoru a kabely, které vedou k ostatním součástem ruky. Druhý motor se nachází nad podstavou a zajišťuje předklon a záklon celého ramene ruky v rozsahu Třetí motor umístěný v lokti umožňuje vertikální pohyb předloktí, běžně v rozsahu Čtvrtý motor ovládá pohyb zápěstí ve vertikálním směru v rozsahu Zbylé dva motory umožňují dlani ruky provádět jemnější motoriku jeden zajišťuje otáčení dlaně o 180 a druhý slouží k rozevírání a svírání dvou prstů ruky. Vyvážení ruky, aby nedošlo k převracení, je vyřešeno širokou podstavou a vysunutím ovládací desky z podstavy v opačném směru než rameno ruky. Aby byla snížena zátěž na první motor, který nese a otáčí celou ruku, je ruka umístěna na ocelovém kuličkovém ložisku a motor je připojen pomocí ozubených kol. Robotická ruka Merkur neobsahuje kamery ani jiné senzory pro snímání okolí ruky. Aby bylo možné ruku řídit pomocí umělé inteligence, je nutné na ruku připevnit dodatečné senzory. Vhodné umístění pro obrazové senzory je na zápěstí ruky, těsně nad robotickými prsty. Takto umístěný senzor může snímat objekty, které se nacházejí přímo pod rukou, a není tak nutné softwarově řešit synchronizaci obrazu a pohybu ruky. Jako obrazový senzor lze využít některou z běžně dostupných webových kamer. Obr. 1: Robotická ruka Merkur. 1., 3., 4., 5., 6., 7. jsou krokové motory ovládající pohyb ruky, 2. základní deska 119

120 3. Konstrukční problémy a jejich řešení Použitá robotická ruka ze stavebnice Merkur obsahuje několik konstrukčních problémů, které omezují funkčnost ruky a možnosti jejího použití. Většina obtíží pochází z faktu, že celá ruka je sestavena z kovových dílů, což v některých případech neúměrně zvyšuje hmotnost a vede k rychlému opotřebení určitých součástek. Nejvíce namáhanou částí je loketní kloub ruky, který musí držet celé kovové předloktí, dlaň a případný nesený náklad. Protože nejčastější poloha předloktí vůči podstavě ruky je okolo 90, musí být motor v loketním kloubu neustále v tahu, aby vyrovnal působení gravitace. To způsobuje jeho silné zahřívání již po několika desítkách sekund a může vést až k vyhoření motoru. Řešením je uchycení pružiny k podstavě a k předloktí ruky, která ulehčí zátěž loketního motoru. Další silně namáhanou částí je ložisko v podstavě, které drží celou ruku a umožňuje její volné otáčení. Toto ložisko je namáháno nerovnoměrně, protože těžiště horní části ruky je vychýleno mimo střed podstavy. Nerovnoměrná zátěž vede k namáhání vnitřních závitů v ložisku, což může v extrémním případě způsobit jejich stržení a nefunkčnost ložiska. Tomuto problému lze předejít umístěním ruky po vypnutí do takového stavu, kdy je těžiště celého systému umístěno na středu podstavy. 4. Softwarové ovládání robotické ruky Merkur Základní desku robotické ruky je možné propojit s běžným PC a z něj ovládat jednotlivé krokové motory. V případě ruky Merkur se jedná o sériový port COM. Ke stavebnici je přiloženo CD s ovládacím softwarem, který umožňuje změnu pozice motorů a jednoduché nastavování pohybových sekvencí. Aby bylo možné použít přístupy umělé inteligence k ovládání ruky, je nutné zasílat základní desce ruky signály z vlastního programu, dodávaný ovládací software nepodporuje vlastní programování. V manuálu ke stavebnici není bohužel uvedena specifikace komunikačního protokolu se základní deskou ruky, bylo proto nutné jeho specifikaci získat zpětným inženýrstvím. Protokol pro komunikaci s deskou je uveden v tabulce Tab. 1. Byte Význam Úvodní sekvence Číslo motoru Pozice motoru Možné hodnoty 255 (0xFF) 0 až 5 0 až 255 Tab. 1: Protokol pro komunikaci se základní deskou robotické ruky Merkur 5. Robotická ruka a umělá inteligence Pro ovládání ruky lze využít algoritmy z oblasti strojového učení a automatizovat tak některé úkony. Jednou z možných aplikací je třídění objektů v dosahu ruky na dvě různé skupiny. Rozpoznání jednotlivých objektů je úkolem počítačového vidění. Pro rychlé, avšak málo robustní rozpoznání druhu objektu lze využít barevného rozlišení rozpoznávaných objektů. Vstupní obraz kamery je pak rozdělen na oblasti s podobnou barvou pomocí některého ze segmentačních algoritmů, jako je K-Means [8], MeanShift 120

121 [3] či Watershed Segmentation [9]. Jednotlivé oblasti, které jsou výstupem z těchto algoritmů, lze považovat za objekty k roztřídění. Robustnější metodou pro rozpoznání objektů je využití algoritmů pro detekci podobných oblastí. Tyto algoritmy nevyžadují barevné vstupní snímky, je tak možné ušetřit paměťové a výpočetní prostředky. Mezi tyto algoritmy spadá algoritmus pro detekci objektů Viola-Jones [11], který je velmi rychlý a invariantní vůči změně velikosti objektů. SIFT [5], SURF [2] a MSER [6] jsou algoritmy, které z šablony objektu extrahují významné a unikátní znaky, jež lze použít pro odlišení objektu od ostatních. Výhodou těchto algoritmů je invariance vůči změně velikosti, rotaci a perspektivnímu zkreslení objektů. Aby ruka mohla uchopit objekt, je nutné provést koordinovanou sérii pohybů, která je řízena podle aktuálního pohledu kamery. Tuto úlohu lze zjednodušit, je-li možné získat 3D informaci o okolním prostředí. Toho lze dosáhnout například připevněním hloubkového senzoru ke kameře či přidáním druhé kamery a rekonstrukcí hloubkové informace pomocí některého z algoritmů uvedených v [10]. Samotný proces uchopení objektu lze řídit pomocí umělých neuronových sítí. Pro řízení pohybu stačí použití jednoduchého modelu vícevrstvého perceptronu [7]. Naučení neuronové sítě je možné provést pomocí algoritmu back propagation [7] či metodou učení posilováním [4]. 6. Závěr V příspěvku byla představena konstrukce robotické ruky s pěti stupni volnosti byly popsány jednotlivé konstrukční součásti, identifikovány přetěžované části konstrukce a navržen přístup pro minimalizaci těchto přetížení. Byly popsány praktické zkušenosti se sestavením ruky z prefabrikovaných součástí stavebnice Merkur, Robotická ruka Beta [1] a postup ovládání této stavebnice pomocí vlastního software. Na principiálně jednoduchém příkladu třídění objektů na dvě skupiny byly představeny algoritmy počítačového vidění a umělé inteligence, jež lze využít pro řízení robotické ruky. Literatura [1] ANON. Robotická ruka - BETA MERKURTOYS s. r. o. [online]. [Cit ]. Dostupné z WWW: < [2] BAY, H., TUYTELAARS, T. & GOOL, L. SURF: Speeded Up Robust Features. In A. Leonardis, H. Bischof, & A. Pinz, ed.computer Vision ECCV Berlin, Heidelberg : Springer Berlin Heidelberg, 2006, s ISBN [3] COMANICIU, D. & MEER, P. Mean Shift: A Robust Approach Toward Feature Space Analysis. IEEE Transactions on Pattern Analysis and Machine Intelligence, 2002, vol. 24, no. 5, s

122 [4] KORMUSHEV, P., CALINON, S. & CALDWELL, D.G. Robot motor skill coordination with EM-based Reinforcement Learning. In 2010 IEEE/RSJ International Conference on Intelligent Robots and Systems. Taipei, 2010, s [5] LOWE, D.G. Object Recognition from Local Scale-Invariant Features. In Computer Vision, IEEE International Conference on. Los Alamitos, CA, USA : IEEE Computer Society, 1999, s ISBN [6] NISTÉR, D. & STEWÉNIUS, H. Linear Time Maximally Stable Extremal Regions. In D. Forsyth, P. Torr, & A. Zisserman, ed.computer Vision ECCV Berlin, Heidelberg : Springer Berlin Heidelberg, 2008, s ISBN [7] PLEBE, A. & GRASSO, G. Localization of spherical fruits for robotic harvesting. Machine Vision and Applications, 2001, vol. 13, no. 2, s [8] Ray & Turi. Determination of number of clusters in K-means clustering and application in colour image segmentation. Proceedings of the 4th International Conference on Advances in Pattern Recognition and Digital Techniques (ICAPRDT 99), vol. 99, no. 4. [9] SHAFARENKO, L., PETROU, M. & KITTLER, J. Automatic watershed segmentation of randomly textured color images. IEEE Transactions on Image Processing, 1997, vol. 6, no. 11, s [10] SCHARSTEIN, D. & SZELISKI, R. A Taxonomy and Evaluation of Dense Two- Frame Stereo Correspondence Algorithms. International Journal of Computer Vision, 2002, vol. 47, no [11] VIOLA, P. & JONES, M. Robust Real-time Object Detection. INTERNATIONAL JOURNAL OF COMPUTER VISION, Bc. Michal Gregor Univerzita Hradec Králové, Fakulta informatiky a managementu Rokitanského 62, Hradec Králové, Česká republika michal.gregor@uhk.cz Karel Petránek Univerzita Hradec Králové, Fakulta informatiky a managementu Rokitanského 62, Hradec Králové, Česká republika karel.petranek@uhk.cz Bc. Martin Burian Univerzita Hradec Králové, Fakulta informatiky a managementu Rokitanského 62, Hradec Králové, Česká republika martin.burian@uhk.cz 122

123 APLIKACE VÍCEKRITERIÁLNÍHO ROZHODOVÁNÍ V MULTIAGENTNÍCH SYSTÉMECH APPLICATION OF MULTI-CRITERIA DECISION-MAKING IN MULTI-AGENT SYSTEMS Nela Klusáčková Abstrakt Obsah práce je zaměřen na popis a spojení dvou vědních disciplín, konkrétně vícekriteriálního rozhodování s problematikou multiagentních systémů. Obsahuje stručné seznámení s principem, pojmy a podstatou každé ze jmenovaných oblastí a popisuje také příklady, kde se s těmito problematikami setkat jak v běžném životě, tak v oblasti umělé inteligence, za účelem snadného pochopení principu každé z uvedených disciplín. Dále zdůrazňuje výhody, které může sloučení těchto dvou oblastí přinést, jako např. úspora času nebo výběr a současně vykonání optimálního řešení, což vysvětluje a současně prohlubuje motivaci se této problematice hlouběji věnovat. Klíčová slova agent, vícekriteriální, multiagentní systém, vícekriteriální rozhodování Abstract This text is focused on description and combination of two disciplines, specifically multi-criteria decision-making and area of multi-agent systems. This work brings a brief introduction to principle, concepts and fundamental understanding of each of the mentioned areas and also presents demonstrational examples from everyday life situations, both from real and artificial environments allowing easier understanding of combination of both areas. This combined approach brings several advantages, for example time saving or selection and implementation of the optimal solution, which are motivation for further work in this problem area. Keywords agent, multi-criteria, multi-agent system, decision making 1. Úvod Text se zabývá kombinací dvou vědních disciplín, a to vícekriteriálního rozhodování a multiagentních systémů. 123

124 Cílem této práce zaměřit se především na možné přínosy kombinace obou přístupů a na to, v jakých případech (popř. jakým způsobem) aplikovat vícekriteriální rozhodování do multiagentních systémů i v praxi. Aby bylo možno si problematiku obou oblastí lépe představit, bude uveden stručný popis jejich základních principů v následující části tohoto příspěvku. 2. Podstata vícekriteriálního rozhodování S vícekriteriálním rozhodováním je možné se setkat v rozmanitých oblastech, ať už se jedná o jakákoliv přijímací řízení, uvedení nového výrobku na trh, výběr auta, ale třeba i v kriminalistických metodách, a sami jej denně aplikujeme. Podstatou vícekriteriálního rozhodování (dále VR) je nalezení optimálního řešení libovolného problému, závislého na daných kritériích, která nabývají určité hodnoty důležitosti. Metody VR poté řeší konflikty mezi vzájemně protichůdnými kritérii, o nichž je možné se dočíst např. v knize Vícekriteriální rozhodování od autorů Doc. RNDr. Ing. Fialy CSc., Ing. Jablonského CSc. a Prof. RNDr. DrSc. Maňase. Problém rozhodování, kritéria, varianty i cíle jsou formulovány v systému zvaném objekt rozhodování, kdy daným problémem se zabývá (a rozhoduje o něm) tzv. subjekt rozhodování, což může být buď jednotlivec, nebo skupina lidí Cíl Cílem rozumíme to, čeho chceme hodnocením variant dosáhnout tedy co je pro nás optimální, o čem se budeme rozhodovat. Cíle vícekriteriálních úloh mohou být různé a jsou charakterizovány v následujících větách. Cílem je nalezení jediného optimálního řešení neboli určení nejlepší varianty z nějakého souboru možností. Zde není vhodné využití nominální informace o preferencích mezi kritérii, jelikož to může vést k výběru několika přípustných řešení. Může se stát, že každá metoda určí za optimální jinou variantu. Takto určené varianty značíme jako kompromisní. Cílem je uspořádání variant, kde hledáme jediné optimální řešení a postupně vylučujeme kompromisní varianty, až zbude jediná - optimální. Cílem je klasifikace variant na dobré a špatné, kde rozdělujeme varianty, jak již bylo zmíněno, na dobré a špatné (popř. přípustné, nepřípustné) na základě znalosti aspirační úrovně jednotlivých kritérií Kritéria hodnocení Hodnotící kritéria mohou nabývat různé povahy, od procentuelních či peněžních vyjádření, přes fyzikální a technologicky měřitelné vlastnosti až po kritéria výhradně subjektivní, kam můžeme zahrnout např. krásu nebo zábavu. Díky nim máme možnost posuzovat jednotlivé varianty a jsou nezbytnou součástí cesty k nalezení optimálního řešení. Obecně se uvažuje m kritérií, kde m je celé kladné číslo > 1, tj. m = 1, 2, 3,, n). 124

125 Kritéria můžeme rozdělit buď dle povahy na: maximalizační, neboli výnosová, kde jsou preferovány hodnoty vyšší (např. maximalizace zisku) a minimalizační, tedy nákladová, s upřednostňovanými nižšími hodnotami (např. spotřeba materiálu), nebo dle kvantifikovatelnosti na: kvantitativní, umožňující stanovit hodnoty kritérií pro každou variant. Nevýhodou je, že tato kritéria bývají často nesouměřitelná kvůli vyjádření v různých jednotkách a někdy je nutné tuto nesouměřitelnost normalizačně odstranit, kvalitativní kritéria nám dovolují pouze na základě určitého kritéria stanovit buď rovnocennost srovnávaných variant, nebo určit, zda je některá z variant lepší, či horší. 2.3 Varianta Rozhodovací variantou se rozumí nějaký prvek (předmět, služba), který má smysl porovnávat s jiným, popř. více prvky, přicházející v úvahu pro výběr v procesu rozhodování. Obecně se uvažuje n variant, kdy ne je celé kladné číslo > 1. Dle zadání množiny přípustných variant můžeme dělit problémy na: úlohy vícekriteriálního hodnocení variant, kdy jsou přípustné pouze explicitně (jasně, přímo) vymezené varianty, a úlohy vícekriteriálního programování, kdy jsou přípustné varianty naopak vymezeny implicitně, soustavou podmínek, kdy jsou všechna kritéria kvantitativního rázu. 2.4 Důsledky Důsledky jsou vyjádřeny hodnotami kritérií a mohou být jednoznačné nebo závisející na stavech světa, které charakterizujeme jako vzájemně se vylučující stavy rozhodovacího systému, které rozhodovatel nekontroluje (popř. nemá možnost kontrolovat). Tyto náhodné faktory okolí považujeme buď za diskrétní náhodné veličiny, které určují stavy světa nebo za fuzzy veličiny (množiny). Více o metodách, stanovení kritérií i řešené příklady je možno nalézt na webové stránce (přesný odkaz je uveden ve zdrojích). Pokud je subjekt rozhodování jistý, jaké budou důsledky variant a jaký nastane stav světa, hovoříme o rozhodování za jistoty. Pokud je subjekt rozhodování znalý alespoň pravděpodobnostních hodnot, ale současně ne s určitou jistotou, označujeme toto rozhodování jako rozhodování za rizika. Pokud subjekt rozhodování není seznámen ani s pravděpodobnostmi důsledků a vývoje stavu světa, setkáváme se s tzv. rozhodováním za nejistoty. 125

126 3. Multiagentní systém Na webovém serveru cs.wikipedia.org je multiagentní systém (dále MAS) definován jako [1]simulované prostředí se síťovým charakterem, v němž dochází k interakci určitých typů aktérů (agentů) mezi sebou a/nebo s prostředím, ve kterém se nacházejí. MAS jsou charakteristické decentralizovaným pojetím, asynchronními výpočty, často i neexistencí centrálního prvku. Agenty nemusí být schopny řešit samostatně univerzální spektrum úloh. V tom případě žádný z agentů není schopen vyřešit daný problém sám, jelikož k tomu buď nemá schopnosti, anebo není schopen zkompletovat veškeré dostupné a potřebné informace. Proto je mezi agenty třeba komunikace a spolupráce. Umělá inteligence v multiagentních systémech vychází z principu emergentní funkcionality, což znamená, že racionální chování agenta může být samovolným impulzem v rámci interakcí s okolním prostředím, dále dekompozice na úrovni úloh, kdy se jedná o to, že je problém rozdělen na menší části v souladu s cíli a reaktivity, neboli zásady, že akce je reakcí na aktuální stav prostředí. Základním podnětem ke vzniku MAS bylo především nalézt účinnější řešení rozsáhlých a složitých úloh. Základním kamenem byl nástup distribuované umělé inteligence, nebo také DAI (Distributed Artificial Intelligence), která spočívá v rozdělení úlohy na konkrétní části, které jsou poté samostatně řešeny. Konkrétně se jedná o přelom 70. a 80. let 20.století, kdy bylo dosaženo výrazných pokroků v rámci expertních systémů, a začaly se využívat sítě typu LAN. Dozvědět se více o DAI je možné např. v knize Distributed Artificial Intelligence : Theory and Praxis od Nicholase M. Avourise, která je dostupná i na internetu v databázi knih books.google.cz Agent Agent je v knize Inteligentní agenty od Aleše Kubíka definován jako [2]entita, zkonstruovaná za účelem kontinuálně a do jisté míry autonomně plnit své cíle v adekvátním prostředí na základě vnímání prostřednictvím senzorů a prováděním akcí prostřednictvím aktuátorů. Agent přitom ovlivňuje podmínky v prostředí tak, aby se přibližoval k plnění cílů. Agenty rozdělujeme na několik typů v závislosti na možnostech chování a uvažování a v následujících řádkách si je stručně představíme. Reaktivní agent má nejjednodušší vnitřní strukturu a disponuje pouze vyrovnávací pamětí obsahující záznam stavu agenta. Jeho chování je racionální, když se daný paralelní proces spustí buď vlivem z okolního prostředí, nebo vnitřního stavu agenta, popř. může být spuštěn také kombinací těchto dvou podnětů, ale současně je jeho vnímání omezeno danou množinou impulzů z okolí. Je vhodný pro rychle se měnící prostředí. Deliberativní agent, neboli uvažující agent, se svým chováním již blíží autonomnosti lidí a dokáže jednoduše reprezentovat prostředí i vnitřní stavy. Současně dokáže této reprezentace využít k vytvoření plánu, jak dosáhnout daného cíle. Cíle jsou hodnoceny dle priorit a plány mívají hierarchické 126

127 uspořádání. Nevýhoda uvažujícího agenta spočívá v tom, že nemá možnost si svobodně zvolit jak prostředky pro plnění cílů, tak i postupy, jak daného cíle dosáhnout a zároveň tedy nemá možnost zlepšovat svoji funkcionalitu i chování. Sociální agent je takový, který komunikuje ve vyšším komunikačním jazyce, kam řadíme např. KQML. Jeho princip je založen na tzv. sociální inteligenci, která spočívá v získávání a udržení co největšího množství informací o ostatních agentech, se kterými přichází do interakcí. Tyto údaje potřebuje znát z důvodu ad hoc povahy interakcí, tedy z důvodu dočasnosti a krátkého trvání koalic a současně mají sociální agenti k dispozici také historii interakcí, jako jsou například jména agentů, negociační strategie, ceny transakcí aj., kterou dokáže později využít k vyhledání pomoci od ostatních agentů ve snaze zmírnit negativní důsledky svého jednání z důvodu omezenosti vlastních dispozic. Hybridní agent kombinuje některé, popř. všechny architektury v jeden celek. Je složen ze dvou hlavních částí plánovací a reaktivní jednotky. Během akce vytvoří plán, který se posléze začíná uskutečňovat. Každá akce je kontrolována reaktivní jednotkou, která dohlíží na to, zda se daná činnost drží plánu a nedošlo ke změně. Pokud změna v okolí nastane, odešle se plánující jednotce impuls k přehodnocení plánu. 4. Spojení MAS a VR Architektury MAS jsou v nemalé míře inspirovány říší hmyzu. Typickým příkladem je kolonie mravenců, kde je pro optimální život v mraveništi zapotřebí hned několik cílů např.: vybudování samotného mraveniště, tedy nalézt vhodné místo a sbírat vhodný materiál, obstarání potravy, kdy je často potřeba spolupráce při přemístění většího kusu, nalezení vhodné cesty při přesunu potravy, obsahující co nejméně překážek, překonávání menších překážek (např. větev) a vyhýbání se větším a obtížnějším (např. kaluž), místo hledání potravy, tedy kde a jak daleko od mraveniště potravu hledat, rozšiřování kolonie a ochrana vajec, reakce v případě narušení, popř. zničení stanoviště, kdy je nutné stanovit priority, jako záchrana královny, obnovení mraveniště apod.. K jednomu cíli (resp. optimu) je tedy zapotřebí vykonat řadu menších úkolů, kdy každý jednotlivec disponuje určitými schopnostmi (má ve skupině danou roli) a ke splnění úkolu je nezbytné, aby mezi sebou jedinci (popř. soubory jedinců) komunikovali a kooperovali, i když je v tomto případě kritérií pro rozhodování jen pomálu. Obdobné chování v populaci je možné pozorovat samozřejmě také v jiných společenstvích, jako jsou např. včely apod.. 127

128 4.1. Umělá inteligence V souvislosti s umělou inteligencí je možno zmínit oblast robotického fotbalu. Jedná se o zápas dvou skupin robotů s pravidly podobnými klasickému fotbalu, avšak pozměněnými pro možnosti robotiky. Cíl je zde zřejmý dostat míč do soupeřovy brány, popř. oblasti, která bránu reprezentuje. Rozhodčím je sice člověk, ale při samotné hře jím nesmí být do hry nijak zasaženo a vše spočívá pouze v uvažování a akci robotů. Ti musí reagovat na pohyb svých protihráčů, uvažovat, zda míč přihrát spoluhráči (popř. vybrat, kterému ze spoluhráčů, kteří jsou v dosahu) nebo rozhodnout, že určitou akci vykoná agent sám, dále se musí taktéž vyhýbat překážkám, jako je např. pohyb kolem protivníka nebo koordinace své rychlosti. Toto úsilí je výchozím bodem pro řešení návazných problémů z oblasti robotiky, autonomních systémů, umělé inteligence a jiných disciplín, kdy samotný vývoj samozřejmě pokračuje a samotným cílem v této oblasti je vytvoření dokonalých humanoidních robotů schopných porazit mistry světa. Více informací o robotickém fotbalu je k dispozici na webové stránce Ekonomie Z oblasti ekonomie je možné si MAS představit např. na trhu s akciemi, kdy agenty jsou v tomto případě účastníci prodávající a nakupující určitý objem aktiv. Aplikace VR by mohla rozhodovat především o tom, zda (popř. kdy) akcie nakoupit či prodat, do jaké komodity investovat a za jakou cenu, apod.. Hlavním cílem je tedy maximalizace výdělku, popř., vzhledem k riziku a dynamičnosti akciového trhu, eliminace bankrotu. Kritéria by v tomto případě mohla být např.: vývoj komodity na trhu v časovém intervalu, popř. v několika časových intervalech najednou (za poslední týden, měsíc, rok ), a klasifikace důležitosti růstu/poklesu v posledním týdnu, ale současně zhodnocení, jak si daná komodita na trhu stála v posledním roce a odhadnutí její (ne)stability, aktuální postavení komodity na trhu, aktuální procentuelní nárůst/pokles, procento zájmu o danou komoditu, procento potenciálního využití komodity v budoucnu, znalost stavu ekonomiky, sledování trendů, ovlivnění názorem, postavení firmy, obchodující s komoditou, na trhu (popř. více firem) aj.. Kritéria mohou být aplikována buď na jedno konkrétní aktivum, nebo na více aktiv a výsledky poté porovnávány mezi sebou. Vzhledem k širokému spektru kritérií a situací na trhu je nutné, aby v systému fungovalo několik agentů, zaměřujících se na specifické oblasti, tedy: agent sledující trendy, 128

129 agent shromažďující a vyhodnocující informace o situaci na trhu za určité období, agent zabývající se aktuálním stavem ekonomiky, agent zpracovávající a vyhodnocující informace. Agenty, zabývající se konkrétní oblastí, posílají shromážděné informace jednotce zpracovávající a vyhodnocující data. Agent, který sleduje trendy, se zabývá aktuální situací na trhu, tedy do jaké komodity investovat, popř. kterou službou se zabývat, aby bylo dosaženo zisku. Jelikož je trh dynamický, je třeba spolupracovat také s entitou, která shromažďuje a uchovává informace o situaci na trhu za minulé období a má tak možnost prověřit míru stability, nebo v závislosti na vzrůstajícím zájmu o danou komoditu, předvídat budoucí vývoj a podpořit, nebo naopak zavrhnout, investici či prodej. Podobný problém řeší také jednotka, zabývající se aktuálním stavem ekonomiky. Neřeší tedy produkt jako takový, ale to, zda bude do něj vůbec investováno a současně musí informace o stavu ekonomiky neustále obnovovat z důvodu objektivity a o daných aktualizacích informovat agenta, zpracovávajícího a vyhodnocujícího informace. Ten na základě dat, shromážděných od ostatních aktérů, vyhodnotí optimální variantu dle zadaného cíle Medicína Vícekriteriální rozhodování v rámci MAS se dá aplikovat také v medicíně. Jako příklad může sloužit systém shromažďující informace o pacientovi a současně vyhodnocující zdravotní stav sestávající z: agentů zabývajících se sběrem informací z konkrétní oblasti, agentů shromažďujících a třídících informace, agenta zpracovávajícího data, agenta kontrolujícího zpracované informace a vyhodnocujícího data, agenta doplňujícího informace. První zmíněná skupina agentů má za úkol sbírat data o konkrétním pacientovi od lékařů z jednotlivých oborů (praktický lékař, neurologie, alergologie ), jako např.: soupis potíží, věk výška/váha, choroby v rodině, podstoupená vyšetření, výsledky vyšetření, diagnózy, léčba, operativní zákroky, trvalé užívání léků, 129

130 dočasné užívání léků, (ne)užívání omamných látek, cigaret a alkoholu, přecitlivělost na látky (alergie, potíže po užití léku ) atd.. Jednotlivé agenty předají data entitě, která bude veškeré informace shromažďovat a třídit (celkový soupis potíží, léků, diagnóz, ale také vizuální prvky, jako rentgenové snímky, grafy vyšetření EKG apod.) a posílat je další jednotce, jejíž úkolem je přijatá data zpracovávat. Ta předá již zpracované informace agentovi, který je zkontroluje a vyhodnotí (např. stanoví jednu nebo více diagnóz v závislosti na příznacích a potížích pacienta) a současně bude spolupracovat s entitou vyhledávající a doplňující informace, např. z internetu, jako je složení léků, příznaky a průběh chorob aj.. Agent, který vyhodnotí data, poté může určit např. zda smí pacient užívat určité léky, tedy není přecitlivělý na některou z obsažených látek a současně nebude mít potíže v kombinaci s jiným medikamentem, zda je schopen podstoupit operativní zákrok (vzhledem k věku, aktuálnímu zdravotnímu stavu apod.), stanovit jednu konkrétní nebo více potenciálních diagnóz v závislosti na aktuálních potížích či výsledcích vyšetření nebo navrhnout účinnou léčbu, jako je aplikace léků a jakých, rehabilitace nebo operace Vojenství a prozkoumávání vesmírných těles MAS je možné využít také k prohledávání terénu, popř. hledání nejvhodnější cesty, což může být využito např. ve vojenství nebo v prozkoumání povrchu vesmírných těles za pomocí třech druhů agentů: agent provádějící kontrolní činnost, agent shromažďující a vyhodnocující informace a agent prohledávající terén, tedy takový, co sbírá informace a odesílá je agentovi, který informace shromažďuje (tento agent může popř. také sbírat vzorky povrchu). Agent, provádějící kontrolní činnost, by měl dohlédnout především na anomálie v terénu (ve vojenství např. podezření na umístění miny) a odeslat informaci o této odlišnosti agentovi, který má za úkol, kromě shromažďování informací, vyhodnotit data o potenciálním nebezpečí (zda se jedná skutečně o minu nebo kámen, kaluž ) a výsledek poslat interagující jednotce, která se v případě nebezpečí nebo neschopnosti překonání překážky tomuto místu vyhne, čímž může být zabráněno jejímu poškození. V rámci prozkoumávání vesmírného tělesa nemusí být odlišnost nutnou hrozbou, ale naopak impulzem ke sběru vzorku povrchu vhodného k prozkoumání a na základě složení určit, zda na tělese byl či je život, nebo vyhodnotit, zda by bylo možné podmínky pro život vytvořit, v závislosti na vyhodnocených vzorcích, povrchu tělesa a jeho struktuře, okolní teplotě a její proměnlivosti, koncentraci vzduchu, dopadu světla, přítomnosti plynů apod.. Ve vojenství je příkladem cíle nalezení nejkratší (nebo také nejméně náročné, kryté ) a současně bezpečné cesty a pro, zde potřebnou, časovou úsporu může být 130

131 do terénu aplikováno několik agentů, prohledávajících terén, kteří si mohou vzájemně posílat informace o místech s potenciální hrozbou a poté čekat na zprávu od agenta vyhodnocujícího informace. Cílem ale také může být vymezení bezpečné, popř. kryté, plochy, vhodné k utáboření. 5. VÝHODY SLOUČENÍ VÍCEKRITERIÁLNÍHO ROZHODOVÁNÍ S MAS Hlavní důvody, pro které kombinace obou přístupů představuje přínos: Úspora času, kdy v určitých případech může spolupráce většího množství agentů přinést výsledek ve výrazně kratším časovém úseku, než sběr informací a vykonávání akcí solitérního agenta. Ekonomické důvody, kde sice výrobní náklady na jednotku nemusí být malé, ale netřeba opomenout, že multiagentní systém se může skládat pouze ze dvou entit. Např. první jednotka bude vykonávat akce a druhá kontrolní činnost, jejímž hlavním účelem bude zaznamenání nežádoucích impulsů (akcí) a zpětnou reakcí odesláním zprávy první jednotce může zamezit její poruše, jejíž renovace a opětovný sběr informací, popř. vykonávání akcí by mohl znamenat vyšší finanční ztrátu (nejen z materiálního, ale i časového hlediska), než výroba a uvedení do provozu dvou jednotek. Současně může kontrolní agent sbírat a uchovávat data zjištěná první entitou, popř. může být sběr dat samotným účelem. Příkladem může být zkoumání terénu. Vyhledání a popř. vykonání optimálního řešení, což je cílem samotného vícekriteriálního rozhodování a hlavní důvod sloučení s problematikou MAS. Možnost dosažení cíle několika alternativami, jelikož se někdy může stát, že pro nás bude v rámci stejného problému vhodnější určitá varianta, závislá na odlišných omezeních. V závislosti na těchto omezeních je třeba také lehce přizpůsobit chování agentů k dané situaci. I když se teď nebudeme pohybovat přímo v oblasti MAS, může být dobře pochopitelným příkladem volba cesty přes GPS. Naším úkolem bude zvolení trasy Hradec Králové Brno, kde máme možnost volby nejrychlejší nebo nejkratší trasy. Omezení budou pro nás důležitá v závislosti na konkrétní situaci při malém množství benzínu zvolíme z úsporných důvodů nekratší cestu, z důvodu časové úspory zase tu nejrychlejší. Přesnost řešení, díky postupnému shromažďování, vyhodnocování a možnému doplňování informací, které bylo zmíněno v souvislosti s aplikací v oblasti medicíny. Možnost práce i s velkým množstvím dat, díky rozdělení funkcí mezi několik agentů někteří budou pověřeni sběrem a předáváním informací, kdy má každý jednotlivec na starosti jinou oblast. Předaná data může vyhodnotit rovněž několik agentů z důvodu přesnosti v konkrétní oblasti a eliminaci komplikací z přijímání nadměrného množství dat a zpracované informace poslat dalšímu agentovi, který je vyhodnotí a vybere optimální variantu. 131

132 6. Závěr I přesto, že je spojení vícekriteriálního rozhodování s multiagentními systémy teprve v začátcích a není běžně aplikováno v praxi, dosažený a nadále pokračující vývoj v obou disciplínách samostatně, především v oboru multiagentních systémů, slibuje velkou budoucnost především díky široké škále možností aplikace obou oblastí. Vícekriteriální rozhodování a řešení úloh může například výrazně přispět k vývoji robotů díky spojení samotné naprogramované inteligence s logickým uvažováním na bázi výpočtů a schopností komunikace i interakce s jinými entitami, popř. i se samotným člověkem. Zkoumání a spojení obou oborů je tedy do budoucna minimálně zajímavou výzvou. Literatura [1] Cs.wikipedia.org [online] [cit ]. Multiagentní systém. Dostupné z WWW: < [2] KUBÍK, Aleš Inteligentní agenty. Vydání první. Brno : Computer Press, 2004.s.12. ISBN [3] RAMÍK, J, PERZINA, J. Moderní metody hodnocení a rozhodování. Vydání první. Karviná : Slezská Univerzita v Opavě, ISBN [4] KUBÍK, Aleš Inteligentní agenty. Vydání první. Brno : Computer Press, ISBN [5] Theses.cz [online] Vícekriteriální hodnocení variant a její aplikace v praxi. Dostupné z WWW: < [6] Advances.uniza.sk [online] Možnosti využití multiagentních systému v medicíně. Dostupné z WWW: < [7] Eldar.cz [online] Reaktivní multiagentní modely v ekonomii. Dostupné z WWW: < [8] Scss.sk [online] Vícekriteriální rozhodování. Dostupné z WWW : < A%20Z%20INTERNETU/VIACKRITERI%C1LNE%20ROZHODOVANIE/SMEP %203_1%20%20Skriptum.htm>. Nela Klusáčková Univerzita Hradec Králové, Fakulta informatiky a managementu Rokitanského 62, Hradec Králové, Česká republika nela.klusackova@uhk.cz 132

133 FRONTY V UZAVŘENÉM A OTEVŘENÉM SYSTÉMU HROMADNÉ OBSLUHY QUEUES IN THE CLOSED AND OPEN QUEUING SYSTEM Zuzana Němcová Abstrakt Článek shrnuje dosavadní poznatky o vývoji délek front jak v uzavřeném, tak v otevřeném lineárním systému hromadné obsluhy. Oba systémy se hojně vyskytují ve výrobních procesech, kde prioritním požadavkem je dodržení sledu několika po sobě jdoucích operací. Příkladem je pásová výroba. Náklady vyplývající z příliš dlouhých front v systému tvoří významnou část celkových výrobních nákladů. Znalost vývoje front je pro manažery systému důležitá zejména z hlediska možnosti efektivně zasáhnout do výrobního procesu snížením dob obsluh u určitých obslužných míst snížit délky front a tudíž snížit i celkové výrobní náklady. Klíčová slova systémy hromadné obsluhy, délky front, výrobní náklady Abstract The paper summarizes current knowledge of the development of queue lengths in the closed and open linear queuing system. Both systems can be found in the manufacturing processes, where several successive operations have to be observed. An example of such system is the assembly line. Important part of total production costs comprises costs resulting from excessively long queues in the system. Knowledge of the development of the queue lengths is important for the managers of the system, because they can effectively intervene in the production process and by changing the service times of several servers the lengths of the queues can be reduced and thus the total production costs are reduced. Keywords queuing systems, lengths of the queues, production costs 1. Introduction This paper is a summary of knowledge of queuing systems described in [1], [2]. Basics of queuing theory can be found in [3]. To be able to predict the development of queues in the manufacturing system is beneficial especially due to possibility to reduce costs, in particular costs resulted from undesirably long queues. The 133

134 manager of the system can affect the performance of servers to adapt the service times to the arrival intensities and reach the optimal state, when the queuing costs are tolerable. Lengths of the queues for closed queuing system are described using max-plus algebra. Similar system, but with using stochastic methods, was considered in [5]. The terminology and basic foundation of max-plus algebra can be found in [4]. The development of queue lengths for open queuing system, vector of number of waiting requests, is defined as a set of rules. 2. Closed linear queuing system The closed system is depicted in the Figure 1. We consider a closed system of n servers. Each server can serve only one customer at a time and every customer has to pass all servers continuously so the requests are circulating in the system. We assume for simplicity that at the beginning there is one customer in each server. Fig. 1: Considered closed system Systems of this kind occur in manufacturing systems where several successive operations must be repeated many times, or without repeating operations but with the outgoing items immediately being substituted by fresh ones Lengths of the queues The queues in the stable state are forming only in front of the slowest server in the system. The description of the computation of the lengths of the queues follows. Let us denote the basic length of the queue as z and the extended length of the queue as a z+1. The time during which the queue is of length z+1 denote as m and the time during which the queue is of length z denote as λ-m. Let us denote i (k) as the k-th service time at queue i. If there is only one maximal value in the system, then the characteristics of the queue are computed by i following formula, where k denotes the relevant column of the matrix the eigenvector is found (the element of matrix A is denoted as denotes the eigenvalue of A (both in terms of max-plus algebra). A - where a ij ), and the λ In the system with more than one maximal value i the basic, extended length can be computed by following formula, where v is computed as a maximum of all eigenvectors of matrix A in terms of max-plus algebra. 134

IPv6. RNDr. Ing. Vladimir Smotlacha, Ph.D.

IPv6. RNDr. Ing. Vladimir Smotlacha, Ph.D. IPv6 RNDr. Ing. Vladimir Smotlacha, Ph.D. Katedra počítačových systémů Fakulta informačních technologií České vysoké učení technické v Praze Vladimír Smotlacha, 2011 Počítačové sít ě BI-PSI LS 2010/11,

Více

Y36PSI IPv6. Jan Kubr - 7_IPv6 Jan Kubr 1/29

Y36PSI IPv6. Jan Kubr - 7_IPv6 Jan Kubr 1/29 Y36PSI IPv6 Jan Kubr - 7_IPv6 Jan Kubr 1/29 Obsah historie, motivace, formát datagramu, adresace, objevování sousedů, automatická konfigurace, IPsec, mobilita. Jan Kubr - 7_IPv6 Jan Kubr 2/29 Historie

Více

Počítačové sítě II. 15. Internet protokol verze 6 Miroslav Spousta, 2006

Počítačové sítě II. 15. Internet protokol verze 6 Miroslav Spousta, 2006 Počítačové sítě II 15. Internet protokol verze 6 Miroslav Spousta, 2006 , http://www.ucw.cz/~qiq/vsfs/ 1 IPv6 nejnovější protokol, ve fázi testování řeší: vyčerpání adres zabezpečení (povinně

Více

Úvod do IPv6. Pavel Satrapa

Úvod do IPv6. Pavel Satrapa Úvod do IPv6 Pavel Satrapa Pavel.Satrapa@tul.cz 1. polovina 90. let IPv4 adresy dojdou kolem roku 2003 některé kategorie (třída B) mnohem dříve Návrh nové verze IP času je dost neomezí se jen na prodloužení

Více

Abychom se v IPv6 adresách lépe orientovali, rozdělíme si je dle způsobu adresování do několika skupin:

Abychom se v IPv6 adresách lépe orientovali, rozdělíme si je dle způsobu adresování do několika skupin: Adresy v internetovém protokolu verze 6 (I) V tomto a dalším díle IPv6 seriálu se budeme věnovat různým typům IPv6 adres, vysvětlíme si jejich formát zápisu, k čemu se používají a kde se s nimi můžeme

Více

Zkrácení zápisu dvojitou dvojtečkou lze použít pouze jednou z důvodu nejednoznačnosti interpretace výsledného zápisu adresy.

Zkrácení zápisu dvojitou dvojtečkou lze použít pouze jednou z důvodu nejednoznačnosti interpretace výsledného zápisu adresy. Vlastnosti IPv6 (I) Minulé díly seriálu IPv6 vysvětlily proč se IPv4 blíží ke svému konci aže jeho nástupcem je nový Internetový Protokol verze 6 (IPv6). Tématem dnešního dílu jsou vlastnosti IPv6 protokolu.

Více

Registrační číslo projektu: CZ.1.07/1.5.00/34.0553 Elektronická podpora zkvalitnění výuky CZ.1.07 Vzděláním pro konkurenceschopnost

Registrační číslo projektu: CZ.1.07/1.5.00/34.0553 Elektronická podpora zkvalitnění výuky CZ.1.07 Vzděláním pro konkurenceschopnost Registrační číslo projektu: CZ.1.07/1.5.00/34.0553 CZ.1.07 Vzděláním pro konkurenceschopnost Projekt je realizován v rámci Operačního programu Vzdělávání pro konkurence schopnost, který je spolufinancován

Více

Počítačové sítě 1 Přednáška č.5

Počítačové sítě 1 Přednáška č.5 Počítačové sítě 1 Přednáška č.5 Osnova = Vlastnosti IPv6 = Adresování v IPv6 = Routovací protokoly pro IPv6 = Metody migrace mezi IPv4 a IPv6 Rozdíly IPv4 vs IPv6 = Větší adresní prostor = Řádově 100 000

Více

Komunikační sítě a internetový protokol verze 6. Lukáš Čepa, Pavel Bezpalec

Komunikační sítě a internetový protokol verze 6. Lukáš Čepa, Pavel Bezpalec Komunikační sítě a internetový protokol verze 6 Lukáš Čepa, Pavel Bezpalec Autoři: Lukáš Čepa, Pavel Bezpalec Název díla: Komunikační sítě a internetový protokol verze 6 Vydalo: České vysoké učení technické

Více

Standardizace Internetu (1)

Standardizace Internetu (1) Internet Standardizace Internetu (1) RFC Request for Comments, základní dokumenty identifikovány čísly, po vydání se nemění místo změny se nahradí jiným RFC přidělen stav proposed standard: návrh (ustálené,

Více

IPv4/IPv6. Ing. Michal Gust, ICZ a. s.

IPv4/IPv6. Ing. Michal Gust, ICZ a. s. IPv4/IPv6 Ing. Michal Gust, ICZ a. s. www.i.cz Agenda IPv4 krátké zopakování Proč se zajímat o IPv6? V čem je IPv6 jiný? Možnosti nasazení IPv6 www.i.cz Třídy adres, privátní sítě, Class Leading bits Size

Více

Registrační číslo projektu: CZ.1.07/1.5.00/34.0553 Elektronická podpora zkvalitnění výuky CZ.1.07 Vzděláním pro konkurenceschopnost

Registrační číslo projektu: CZ.1.07/1.5.00/34.0553 Elektronická podpora zkvalitnění výuky CZ.1.07 Vzděláním pro konkurenceschopnost Registrační číslo projektu: CZ.1.07/1.5.00/34.0553 CZ.1.07 Vzděláním pro konkurenceschopnost Projekt je realizován v rámci Operačního programu Vzdělávání pro konkurence schopnost, který je spolufinancován

Více

Registrační číslo projektu: CZ.1.07/1.5.00/ Elektronická podpora zkvalitnění výuky CZ.1.07 Vzděláním pro konkurenceschopnost

Registrační číslo projektu: CZ.1.07/1.5.00/ Elektronická podpora zkvalitnění výuky CZ.1.07 Vzděláním pro konkurenceschopnost Registrační číslo projektu: CZ.1.07/1.5.00/34.0553 CZ.1.07 Vzděláním pro konkurenceschopnost Projekt je realizován v rámci Operačního programu Vzdělávání pro konkurence schopnost, který je spolufinancován

Více

Co je to IPv6 Architektura adres Plug and Play Systém jmenných domén Přechod Současný stav IPv6

Co je to IPv6 Architektura adres Plug and Play Systém jmenných domén Přechod Současný stav IPv6 Co je to IPv6 Architektura adres Plug and Play Systém jmenných domén Přechod Současný stav IPv6 Problémy IPv4 Vyčerpání IPv4 adres 4 slabiky = 4,3 miliard adres Méně než je populace lidí (6,1 miliard)

Více

Internet a zdroje. (ARP, routing) Mgr. Petr Jakubec. Katedra fyzikální chemie Univerzita Palackého v Olomouci Tř. 17. listopadu

Internet a zdroje. (ARP, routing) Mgr. Petr Jakubec. Katedra fyzikální chemie Univerzita Palackého v Olomouci Tř. 17. listopadu Internet a zdroje (ARP, routing) Mgr. Petr Jakubec Katedra fyzikální chemie Univerzita Palackého v Olomouci Tř. 17. listopadu 12 26. 11. 2010 (KFC-INTZ) ARP, routing 26. 11. 2010 1 / 10 1 ARP Address Resolution

Více

4. Síťová vrstva. Síťová vrstva. Počítačové sítě I. 1 (6) KST/IPS1. Studijní cíl. Představíme si funkci síťové vrstvy a jednotlivé protokoly.

4. Síťová vrstva. Síťová vrstva. Počítačové sítě I. 1 (6) KST/IPS1. Studijní cíl. Představíme si funkci síťové vrstvy a jednotlivé protokoly. 4. Síťová vrstva Studijní cíl Představíme si funkci síťové vrstvy a jednotlivé protokoly. Doba nutná k nastudování 3 hodiny Síťová vrstva Síťová vrstva zajišťuje směrování a poskytuje jediné síťové rozhraní

Více

Inovace výuky prostřednictvím šablon pro SŠ

Inovace výuky prostřednictvím šablon pro SŠ Název projektu Číslo projektu Název školy Autor Název šablony Název DUMu Stupeň a typ vzdělávání Vzdělávací oblast Vzdělávací obor Tematický okruh Cílová skupina Anotace Inovace výuky prostřednictvím šablon

Více

Co znamená IPv6 pro podnikovou informatiku.

Co znamená IPv6 pro podnikovou informatiku. Co znamená IPv6 pro podnikovou informatiku Pavel.Satrapa@tul.cz Věčné téma největším problémem Internetu je jeho úspěch historicky pojmenovávání počítačů řešení: DNS velikost směrovacích tabulek řešení:

Více

IPv6. Miroslav Čech. (aktualizováno 2009, J. Blažej)

IPv6. Miroslav Čech. (aktualizováno 2009, J. Blažej) IPv6 Miroslav Čech (aktualizováno 2009, J. Blažej) Literatura P.Satrapa: IPv6, Neocortex sro., Praha 2002 RFC2460 Internet Protocol, Version 6 (IPv6) Specification [December 1998] RFC2373 IP Version 6

Více

Počítačové sítě pro V3.x Teoretická průprava II. Ing. František Kovařík

Počítačové sítě pro V3.x Teoretická průprava II. Ing. František Kovařík Počítačové sítě pro V3.x Teoretická průprava II. Ing. František Kovařík SŠ IT a SP, Brno frantisek.kovarik@sspbrno.cz Model TCP/IP - IP vrstva 2 Obsah 3. bloku IPv4 záhlaví, IP adresy ARP/RARP, ICMP, IGMP,

Více

JAK ČÍST TUTO PREZENTACI

JAK ČÍST TUTO PREZENTACI PŘENOSOVÉ METODY V IP SÍTÍCH, S DŮRAZEM NA BEZPEČNOSTNÍ TECHNOLOGIE David Prachař, ABBAS a.s. JAK ČÍST TUTO PREZENTACI UŽIVATEL TECHNIK SPECIALISTA VÝZNAM POUŽÍVANÝCH TERMÍNŮ TERMÍN SWITCH ROUTER OSI

Více

Registrační číslo projektu: CZ.1.07/1.5.00/34.0553 Elektronická podpora zkvalitnění výuky CZ.1.07 Vzděláním pro konkurenceschopnost

Registrační číslo projektu: CZ.1.07/1.5.00/34.0553 Elektronická podpora zkvalitnění výuky CZ.1.07 Vzděláním pro konkurenceschopnost Registrační číslo projektu: CZ.1.07/1.5.00/34.0553 CZ.1.07 Vzděláním pro konkurenceschopnost Projekt je realizován v rámci Operačního programu Vzdělávání pro konkurence schopnost, který je spolufinancován

Více

Identifikátor materiálu: ICT-3-03

Identifikátor materiálu: ICT-3-03 Identifikátor materiálu: ICT-3-03 Předmět Téma sady Informační a komunikační technologie Téma materiálu TCP/IP Autor Ing. Bohuslav Nepovím Anotace Student si procvičí / osvojí architekturu TCP/IP. Druh

Více

Studentská unie ČVUT v Praze, klub Silicon Hill. 22. února Ondřej Caletka (SU ČVUT) IPv6 nové (ne)bezpečí? 22.

Studentská unie ČVUT v Praze, klub Silicon Hill. 22. února Ondřej Caletka (SU ČVUT) IPv6 nové (ne)bezpečí? 22. IPv6 nové (ne)bezpečí? Ondřej Caletka Studentská unie ČVUT v Praze, klub Silicon Hill 22. února 2011 Ondřej Caletka (SU ČVUT) IPv6 nové (ne)bezpečí? 22. února 2011 1 / 14 Silicon Hill Studentský klub Studentské

Více

Síťová vrstva. RNDr. Ing. Vladimir Smotlacha, Ph.D.

Síťová vrstva. RNDr. Ing. Vladimir Smotlacha, Ph.D. Síťová vrstva RNDr. Ing. Vladimir Smotlacha, Ph.D. Katedra počítačových systémů Fakulta informačních technologií České vysoké učení technické v Praze Vladimír Smotlacha, 2011 Počítačové sít ě BI-PSI LS

Více

InternetovéTechnologie

InternetovéTechnologie 2 InternetovéTechnologie standardy, organizace, internet, Ing. Michal Radecký, Ph.D. www.cs.vsb.cz/radecky RFC dokumenty - Dokumenty RFC (Request For Comment) - poprvé použity v roce 1969 pro potřeby popisu

Více

Inovace výuky prostřednictvím šablon pro SŠ

Inovace výuky prostřednictvím šablon pro SŠ Název projektu Číslo projektu Název školy Autor Název šablony Název DUMu Stupeň a typ vzdělávání Vzdělávací oblast Vzdělávací obor Tematický okruh Inovace výuky prostřednictvím šablon pro SŠ CZ.1.07/1.5.00/34.0748

Více

Routování směrovač. směrovač

Routování směrovač. směrovač Routování směrovač směrovač 1 Předmět: Téma hodiny: Třída: _ Počítačové sítě a systémy Routování směrovač 3. a 4. ročník SŠ technické Autor: Ing. Fales Alexandr Software: SMART Notebook 11.0.583.0 Obr.

Více

Internet. Počítačová síť, adresy, domény a připojení. Mgr. Jan Veverka Střední odborná škola sociální Evangelická akademie

Internet. Počítačová síť, adresy, domény a připojení. Mgr. Jan Veverka Střední odborná škola sociální Evangelická akademie Internet Počítačová síť, adresy, domény a připojení Mgr. Jan Veverka Střední odborná škola sociální Evangelická akademie Počítačová síť počítačová síť = označení pro několik navzájem propojených počítačů,

Více

Počítačové sítě. Lekce 4: Síťová architektura TCP/IP

Počítačové sítě. Lekce 4: Síťová architektura TCP/IP Počítačové sítě Lekce 4: Síťová architektura TCP/IP Co je TCP/IP? V úzkém slova smyslu je to sada protokolů používaných v počítačích sítích s počítači na bázi Unixu: TCP = Transmission Control Protocol

Více

1. Směrovače směrového protokolu směrovací tabulku 1.1 TTL

1. Směrovače směrového protokolu směrovací tabulku 1.1 TTL 1. Směrovače Směrovače (routery) jsou síťové prvky zahrnující vrstvy fyzickou, linkovou a síťovou. Jejich hlavním úkolem je směrování paketů jednotlivými sítěmi ležícími na cestě mezi zdrojovou a cílovou

Více

Přístup k transportní vrstvě z vrstvy aplikační rozhraní služeb služby pro systémové aplikace, služby pro uživatelské aplikace DNS

Přístup k transportní vrstvě z vrstvy aplikační rozhraní služeb služby pro systémové aplikace, služby pro uživatelské aplikace DNS Aplikační vrstva Přístup k transportní vrstvě z vrstvy aplikační rozhraní služeb služby pro systémové aplikace, služby pro uživatelské aplikace RIP DNS TELNET HTTP SNMP RTP SMTP FTP port UDP TCP IP 1 Aplikační

Více

7. Aplikační vrstva. Aplikační vrstva. Počítačové sítě I. 1 (5) KST/IPS1. Studijní cíl. Představíme si funkci aplikační vrstvy a jednotlivé protokoly.

7. Aplikační vrstva. Aplikační vrstva. Počítačové sítě I. 1 (5) KST/IPS1. Studijní cíl. Představíme si funkci aplikační vrstvy a jednotlivé protokoly. 7. Aplikační vrstva Studijní cíl Představíme si funkci aplikační vrstvy a jednotlivé protokoly. Doba nutná k nastudování 2 hodiny Aplikační vrstva Účelem aplikační vrstvy je poskytnout aplikačním procesům

Více

WrapSix aneb nebojme se NAT64. Michal Zima.

WrapSix aneb nebojme se NAT64. Michal Zima. WrapSix aneb nebojme se NAT64 Michal Zima zima@wrapsix.cz EurOpen, 14. května 2013 NAT64 je jedním z mnoha přechodových mechanismů pro IPv6 nahrazuje koncept NAT-PT hlavní RFC6144 6147 snaží se obejít

Více

Inovace bakalářského studijního oboru Aplikovaná chemie

Inovace bakalářského studijního oboru Aplikovaná chemie http://aplchem.upol.cz CZ.1.07/2.2.00/15.0247 Tento projekt je spolufinancován Evropským sociálním fondem a státním rozpočtem České republiky. Síťové vrstvy a protokoly Síťové vrstvy Síťové vrstvy Fyzická

Více

Protokol IP verze 6. Co je to IPv6. Projektování distribuovaných systémů Ing. Jiří Ledvina, CSc.

Protokol IP verze 6. Co je to IPv6. Projektování distribuovaných systémů Ing. Jiří Ledvina, CSc. Protokol IP verze 6 Projektování distribuovaných systémů Ing. Jiří Ledvina, CSc. Co je to IPv6 Architektura adres Plug and Play Systém jmenných domén Přechod IPv4 na IPv6 Problémy IPv4 Vyčerpání IPv4 adres

Více

Počítačové sítě Aplikační vrstva Domain Name System (DNS)

Počítačové sítě Aplikační vrstva Domain Name System (DNS) Aplikační vrstva Domain Name System (DNS) DNS je distribuovaná databáze, kterou používají TCP/IP aplikace k mapování doménových jmen do IP adres (a naopak) DNS informace jsou rozprostřeny po množině DNS

Více

3.17 Využívané síťové protokoly

3.17 Využívané síťové protokoly Název školy Číslo projektu Autor Název šablony Název DUMu Tematická oblast Předmět Druh učebního materiálu Anotace Vybavení, pomůcky Střední průmyslová škola strojnická Vsetín CZ.1.07/1.5.00/34.0483 Ing.

Více

Vzdálený přístup k počítačům

Vzdálený přístup k počítačům Vzdálený přístup k počítačům jedna z nejstarších služeb vzdálený přístup k sálovým počítačům nejprve vzdálené terminály později terminálová emulace jako jedna ze služeb počítačové sítě současnost využíváno

Více

Inovace výuky prostřednictvím ICT v SPŠ Zlín, CZ.1.07/1.5.00/ Vzdělávání v informačních a komunikačních technologií

Inovace výuky prostřednictvím ICT v SPŠ Zlín, CZ.1.07/1.5.00/ Vzdělávání v informačních a komunikačních technologií VY_32_INOVACE_31_20 Škola Název projektu, reg. č. Vzdělávací oblast Vzdělávací obor Tematický okruh Téma Tematická oblast Název Autor Vytvořeno, pro obor, ročník Anotace Přínos/cílové kompetence Střední

Více

Protokoly: IP, ARP, RARP, ICMP, IGMP, OSPF

Protokoly: IP, ARP, RARP, ICMP, IGMP, OSPF IP vrstva Protokoly: IP, ARP, RARP, ICMP, IGMP, OSPF UDP TCP Transportní vrstva ICMP IGMP OSPF Síťová vrstva ARP IP RARP Ethernet driver Vrstva síťového rozhraní 1 IP vrstva Do IP vrstvy náležejí další

Více

PRODUKTY. Tovek Tools

PRODUKTY. Tovek Tools jsou desktopovou aplikací určenou k vyhledávání informací, tvorbě různých typů analýz a vytváření přehledů a rešerší. Jsou vhodné pro práci i s velkým objemem textových dat z různorodých informačních zdrojů.

Více

IntraVUE 2.0.3 Co je nového

IntraVUE 2.0.3 Co je nového IntraVUE 2.0.3 Co je nového Michal Tauchman Pantek (CS) s.r.o. Červen 2008 Strana 2/8 Úvod IntraVUE je diagnostický a podpůrný softwarový nástroj pro řešení komunikačních problémů, vizualizaci a dokumentaci

Více

Business Intelligence

Business Intelligence Business Intelligence Josef Mlnařík ISSS Hradec Králové 7.4.2008 Obsah Co je Oracle Business Intelligence? Definice, Od dat k informacím, Nástroj pro operativní řízení, Integrace informací, Jednotná platforma

Více

Začátek letní školy INKOV. v pondělí 13. května 2013 9:00 hodin na učebně J3

Začátek letní školy INKOV. v pondělí 13. května 2013 9:00 hodin na učebně J3 Začátek letní školy INKOV v pondělí 13. května 2013 9:00 hodin na učebně J3 Informační, kognitivní a interdisciplinární podpora výzkumu INKOV Mezioborové přístupy informatiky a kognitivní vědy LETNÍ ŠKOLA

Více

Aktivní prvky: brány a směrovače. směrovače

Aktivní prvky: brány a směrovače. směrovače Aktivní prvky: brány a směrovače směrovače 1 Předmět: Téma hodiny: Třída: Počítačové sítě a systémy Aktivní prvky brány a směrovače 3. a 4. ročník SŠ technické Autor: Ing. Fales Alexandr Software: SMART

Více

Stav IPv4 a IPv6 v České Republice

Stav IPv4 a IPv6 v České Republice Pavel Šimerda pavel.simerda@netinstall.cz MikroExpo 2012 http://data.pavlix.net/mikroexpo/2012/ Stručná historie Problém vyčerpání adresního prostoru IPv4 1991 Routing and Addressing Group (ROAD) 1993

Více

Registrační číslo projektu: CZ.1.07/1.5.00/34.0553 Elektronická podpora zkvalitnění výuky CZ.1.07 Vzděláním pro konkurenceschopnost

Registrační číslo projektu: CZ.1.07/1.5.00/34.0553 Elektronická podpora zkvalitnění výuky CZ.1.07 Vzděláním pro konkurenceschopnost Registrační číslo projektu: CZ.1.07/1.5.00/34.0553 CZ.1.07 Vzděláním pro konkurenceschopnost Projekt je realizován v rámci Operačního programu Vzdělávání pro konkurence schopnost, který je spolufinancován

Více

Použití analyzátoru paketů bezdrátových sítí Wireshark

Použití analyzátoru paketů bezdrátových sítí Wireshark Použití analyzátoru paketů bezdrátových sítí Wireshark Ladislav Sirový Ing. Ladislav Beránek, Csc. Školní rok: 2008-2009 Abstrakt Analýza sítí se zabývá sledováním a vyhodnocováním provozu počítačových

Více

Inovace bakalářského studijního oboru Aplikovaná chemie

Inovace bakalářského studijního oboru Aplikovaná chemie http://aplchem.upol.cz CZ.1.07/2.2.00/15.0247 Tento projekt je spolufinancován Evropským sociálním fondem a státním rozpočtem České republiky. Síťové vrstvy a protokoly Síťové vrstvy Fyzická vrstva Lan,

Více

Protokol IP verze 6. Filip Staněk Petr Grygárek

Protokol IP verze 6. Filip Staněk Petr Grygárek Protokol IP verze 6 Filip Staněk Petr Grygárek Proč IPv6 1995 - RFC 1883: Internet Protocol, Version 6 Požadavky Adresní prostor 128 bitů (3,4 * 10E38) Různé druhy adres (uni-, multi-, any-cast) Jednotné

Více

Možnosti IPv6 NAT. Lukáš Krupčík, Martin Hruška KRU0052, HRU0079. Konfigurace... 3 Statické NAT-PT Ověření zapojení... 7

Možnosti IPv6 NAT. Lukáš Krupčík, Martin Hruška KRU0052, HRU0079. Konfigurace... 3 Statické NAT-PT Ověření zapojení... 7 Možnosti IPv6 NAT Lukáš Krupčík, Martin Hruška KRU0052, HRU0079 Abstrakt: Tento dokument ukazuje možné řešení problematiky IPv6 NAT. Součástí je návrh topologií zapojení a praktické otestovaní. Kontrola

Více

Zásobník protokolů TCP/IP

Zásobník protokolů TCP/IP Zásobník protokolů TCP/IP Základy počítačových sítí Lekce 3 Ing. Jiří ledvina, CSc Úvod Vysvětlení základních pojmů a principů v protokolovém zásobníku TCP/IP Porovnání s modelem ISO/OSI Adresování v Internetu

Více

Adresování v internetu

Adresování v internetu IP adresa Domény Program ping Adresování v internetu Následující text popisuje adresování v internetu, kterému jsou věnovány obě části. První část věnovanou internetovému protokolu lze však aplikovat na

Více

Použití programu WinProxy

Použití programu WinProxy JIHOČESKÁ UNIVERZITA V ČESKÝCH BUDĚJOVICÍCH PEDAGOGICKÁ FAKULTA KATEDRA INFORMATIKY Použití programu WinProxy pro připojení domácí sítě k internetu Semestrální práce z předmětu Lokální počítačové sítě

Více

FlowMon ADS 3. Nová generace řešení pro analýzu provozu datové sítě. Pavel Minařík pavel.minarik@advaict.com

FlowMon ADS 3. Nová generace řešení pro analýzu provozu datové sítě. Pavel Minařík pavel.minarik@advaict.com 3 Nová generace řešení pro analýzu provozu datové sítě Pavel Minařík pavel.minarik@advaict.com Přehled produktu Plug-in pro řešení FlowMon Network Behavior Analysis Určen pro detekci provozních a bezpečnostních

Více

Obsah. Zpracoval:

Obsah. Zpracoval: Zpracoval: houzvjir@fel.cvut.cz 03. Modelem řízený vývoj. Doménový (business), konceptuální (analytický) a logický (návrhový) model. Vize projektu. (A7B36SIN) Obsah Modelem řízený vývoj... 2 Cíl MDD, proč

Více

Obsah. Úvod 13. Věnování 11 Poděkování 11

Obsah. Úvod 13. Věnování 11 Poděkování 11 Věnování 11 Poděkování 11 Úvod 13 O autorech 13 O odborných korektorech 14 Ikony použité v této knize 15 Typografické konvence 16 Zpětná vazba od čtenářů 16 Errata 16 Úvod k protokolu IPv6 17 Cíle a metody

Více

Registrační číslo projektu: CZ.1.07/1.5.00/34.0553 Elektronická podpora zkvalitnění výuky CZ.1.07 Vzděláním pro konkurenceschopnost

Registrační číslo projektu: CZ.1.07/1.5.00/34.0553 Elektronická podpora zkvalitnění výuky CZ.1.07 Vzděláním pro konkurenceschopnost Registrační číslo projektu: CZ.1.07/1.5.00/34.0553 Elektronická podpora zkvalitnění výuky CZ.1.07 Vzděláním pro konkurenceschopnost Projekt je realizován v rámci Operačního programu Vzdělávání pro konkurence

Více

Na cestě za standardem

Na cestě za standardem Na cestě za standardem Matěj Grégr Vysoké učení technické v Brně igregr@fit.vutbr.cz 1 RFC = standard? Původně využíváno RFC 2026 Proposed Standard Draft Standard Internet Standard Zjednodušeno v RFC 6410

Více

Přednáška 3. Opakovače,směrovače, mosty a síťové brány

Přednáška 3. Opakovače,směrovače, mosty a síťové brány Přednáška 3 Opakovače,směrovače, mosty a síťové brány Server a Client Server je obecné označení pro proces nebo systém, který poskytuje nějakou službu. Služba je obvykle realizována některým aplikačním

Více

Komunikace mezi uživateli: možnost posílání dat na velké vzdálenosti

Komunikace mezi uživateli: možnost posílání dat na velké vzdálenosti 1 očítačová síť Je skupina počítačů (uzlů), popřípadě periferií, které jsou vzájemně propojeny tak, aby mohly mezi sebou komunikovat. 1.1 Důvody vytváření sítí Sdílení zdrojů: HW (hardwarové zdroje): V/V

Více

Konfigurace DHCP serveru a překladu adres na směrovačích Cisco

Konfigurace DHCP serveru a překladu adres na směrovačích Cisco ČESKÉ VYSOKÉ UČENÍ TECHNICKÉ V PRAZE Fakulta elektrotechnická PROJEKT Č. 5 Konfigurace DHCP serveru a překladu adres na směrovačích Cisco Vypracoval: V rámci předmětu: Jan HLÍDEK Komunikace v datových

Více

1 Protokol TCP/IP (Transmission Control Protocol/Internet Protocol) a OSI model

1 Protokol TCP/IP (Transmission Control Protocol/Internet Protocol) a OSI model 1 Protokol TCP/IP (Transmission Control Protocol/Internet Protocol) a OSI model Protokoly určují pravidla, podle kterých se musí daná komunikační část chovat. Když budou dva počítače používat stejné komunikační

Více

Historie a současnost IPv6. Pavel Satrapa Pavel.Satrapa@tul.cz

Historie a současnost IPv6. Pavel Satrapa Pavel.Satrapa@tul.cz Historie a současnost IPv6 Pavel Satrapa Pavel.Satrapa@tul.cz Vznik IPv6 první úvahy v roce 1990 základní koncepční rozhodnutí přijata v 1. polovině 90. let hlavní motivací bylo hrozící vyčerpání adres

Více

metodický list č. 1 Internet protokol, návaznost na nižší vrstvy, směrování

metodický list č. 1 Internet protokol, návaznost na nižší vrstvy, směrování metodický list č. 1 Internet protokol, návaznost na nižší vrstvy, směrování Cílem tohoto tematického celku je poznat formát internet protokolu (IP) a pochopit základní principy jeho fungování včetně návazných

Více

SOU Valašské Klobouky. VY_32_INOVACE_02_18 IKT DNS domény. Radomír Soural. III/2 Inovace a zkvalitnění výuky prostřednictvím ICT

SOU Valašské Klobouky. VY_32_INOVACE_02_18 IKT DNS domény. Radomír Soural. III/2 Inovace a zkvalitnění výuky prostřednictvím ICT SOU Valašské Klobouky Radomír Soural Zkvalitnění výuky prostřednictvím ICT Název a číslo projektu CZ.1.07/1.5.00/34.0459 Název školy SOU Valašské Klobouky, Brumovská 456 Název klíčové aktivity III/2 Inovace

Více

Počítačové sítě. Další informace naleznete na :

Počítačové sítě. Další informace naleznete na : Počítačové sítě Další informace naleznete na : http://cs.wikipedia.org http://dmp.wosa.iglu.cz/ Počítačová síť - vznikne spojením 2 a více počítačů. Proč spojovat počítače? Přináší to nějaké výhody? A

Více

Mobilita v IP verze 6 Úvod

Mobilita v IP verze 6 Úvod Mobilita v IP verze 6 Úvod Lukáš Repka IP je nejzákladnějším nosným protokolem rodiny TCP/IP. Všechny ostatní protokoly jsou přenášeny přímo v datové části IP s příslušným identifikačním číslem vyššího

Více

Návrh a implementace algoritmů pro adaptivní řízení průmyslových robotů

Návrh a implementace algoritmů pro adaptivní řízení průmyslových robotů Návrh a implementace algoritmů pro adaptivní řízení průmyslových robotů Design and implementation of algorithms for adaptive control of stationary robots Marcel Vytečka 1, Karel Zídek 2 Abstrakt Článek

Více

Analýza aplikačních protokolů

Analýza aplikačních protokolů ČESKÉ VYSOKÉ UČENÍ TECHNICKÉ V PRAZE Fakulta elektrotechnická PROJEKT Č. 4 Analýza aplikačních protokolů Vypracoval: V rámci předmětu: Jan HLÍDEK Komunikace v datových sítích (X32KDS) Měřeno: 28. 4. 2008

Více

CCNA I. 3. Connecting to the Network. CCNA I.: 3. Connecting to the network

CCNA I. 3. Connecting to the Network. CCNA I.: 3. Connecting to the network CCNA I. 3. Connecting to the Network Základní pojmy Konvergence sítí (telefony, TV, PC, GSM) SOHO (Small Office and Home Office) nabídka a prodej produktů evidence objednávek komunikace se zákazníky zábava

Více

Komunikace v sítích TCP/IP (1)

Komunikace v sítích TCP/IP (1) České vysoké učení technické v Praze FAKULTA INFORMAČNÍCH TECHNOLOGIÍ katedra počítačových systémů Komunikace v sítích TCP/IP (1) Jiří Smítka jiri.smitka@fit.cvut.cz 14.2.2011 1/30 Úvod do předmětu Jiří

Více

Znalostní systém nad ontologií ve formátu Topic Maps

Znalostní systém nad ontologií ve formátu Topic Maps Znalostní systém nad ontologií ve formátu Topic Maps Ladislav Buřita, Petr Do ladislav.burita@unob.cz; petr.do@unob.cz Univerzita obrany, Fakulta vojenských technologií Kounicova 65, 662 10 Brno Abstrakt:

Více

IP adresy. IP protokol shrnutí poznatků. IP adresa (IPv4)

IP adresy. IP protokol shrnutí poznatků. IP adresa (IPv4) IP adresy Tato kapitola navazuje na kapitoly Síťová komunikace a TCP/IP protokoly a podrobněji rozebírá problematiku adresování v počítačových sítích. Po jejím prostudování bude čtenář schopen vysvětlit

Více

Datum vytvoření. Vytvořeno 18. října 2012. Očekávaný výstup. Žák chápe pojmy URL, IP, umí vyjmenovat běžné protokoly a ví, k čemu slouží

Datum vytvoření. Vytvořeno 18. října 2012. Očekávaný výstup. Žák chápe pojmy URL, IP, umí vyjmenovat běžné protokoly a ví, k čemu slouží Číslo projektu CZ.1.07/1.5.00/34.0394 Škola SOŠ a SOU Hustopeče, Masarykovo nám. 1 Autor Ing. Miriam Sedláčková Číslo VY_32_INOVACE_ICT.3.01 Název Teorie internetu- úvod Téma hodiny Teorie internetu Předmět

Více

Počítačová síť. je skupina počítačů (uzlů), popřípadě periferií, které jsou vzájemně propojeny tak, aby mohly mezi sebou komunikovat.

Počítačová síť. je skupina počítačů (uzlů), popřípadě periferií, které jsou vzájemně propojeny tak, aby mohly mezi sebou komunikovat. Počítačové sítě Počítačová síť je skupina počítačů (uzlů), popřípadě periferií, které jsou vzájemně propojeny tak, aby mohly mezi sebou komunikovat. Základní prvky sítě Počítače se síťovým adaptérem pracovní

Více

Téma bakalářských a diplomových prací 2014/2015 řešených při

Téma bakalářských a diplomových prací 2014/2015 řešených při Téma bakalářských a diplomových prací 2014/2015 řešených při Computer Network Research Group at FEI UPCE V případě zájmu se ozvěte na email: Josef.horalek@upce.cz Host Intrusion Prevention System Cílem

Více

Architektura TCP/IP je v současnosti

Architektura TCP/IP je v současnosti Architektura TCP/IP - úvod Architektura TCP/IP je v současnosti nejpoužívanější síťová architektura architektura sítě Internet Uplatnění TCP/IP user-end systémy (implementace všech funkčních vrstev) mezilehlé

Více

Tovek Tools. Tovek Tools jsou standardně dodávány ve dvou variantách: Tovek Tools Search Pack Tovek Tools Analyst Pack. Připojené informační zdroje

Tovek Tools. Tovek Tools jsou standardně dodávány ve dvou variantách: Tovek Tools Search Pack Tovek Tools Analyst Pack. Připojené informační zdroje jsou souborem klientských desktopových aplikací určených k indexování dat, vyhledávání informací, tvorbě různých typů analýz a vytváření přehledů a rešerší. Jsou vhodné pro práci s velkým objemem textových

Více

6. Transportní vrstva

6. Transportní vrstva 6. Transportní vrstva Studijní cíl Představíme si funkci transportní vrstvy. Podrobněji popíšeme protokoly TCP a UDP. Doba nutná k nastudování 3 hodiny Transportní vrstva Transportní vrstva odpovídá v

Více

Model ISO - OSI. 5 až 7 - uživatelská část, 1 až 3 - síťová část

Model ISO - OSI. 5 až 7 - uživatelská část, 1 až 3 - síťová část Zatímco první čtyři vrstvy jsou poměrně exaktně definovány, zbylé tři vrstvy nemusí být striktně použity tak, jak jsou definovány podle tohoto modelu. (Příkladem, kdy nejsou v modelu použity všechny vrstvy,

Více

Programování síťové služby Sniffer OSPFv2 a OSPFv3

Programování síťové služby Sniffer OSPFv2 a OSPFv3 Dokumentace k projektu z předmětu ISA Programování síťové služby Sniffer OSPFv2 a OSPFv3 Dne 27. listopadu 2011 zpracovala: Kateřina Šímová, xsimov01@stud.fit.vutbr.cz Fakulta informačních technologií

Více

PRODUKTY. Tovek Tools

PRODUKTY. Tovek Tools Analyst Pack je desktopovou aplikací určenou k vyhledávání informací, tvorbě různých typů analýz a vytváření přehledů a rešerší. Jsou vhodné pro práci i s velkým objemem textových dat z různorodých informačních

Více

Informační a komunikační technologie. 3. Počítačové sítě

Informační a komunikační technologie. 3. Počítačové sítě Informační a komunikační technologie 3. Počítačové sítě Studijní obor: Sociální činnost Ročník: 1 1. Základní vlastnosti 2. Technické prostředky 3. Síťová architektura 3.1. Peer-to-peer 3.2. Klient-server

Více

Autor. Potřeba aplikací sdílet a udržovat informace o službách, uživatelích nebo jiných objektech

Autor. Potřeba aplikací sdílet a udržovat informace o službách, uživatelích nebo jiných objektech Adresářová služba X.500 a LDAP Autor Martin Lasoň Abstrakt Potřeba aplikací sdílet a udržovat informace o službách, uživatelích nebo jiných objektech vedla ke vzniku specializovaných databází adresářů.

Více

Směrovací protokol Mesh (802.11s) na platformě Mikrotik

Směrovací protokol Mesh (802.11s) na platformě Mikrotik Směrovací protokol Mesh (802.11s) na platformě Mikrotik J. Bartošek, P. Havíček Abstrakt: V této práci je popsán princip fungování směrovacího protokolu mesh na platformě mikrotik. Na této platformě ovšem

Více

Koncept. Centrálního monitoringu a IP správy sítě

Koncept. Centrálního monitoringu a IP správy sítě Koncept Centrálního monitoringu a IP správy sítě Koncept Centrálního monitoringu a IP správy sítě Společnost Novicom, společně se svým partnerem, společností INVEA-TECH, nabízí unikátní koncept Centralizovaného

Více

VYSOKÁ ŠKOLA BÁŇSKÁ TECHNICKÁ UNIVERZITA OSTRAVA FAKULTA STROJNÍ DATABÁZOVÉ SYSTÉMY ARCHITEKTURA DATABÁZOVÝCH SYSTÉMŮ. Ing. Lukáš OTTE, Ph.D.

VYSOKÁ ŠKOLA BÁŇSKÁ TECHNICKÁ UNIVERZITA OSTRAVA FAKULTA STROJNÍ DATABÁZOVÉ SYSTÉMY ARCHITEKTURA DATABÁZOVÝCH SYSTÉMŮ. Ing. Lukáš OTTE, Ph.D. VYSOKÁ ŠKOLA BÁŇSKÁ TECHNICKÁ UNIVERZITA OSTRAVA FAKULTA STROJNÍ DATABÁZOVÉ SYSTÉMY ARCHITEKTURA DATABÁZOVÝCH SYSTÉMŮ Ing. Lukáš OTTE, Ph.D. Ostrava 2013 Tento studijní materiál vznikl za finanční podpory

Více

Úvod do informatiky 5)

Úvod do informatiky 5) PŘEHLED PŘEDNÁŠKY Internet Protokol a služba Jmenná služba (DNS) URL adresa Elektronická pošta Přenos souborů (FTP) World Wide Web (WWW) Téměř zapomenuté služby 1 INTERNET 2 PROTOKOL A SLUŽBA Protokol

Více

DNS, DHCP DNS, Richard Biječek

DNS, DHCP DNS, Richard Biječek DNS, DHCP Richard Biječek DNS (Domain Name System) Překlady názvů hostname Informace o službách (např. mail servery) Další služby (zpětné překlady, rozložení zátěže) Hlavní prvky DNS: DNS server(y) DNS

Více

EXTRAKT z technické normy CEN ISO

EXTRAKT z technické normy CEN ISO EXTRAKT z technické normy CEN ISO Extrakt nenahrazuje samotnou technickou normu, je pouze informativním materiálem o normě. Inteligentní dopravní systémy Kooperativní ITS Zařízení stanice ITS pro přenos

Více

5. Směrování v počítačových sítích a směrovací protokoly

5. Směrování v počítačových sítích a směrovací protokoly 5. Směrování v počítačových sítích a směrovací protokoly Studijní cíl V této kapitole si představíme proces směrování IP.. Seznámení s procesem směrování na IP vrstvě a s protokoly RIP, RIPv2, EIGRP a

Více

íta ové sít TCP/IP Protocol Family de facto Request for Comments

íta ové sít TCP/IP Protocol Family de facto Request for Comments Architektura TCP/IP v současnosti nejpoužívanější síťová architektura architektura sítě Internet Uplatnění user-end systémy (implementace všech funkčních vrstev) mezilehlé systémy (implementace spodních

Více

POČÍTAČOVÉ SÍTĚ 1. V prvním semestru se budeme zabývat těmito tématy:

POČÍTAČOVÉ SÍTĚ 1. V prvním semestru se budeme zabývat těmito tématy: POČÍTAČOVÉ SÍTĚ 1 Metodický list č. 1 Cílem tohoto předmětu je posluchačům zevrubně představit dnešní počítačové sítě, jejich technické a programové řešení. Po absolvování kurzu by posluchač měl zvládnout

Více

Relační vrstva SMB-Síťový komunikační protokol aplikační vrstvy, který slouží ke sdílenému přístupu k souborům, tiskárnám, sériovým portům.

Relační vrstva SMB-Síťový komunikační protokol aplikační vrstvy, který slouží ke sdílenému přístupu k souborům, tiskárnám, sériovým portům. Aplikační vrstva http-protokol, díky kterému je možné zobrazovat webové stránky. -Protokol dokáže přenášet jakékoliv soubory (stránky, obrázky, ) a používá se také k různým dalším službám na internetu

Více

Koncept centrálního monitoringu a IP správy sítě

Koncept centrálního monitoringu a IP správy sítě Koncept centrálního monitoringu a IP správy sítě Implementace prostředí MoNet a AddNet Jindřich Šavel 31/5/2013 NOVICOM s.r.o. 2012 2013 Novicom All rights s.r.o. reserved. All rights reserved www.novicom.cz,

Více

Semestrální projekt do předmětu SPS

Semestrální projekt do předmětu SPS Semestrální projekt do předmětu SPS Název projektu: Instalace a provoz protokolu IPv6 v nových verzích MS Windows (XP). Ověření proti routerům Cisco a Linux. Cíl projektu: Autoři: Cílem tohoto projektu

Více

CAD pro. techniku prostředí (TZB) Počítačové sítě

CAD pro. techniku prostředí (TZB) Počítačové sítě VYSOKÉ UČENÍ TECHNICKÉ V BRNĚ FAKULTA STROJNÍHO INŽENÝRSTVÍ - ENERGETICKÝ ÚSTAV ODBOR TERMOMECHANIKY A TECHNIKY PROSTŘEDÍ CAD pro techniku prostředí (TZB) Počítačové sítě http://ottp.fme.vutbr.cz/cad/

Více