Piotr Bigaj MEMETYCZNY ALGORYTM GLOBALNEGO PLANOWANIA ŚCIEŻKI Z OGRANICZENIAMI RUCHU DLA ROBOTA MOBILNEGO O NIEHOLONOMICZNYM UKŁADZIE JEZDNYM

Wielkość: px
Rozpocząć pokaz od strony:

Download "Piotr Bigaj MEMETYCZNY ALGORYTM GLOBALNEGO PLANOWANIA ŚCIEŻKI Z OGRANICZENIAMI RUCHU DLA ROBOTA MOBILNEGO O NIEHOLONOMICZNYM UKŁADZIE JEZDNYM"

Transkrypt

1 INSTYTUT BADAŃ SYSTEMOWYCH, POLSKA AKADEMIA NAUK Piotr Bigaj MEMETYCZNY ALGORYTM GLOBALNEGO PLANOWANIA ŚCIEŻKI Z OGRANICZENIAMI RUCHU DLA ROBOTA MOBILNEGO O NIEHOLONOMICZNYM UKŁADZIE JEZDNYM Streszczenie rozprawy doktoskiej Promotor: Prof. dr hab. inż. Janusz Kacprzyk Warszawa 2013

2 Spis Treści: 1. Postawienie zadania Cel pracy Teza pracy Struktura pracy Wprowadzenie do Globalnego Planowania Ścieżki Istota algorytmów ewolucyjnych Opis Platformy IBIS Proponowany algorytmu memetycznego Globalnego Planowania Ścieżki Testy numeryczne HugeMazeMap MarsMap Podsumowanie Literatura

3 1. Postawienie zadania Jednym z najczęściej rozpatrywanych w literaturze zagadnień związanych z autonomią robotów mobilnych jest pokonanie przez robota trasy od punktu startowego do docelowego z jednoczesnym omijaniem przeszkód. W przypadku tak postawionego zadania jedyną metodą postępowania jest rozbicie zadania na dwie następujące po sobie części: globalne planowanie trajektorii (ścieżki), oraz lokalne planowanie trajektorii ruchu robota i jej realizacja. Lokalne planowanie trajektorii jest zadaniem, które polega na zebraniu informacji dotyczących bliskiego otoczenia robota, budowie reprezentacji środowiska, lokalizacji robota w środowisku oraz zaplanowaniu ominięcia występujących przeszkód. Każdy z elementów tej sekwencji czynności dotyczy innych aspektów i wymaga innych narzędzi. W przypadku lokalnego planowania prędkości, robot na podstawie odczytów z sensorów otoczenia ma dostęp do wiedzy jedynie na temat swojego najbliższego otoczenia. Omijanie to powinno być wykonane w sposób bezkolizyjny oraz w możliwie najkrótszym czasie. Jako kryterium jakości oprócz czasu może być przyjęta np. odległości robota od występujących przeszkód. Lokalne planowanie trajektorii [20-24] jest zadaniem, które polega na zebraniu informacji dotyczącej bliskiego otoczenia robota, budowie reprezentacji środowiska, lokalizacji robota i zaplanowaniu ominięcia występujących w reprezentacji przeszkód. Każdy z elementów tej sekwencji dotyczy innych aspektów i wymaga innych narzędzi. W przypadku lokalnego planowania trajektorii robot, na podstawie odczytu z sensorów otoczenia, ma dostęp do wiedzy jedynie na temat swojego najbliższego środowiska. Najbliższe otoczenie jest w tym wypadku rozumiane jako obszar, którego wymiary są tego samego rzędu wielkości, co wymiary robota. Oczywiście, najciekawszą z naukowego punku widzenia częścią lokalnego planowania trajektorii jest omijania przeszkód. Omijanie to powinno być wykonane w sposób bezkolizyjny oraz w możliwie najkrótszym czasie. Kryterium jakości może być, oprócz czasu, np. odległość robota od występujących przeszkód, którą należy maksymalizować. Zadanie Globalnego Planowania Ścieżki (ang. Global Path Planning) [25-27] zostało sformułowane przez Giesbreachta [28] jako proces używający danych dotyczących terenu zadanych a priori w celu obliczenia lub odnalezienia bezkolizyjnej i optymalnej drogi z punktu początkowego do końcowego. Są także inne spojrzenia, np. Yi-nan [29] twierdzi, że globalne planowanie ścieżki to znajdowanie najbardziej rozsądnej ścieżki od punktu początkowego do końcowego. Ogólnie należy powiedzieć, że algorytmy globalne biorą pod uwagę ogólną sytuacje, w której znajduje się robot, i na podstawie tych danych wyznaczają zbiór punktów, w których robot powinien się kolejno znaleźć, aby dotrzeć z punktu początkowego do docelowego. Oznacza to, że algorytm musi posiadać wiedzę na temat obszaru, w którym ruch autonomiczny ma mieć miejsce. Informacja ta jest najczęściej reprezentowana jako mapa terenu, na której zaznaczone są przeszkody statyczne. Globalne planowanie ścieżki robota polega w tym przypadku na wyznaczeniu trasy, którą ma podążać robot, aby ociągnąć punkt docelowy, przy założeniu jakiegoś kryterium jakości. Algorytmy globalnego planowania ścieżki są kluczowym elementem w realizacji autonomii pojazdów bezzałogowych, w szczególności robotów. Globalne planowanie ścieżki jest procesem powolnym, wymagającym dużych nakładów obliczeniowych i nie obejmuje takich aspektów, jak np. stabilność pojazdu podczas wykonywania ruchu, czy problemu małych, dynamicznych przeszkód, gdyż te aspekty są przewidziane w module wykonującym Lokalne Planowanie Trajektorii. Rezultatem działania algorytmu Globalnego Planowania Ścieżki jest więc zbiór punktów, w których powinien znaleźć się robot, aby w końcu dotrzeć do celu. Należy jednak zwrócić uwagę na fakt, że każda reprezentacja środowiska (mapa) jest dyskretna, a co za tym idzie ścieżka jest zbiorem skończonym i nie-gęstym. Tymczasem fizyczny ruch robota jest ciągły, dlatego globalne planowanie 3

4 ścieżki musi posiadać tzw. subplaner, tj. algorytm, który poprowadzi robota pomiędzy kolejnymi punktami ścieżki. Globalne Planowanie Ścieżki robota mobilnego można przeprowadzić biorąc pod uwagę układ napędowy robota oraz skomplikowanie jego modelu. Z punktu widzenia układu napędowego mówi się więc o tym, w jaki sposób robot może się poruszać najczęściej podział ten doprowadza do dwóch ogólnych kategorii: robotów z napędem holonomicznym (zwany często po prostu robotem holonomicznym) oraz robotów nieholonomicznych. W pierwszym przypadku, robot (holonomiczny) traktowany jest jako punkt (tzw. robot punktowy). W drugiej grupie planowanie ścieżki bierze pod uwagę rzeczywiste wymiary robota i strukturę kinematyczno-dynamiczną, oraz często obok zbioru kolejnych punktów które są wynikiem działania algorytmu dostarcza np. danych o maksymalnych bezpiecznych dynamicznych parametrach ruchu. Rozbicie zagadnienia autonomicznej realizacji ruchu robota mobilnego na aspekt globalny i lokalny odpowiada rzeczywistemu rozwiązywaniu problemu przez człowieka. Dla przykładu, chcąc odnaleźć najszybszą drogę między dwoma punktami, człowiek prowadzący samochód posługuje się mapą planując globalnie ścieżkę, a następnie jedzie po wybranej wcześniej drodze, reagując na przeszkody w postaci pieszych, dziur na ulicach czy świateł drogowych. Konieczność zastosowania globalnych algorytmów planowania ścieżki robota zależy bezpośrednio od charakteru środowiska docelowego. Środowiska o małym skomplikowaniu (Rys. 1a), które nie zawierają specyficznych artefaktów, jak np. ślepe zaułki czy obszary tras o ujemnym przyroście odległości od celu, czyli takie, w którym ograniczenie percepcji wynika tylko z ograniczeń sprzętowych zastosowanych proprioreceptorów, nie wymagają stosowania algorytmów globalnych. W środowiskach ustrukturyzowanych lub mieszanych oraz w przypadku ogólnym użycie algorytmu globalnego planowania ścieżki jest niezbędne ze względu na ograniczoną percepcję robota i możliwość zakleszczenia w tzw. ślepych zaułkach (Rys. 1b). W przypadku ogólnym stosowanie algorytmów globalnego planowania ścieżki jest nieodłączną częścią autonomii robotów mobilnych [7, 8, 32-34]. Potencjalne możliwości zakleszczeni a robota a b Rys. 1. Robot holonomiczny oznaczony kolorem zielonym ma dotrzeć do punktu docelowego (kolor czerwony. Niebieski okrąg wyznacza granicę percepcji robota. a) Środowisko w którym bazując jedynie na lokalnej nawigacji robot dotrze do celu b) Sytuacja w której należy zastosować algorytm globalny ze względu na konieczność wykonania ruchu niemonotonicznego Cel pracy 1 Istnieją algorytmy lokalne, które potrafią przeprowadzić robota przez środowisko o podobnym charakterze. Przykładem takiego algorytmu jest algorytm BUG oraz jego modyfikacje jednak ścieżka otrzymana w wyniku działania takiego algorytmu jest wysoce nieoptymalna. 4

5 Celem pracy jest zaproponowanie nowego algorytmu globalnego planowania ścieżki robota mobilnego dla przypadku zastosowania map o zgrubnej dekompozycji komórkowej. Cel ten zostanie osiągnięty przy wykorzystaniu inspirowanych biologicznie algorytmów memetycznych, Rozpatrzony zostanie przypadek ogólny, tzn. podane zostanie rozwiązanie zadania dla robota punktowego (holonomicznego), a następnie pokazane zostanie zastosowanie opracowanego algorytmu dla robota nieholonomicznego, a konkretnie dla szczególnego przypadku robota klasy IBIS produkowanej przez Przemysłowy Instytut Automatyki i Pomiarów (PIAP). Jak to zostało wykazane w rozprawie, zadanie Globalnego Planowania Ścieżki można sprowadzić do minimalizacji funkcji dopasowania, która wyraża dobroć ścieżki. 3. Teza pracy Algorytmy inspirowanie biologiczne, a w szczególności hybrydowe algorytmy genetyczne algorytmy memetyczne, mogą być efektywnym narzędziem do globalnego planowania ścieżki robotów zarówno w przypadku holomicznych jak nieholonomicznych robotów mobilnych. 4. Struktura pracy Praca przedstawia kompleksowo zagadnienia dotyczące globalnego planowania ścieżki robotów mobilnych. Omówione są w niej aktualne rozwiązania problemu ogólnego dla punktowego robota holonomicznego oraz zaproponowane przez autora rozwiązanie za pomocą algorytmu memetycznego dla map o zgrubnej dekompozycji komórkowej oraz parametryzacja tego algorytmu. Algorytm ten zastosowany jest dla dwóch przypadków rozwiązania zadania planowania: ogólnym dla robota holonomicznego i szczególnym dla nieholonomicznego robota klasy IBIS. Praca składa się z siedmiu rozdziałów oraz spisu literatury. Rozdział pierwszy stanowi przedstawienie celu pracy oraz jej tezy. Rozdział drugi obejmuje dokładny opis problemu, omówienie możliwych reprezentacji środowiska za pomocą map oraz przedstawienie aktualnego stanu literatury dotyczącego globalnego planowania ścieżki i stosowanych do tego celu metod. W rozdziale trzecim przedstawiono istotę algorytmów ewolucyjnych w szczególności algorytmów genetycznych i memetycznych. W rozdziale czwartym przedstawiony jest robot IBIS oraz omówiona zostaje opracowana przez autora metoda lokalnego planowania ruchu robota. Rozdział piąty zawiera szczegółowy opis proponowanego memetycznego algorytmu Globalnego Planowania Ścieżki wraz z omówieniem wszystkich operatorów genetycznych i memetycznych poszukiwania i naprawy genotypu. Rozdział szósty jest poświęcony prezentacji wyników testów numerycznych i eksperymentu z udziałem robota IBIS oraz interpretacji wyników. W dalszych punktach przedstawiona zostanie zawartość kolejnych rozdziałów rozprawy pomijając wprowadzający rozdział pierwszy. Postawienie zadania, cel i teza rozprawy doktorskiej zostały zaprezentowane odpowiednio w rozdziałach 0, 2, 0 niniejszego streszczenia Wprowadzenie do Globalnego Planowania Ścieżki Definicja globalnego planowania ścieżki podawana w literaturze [7, 35, 36] nie jest definicją ścisłą. Wynika to z faktu istnienia związku planowania globalnego z lokalnym. W tej pracy przyjmuje się następującą definicję: Globalne planowania ścieżki robota mobilnego jest to proces, który na bazie informacji o pewnym fizycznym otoczeniu, zwanej mapą, oraz współrzędnych punktów: początkowego i docelowego, znajduje ścieżkę reprezentowaną przez uporządkowany zbiór punktów z tej mapy, w których to punktach powinien się kolejno znaleźć się robot, aby dotrzeć od punktu początkowego do końcowego, a pomiędzy tymi punktami możliwy jest ruch wyznaczony zgodnie z algorytmami lokalnego planowania trajektorii. 5

6 Definicja ta określa dane wejściowe i wyjściowe procesu. Wejściem jest mapa, czyli reprezentacja pewnego fizycznego obszaru, oraz zbiór 2 punktów: początkowego i docelowego. Wyjściem jest natomiast uporządkowany zbiór punktów z mapy reprezentujący trajektorię. Ta ogólna, abstrakcyjna definicja nie rozpatruje sposobu reprezentacji danych wejściowych oraz wyjściowych, przestrzeni planowania, przestrzeni poszukiwania, opisu robota, przestrzeni konfiguracji problemu itd. Jednym z krytycznych elementów przy opracowywaniu algorytmu Globalnego Planowanie Ścieżki jest sposób reprezentacji przestrzeni S, tj. odpowiednia budowa mapy. W literaturze spotyka się trzy główne sposoby budowy map: 1) Dekompozycja komórkowa 2) Reprezentacja drogowa (grafowa), 3) Reprezentacja wirtualnych sił pola. Dekompozycja komórkowa została wprowadzona w 1983 roku przez Brooksa i Lozano-Pereza [37] i jest reprezentacją najczęściej używaną [38]. Dzieli ona przestrzeń S na zbiór nienakładających się na siebie obszarów, które reprezentują pewną cechę środowiska. W swojej najprostszej postaci w mapie binarnej - wartość ta określa, czy dana komórka zawiera przeszkodę, czy jest wolna. W innych przypadkach wartość ta może być interpretowana jako bezwzględna wysokość terenu, przejezdność, koszt energetyczny osiągnięcia danej komórki itp. W reprezentacji drogowej (grafowej) wierzchołkami grafu są punkty w przestrzeni S i dla którego krawędzie zawierają ściśle określone i ustalone z góry przejścia. Graf w reprezentacji topologicznej rozmieszcza wierzchołki w identyfikowanych lokalizacjach punktach orientacyjnych. Aby rozwiązać zadanie planowania ścieżki dla reprezentacji grafowej należy ułożyć graf poprzez znalezienie jego wierzchołków, a następnie znaleźć przejście przez niego. Globalne planowanie ścieżki dla grafu może być właściwie dowolną kombinacją metody wyszukiwania wierzchołków oraz metod przeszukiwania grafu. Przewagą użycia grafu nad dekompozycją jest najczęściej liczba punktów dla których planista musi wyszukać ścieżkę. Jego poważną wadą jest trudność uaktualnienie grafu w przypadku map dynamicznych lub przy wykorzystaniu metod typu SLAM (Simultaneus Localisation and Mapping). Równocześnie dobór wierzchołków grafu jest krytyczny. Brak istotnych wierzchołków w grafie może powodować nierozwiązywalność grafu lub nieoptymalną drogę. Właściwie wszystkie metody metryczne grafowe używają artefaktów typu róg przeszkody lub skrzyżowanie przedłużeń boków. Trzecią grupą reprezentacji są siły wirtualnych pól. Algorytmy bazujące na takiej reprezentacji zostały pierwszy raz zastosowane przez Khatiba [39] do lokalnego planowania ruchu, a następnie rozwinięte przez Latombe a (np.[17]) Siły pól na mapie powstają przez przyporządkowanie każdemu punktowi (najczęściej dla przybliżonej dekompozycji komórkowej) wektora siły. Wektor ten jest superpozycją dwóch wektorów: odpychającego robota od przeszkód i przyciągającego do celu tj. tworzy on linie sił pola w którym porusza się punktowy robot. Moduł wektora jest tym większy im robot znajduje się przeszkody/celu. Pola potencjalne mają poważną wadę, istnienie lokalnych minimów, gdzie robot może utknąć, lub wpaść w oscylacje. Problem lokalnych minimów może być rozwiązany na dwa sposoby: używając technik, które pomogą wyprowadzić robota z takiego minimum lub używając pola, które minimów nie posiada [40]. Praca Koditzhka [41] udowadnia, że nie da się zbudować takiego pola, które nie zawierałoby minimów, gdyż zawsze będziemy mieli do czynienia z punktem siodłowym pomiędzy dwoma przeszkodami. 6

7 Wybór metody reprezentacji przestrzeni poszukiwań S ukierunkowuje wybór algorytmu. W literaturze najczęściej stosowane są następujące algorytmy: 1. Algorytmy metod drogowych: a. Graf widzialności [42-45] b. Diagram Voronoia [46-48] c. Metoda dróg probabilistycznych [49, 50] d. Metoda RERT (Rapidly Exploring Random Trees) [51-54] 2. Metody pól potencjałowych a. Metoda funkcji nawigacyjnych [40, 41, 55] b. Metoda Depth-First dla pól potencjałowych [17, 56] c. Metod Best-First dla pól potencjałowych [17, 57] d. Grupa metod fal czołowych [58-60] 3. Metody oparte na grafie: a. Przeszukiwanie Depth-First [61, 62] b. Przeszukiwanie Breadth-First [63] c. Metoda Uniform-Cost [64] d. Algorytm Trulla [65-67] 4. Metody heurystyczne: a. Metoda A* i pochodne [14, 68, 69] b. Metody inspirowane biologicznie. [14, 70] Porównanie i zestawienie najważniejszych metod Globalnego Planowania Ścieżki znajduje się w tabeli poniżej. 7

8 Tabela 1. Zestawienie metod Globalnego Planowania Ścieżki wraz z określeniem optymalności, kompletności wad i zalet metod. Nazwa metody Graf Widzialności (Visibility graph) Metody Triangulacyjn e (Triangulation methods) Diagram Voronoi (Voronoi diagrams) Mapy probabilistycz ne (Probabilistic roadmaps) Rok Główni twórcy reprezentacja przestrzeni konfiguracji C- Space 1969 Lozano-Pérez, Wesley, Nilsson Dwuwymiarowa, ale koncepcje widzialności może zostać łatwo rozwinięta na dowolną liczbę wymiarów Złożoność Kompletność Optymalność Zalety Wady ( + ) TAK TAK w sensie długości ścieżki 1984 Lee, Preparata Dwuwymiarowa () TAK NIE, jeżeli technika relaksacji ścieżki została użyta to wynik jest identyczny z grafem widzialności Shamos, Dwu(trój)wymiarow () TAK TAK (w sensie a maksymalizacji odległości od przeszkód) 1996 Kavraki Bez ograniczeń Nie może Probabilistycznie NIE jedynie zostać rozwiązania określona 2 suboptymalne Prostota obliczeń Niska złożoność obliczeniowa. Mapa nie musi mieć kształtu prostokąta. Łatwość implementacji przy użyciu techniki dziel i rządź. Łatwość implementacji ścieżki dla robota o kształcie dysku. Duża ilość metod próbkowania mapy. Możliwość aplikacji dla robotów nieholonomicznych, Łatwość w określaniu odległości pomiędzy niepozycyjnymi konfiguracjami. Uwzględnia jedynie wypukłe wielokątne przeszkody. Działa tylko dla map binarnych. Tylko optymalizacja jednokryterialna. Robot traktowany jako punkt. Głównie do środowisk statycznych Uwzględnia jedynie wypukłe wielokątne przeszkody. Działa tylko dla map binarnych. Robot traktowany jako punkt. Głównie do środowisk statycznych. Wymaga techniki relaksacji ścieżki. Ścieżka nie optymalna. Jedynie trójwymiarowa przestrzeń C-Space. Głównie do środowisk statycznych. Kosztowna obliczeniowo a każda iteracja zajmuje więcej czasu. Wynikowa ścieżka nie jest gładka potrzebna jest dodatkowa technika wygładzania. Głównie do środowisk statycznych. Pola potencjałów (Potential fields) 1986 Khatib Trójwymiarowa (jedynie pozycja) Nie może zostać określona NIE NIE Łatwość i intuicyjność implementacji, duża wydajność. Wynikowe ścieżki są gładkie. Problem lokalnych minimów wymaga stosowania dodatkowych technik. Trudność w adaptacji do wielowymiarowych przestrzeni konfiguracji. Głównie do środowisk statycznych. Potrzebuje wcześniejszej dekompozycji komórkowej Metody fal czołowych (Wavefront planners) Depth-first search Breadth-first search Uniform cost search i algorytm 1991 Latombe, Barraquand, Brock maksymalnie czterowymiarowa Bez ograniczeń, ale koszt przejścia musi zostać określony 1959 Dijkstra Bez ograniczeń, ale koszt przejścia musi zostać określony () TAK TAK Łatwość implementacji. Może uwzględniać koszt przejścia pomiędzy konfiguracjami. ( + ) Wymaga techniki wygładzania. Oblicza ścieżki, które przechodzą bardzo blisko przeszkód, więc wymaga implementacji zachowań typu podążanie wzdłuż ściany. Głównie do środowisk statycznych TAK TAK Łatwość implementacji Nie optymalne rozwiązania zależne od rozgałęzienia i głębokości grafu. Jedynie dla grafu o dodatnich kosztach przejścia. ( ) TAK TAK Łatwość implementacji. Liczone są jednocześnie ścieżki dla każdego wierzchołka grafu. Jedynie dla grafu o dodatnich kosztach przejścia. 2 Podstawą są procesy stochastyczne 8

9 Dijkstry Algorytm Trulla A* i jego warianty 1991 Mitchell Bez ograniczeń, ale koszt przejścia musi zostać określony 1968 Hart, Nillson Bez ograniczeń, ale koszt przejścia i heurystyka musi zostać określony Nie może zostać określona co najmniej (h ()) TAK NIE Łatwość połączenia z algorytmami planowania lokalnej trajektorii TAK TAK Niska czasowa złożoność obliczeniowa, łatwość implementacji Potrzebuje wcześniejszej dekompozycji. Ścieżki są podobne do tych liczonych przez metody fal czołowych. Ścieżki nie są gładkie. Może być użyty do trójwymiarowych przestrzeni konfiguracji, ze względu na trudności w zdefiniowaniu heurystyki. Algorytmy genetyczne 1991 Xiao, Michalewicz Bez ograniczeń Nie może zostać określona NIE NIE Kilka ścieżek liczonych równocześnie. Większość operatorów można zrównoleglić; Możliwość uwzględnienia wielu kryteriów; Może być użyty do dynamicznych środowisk Trudność w implementacji. Używa dużej ilości zasobów komputera. Głównie do planowania off-line Algorytmy kolonii mrówkowych 1991 Dorigo, Hoos, Stützle Bez ograniczeń, ale odpowiednia funkcja depozycji feromonu musi zostać określona Nie może zostać określona NIE NIE Kilka suboptymalnych ścieżek liczonych jednocześnie; Może być użyty do środowisk dynamicznych Kosztowna obliczeniowo. Nowe metody są trudne w implementacji. 9

10 4.2. Istota algorytmów ewolucyjnych Biologicznie inspirowane algorytmy ewolucyjne są często stosowanymi metodami w zadaniach poszukiwania, optymalizacji i uczenia maszynowego [71-74]. Należą do klasy meta-meurystyk i jak każda heurystyka nie gwarantują znalezienia rozwiązania optymalnego, co więcej: nie gwarantują znalezienia jakiegokolwiek rozwiązania [75]. Pomimo tego faktu algorytmy ewolucyjne są stosowane na szeroką skalę dla problemów, dla których nie ma efektywnych metod deterministycznych, lub dla których istniejące metody są zbyt złożone obliczeniowo lub czas ich wykonania jest zbyt długi [76]. W praktyce rezultaty działania algorytmów ewolucyjnych są bardzo dobre. Algorytmy ewolucyjne dzielą się na cztery główne kategorie: Algorytmy Genetyczne, Strategie Ewolucyjne, Programowanie Ewolucyjne i Programowanie Genetyczne. Metody te różnią się głównie sposobem reprezentacji osobnika, operatorami krzyżowania i mutacji oraz typowymi aplikacjami. Żadna z tych metod nie bazuje na pojedynczym kandydacie do rozwiązania, ale raczej na grupie takich kandydatów zwanej populacją. Oznacza to, że jednocześnie algorytm wykonuje operacje na kilku kandydatach poprzez wymianę częściowych rozwiązań pomiędzy kandydatami w populacji. Ogólny schemat każdej metody bazującej na algorytmach ewolucyjnych znajduje się poniżej na rysunku poniżej (Rys. 2). Nowym podejściem stosowanym RODZICE w grupie algorytmów ewolucyjnych są Wybór rodziców algorytmy memetyczne. Są one Inicializacja (najczęściej) rozszerzeniem Algorytmów Genetycznych ze wszystkimi zaletami POPULACJA Rekombinacja wynikającymi ze stosowania operatora krzyżowania. W przeciwieństwie do klasycznych algorytmów ewolucyjnych Zakończenie algorytmy memetyczne wykorzystują wiedzę a priori o problemie, który się aktualnie rozwiązuje, przez co Selekcja POTOMSTWO przyspieszają poszukiwania, a jednocześnie zwiększają szansę na Mutacja znalezienie lepszego rozwiązania. Algorytmy memetyczne podnoszą jakość procesu poszukania, Rys. 2. Ogólny schemat algorytmu ewolucyjnego gdyż jak to zostało pokazane przez Harta i Belewa [77] czy Wolperta i Macready ego [78], jakość ta jest odbiciem ilości dostępnej wiedzy a priori jaką algorytm wykorzystuje. Teza ta jest znana jako twierdzenie No free lunch [78-82]. Ogólnie rzecz ujmując, poprawa działania algorytmu uzyskiwana jest przez zastosowanie innych metod heurystycznych, aproksymacji, metod lokalnego poszukiwania, specjalizowanych operatorów krzyżowania i mutacji, zaawansowanych metod utrzymywania różnorodności i generowania populacji inicjującej itp. [83]. Przykładowe metody hybrydyzacji klasycznego algorytmu genetycznego znajdują się poniżej na Rys

11 Rys. 3.Ogólny schemat algorytmów ewolucyjnych wraz z przykładowymi sposobami hybrydyzacji 4.3. Opis Platformy IBIS IBIS w wersji komercyjnej (Rys. 4a) jest robotem do zastosowań pirotechnicznych i bojowych. Przystosowany został do operacji w trudnym i zróżnicowanym terenie takim, jak piach, śnieg czy podłoże skalne. Duża prędkość robota umożliwia dynamiczne przeprowadzanie akcji. Manipulator zapewnia duży zasięg działania, a zastosowane rozwiązania napędów zapewniają płynność ruchu każdego członu w pełnym zakresie prędkości. Podstawowe dane techniczne robota są następujące: masa: 295 kg, wymiary (długość x szerokość x wysokość): 1,3 m x 0,85 m x 0,95 m, prędkość maksymalna: 10km/h, maksymalny udźwig manipulatora: 30 kg, maksymalny zasięg manipulatora: 3,15 m. [84]. Filmy prezentujące możliwości działania komercyjnej wersji robota w trybie teleoperacji znajdują się pod adresem [85]. 11

12 a b Rys. 4. Robot IBIS: a wersja komercyjna z manipulatorem, b wersja do badań autonomii Każde z sześciu kół robota ma niezależny napęd typu direct-drive a źródłem zasilania jest pakiet akumulatorów litowo-polimerowych o pojemności nominalnej 100[Ah] pozwalających na nieprzerwaną pracę robota przez 8 godzin. Koła przednie połączone są wspólną osią, która ma możliwość ograniczonego obrotu wokół osi wzdłużnej robota (nie ma możliwości obrotu względem osi poprzecznej robota). Pozostałe koła są połączone wahaczem parami po każdej ze stron robota. Wahacze mają możliwość ograniczonego obrotu względem osi poprzecznej robota. Taka konstrukcja zawieszenia zapewnia w większości przypadków kontakt wszystkich kół z podłożem, a co za tym idzie sprawne pokonywanie nierówności terenu, dużą stabilność podczas jazdy oraz optymalne rozłożenie mocy na wszystkie koła. Robot ma zaimplementowaną lokalna metodę planowania trajektorii bazującą za 4 podzachowaniach: algorytm Breitenberga [20] (podzachowanie 0) oraz zmodyfikowany algorytm typu Vector Field Histogram [22] (podzachowanie 1). Dwa pozostałe podzachowania wiążą się z ustawianiem robota na odpowiedni azymut (podzachowanie 2) oraz podzachowanie prędkości liniowej (podzachowanie 3). Dokładny opis algorytmu wraz z badaniami symulacyjnymi i eksperymentami znaleźć można w [86, 87]. Aby algorytm Globalnego Planowania Ścieżki mógł zaplanować ścieżkę dla robota o konkretnych możliwościach terenowych musi on znać uproszczony model robota. Model ten jest wejściem do algorytmu memetycznego (Rys. 8) i określa pewne krytyczne wartości, których planowana ścieżka nie może przekroczyć. Opisuje on następujące cechy (w nawiasach podano wartości dla robota IBIS): 1) Typ struktury (nieholonomiczna). Opisuje, czy dany robot ma strukturę kinematyczną holonomiczną czy nieholonomiczną. Wartość ta w połączeniu z promieniami skrętu jest używana do określenia naruszenia tzw. zasady Gładkości Ściezki. 2) Wymiary zewnętrzne (0.89m x 1.35m x 1.1m) oraz obszar bezpieczny (0.4m x 0.7m x 1.1m). Określają wspólnie w jakiej odległości od przeszkód robot może się swobodnie poruszać nie naruszając tzw. zasady Naruszenie Przeszkody. 3) Promienie skrętu (0.7m). Promień ten określa dostępne możliwe konfiguracje robota po aktualnej. Razem z typem struktury określa, czy zasada Gładkości Ściezki została naruszona. 4) Nominalna i aktualna pojemność baterii/pojemność zbiornika paliwa (100Ah,100Ah). Określa jaki jest poziom dostępnej energii robota na pokonanie zadanej ścieżki. Wspólnie z parametrem średnie zużycie energii określa, czy dana ścieżka jest wykonalna. 5) Średnie zużycie energii ([4000,10000,16000,20000][ ]). Jest to średnie zużycie elergii/paliwa dla odpowiednio 25%,50%,75%,100% obciążenia elementów napędowych 12

13 robota. Wartości pośrednie są interpolowane liniowo, a obciążenie jest tożsame z kątem nachylenia, pod który robot podjeżdża. Jest to bardzo zgrubny szacunek, ale zupełnie wystarczający dla określenia, czy ścieżka o danej długości i przebiegu jest wykonalna. 6) Maksymalne kąty pochylenia i przechylenia ( [Rad]). Jest to maksymalny wzniesienie, pod które robot może podjechać nie tracąc stabilności dynamicznej. Parametr ten w modelu nie oznacza, że stabilność będzie wyliczana w trakcie planowania ścieżki, ale że sprawdzany będzie jedynie warunek przekroczenia takiego nachylenia. Model ten, jakkolwiek uproszczony, zawiera najistotniejsze z punktu widzenia aplikacyjnego parametry niezbędne do zaplanowania ścieżki. Zestaw parametrów jest dobrany w taki sposób, aby za pomocą odpowiedniego doboru wartości można było zaplanować ścieżkę zarówno dla idealnego punktowego holonomicznego robota jak i dla robota o strukturze kinematycznej np. samochodu Proponowany algorytmu memetycznego Globalnego Planowania Ścieżki Prezentowany algorytm korzysta z map o zgrubnej dekompozycji komórkowej lub map rastrowych. Taki rodzaj map został wybrany przez autora ze względu na łatwą dostępność map dla obszarów naturalnych dla całego świata (np. GoogleMaps ). Rys. 5. Ogólny schemat algorytmu globalnego planowania ścieżki na bazie algorytmu memetycznego. Wejściem do algorytmu (Rys. 5) są pliki map, plik modelu robota oraz plik skali. Ten ostatni jest używany do przeliczenia współrzędnych rastrowych na współrzędne używane przez robota do globalnej lokalizacji (w przypadku robota IBIS jest to WGS84). W najprostszym przypadku występuje tylko jeden plik zawierający mapę przeszkód. Dokładny opis tej części algorytmu, która jest odpowiedzialna za rekalkulację mapy oraz analizę przejezdności, można znaleźć w pracy w streszczeniu zostanie przedstawiona jedynie część związana z algorytmem memetycznym. Każda iteracja algorytmu prowadzi do utworzenia nowej/nowych populacji. Populacja jest zbiorem osobników z których każdy reprezentuje jedną ścieżkę. Każda populacja jest określona wektorem: 13

14 =,,,,!," #,..," %&',( ),*,( ),*,+,( ),,+,( ),,, (1) gdzie: Numer populacji (algorytm jest wielopopulacyjny) Typ populacji; wyróżnia się dwa typy populacji: generacyjna i optymalizacyjna Numer generacji Liczba osobników populacji " #,..,s L&' osobniki populacji: wektory zgodne z (4)! Różnorodność populacji p Q,R,p Q,R,S Prawdopodobieństwo krzyżowania ( ),,+,( ),,, Prawdopodobieństwa mutacji Różnorodność populacji jest liczona jako: (2)! = %&' YZ# WX(" Y) 1, "^ `+(" a,"^)>`c WX(")= \ 1 i (3) 2d,d= e,e,"^ e `+(","^) `c i opisuje ile różnych osobników znajduje się w populacji. Jest to parametr, który jest maksymalizowany w trakcie działania algorytmu. Podstawowym rozwiązaniem w prezentowanym algorytmie jest osobnik " będący wektorem: "= k +,l +,X +,m +,n +, +, +,e + (4) gdzie: k + genotyp osobnika o zmiennej długości l + fenotyp osobnika o zmiennej długości X + funkcja kosztu osobnika, opisana ogólnie równaniem (12) m + ilość segmentów danego osobnika n + długość danego osobnika tj. v&s n(")= op( Yq' Y ) s +(t Yq' t Y ) s +(u Yq' u Y ) s YZ# + naruszenia zasad mapy + wiek danego osobnika w populacji liczony w generacjach e + wektor naprawialności (5) Całość obliczeń algorytmu memetycznego przeprowadzana jest w przestrzeni dekompozycji komórkowej. Jest to związane z brakiem konieczności kodowania zmiennoprzecinkowego genotypu oraz fenotypu jak i przechowywania w pamięci ich wartości co znacznie wpływa na ograniczenie niezbędnych zasobów obliczeniowych. Dla kodowania genotypu przyjęto permutację losowych wektorów ruchu, która to permutacja ma zmienną długość tj. 14

15 k + =( #,.., wx &') (6) y =( y,t y,z y ) (7) Układ współrzędnych wektorów M j jest układem odnoszącym się do pikseli mapy i dlatego wartości x j, y j są całkowite. Wartość V j określa naruszenia zasad i przyjmuje wartości -1 dla niezdefiniowanej naruszalności -2 dla segmentu nie naruszającego zasady lub numer identyfikacyjny konkretnego naruszenia z wektora V s. Fenotyp danego osobnika jest fenotypem w dziedzinie dekompozycji komórkowej i ma postać numeryczną: l + =({ #,..,{ vx ) (8) ( ), =0 (9) } y y y { y = ~ o Y, ot Y, ou Y,, >0 i } YZ# YZ# YZ# oraz graficzną w postaci jednej z warstw mapy (powiemy o tym później). Wektor V s jest wektorem naruszeń i ma postać: + =(( #+, #+, #+,e #+ ),( '+, '+, '+,e '+ ),,( +, +, +,e + )) (10) gdzie: I Vs numerem identyfikacyjnym do którego odnosi się v j segmentu M j B Vs E Vs początek i koniec naruszenia 0 ` Œ "užwž WŽ (Œ W Ž ` t "ą"wž WŽ ( d u "Ž Ž W e Y+ =Š 1 ` Œ "užw (Œ W Ž ` t "ą"wž WŽ ( d u "Ž Ž W i (11) Funkcja przystosowania f (minimalizowana)jest następującej postaci: š..' š..s.'.s. X(")=W w w n + +W + (") +W ) ) + (") + oe Y+ + w o`( Y+, Y+ ) YZ#. (12) YZ# gdzie: C(s) -jest pewną funkcja kosztu, zależną od mapy d funkcja odległości pomiędzy dwoma punktami w,, ),, w wagi dobrane są zgodnie z założeniem i dobierane są w każdej generacji 3. W klasycznym algorytmie genetycznym typu SGA brak jest mechanizmów poprawiania genotypu poprzez lokalne poszukiwanie. Przy wykorzystaniu takiego algorytmu pojawia się problem włączenia jego wyniku do funkcji f (12). W praktyce stosowane są trzy podejścia: Lamarcka, Baldwina oraz mieszane. Podejście Lamarcka polega na tym, że genotyp nowego osobnika jest zastępowanym tym, który powstał po lokalny poszukiwaniu. Baldwin z kolei proponuje podejście, że genotyp powinien pozostać w niezmienionej formie, a jedynie wartość funkcji f powinna zostać zastąpiona. Podejście mieszane proponuje zastąpić wartość każdej funkcji f przy zastępowaniu genotypu z pewnym 3 Wagi, w są zmienne, pozostałe nie ulegają zmianie 15

16 prawdopodobieństwem. W wyniku wielu porównań [88-91] teoretycznych i doświadczeń numerycznych, w niniejszej pracy zdecydowano się na podejście Lamarcka. Na rysunku poniżej (Rys. 6) przedstawiony jest dokładny schemat algorytmu memetycznego do globalnego planowania ścieżki. Jego cechą unikalną jest parcelacja populacji G n, która polega na tym, że w przypadku odnalezienia osobnika s k w tej populacji G n generacji m dla którego œ * ("^)=0 następuje ekstrakcja s k z populacji bazowej G n, stworzenie nowej populacji G n+1 wokół tego elitarnego osobnika poprzez powtarzaną (µ 1) razy mutację jego genotypu. Jest to populacja z elityzmem, dzięki czemu nawet dla starych rozwiązań, gdzie ("^) jest duże tak, że ) ("^) w n("^) ) ("^) w ("^) osobnik jest zachowywany z generacji na generację. Jednocześnie osobnik ten jest usuwany z populacji bazowej G n, tak aby jego alele, a dokładnie ich schemat H k, nie zdominowały reszty populacji. Ponieważ osobnik ten jest z populacji usuwany, a dryft genetyczny pomiędzy aktualną m a następną m+1 generacją w populacji bazowej G n będzie przybliżeniu taki sam jak dla generacji m, to prawdopodobieństwo pojawienia się schematu mistrza H k jest wysokie. Tym samym wysokie jest prawdopodobieństwo kolejnej parcelacji populacji bazowej G n do populacji G n+2, ale z takim samym lub bardzo podobnym schematem H k. Biorąc pod uwagę fakt, że funkcja wzrostu jest na ogół nieodwracalna, to oczywiście nie da się określić schematu H k, a jednocześnie trzeba eliminować niepotrzebne duplikacje parcelacji. W tym celu opracowana została postępowanie wg. grupy mistrzów M. Grupa mistrzów jest zbiorem pierwotnych elitarnych w swoich populacjach. tj. wszystkich s k, które doprowadziły do parcelacji populacji : =("^#,"^',..,"^(&s) ) (13) gdzie n aktualną liczbą populacji w biocenozie. Ponieważ populacje o numerach 1..n są populacjami z elitarnością, prawdopodobieństwo parcelacji z tych populacji jest bardzo małe, gdyż prawie wszystkie osobniki zawierają ten sam lub bardzo podobny schemat H k. Parcelacja może więc nastąpić jedynie z mutacji, co przy prawdopodobieństwach,! 0.5%, złotej zasadzie 1/5 [92] oraz charakterze mutacji w populacjach po parcelacji jest bliska zeru 4 4 Po przeprowadzeniu ok..300 eksperymentów dla 6 rodzajów map autorowi nie przydarzyło się to ani razu 16

17 Rys. 6. Schemat działania algorytmu memetycznego z parcelacją populacji do globalnego planowania ścieżki robota mobilnego. 17

18 Aby dane unikalne rozwiązanie s u doprowadziło do parcelacji populacji musi zaistnieć warunek: w &' YZ# ` m +a,m +^ "^ `+(" a,"^)= + n w, n Y &' ` m +a,m (14) YZ# +^ <`c n, n Y n Y gdzie: `c jest pewnym progiem, który uzależniony jest od wielkości ziarna w dekompozycji komórkowej i dla map o prawidłowej ziarnistości [16] powinien wynosić `+ m +a,m +^ - odległość pomiędzy dwoma kolejnymi punktami segmentów dwóch porównywanych osobników. Jeżeli warunek (14) jest spełniony dla mistrza i osobnika z populacji generującej G 0, to osobnik taki musi zostać usunięty z G 0, aby zwiększyć prawdopodobieństwo pojawienia się kolejnego schematu mistrza, który doprowadzi do parcelacji i powstania nowej populacji w biocenozie. Część czwarta równania (12) jest funkcją kary dla osobników-ścieżek, które nie spełniają kryteriów planowania, przy czym istotna jest ilość naruszeń (cz.4.1. równania (12)) jak i sumaryczna ich długość (cz.4.2. równania (12)). Wszystkie naruszenia są traktowane jednakowo bez względu na ich typ. Algorytm rozróżnia cztery rodzaje naruszeń zasad planowania: 1) Naruszenie przeszkody (Rys. 7a). Jest to podstawowe naruszenie występujące, jeżeli ścieżka przebiega przez obszar zajęty przez przeszkodę. Jeżeli segment ruchu kończy się wewnątrz przeszkody, to naruszenie jest liczone dwukrotnie. Długość naruszenia odpowiada odległości między punktami i. 2) Naruszenie maksymalnej długości ścieżki (Rys. 7b). Ten rodzaj naruszenia odnosi się do wartości aktualnej pojemność baterii i średniego zużycia energii, tj. jest zależna od robota, dla którego planuje się ścieżkę, a nie występuje dla robota punktowego. 3) Przekroczenie maksymalnego kąta pochyłu/przechyłu (Rys. 7c). Jeżeli nachylenie zbocza, po którym robot ma się poruszać przekracza wartość maksymalnego kąta pochyły/przechyłu robota, to notowane jest naruszenie. Naruszenie to nie występuje dla idealnego robota holonomicznego. 4) Naruszenie promienia skrętu (Rys. 7d). Jeżeli okrąg skrętu styczny do sąsiadujących segmentów ruchu narusza przeszkodę od strony wewnętrznej lub zewnętrznej (Rys. 8g), to występuje naruszenie. 5 Niektóre mapy nie pozwalają na przekroczenie progu d th, a tym samym na parcelację populacji. 18

19 E V B V a b c d Rys. 7. Przykłady naruszeń zasad planowania ruchu. Dla uproszczenia pokazano je dla binarnej cechowo jednowymiarowej mapy (a, b, d) z wyłączeniem d mapy wysokości. a) Naruszenie przeszkody b) Ścieżka zbyt długa c) Przekroczenie maksymalnego kata pochyłu/przechyłu d) Naruszenie minimalnego promienia skrętu Legenda: - wolna przestrzeń (koszt = 0.0), - przeszkody (koszt = 1.0) Legenda: Ścieżka - pozostała część ścieżki Naruszająca część ścieżki - Minimalny promień skrętu - Początkowy ( ) i końcowy ( ) punkt naruszenia - Punkt docelowy - Punkt startowy Genotyp osobników szczególnie w początkowej fazie działania algorytmu zawiera segmenty, które są nadmiarowe i naruszające. W algorytmie istnieją mechanizmy, które naprawiają i poprawiają genotyp i są zaimplementowane jako jeden z rodzajów mutacji. Należą do nich: 1) Eliminacja pętli, dokładna (Rys. 8a) i zgrubna (Rys. 8b) 2) Skracanie segmentów ruchu, dokładne (Rys. 8c) i zgrubne (Rys. 8d) 3) Naprawa lokalnym grafem, dokładna (Rys. 8e) i zgrubna (Rys. 8f) 4) Naprawa naruszenia promienia skrętu poprzez wstawienie segmentu (Rys. 8g, h) 19

20 L L a b c d e f g h Rys. 8. Mechanizmy naprawy i poprawy genotypu a, b Eliminacja pętli, c, d skracanie segmentów ruchu, e, f naprawa lokalnym grafem widzialności g, h naprawa naruszenia minimalnego promienia skrętu. Legenda: Ścieżka - pozostała część ścieżki (poprzedni i następny segment) - Nowo dodany segment - Zmodyfikowany segment - Początek ( ) i koniec ( ) naruszenia Bazując na licznych porównaniach sposobów włączania wyników metod lokalnego poszukiwania [88-91, 93], jakimi są naprawa i poprawa genotypu, wszystkie ww. metody są stosowane zgodnie z postulatem Lamarcka. Pozostałe parametry algorytmu, takie jak rodzaje krzyżowania, mutacji, prawdopodobieństwa wystąpienia, liczności i schemat zastępowania populacji zebrano w tabeli poniżej (Tabela 2). 20

21 Tabela 2. Wartości podstawowych parametrów dla populacji generacyjnej i optymalizacyjnej. Parametr Populacja generująca ª «Populacje optymalizacyjne Wielkość populacji =50 =35 Początkowa populacja Losowa Mutacja mistrza Metody krzyżowania Jednopunktowe krzyżowanie bez wyboru punktu (ślepe) (( ),, =0.7) Jednopunktowe krzyżowanie z wyborem punktu inteligentne (( ),,Y =0.1) jednorodne krzyżowanie (( ),,a =0.2) Jednopunktowe krzyżowanie bez wyboru punktu (ślepe) (( ),, =0.15) Jednopunktowe krzyżowanie z wyborem punktu inteligentne (( ),,Y =0.8) jednorodne krzyżowanie (( ),,a =0.05) Schemat krzyżowania Dwa na jeden Dwa na jeden wybór pola krzyżowania Prosty turniej dla jednorodnego krzyżowania i jednopunktowego ślepego krzyżowania. Prosty turniej dla jednorodnego krzyżowania i jednopunktowego ślepego krzyżowania. specjalizowany turniej dla inteligentnego specjalizowany turniej dla inteligentnego krzyżowania krzyżowania Początkowa wartość 5 2 wstrzykniętych segmentów (m,y,+ ) Prawdopodobieństwa mutacji p Q,,S dla ),,+ =0.1, D ±²³,S =1 ( ),, dla ),,, =0.3,!c, =1 p Q,,S dla ),,+ =0.0, D ±²³,S =0.5 ( ),, dla ),,, =0.0, D ±²³,S =0.6 Schemat mutacji Mutacja usuwająca/wstrzykująca (( ),,Y ), Powiększanie/pomniejszanie segmentów (( ),, + ), mutacja lustrzana (( ),, ) wykonywane z jednakowym prawdopodobieństwem Mutacja usuwająca/wstrzykująca ( ),,Y =0.5, Powiększanie/pomniejszanie segmentów ( ),, + =0.4, mutacja lustrzana (( ),, =0.1), wszystkie prawdopodobieństwa dla ( ),,+ i ( ),, ) ' (( ),,Y =( ),, + =( ),, ),,+ i ( ),, ) Model Populacji Tylko najlepszy przeżywa Tylko najlepszy przeżywa z elityzmem mistrza Początkowa wartość Δn Metody poprawy genotypu Zgrubne usuwanie pętli (( ),Y,¹wº =0.02), Zgrubne pomniejszanie segmentów ( ),Y,¹»» =0.02, Dokładne usuwanie pętli (( ),Y,¼wº =0.05) Zgrubne usuwanie pętli (( ),Y,¹wº =0.05) Dokładne pomniejszanie segmentów (( ),Y,¼»» =0.05) Zgrubne pomniejszanie segmentów (( ),Y,¹»» =0.05) Metody naprawy genotypu Zgrubna naprawa grafem (( ),*,¹!º =0.01) Zgrubna naprawa grafem (( ),*,¹!º =0.03) Dokładna naprawa grafem (( ),*,¹!º =0.03) Warunek zbieżności Wszystkie populacje optymalizacyjne osiągnęły swój warunek zbieżności Najlepszy osobnik nie zmienił swojej wartości przystosowania przez ostatnich 15 populacji o więcej niż 3% 4.5. Testy numeryczne Prezentowany algorytm został zaimplementowany w języku C++ bez użycia dodatkowych zewnętrznych bibliotek algorytmów ewolucyjnych. Aktualna implementacja biocenozy bazuje na wielowątkowości WINAPI, a liczba jednocześnie liczonych populacji została ograniczona do 8 jest to maksymalna liczba wątków procesora w komputerze użytym do eksperymentu. Testy numeryczne prezentowane w rozprawie wykonane zostały dla 4 różnych map: 2 sztucznie stworzonych i dwóch naturalnych pobranych z serwisu GoogleMaps. W niniejszym streszczeniu zaprezentowane będą dwa wyniki: jeden dla mapy sztucznej dla robota holonomicznego i jeden dla mapy naturalnej dla nieholonomicznego robota IBIS. Wyniki te zostaną przedstawione w syntetycznej postaci, jako pierwszy wynik algorytmu oraz wszystkie wyniki z populacji optymalizacyjnych. 21

22 HugeMazeMap Rys. 9. Dla mapy HugeMazeMap pierwsza generacja populacji generującej ma postać jak na rysunku b) c) Osobnik m + n + (") + (") + X" ½ « ½ ¾ ½ ÀÁ ! =1 a) Rys. 9. Populacja ª «, generacja 0 populacja losowa. Trzech przedstawicieli ½ «, ½ ¾,½ ÀÁ, (a, b, c). Na Rys. 10 pokazano wyniki obliczeń algorytmu dla pięciu generacji. Podczas działania algorytmu doszło do pięciu parcelacji, a populacja (Rys. 10c) dała najlepsze rezultaty. Rys. 10f przedstawia ścieżkę zaplanowaną przez metodę Grafu Widzialności, a wyniki porównania obydwu ścieżek umieszczono w tabeli Tabela 3. Porównanie wykazuje, że algorytm memetyczny obliczył ścieżkę jedynie 4% gorszą pod względem długości niż algorytm Grafu Widzialności, którego ścieżka jest optymalna ze względu na długość. 22

23 a twd ' twd s ÃÄÅÆÇÈ ª É dwynik Ž twd  f)wynik obliczony przez Graf Widzialności Rys. 10. Porównanie uzyskanych rezultatów działania proponowanego algorytmu memetycznego i porównanie wyniku z wynikiem grafu widzialności. 23

Algorytm genetyczny (genetic algorithm)-

Algorytm genetyczny (genetic algorithm)- Optymalizacja W praktyce inżynierskiej często zachodzi potrzeba znalezienia parametrów, dla których system/urządzenie będzie działać w sposób optymalny. Klasyczne podejście do optymalizacji: sformułowanie

Bardziej szczegółowo

Problemy z ograniczeniami

Problemy z ograniczeniami Problemy z ograniczeniami 1 2 Dlaczego zadania z ograniczeniami Wiele praktycznych problemów to problemy z ograniczeniami. Problemy trudne obliczeniowo (np-trudne) to prawie zawsze problemy z ograniczeniami.

Bardziej szczegółowo

Planowanie przejazdu przez zbiór punktów. zadania zrobotyzowanej inspekcji

Planowanie przejazdu przez zbiór punktów. zadania zrobotyzowanej inspekcji dla zadania zrobotyzowanej inspekcji Katedra Sterowania i Inżynierii Systemów, Politechnika Poznańska 3 lipca 2014 Plan prezentacji 1 Wprowadzenie 2 3 4 Postawienie problemu Założenia: Rozpatrujemy kinematykę

Bardziej szczegółowo

Algorytm Genetyczny. zastosowanie do procesów rozmieszczenia stacji raportujących w sieciach komórkowych

Algorytm Genetyczny. zastosowanie do procesów rozmieszczenia stacji raportujących w sieciach komórkowych Algorytm Genetyczny zastosowanie do procesów rozmieszczenia stacji raportujących w sieciach komórkowych Dlaczego Algorytmy Inspirowane Naturą? Rozwój nowych technologii: złożone problemy obliczeniowe w

Bardziej szczegółowo

Algorytmy ewolucyjne 1

Algorytmy ewolucyjne 1 Algorytmy ewolucyjne 1 2 Zasady zaliczenia przedmiotu Prowadzący (wykład i pracownie specjalistyczną): Wojciech Kwedlo, pokój 205. Konsultacje dla studentów studiów dziennych: poniedziałek,środa, godz

Bardziej szczegółowo

Dobór parametrów algorytmu ewolucyjnego

Dobór parametrów algorytmu ewolucyjnego Dobór parametrów algorytmu ewolucyjnego 1 2 Wstęp Algorytm ewolucyjny posiada wiele parametrów. Przykładowo dla algorytmu genetycznego są to: prawdopodobieństwa stosowania operatorów mutacji i krzyżowania.

Bardziej szczegółowo

Algorytmy ewolucyjne NAZEWNICTWO

Algorytmy ewolucyjne NAZEWNICTWO Algorytmy ewolucyjne http://zajecia.jakubw.pl/nai NAZEWNICTWO Algorytmy ewolucyjne nazwa ogólna, obejmująca metody szczegółowe, jak np.: algorytmy genetyczne programowanie genetyczne strategie ewolucyjne

Bardziej szczegółowo

Aproksymacja funkcji a regresja symboliczna

Aproksymacja funkcji a regresja symboliczna Aproksymacja funkcji a regresja symboliczna Problem aproksymacji funkcji polega na tym, że funkcję F(x), znaną lub określoną tablicą wartości, należy zastąpić inną funkcją, f(x), zwaną funkcją aproksymującą

Bardziej szczegółowo

Algorytmy genetyczne

Algorytmy genetyczne Algorytmy genetyczne Motto: Zamiast pracowicie poszukiwać najlepszego rozwiązania problemu informatycznego lepiej pozwolić, żeby komputer sam sobie to rozwiązanie wyhodował! Algorytmy genetyczne służą

Bardziej szczegółowo

Zadanie 5 - Algorytmy genetyczne (optymalizacja)

Zadanie 5 - Algorytmy genetyczne (optymalizacja) Zadanie 5 - Algorytmy genetyczne (optymalizacja) Marcin Pietrzykowski mpietrzykowski@wi.zut.edu.pl wersja 1.0 1 Cel Celem zadania jest zapoznanie się z Algorytmami Genetycznymi w celu rozwiązywanie zadania

Bardziej szczegółowo

Podejście memetyczne do problemu DCVRP - wstępne wyniki. Adam Żychowski

Podejście memetyczne do problemu DCVRP - wstępne wyniki. Adam Żychowski Podejście memetyczne do problemu DCVRP - wstępne wyniki Adam Żychowski Na podstawie prac X. S. Chen, L. Feng, Y. S. Ong A Self-Adaptive Memeplexes Robust Search Scheme for solving Stochastic Demands Vehicle

Bardziej szczegółowo

Metody przeszukiwania

Metody przeszukiwania Metody przeszukiwania Co to jest przeszukiwanie Przeszukiwanie polega na odnajdywaniu rozwiązania w dyskretnej przestrzeni rozwiązao. Zwykle przeszukiwanie polega na znalezieniu określonego rozwiązania

Bardziej szczegółowo

PLAN WYKŁADU OPTYMALIZACJA GLOBALNA OPERATOR KRZYŻOWANIA ETAPY KRZYŻOWANIA

PLAN WYKŁADU OPTYMALIZACJA GLOBALNA OPERATOR KRZYŻOWANIA ETAPY KRZYŻOWANIA PLAN WYKŁADU Operator krzyżowania Operator mutacji Operator inwersji Sukcesja Przykłady symulacji AG Kodowanie - rodzaje OPTYMALIZACJA GLOBALNA Wykład 3 dr inż. Agnieszka Bołtuć OPERATOR KRZYŻOWANIA Wymiana

Bardziej szczegółowo

OSTASZEWSKI Paweł (55566) PAWLICKI Piotr (55567) Algorytmy i Struktury Danych PIŁA

OSTASZEWSKI Paweł (55566) PAWLICKI Piotr (55567) Algorytmy i Struktury Danych PIŁA OSTASZEWSKI Paweł (55566) PAWLICKI Piotr (55567) 16.01.2003 Algorytmy i Struktury Danych PIŁA ALGORYTMY ZACHŁANNE czas [ms] Porównanie Algorytmów Rozwiązyjących problem TSP 100 000 000 000,000 10 000 000

Bardziej szczegółowo

PRACA DYPLOMOWA MAGISTERSKA

PRACA DYPLOMOWA MAGISTERSKA Politechnika Poznańska Wydział Budowy Maszyn i Zarządzania PRACA DYPLOMOWA MAGISTERSKA Konstrukcja autonomicznego robota mobilnego Małgorzata Bartoszewicz Promotor: prof. dr hab. inż. A. Milecki Zakres

Bardziej szczegółowo

Algorytmy memetyczne (hybrydowe algorytmy ewolucyjne)

Algorytmy memetyczne (hybrydowe algorytmy ewolucyjne) Algorytmy memetyczne (hybrydowe algorytmy ewolucyjne) 1 2 Wstęp Termin zaproponowany przez Pablo Moscato (1989). Kombinacja algorytmu ewolucyjnego z algorytmem poszukiwań lokalnych, tak że algorytm poszukiwań

Bardziej szczegółowo

Problem eliminacji nieprzystających elementów w zadaniu rozpoznania wzorca Marcin Luckner

Problem eliminacji nieprzystających elementów w zadaniu rozpoznania wzorca Marcin Luckner Problem eliminacji nieprzystających elementów w zadaniu rozpoznania wzorca Marcin Luckner Wydział Matematyki i Nauk Informacyjnych Politechnika Warszawska Elementy nieprzystające Definicja odrzucania Klasyfikacja

Bardziej szczegółowo

w analizie wyników badań eksperymentalnych, w problemach modelowania zjawisk fizycznych, w analizie obserwacji statystycznych.

w analizie wyników badań eksperymentalnych, w problemach modelowania zjawisk fizycznych, w analizie obserwacji statystycznych. Aproksymacja funkcji a regresja symboliczna Problem aproksymacji funkcji polega na tym, że funkcję F(), znaną lub określoną tablicą wartości, należy zastąpić inną funkcją, f(), zwaną funkcją aproksymującą

Bardziej szczegółowo

Metody Programowania

Metody Programowania POLITECHNIKA KRAKOWSKA - WIEiK KATEDRA AUTOMATYKI i TECHNIK INFORMACYJNYCH Metody Programowania www.pk.edu.pl/~zk/mp_hp.html Wykładowca: dr inż. Zbigniew Kokosiński zk@pk.edu.pl Wykład 8: Wyszukiwanie

Bardziej szczegółowo

Techniki optymalizacji

Techniki optymalizacji Techniki optymalizacji Algorytm kolonii mrówek Idea Smuga feromonowa 1 Sztuczne mrówki w TSP Sztuczna mrówka agent, który porusza się z miasta do miasta Mrówki preferują miasta połączone łukami z dużą

Bardziej szczegółowo

Algorytmy genetyczne

Algorytmy genetyczne 9 listopada 2010 y ewolucyjne - zbiór metod optymalizacji inspirowanych analogiami biologicznymi (ewolucja naturalna). Pojęcia odwzorowujące naturalne zjawiska: Osobnik Populacja Genotyp Fenotyp Gen Chromosom

Bardziej szczegółowo

OPTYMALIZACJA HARMONOGRAMOWANIA MONTAŻU SAMOCHODÓW Z ZASTOSOWANIEM PROGRAMOWANIA W LOGICE Z OGRANICZENIAMI

OPTYMALIZACJA HARMONOGRAMOWANIA MONTAŻU SAMOCHODÓW Z ZASTOSOWANIEM PROGRAMOWANIA W LOGICE Z OGRANICZENIAMI Autoreferat do rozprawy doktorskiej OPTYMALIZACJA HARMONOGRAMOWANIA MONTAŻU SAMOCHODÓW Z ZASTOSOWANIEM PROGRAMOWANIA W LOGICE Z OGRANICZENIAMI Michał Mazur Gliwice 2016 1 2 Montaż samochodów na linii w

Bardziej szczegółowo

Programowanie celowe #1

Programowanie celowe #1 Programowanie celowe #1 Problem programowania celowego (PC) jest przykładem problemu programowania matematycznego nieliniowego, który można skutecznie zlinearyzować, tzn. zapisać (i rozwiązać) jako problem

Bardziej szczegółowo

Zastosowanie sztucznej inteligencji w testowaniu oprogramowania

Zastosowanie sztucznej inteligencji w testowaniu oprogramowania Zastosowanie sztucznej inteligencji w testowaniu oprogramowania Problem NP Problem NP (niedeterministycznie wielomianowy, ang. nondeterministic polynomial) to problem decyzyjny, dla którego rozwiązanie

Bardziej szczegółowo

Zadania laboratoryjne i projektowe - wersja β

Zadania laboratoryjne i projektowe - wersja β Zadania laboratoryjne i projektowe - wersja β 1 Laboratorium Dwa problemy do wyboru (jeden do realizacji). 1. Water Jug Problem, 2. Wieże Hanoi. Water Jug Problem Ograniczenia dla każdej z wersji: pojemniki

Bardziej szczegółowo

Planowanie ruchu bryły sztywnej

Planowanie ruchu bryły sztywnej Politechnika Warszawska Wydział Matematyki i Nauk Informacyjnych Warszawa, 6 czerwiec 2013 Wstęp Z planowanie ruchu bryły sztywnej korzysta się przede wszystkim w zagadnieniach związanych z robotami: produkcja

Bardziej szczegółowo

Optymalizacja optymalizacji

Optymalizacja optymalizacji 7 maja 2008 Wstęp Optymalizacja lokalna Optymalizacja globalna Algorytmy genetyczne Badane czasteczki Wykorzystane oprogramowanie (Algorytm genetyczny) 2 Sieć neuronowa Pochodne met-enkefaliny Optymalizacja

Bardziej szczegółowo

Wstęp do Sztucznej Inteligencji

Wstęp do Sztucznej Inteligencji Wstęp do Sztucznej Inteligencji Algorytmy Genetyczne Joanna Kołodziej Politechnika Krakowska Wydział Fizyki, Matematyki i Informatyki Metody heurystyczne Algorytm efektywny: koszt zastosowania (mierzony

Bardziej szczegółowo

Odkrywanie algorytmów kwantowych za pomocą programowania genetycznego

Odkrywanie algorytmów kwantowych za pomocą programowania genetycznego Odkrywanie algorytmów kwantowych za pomocą programowania genetycznego Piotr Rybak Koło naukowe fizyków Migacz, Uniwersytet Wrocławski Piotr Rybak (Migacz UWr) Odkrywanie algorytmów kwantowych 1 / 17 Spis

Bardziej szczegółowo

Optymalizacja ciągła

Optymalizacja ciągła Optymalizacja ciągła 5. Metoda stochastycznego spadku wzdłuż gradientu Wojciech Kotłowski Instytut Informatyki PP http://www.cs.put.poznan.pl/wkotlowski/ 04.04.2019 1 / 20 Wprowadzenie Minimalizacja różniczkowalnej

Bardziej szczegółowo

SZTUCZNA INTELIGENCJA

SZTUCZNA INTELIGENCJA SZTUCZNA INTELIGENCJA WYKŁAD 13. PROBLEMY OPTYMALIZACYJNE Częstochowa 2014 Dr hab. inż. Grzegorz Dudek Wydział Elektryczny Politechnika Częstochowska PROBLEMY OPTYMALIZACYJNE Optymalizacja poszukiwanie

Bardziej szczegółowo

Temat 1. Wprowadzenie do nawigacji robotów mobilnych. Dariusz Pazderski Opracowanie w ramach programu ERA Inżyniera

Temat 1. Wprowadzenie do nawigacji robotów mobilnych. Dariusz Pazderski Opracowanie w ramach programu ERA Inżyniera Kurs: Algorytmy Nawigacji Robotów Mobilnych Temat 1 Wprowadzenie do nawigacji robotów mobilnych 1 Pojęcia podstawowe Dariusz Pazderski Opracowanie w ramach programu ERA Inżyniera Na początku wprowadzimy

Bardziej szczegółowo

Planowanie ruchu brył i robotów

Planowanie ruchu brył i robotów Planowanie ruchu brył i robotów Przemysław Dobrowolski Wydział Matematyki i Nauk Informacyjnych Politechnika Warszawska 27-29 maja 2011 Będlewo 27-29 maja 2011 Przemysław Dobrowolski - Planowanie ruchu

Bardziej szczegółowo

Optymalizacja. Wybrane algorytmy

Optymalizacja. Wybrane algorytmy dr hab. inż. Instytut Informatyki Politechnika Poznańska www.cs.put.poznan.pl/mkomosinski, Andrzej Jaszkiewicz Problem optymalizacji kombinatorycznej Problem optymalizacji kombinatorycznej jest problemem

Bardziej szczegółowo

Ćwiczenie 1 Planowanie trasy robota mobilnego w siatce kwadratów pól - Algorytm A

Ćwiczenie 1 Planowanie trasy robota mobilnego w siatce kwadratów pól - Algorytm A Ćwiczenie 1 Planowanie trasy robota mobilnego w siatce kwadratów pól - Algorytm A Zadanie do wykonania 1) Utwórz na pulpicie katalog w formacie Imię nazwisko, w którym umieść wszystkie pliki związane z

Bardziej szczegółowo

ALGORYTMY GENETYCZNE (wykład + ćwiczenia)

ALGORYTMY GENETYCZNE (wykład + ćwiczenia) ALGORYTMY GENETYCZNE (wykład + ćwiczenia) Prof. dr hab. Krzysztof Dems Treści programowe: 1. Metody rozwiązywania problemów matematycznych i informatycznych.. Elementarny algorytm genetyczny: definicja

Bardziej szczegółowo

SZTUCZNA INTELIGENCJA

SZTUCZNA INTELIGENCJA SZTUCZNA INTELIGENCJA WYKŁAD 17. ALGORYTMY EWOLUCYJNE Częstochowa 2014 Dr hab. inż. Grzegorz Dudek Wydział Elektryczny Politechnika Częstochowska KODOWANIE BINARNE Problem różnych struktur przestrzeni

Bardziej szczegółowo

Algorytm hybrydowy dla alokacji portfela inwestycyjnego przy ograniczonych zasobach

Algorytm hybrydowy dla alokacji portfela inwestycyjnego przy ograniczonych zasobach Adam Stawowy Algorytm hybrydowy dla alokacji portfela inwestycyjnego przy ograniczonych zasobach Summary: We present a meta-heuristic to combine Monte Carlo simulation with genetic algorithm for Capital

Bardziej szczegółowo

PROGRAMOWANIE DYNAMICZNE W ROZMYTYM OTOCZENIU DO STEROWANIA STATKIEM

PROGRAMOWANIE DYNAMICZNE W ROZMYTYM OTOCZENIU DO STEROWANIA STATKIEM Mostefa Mohamed-Seghir Akademia Morska w Gdyni PROGRAMOWANIE DYNAMICZNE W ROZMYTYM OTOCZENIU DO STEROWANIA STATKIEM W artykule przedstawiono propozycję zastosowania programowania dynamicznego do rozwiązywania

Bardziej szczegółowo

Marcel Stankowski Wrocław, 23 czerwca 2009 INFORMATYKA SYSTEMÓW AUTONOMICZNYCH

Marcel Stankowski Wrocław, 23 czerwca 2009 INFORMATYKA SYSTEMÓW AUTONOMICZNYCH Marcel Stankowski Wrocław, 23 czerwca 2009 INFORMATYKA SYSTEMÓW AUTONOMICZNYCH Przeszukiwanie przestrzeni rozwiązań, szukanie na ślepo, wszerz, w głąb. Spis treści: 1. Wprowadzenie 3. str. 1.1 Krótki Wstęp

Bardziej szczegółowo

przetworzonego sygnału

przetworzonego sygnału Synteza falek ortogonalnych na podstawie oceny przetworzonego sygnału Instytut Informatyki Politechnika Łódzka 28 lutego 2012 Plan prezentacji 1 Sformułowanie problemu 2 3 4 Historia przekształcenia falkowego

Bardziej szczegółowo

Strefa pokrycia radiowego wokół stacji bazowych. Zasięg stacji bazowych Zazębianie się komórek

Strefa pokrycia radiowego wokół stacji bazowych. Zasięg stacji bazowych Zazębianie się komórek Problem zapożyczania kanałów z wykorzystaniem narzędzi optymalizacji Wprowadzenie Rozwiązanie problemu przydziału częstotliwości prowadzi do stanu, w którym każdej stacji bazowej przydzielono żądaną liczbę

Bardziej szczegółowo

ANALIZA WŁAŚCIWOŚCI FILTRU PARAMETRYCZNEGO I RZĘDU

ANALIZA WŁAŚCIWOŚCI FILTRU PARAMETRYCZNEGO I RZĘDU POZNAN UNIVE RSITY OF TE CHNOLOGY ACADE MIC JOURNALS No 78 Electrical Engineering 2014 Seweryn MAZURKIEWICZ* Janusz WALCZAK* ANALIZA WŁAŚCIWOŚCI FILTRU PARAMETRYCZNEGO I RZĘDU W artykule rozpatrzono problem

Bardziej szczegółowo

Algorytm dyskretnego PSO z przeszukiwaniem lokalnym w problemie dynamicznej wersji TSP

Algorytm dyskretnego PSO z przeszukiwaniem lokalnym w problemie dynamicznej wersji TSP Algorytm dyskretnego PSO z przeszukiwaniem lokalnym w problemie dynamicznej wersji TSP Łukasz Strąk lukasz.strak@gmail.com Uniwersytet Śląski, Instytut Informatyki, Będzińska 39, 41-205 Sosnowiec 9 grudnia

Bardziej szczegółowo

Heurystyki. Strategie poszukiwań

Heurystyki. Strategie poszukiwań Sztuczna inteligencja Heurystyki. Strategie poszukiwań Jacek Bartman Zakład Elektrotechniki i Informatyki Instytut Techniki Uniwersytet Rzeszowski DLACZEGO METODY PRZESZUKIWANIA? Sztuczna Inteligencja

Bardziej szczegółowo

Algorytmy ewolucyjne

Algorytmy ewolucyjne Algorytmy ewolucyjne wprowadzenie Piotr Lipiński lipinski@ii.uni.wroc.pl Piotr Lipiński Algorytmy ewolucyjne p.1/16 Cel wykładu zapoznanie studentów z algorytmami ewolucyjnymi, przede wszystkim nowoczesnymi

Bardziej szczegółowo

Porównanie algorytmów wyszukiwania najkrótszych ścieżek międz. grafu. Daniel Golubiewski. 22 listopada Instytut Informatyki

Porównanie algorytmów wyszukiwania najkrótszych ścieżek międz. grafu. Daniel Golubiewski. 22 listopada Instytut Informatyki Porównanie algorytmów wyszukiwania najkrótszych ścieżek między wierzchołkami grafu. Instytut Informatyki 22 listopada 2015 Algorytm DFS w głąb Algorytm przejścia/przeszukiwania w głąb (ang. Depth First

Bardziej szczegółowo

Strategie ewolucyjne (ang. evolution strategies)

Strategie ewolucyjne (ang. evolution strategies) Strategie ewolucyjne (ang. evolution strategies) 1 2 Szybki przegląd Rozwijane w Niemczech w latach 60-70. Wcześni badacze: I. Rechenberg, H.-P. Schwefel (student Rechenberga). Typowe zastosowanie: Optymalizacja

Bardziej szczegółowo

ZAGADNIENIA SPECJALNOŚCIOWE

ZAGADNIENIA SPECJALNOŚCIOWE (ARK) Komputerowe sieci sterowania 1.Zaawansowane metody wyznaczania parametrów regulatorów 2.Mechanizmy innowacyjne. 3.Sieci neuronowe w modelowaniu obiektów dynamicznych. 4.Zasady projektowania i zastosowania

Bardziej szczegółowo

Analiza korespondencji

Analiza korespondencji Analiza korespondencji Kiedy stosujemy? 2 W wielu badaniach mamy do czynienia ze zmiennymi jakościowymi (nominalne i porządkowe) typu np.: płeć, wykształcenie, status palenia. Punktem wyjścia do analizy

Bardziej szczegółowo

Obliczenia ewolucyjne - plan wykładu

Obliczenia ewolucyjne - plan wykładu Obliczenia ewolucyjne - plan wykładu Wprowadzenie Algorytmy genetyczne Programowanie genetyczne Programowanie ewolucyjne Strategie ewolucyjne Inne modele obliczeń ewolucyjnych Podsumowanie Ewolucja Ewolucja

Bardziej szczegółowo

Metoda określania pozycji wodnicy statków na podstawie pomiarów odległości statku od głowic laserowych

Metoda określania pozycji wodnicy statków na podstawie pomiarów odległości statku od głowic laserowych inż. Marek Duczkowski Metoda określania pozycji wodnicy statków na podstawie pomiarów odległości statku od głowic laserowych słowa kluczowe: algorytm gradientowy, optymalizacja, określanie wodnicy W artykule

Bardziej szczegółowo

Ćwiczenia nr 7. TEMATYKA: Krzywe Bézier a

Ćwiczenia nr 7. TEMATYKA: Krzywe Bézier a TEMATYKA: Krzywe Bézier a Ćwiczenia nr 7 DEFINICJE: Interpolacja: przybliżanie funkcji za pomocą innej funkcji, zwykle wielomianu, tak aby były sobie równe w zadanych punktach. Poniżej przykład interpolacji

Bardziej szczegółowo

LABORATORIUM 7: Problem komiwojażera (TSP) cz. 2

LABORATORIUM 7: Problem komiwojażera (TSP) cz. 2 Instytut Mechaniki i Inżynierii Obliczeniowej Wydział Mechaniczny Technologiczny, Politechnika Śląska www.imio.polsl.pl OBLICZENIA EWOLUCYJNE LABORATORIUM 7: Problem komiwojażera (TSP) cz. 2 opracował:

Bardziej szczegółowo

Metody tworzenia efektywnych komitetów klasyfikatorów jednoklasowych Bartosz Krawczyk Katedra Systemów i Sieci Komputerowych Politechnika Wrocławska

Metody tworzenia efektywnych komitetów klasyfikatorów jednoklasowych Bartosz Krawczyk Katedra Systemów i Sieci Komputerowych Politechnika Wrocławska Metody tworzenia efektywnych komitetów klasyfikatorów jednoklasowych Bartosz Krawczyk Katedra Systemów i Sieci Komputerowych Politechnika Wrocławska e-mail: bartosz.krawczyk@pwr.wroc.pl Czym jest klasyfikacja

Bardziej szczegółowo

Teraz bajty. Informatyka dla szkół ponadpodstawowych. Zakres rozszerzony. Część 1.

Teraz bajty. Informatyka dla szkół ponadpodstawowych. Zakres rozszerzony. Część 1. Teraz bajty. Informatyka dla szkół ponadpodstawowych. Zakres rozszerzony. Część 1. Grażyna Koba MIGRA 2019 Spis treści (propozycja na 2*32 = 64 godziny lekcyjne) Moduł A. Wokół komputera i sieci komputerowych

Bardziej szczegółowo

REPREZENTACJA LICZBY, BŁĘDY, ALGORYTMY W OBLICZENIACH

REPREZENTACJA LICZBY, BŁĘDY, ALGORYTMY W OBLICZENIACH REPREZENTACJA LICZBY, BŁĘDY, ALGORYTMY W OBLICZENIACH Transport, studia I stopnia rok akademicki 2012/2013 Instytut L-5, Wydział Inżynierii Lądowej, Politechnika Krakowska Adam Wosatko Ewa Pabisek Pojęcie

Bardziej szczegółowo

Maciej Piotr Jankowski

Maciej Piotr Jankowski Reduced Adder Graph Implementacja algorytmu RAG Maciej Piotr Jankowski 2005.12.22 Maciej Piotr Jankowski 1 Plan prezentacji 1. Wstęp 2. Implementacja 3. Usprawnienia optymalizacyjne 3.1. Tablica ekspansji

Bardziej szczegółowo

ZASTOSOWANIE GRAFU WIDOCZNOŚCI W PLANOWANIU TRASY PRZEJŚCIA STATKU APPLICATION OF A VISIBILITY GRAPH IN SHIP S PATH PLANNING

ZASTOSOWANIE GRAFU WIDOCZNOŚCI W PLANOWANIU TRASY PRZEJŚCIA STATKU APPLICATION OF A VISIBILITY GRAPH IN SHIP S PATH PLANNING Zeszyty Naukowe Akademii Morskiej w Gdyni Scientific Journal of Gdynia Maritime University Nr /, ISSN - e-issn - ZASTOSOWANIE GRAFU WIDOCZNOŚCI W PLANOWANIU TRASY PRZEJŚCIA STATKU APPLICATION OF A VISIBILITY

Bardziej szczegółowo

Algorytmy genetyczne w optymalizacji

Algorytmy genetyczne w optymalizacji Algorytmy genetyczne w optymalizacji Literatura 1. David E. Goldberg, Algorytmy genetyczne i ich zastosowania, WNT, Warszawa 1998; 2. Zbigniew Michalewicz, Algorytmy genetyczne + struktury danych = programy

Bardziej szczegółowo

METODY SZTUCZNEJ INTELIGENCJI algorytmy ewolucyjne

METODY SZTUCZNEJ INTELIGENCJI algorytmy ewolucyjne METODY SZTUCZNEJ INTELIGENCJI algorytmy ewolucyjne dr hab. inż. Andrzej Obuchowicz, prof. UZ Instytut Sterowania i Systemów Informatycznych Uniwersytet Zielonogórski A. Obuchowicz: MSI - algorytmy ewolucyjne

Bardziej szczegółowo

Szybkie prototypowanie w projektowaniu mechatronicznym

Szybkie prototypowanie w projektowaniu mechatronicznym Szybkie prototypowanie w projektowaniu mechatronicznym Systemy wbudowane (Embedded Systems) Systemy wbudowane (ang. Embedded Systems) są to dedykowane architektury komputerowe, które są integralną częścią

Bardziej szczegółowo

Informatyka studia stacjonarne pierwszego stopnia

Informatyka studia stacjonarne pierwszego stopnia #382 #379 Internetowy system obsługi usterek w sieciach handlowych (The internet systems of detection of defects in trade networks) Celem pracy jest napisanie aplikacji w języku Java EE. Główne zadania

Bardziej szczegółowo

LABORATORIUM 4: Algorytmy ewolucyjne cz. 2 wpływ operatorów krzyżowania i mutacji na skuteczność poszukiwań AE

LABORATORIUM 4: Algorytmy ewolucyjne cz. 2 wpływ operatorów krzyżowania i mutacji na skuteczność poszukiwań AE Instytut Mechaniki i Inżynierii Obliczeniowej Wydział Mechaniczny Technologiczny, Politechnika Śląska www.imio.polsl.pl METODY HEURYSTYCZNE LABORATORIUM 4: Algorytmy ewolucyjne cz. 2 wpływ operatorów krzyżowania

Bardziej szczegółowo

Algorytm memetyczny w grach wielokryterialnych z odroczoną preferencją celów. Adam Żychowski

Algorytm memetyczny w grach wielokryterialnych z odroczoną preferencją celów. Adam Żychowski Algorytm memetyczny w grach wielokryterialnych z odroczoną preferencją celów Adam Żychowski Definicja problemu dwóch graczy: P 1 (minimalizator) oraz P 2 (maksymalizator) S 1, S 2 zbiory strategii graczy

Bardziej szczegółowo

PEWNE METODY HYBRYDOWE W JEDNOKRYTERIALNEJ OPTYMALIZACJI KONSTRUKCJI SOME HYBRID METHODS FOR SINGLE CRITERIA DESIGN OPTIMIZATION

PEWNE METODY HYBRYDOWE W JEDNOKRYTERIALNEJ OPTYMALIZACJI KONSTRUKCJI SOME HYBRID METHODS FOR SINGLE CRITERIA DESIGN OPTIMIZATION STANISŁAW KRENICH PEWNE METODY HYBRYDOWE W JEDNOKRYTERIALNEJ OPTYMALIZACJI KONSTRUKCJI SOME HYBRID METHODS FOR SINGLE CRITERIA DESIGN OPTIMIZATION S t r e s z c z e n i e A b s t r a c t W artykule przedstawiono

Bardziej szczegółowo

Algorytmy metaheurystyczne Wykład 6. Piotr Syga

Algorytmy metaheurystyczne Wykład 6. Piotr Syga Algorytmy metaheurystyczne Wykład 6 Piotr Syga 10.04.2017 Wprowadzenie Inspiracje Wprowadzenie ACS idea 1 Zaczynamy z pustym rozwiązaniem początkowym 2 Dzielimy problem na komponenty (przedmiot do zabrania,

Bardziej szczegółowo

Rozszerzony konspekt preskryptu do przedmiotu Podstawy Robotyki

Rozszerzony konspekt preskryptu do przedmiotu Podstawy Robotyki Projekt współfinansowany przez Unię Europejską w ramach Europejskiego Funduszu Społecznego Rozszerzony konspekt preskryptu do przedmiotu Podstawy Robotyki dr inż. Marek Wojtyra Instytut Techniki Lotniczej

Bardziej szczegółowo

II-go stopnia. Stacjonarne. Zagadnienia egzaminacyjne AUTOMATYKA I ROBOTYKA TYP STUDIÓW STOPIEŃ STUDIÓW SPECJALNOŚĆ

II-go stopnia. Stacjonarne. Zagadnienia egzaminacyjne AUTOMATYKA I ROBOTYKA TYP STUDIÓW STOPIEŃ STUDIÓW SPECJALNOŚĆ (ARK) Komputerowe sieci sterowania 1. Zaawansowane metody wyznaczania parametrów regulatorów 2. Mechanizmy innowacyjne. 3. Sieci neuronowe w modelowaniu obiektów dynamicznych. 4. Zasady projektowania i

Bardziej szczegółowo

Wybrane podstawowe rodzaje algorytmów

Wybrane podstawowe rodzaje algorytmów Wybrane podstawowe rodzaje algorytmów Tomasz Głowacki tglowacki@cs.put.poznan.pl Zajęcia finansowane z projektu "Rozwój i doskonalenie kształcenia na Politechnice Poznańskiej w zakresie technologii informatycznych

Bardziej szczegółowo

UKŁAD WSPOMAGANIA OPRERATORA W ZDALNYM STEROWANIU POJAZDU LĄDOWEGO 1

UKŁAD WSPOMAGANIA OPRERATORA W ZDALNYM STEROWANIU POJAZDU LĄDOWEGO 1 UKŁAD WSPOMAGANIA OPRERATORA W ZDALNYM STEROWANIU POJAZDU LĄDOWEGO 1 Andrzej TYPIAK Instytut Budowy Maszyn, Wydział Mechaniczny Wojskowa Akademia Techniczna, Warszawa, Polska tel. (22) 683 93 88, e-mail

Bardziej szczegółowo

Algorytmy genetyczne. Paweł Cieśla. 8 stycznia 2009

Algorytmy genetyczne. Paweł Cieśla. 8 stycznia 2009 Algorytmy genetyczne Paweł Cieśla 8 stycznia 2009 Genetyka - nauka o dziedziczeniu cech pomiędzy pokoleniami. Geny są czynnikami, które decydują o wyglądzie, zachowaniu, rozmnażaniu każdego żywego organizmu.

Bardziej szczegółowo

6. Klasyczny algorytm genetyczny. 1

6. Klasyczny algorytm genetyczny. 1 6. Klasyczny algorytm genetyczny. 1 Idea algorytmu genetycznego została zaczerpnięta z nauk przyrodniczych opisujących zjawiska doboru naturalnego i dziedziczenia. Mechanizmy te polegają na przetrwaniu

Bardziej szczegółowo

Uniwersytet Zielonogórski Wydział Elektrotechniki, Informatyki i Telekomunikacji Instytut Sterowania i Systemów Informatycznych

Uniwersytet Zielonogórski Wydział Elektrotechniki, Informatyki i Telekomunikacji Instytut Sterowania i Systemów Informatycznych Uniwersytet Zielonogórski Wydział Elektrotechniki, Informatyki i Telekomunikacji Instytut Sterowania i Systemów Informatycznych ELEMENTY SZTUCZNEJ INTELIGENCJI Laboratorium nr 9 PRZESZUKIWANIE GRAFÓW Z

Bardziej szczegółowo

Teoria algorytmów ewolucyjnych

Teoria algorytmów ewolucyjnych Teoria algorytmów ewolucyjnych 1 2 Dlaczego teoria Wynik analiza teoretycznej może pokazać jakie warunki należy spełnić, aby osiągnąć zbieżność do minimum globalnego. Np. sukcesja elitarystyczna. Może

Bardziej szczegółowo

Generowanie i optymalizacja harmonogramu za pomoca

Generowanie i optymalizacja harmonogramu za pomoca Generowanie i optymalizacja harmonogramu za pomoca na przykładzie generatora planu zajęć Matematyka Stosowana i Informatyka Stosowana Wydział Fizyki Technicznej i Matematyki Stosowanej Politechnika Gdańska

Bardziej szczegółowo

Modele i narzędzia optymalizacji w systemach informatycznych zarządzania

Modele i narzędzia optymalizacji w systemach informatycznych zarządzania Politechnika Poznańska Modele i narzędzia optymalizacji w systemach informatycznych zarządzania Joanna Józefowska POZNAŃ 2010/11 Spis treści Rozdział 1. Metoda programowania dynamicznego........... 5

Bardziej szczegółowo

TRANSCOMP XIV INTERNATIONAL CONFERENCE COMPUTER SYSTEMS AIDED SCIENCE, INDUSTRY AND TRANSPORT

TRANSCOMP XIV INTERNATIONAL CONFERENCE COMPUTER SYSTEMS AIDED SCIENCE, INDUSTRY AND TRANSPORT TRANSCOMP XIV INTERNATIONAL CONFERENCE COMPUTER SYSTEMS AIDED SCIENCE, INDUSTRY AND TRANSPORT Adam BARTNICKI 1 Andrzej TYPIAK 1 Ladar, analiza obrazów, wykrywanie przeszkód, pojazd bezzałogowy, wskaźniki

Bardziej szczegółowo

REPREZENTACJA LICZBY, BŁĘDY, ALGORYTMY W OBLICZENIACH

REPREZENTACJA LICZBY, BŁĘDY, ALGORYTMY W OBLICZENIACH REPREZENTACJA LICZBY, BŁĘDY, ALGORYTMY W OBLICZENIACH Transport, studia niestacjonarne I stopnia, semestr I Instytut L-5, Wydział Inżynierii Lądowej, Politechnika Krakowska Adam Wosatko Ewa Pabisek Reprezentacja

Bardziej szczegółowo

ALGORYTMY GENETYCZNE ćwiczenia

ALGORYTMY GENETYCZNE ćwiczenia ćwiczenia Wykorzystaj algorytmy genetyczne do wyznaczenia minimum globalnego funkcji testowej: 1. Wylosuj dwuwymiarową tablicę 100x2 liczb 8-bitowych z zakresu [-100; +100] reprezentujących inicjalną populację

Bardziej szczegółowo

Działanie algorytmu oparte jest na minimalizacji funkcji celu jako suma funkcji kosztu ( ) oraz funkcji heurystycznej ( ).

Działanie algorytmu oparte jest na minimalizacji funkcji celu jako suma funkcji kosztu ( ) oraz funkcji heurystycznej ( ). Algorytm A* Opracowanie: Joanna Raczyńska 1.Wstęp Algorytm A* jest heurystycznym algorytmem służącym do znajdowania najkrótszej ścieżki w grafie. Jest to algorytm zupełny i optymalny, co oznacza, że zawsze

Bardziej szczegółowo

SCHEMAT ROZWIĄZANIA ZADANIA OPTYMALIZACJI PRZY POMOCY ALGORYTMU GENETYCZNEGO

SCHEMAT ROZWIĄZANIA ZADANIA OPTYMALIZACJI PRZY POMOCY ALGORYTMU GENETYCZNEGO SCHEMAT ROZWIĄZANIA ZADANIA OPTYMALIZACJI PRZY POMOCY ALGORYTMU GENETYCZNEGO. Rzeczywistość (istniejąca lub projektowana).. Model fizyczny. 3. Model matematyczny (optymalizacyjny): a. Zmienne projektowania

Bardziej szczegółowo

ALGORYTMY EWOLUCYJNE W OPTYMALIZACJI JEDNOKRYTERIALNEJ

ALGORYTMY EWOLUCYJNE W OPTYMALIZACJI JEDNOKRYTERIALNEJ ALGORYTMY EWOLUCYJNE W OPTYMALIZACJI JEDNOKRYTERIALNEJ Zalety: nie wprowadzają żadnych ograniczeń na sformułowanie problemu optymalizacyjnego. Funkcja celu może być wielowartościowa i nieciągła, obszar

Bardziej szczegółowo

Metody numeryczne Technika obliczeniowa i symulacyjna Sem. 2, EiT, 2014/2015

Metody numeryczne Technika obliczeniowa i symulacyjna Sem. 2, EiT, 2014/2015 Metody numeryczne Technika obliczeniowa i symulacyjna Sem. 2, EiT, 2014/2015 1 Metody numeryczne Dział matematyki Metody rozwiązywania problemów matematycznych za pomocą operacji na liczbach. Otrzymywane

Bardziej szczegółowo

O 2 O 1. Temat: Wyznaczenie przyspieszenia ziemskiego za pomocą wahadła rewersyjnego

O 2 O 1. Temat: Wyznaczenie przyspieszenia ziemskiego za pomocą wahadła rewersyjnego msg M 7-1 - Temat: Wyznaczenie przyspieszenia ziemskiego za pomocą wahadła rewersyjnego Zagadnienia: prawa dynamiki Newtona, moment sił, moment bezwładności, dynamiczne równania ruchu wahadła fizycznego,

Bardziej szczegółowo

Sztuczna inteligencja i uczenie maszynowe w robotyce i systemach autonomicznych: AI/ML w robotyce, robotyka w AI/ML

Sztuczna inteligencja i uczenie maszynowe w robotyce i systemach autonomicznych: AI/ML w robotyce, robotyka w AI/ML Sztuczna inteligencja i uczenie maszynowe w robotyce i systemach autonomicznych: AI/ML w robotyce, robotyka w AI/ML Piotr Skrzypczyński Instytut Automatyki, Robotyki i Inżynierii Informatycznej, Politechnika

Bardziej szczegółowo

INFORMATYKA W SZKOLE. Podyplomowe Studia Pedagogiczne. Dr inż. Grażyna KRUPIŃSKA. D-10 pokój 227

INFORMATYKA W SZKOLE. Podyplomowe Studia Pedagogiczne. Dr inż. Grażyna KRUPIŃSKA. D-10 pokój 227 INFORMATYKA W SZKOLE Dr inż. Grażyna KRUPIŃSKA grazyna@fis.agh.edu.pl D-10 pokój 227 Podyplomowe Studia Pedagogiczne 2 Algorytmy Nazwa algorytm wywodzi się od nazwiska perskiego matematyka Muhamed ibn

Bardziej szczegółowo

WAE Jarosław Arabas Pełny schemat algorytmu ewolucyjnego

WAE Jarosław Arabas Pełny schemat algorytmu ewolucyjnego WAE Jarosław Arabas Pełny schemat algorytmu ewolucyjnego Algorytm ewolucyjny algorytm ewolucyjny inicjuj P 0 {P 0 1, P 0 2... P 0 μ } t 0 H P 0 while! stop for (i 1: λ) if (a< p c ) O t i mutation(crossover

Bardziej szczegółowo

Rój cząsteczek. Particle Swarm Optimization. Adam Grycner. 18 maja Instytut Informatyki Uniwersytetu Wrocławskiego

Rój cząsteczek. Particle Swarm Optimization. Adam Grycner. 18 maja Instytut Informatyki Uniwersytetu Wrocławskiego Rój cząsteczek Particle Swarm Optimization Adam Grycner Instytut Informatyki Uniwersytetu Wrocławskiego 18 maja 2011 Adam Grycner Rój cząsteczek 1 / 38 Praca Kennedy ego i Eberhart a Praca Kennedy ego

Bardziej szczegółowo

Algorytmy i str ruktury danych. Metody algorytmiczne. Bartman Jacek

Algorytmy i str ruktury danych. Metody algorytmiczne. Bartman Jacek Algorytmy i str ruktury danych Metody algorytmiczne Bartman Jacek jbartman@univ.rzeszow.pl Metody algorytmiczne - wprowadzenia Znamy strukturę algorytmów Trudność tkwi natomiast w podaniu metod służących

Bardziej szczegółowo

5. Rozwiązywanie układów równań liniowych

5. Rozwiązywanie układów równań liniowych 5. Rozwiązywanie układów równań liniowych Wprowadzenie (5.1) Układ n równań z n niewiadomymi: a 11 +a 12 x 2 +...+a 1n x n =a 10, a 21 +a 22 x 2 +...+a 2n x n =a 20,..., a n1 +a n2 x 2 +...+a nn x n =a

Bardziej szczegółowo

Metody Optymalizacji: Przeszukiwanie z listą tabu

Metody Optymalizacji: Przeszukiwanie z listą tabu Metody Optymalizacji: Przeszukiwanie z listą tabu Wojciech Kotłowski Instytut Informatyki Politechniki Poznańskiej email: imię.nazwisko@cs.put.poznan.pl pok. 2 (CW) tel. (61)665-2936 konsultacje: wtorek

Bardziej szczegółowo

UNIKANIE IMPASÓW W SYSTEMACH PROCESÓW WSPÓŁBIEŻNYCH

UNIKANIE IMPASÓW W SYSTEMACH PROCESÓW WSPÓŁBIEŻNYCH UNIKANIE IMPASÓW W SYSTEMACH PROCESÓW WSPÓŁBIEŻNYCH Robert Wójcik Instytut Cybernetyki Technicznej Politechniki Wrocławskiej 1. Impasy w systemach procesów współbieżnych 2. Klasyczne algorytmy unikania

Bardziej szczegółowo

13. Równania różniczkowe - portrety fazowe

13. Równania różniczkowe - portrety fazowe 13. Równania różniczkowe - portrety fazowe Grzegorz Kosiorowski Uniwersytet Ekonomiczny w Krakowie rzegorz Kosiorowski (Uniwersytet Ekonomiczny 13. wrównania Krakowie) różniczkowe - portrety fazowe 1 /

Bardziej szczegółowo

INFORMATYKA SYSTEMÓW AUTONOMICZNYCH

INFORMATYKA SYSTEMÓW AUTONOMICZNYCH Katarzyna Wojewoda 133413 Wrocław, 05. 06. 2007 INFORMATYKA SYSTEMÓW AUTONOMICZNYCH PRACA ZALICZENIOWA Reprezentacje wiedzy w systemach autonomicznych: Reprezentacja potencjałowa Prowadzący: Dr inŝ. Marek

Bardziej szczegółowo

Algorytmy sztucznej inteligencji

Algorytmy sztucznej inteligencji www.math.uni.lodz.pl/ radmat Przeszukiwanie z ograniczeniami Zagadnienie przeszukiwania z ograniczeniami stanowi grupę problemów przeszukiwania w przestrzeni stanów, które składa się ze: 1 skończonego

Bardziej szczegółowo

Automatyka i Robotyka studia stacjonarne drugiego stopnia

Automatyka i Robotyka studia stacjonarne drugiego stopnia #384 #380 dr inż. Mirosław Gajer Projekt i implementacja narzędzia do profilowania kodu natywnego przy wykorzystaniu narzędzi Android NDK (Project and implementation of tools for profiling native code

Bardziej szczegółowo

Tomasz Pawlak. Zastosowania Metod Inteligencji Obliczeniowej

Tomasz Pawlak. Zastosowania Metod Inteligencji Obliczeniowej 1 Zastosowania Metod Inteligencji Obliczeniowej Tomasz Pawlak 2 Plan prezentacji Sprawy organizacyjne Wprowadzenie do metod inteligencji obliczeniowej Studium wybranych przypadków zastosowań IO 3 Dane

Bardziej szczegółowo

Badania operacyjne: Wykład Zastosowanie kolorowania grafów w planowaniu produkcji typu no-idle

Badania operacyjne: Wykład Zastosowanie kolorowania grafów w planowaniu produkcji typu no-idle Badania operacyjne: Wykład Zastosowanie kolorowania grafów w planowaniu produkcji typu no-idle Paweł Szołtysek 12 czerwca 2008 Streszczenie Planowanie produkcji jest jednym z problemów optymalizacji dyskretnej,

Bardziej szczegółowo

Mechatronika i inteligentne systemy produkcyjne. Modelowanie systemów mechatronicznych Platformy przetwarzania danych

Mechatronika i inteligentne systemy produkcyjne. Modelowanie systemów mechatronicznych Platformy przetwarzania danych Mechatronika i inteligentne systemy produkcyjne Modelowanie systemów mechatronicznych Platformy przetwarzania danych 1 Sterowanie procesem oparte na jego modelu u 1 (t) System rzeczywisty x(t) y(t) Tworzenie

Bardziej szczegółowo