Zastosowanie algorytmów mrówkowych do rozwiązywania problemu komiwojażera
|
|
- Nina Antczak
- 7 lat temu
- Przeglądów:
Transkrypt
1 1 1. Wstęp Podstawowe pojęcia Sztuczna inteligencja Systemy mrówkowe Problem komiwojażera Algorytm rozwiązania problemu komiwojażera Zakres opracowania Algorytm mrówkowy Algorytm włączania Program Interfejs programu Obsługa programu Funkcje podstawowe Funkcje konfiguracyjne Opcje dodatkowe Uruchomienie programu Możliwości Ograniczenia Testy porównawcze Wpływ ilości zostawianego feromonu na algorytmy mrówkowe Wpływ tempa odparowania feromonu Znaczenie ilości feromonu i widoczności miast Wpływ wielkości populacji Wpływ liczby iteracji Wpływ ilości miast na czas działania algorytmów Podsumowanie algorytmów Wnioski Bibliografia: Załącznik 1 - Biblioteka TSPLIB Załącznik 2 Schematy blokowe... 55
2 2 1. Wstęp Cogito ergo sum (tłum. Myślę więc jestem ) jak powiedział Kartezjusz. Myślenie zawsze było rzeczą ludzką. Jednak wraz z rozwojem technik cyfrowych coraz więcej osób stara się poznać zasady pojmowania i stworzyć maszynę, która podobnie jak człowiek, będzie w stanie podejmować inteligentne decyzje w nowych sytuacjach. Na dzień dzisiejszy sztuczna inteligencja nie stoi jeszcze na zbyt wysokim poziomie (w porównaniu do istot inteligentnych), ale jak każda pionierska dziedzina musi pokonać początkowe trudności, a jej rozwój, mimo że nieznaczny, to jednak ciągle jest wyraźny. Nauka o sztucznym umyśle stara się, na dzień dzisiejszy, rozwiązywać małe problemy, tworząc duże budowle z małych klocków tak, aby może kiedyś w przyszłości wyciągnąć z nich odpowiednie wnioski lub połączyć w kolejny, jeszcze większy model. Takim klockiem niewątpliwie jest dział sztucznej inteligencji zajmujący się algorytmami mrówkowymi. Algorytmami, które swój początek wzięły z obserwacji przyrody i reguł jakie rządzą owadami kolonialnymi. Algorytmy mrówkowe mogą posłużyć do rozwiązywania najróżniejszych problemów. Jednym ze sztandarowych zastosowań może być problem komiwojażera, czyli kogoś, kto ma za zadanie znaleźć najkrótszą marszrutę. Praca ta ma na celu porównanie różnych odmian algorytmu mrówkowego oraz innych algorytmów rozwiązujących problem komiwojażera. Wszystkie próby i porównania zostały przeprowadzone na aplikacji wykorzystującej kilka różnych algorytmów, w tym trzy odmiany algorytmu mrówkowego. W przedstawionej pracy znajdują się w rozdziale 2 podstawowe pojęcia z zakresu sztucznej inteligencji i problemu komiwojażera. Rozdział 3 przybliża problem komiwojażera oraz algorytmy, za pomocą których można ten problem rozwiązać. W rozdziale 4 znajduje się dokładny opis działania programu, rozwiązującego problem komiwojażera za pomocą algorytmów mrówkowych, algorytmu włączania oraz algorytmu losowego. Wyniki doświadczeń wraz z komentarzem znajdują się w rozdziale 5. Rozdział 6 zawiera końcowe wnioski z przeprowadzonych badań.
3 3 2. Podstawowe pojęcia Do podstawowych pojęć potrzebnych do lepszego zrozumienia problemu, zaliczymy przede wszystkim pojęcie sztucznej inteligencji, definicję algorytmu mrówkowego wraz z jego kilkoma wybranymi typami, jak i zagadnienie problemu komiwojażera Sztuczna inteligencja Dla poprawnego zrozumienia pojęcia sztucznej inteligencji, należy najpierw wyjaśnić, co to takiego jest inteligencja. Inteligencję można zdefiniować na wiele różnych sposobów. Nie istnieje jedna, lepsza, bardziej trafna definicja, którą można się posłużyć, a każdy może przedstawić swoją własną, będącą równie dobrą, co wszystkie pozostałe. Oto kilka przykładów: Inteligencja jest to pewna cecha umysłu, która odpowiada za sprawność w zakresie myślenia i rozwiązywania problemów. Poziom inteligencji zależy od poprawności rozumienia, skuteczności poszukiwania poprawnych rozwiązań problemów oraz sprawności działania w sytuacjach nowych czy nieznanych [4]. Z punktu widzenia biologicznego możemy powiedzieć, że inteligencja jest to obserwowana w warunkach naturalnych lub eksperymentalnych zdolność niektórych zwierząt do szybkiego znalezienia najtrafniejszego postępowania w nowej, nieznanej sytuacji [4]. Istnieje również inna, bardziej ukierunkowana na człowieka definicja inteligencji, która mówi, że inteligencja to zdolność dostosowania się naszego umysłu do zaistniałej sytuacji, a stopień inteligencji zależny jest od czasu jakiego potrzebował nasz umysł aby się do niej dostosować[1i]. Chcąc określić sztuczną inteligencję napotkamy podobna sytuację, jaka miała miejsce powyżej wiele różnych i jednocześnie poprawnych definicji.
4 4 Sztuczna inteligencja (ang. Artificial Intelligence dalej AI), jest działem informatyki, i jej głównym celem jest badanie reguł rządzących inteligentnymi zachowaniami, tworzenie ich modeli, a przede wszystkim tworzenie systemów komputerowych symulujących te zachowania [4]. Według jednej z encyklopedii sztuczna inteligencja to technologia i kierunek badań informatycznych i psychologicznych. Jej zadaniem jest "konstruowanie maszyn, o których działaniu dałoby się powiedzieć, że są podobne do ludzkich przejawów inteligencji", jak to zostało zdefiniowane przez Johna McCarthy'ego, który w 1955 r. zaproponował ten termin [2i]. Programy komputerowe powstałe na modelach wywodzących się z systemów inteligentnych mają bardzo szeroki zakres zastosowania, począwszy od na przykład rozpoznawania kształtów, poprzez prowadzenie różnego typu gier, do dowodzenia twierdzeń lub komponowania muzyki. Programy te można stosować praktycznie w każdej dziedzinie, w której istnieje potrzeba przeanalizowania pewnego problemu i wymagane jest dostarczenie odpowiedzi szybko i w sposób zautomatyzowany. Sztuczna inteligencja ma również pewne cele. Na dzień dzisiejszy wydaje się, że szczytem, jaki należałoby osiągnąć w rozwijaniu metod AI, byłaby maszyna dorównująca inteligencją człowiekowi, ale że przyszłość jest niewiadomą, prawdopodobnie, jak zwykle, uda jej się nas zaskoczyć Systemy mrówkowe W trakcie ewolucji sztucznej inteligencji powstało wiele algorytmów, które wykorzystując pewne reguły odnajdują rozwiązanie problemu. Możemy do nich zaliczyć algorytmy genetyczne, sieci neuronowe i oczywiście systemy mrówkowe. Algorytmy czy też systemy mrówkowe, powstały między innymi w wyniku obserwowania przyrody i zrozumienia zasady działania owadów społecznych. Owady społeczne (takie jak mrówki, pszczoły czy termity) mają kilka cech, pozwalających na łatwiejsze oprogramowanie ich zachowań. Do najważniejszych należy prostota pojmowania świata przez pojedynczego osobnika. Osobnik nie skupia się na całym problemie on nawet nie musi wiedzieć o jego istnieniu. Nadorganizm, tworzony przez
5 5 całą populację, ma za zadanie rozwiązanie problemu, a do rozwiązania wykorzystuje wszelkie zajścia społeczne występujące pomiędzy jednostkami [1]. Tak więc mamy nadorganizm, składający się z prostych, nieinteligentnych osobników, przekazujących sobie pewne informacje i reagujących w sposób przypadkowy na bodźce zewnętrzne. W ten sposób powstaje skomplikowany system zależności zrodzony na skutek przypadkowych zajść, ale dążący do rozwiązania pewnego trudnego problemu, którego rozwiązanie przez jeden organizm byłoby niemożliwe [1]. a) b) c) Rys. 1 Reakcja koloni mrówek na pojawienie się przeszkody Pojedyncze organizmy, nazwijmy je mrówkami, mają możliwość porozumiewania się. Nie jest to oczywiście metoda porozumiewania zbliżona do jakiegoś konkretnego typu wymieniania się informacjami. Mrówki podążając po jakimś terenie pozostawiają za sobą ślad zapachowy - tak zwany feromon. Taki ślad wyczuwany jest przez inne mrówki, które podążając za tym śladem wzmacniają go, lub w wypadku wybrania innej drogi wędrówki zostawiają ślad dający kolejnym mrówkom większą szansę na wybór alternatywnego rozwiązania. Kolejne mrówki mają już więcej możliwości, ale zawsze każda z mrówek może wybrać trasę jeszcze nieuczęszczaną w ten sposób w każdej
6 6 chwili istnieje możliwość rozwiązania problemu w sposób jeszcze nieznany dla populacji [1]. Rzeczywiste mrówki po znalezieniu źródła pożywienia wytyczają po pewnym czasie błądzenia najkrótszą trasę pomiędzy mrowiskiem, a tym źródłem (Rys. 1 a). Ilość feromonu na trasie staje się tak duża, że praktycznie żadna z mrówek nie zbacza z trasy wytyczonej przez całą kolonię. Jednak pojawienie się przeszkody na trasie wymaga od mrówek wytyczenia nowej trasy (Rys. 1 b). W początkowym etapie prawdopodobieństwo, że mrówki wybiorą którekolwiek z rozwiązań jest jednakowe. Na tym etapie mrówki, które przypadkiem wybrały krótszą trasę zostawiły więcej śladu zapachowego (mniej feromonu zdążyło odparować). Następne mrówki z większym prawdopodobieństwem wybiorą krótszą drogę, tym samym wzmacniając feromon. Następuje tutaj zjawisko dodatniego sprzężenia zwrotnego, które w efekcie pozwala mrówkom (nieświadomie dla nich samych) na znalezienie najbardziej optymalnego rozwiązania (Rys. 3 c) [1]. Podstawową różnicą pomiędzy stosowanymi w symulacjach sztucznymi mrówkami, a ich naturalnymi odpowiednikami będzie to, że sztuczne mrówki zostaną obarczone pamięcią, nie będą ślepe (potrafią oceniać odległości), a upływ czasu nie będzie miał relatywnego wpływu na zachowanie mrówek czy tempo odparowywania feromonu. Systemy mrówkowe można zastosować w wielu dziedzinach informatyki oraz życia codziennego. Krishnan Krishnaiyer i S. Hossein Cheraghi w artykule Ant Algorithms: Review and Future Applications przedstawiają kilka takich zastosowań [3]: Szkolenie kierowców autobusów (autor: Forsyth P. i Wren A, 1997), Planowanie przestrzenne (autor: Bland J.A, 1999), Grafika (autor: Tzafestas E.S.,2000), Sieci Peer2Peer (autor: Baboglu O. Meling, H. Montresor A., 2001), Problem lokalizacji przystanków autobusowych (autor: Jong, de J and Wiering, M., 2001), Optymalizacja bioreaktorów (autor: Jayaraman, V.K., Kulkarni, B.D. i Gupta, K., 2001 ).
7 Problem komiwojażera Problem komiwojażera jest przykładem problemu optymalizacji kombinatoryjnej. Najbardziej podstawowa wersja tego problemu zakłada, że komiwojażer (ktoś planujący marszrutę) ma za zadanie znaleźć najkrótszą drogę od pewnego miasta startowego poprzez n miast i następnie powrócić do miasta startowego, rys. 2. Gdańsk Poznań Warszawa Wrocław 304 Kraków Rys. 2 Graf ważony o wierzchołkach odpowiadających pięciu miastom polskim [3i] Istnieje wiele odmian tego problemu. Do jednej z nich zaliczamy problem, w którym koszt, czy też wagi połączeń, nie muszą być jednakowe w obu kierunkach. Gdy wagi nie są symetryczne problem nosi nazwę asymetrycznego problemu komiwojażera. Problem komiwojażera występuje w wielu aspektach życia codziennego, jak na przykład zaplanowanie wycieczki rodzinnej z odwiedzeniem konkretnych atrakcji turystycznych, po mniej banalne problemy jak obsługa ramienia robota nitującego [6] lub umieszczającego mikroukłady na płytkach drukowanych. W takich przypadkach kluczowe znaczenie ma koszt (czas i energia potrzebna na wykonanie wszystkich ruchów), jak i prosty i niekosztowny cykl przeprogramowania maszyny dla innych układów miast. Również popularny ostatnio rynek rozrywki komputerowej stawia coraz większy nacisk na podnoszenie poziomu sztucznej inteligencji dla przeciwników komputerowych, gdzie problem komiwojażera (na przykład przeprowadzenie postaci przez lokacje) również często występuje, a czas wykonania całej operacji powinien być jak najbardziej skrócony, przy jednoczesnym zachowaniu wystarczająco dobrego rozwiązania.
8 8 O rozwiązaniu problemu komiwojażera mówimy jako o problemie NP trudnym. Oznacza to, że ilość obliczeń potrzebna do rozwiązania rośnie w miarę zwiększania liczby miast n. Często przeszukanie całego drzewa stanów dla większej liczby miast byłoby tak czasochłonne, że w praktyce niemożliwe do wykonania. Dla lepszego przedstawienia wzrostu ilości rozwiązań możemy posłużyć się dwoma przykładami: dla 10 i 20 miast. W problemie zawierającym 10 miast ilość rozwiązań wynosi: 9!/2, co jest równe rozwiązań. Natomiast dla problemu 20 miast ilość rozwiązań wynosi 19!/2, co jest równe Na tym prostym przykładzie widać, że zwiększenie liczby miast z 10 do 20 spowodowało olbrzymi wzrost ilości możliwych rozwiązań. Przeszukanie wszystkich możliwych rozwiązań dla problemu 20 czy 30 miast mogłoby zająć na komputerach klasy PC wiele dni, jeśli nie tygodni. Każdy bardziej skomplikowany problem znalazłby się poza mocą obliczeniową nawet najszybszego komputera. Pomocą przy przeszukiwaniu są heurystyki czyli metody wykluczające pewne mniej obiecujące rozwiązania i znajdujące rozwiązania suboptymalne czyli wystarczająco dobre, by można je zaakceptować. Właśnie podczas rozwiązywania problemu komiwojażera posłużymy się metodami heurystycznymi.
9 9 3. Algorytm rozwiązania problemu komiwojażera W celu rozwiązania problemu komiwojażera, w pracy posłużono się dwoma różnymi algorytmami: algorytmem mrówkowym oraz algorytmem włączania (w celu porównania) Zakres opracowania Problem komiwojażera zawężono do miast rozmieszczonych w układzie kartezjańskim, co w praktyce oznacza, że każdemu miastu zostaną przyporządkowane dwie współrzędne: x oraz y. Przyjęto też założenie, że pomiędzy miastami nie występują połączenia (drogi) i z każdego miasta można udać się do każdego innego miasta nie przechodząc przez żadne inne miasto. Ilość miast oraz wszystkie zmienne, takie jak ilość iteracji (liczba przejść całej populacji mrówek) czy wielkość populacji (ilość mrówek w kolonii), są całkowicie dowolne i mogą być dobrane przez użytkownika według uznania. Wynikiem jest całkowita droga jaką mrówka pokona idąc od miasta początkowego, przez wszystkie miasta pozostałe, z powrotem do miasta, z którego rozpoczęła wędrówkę Algorytm mrówkowy Problem komiwojażera jest dany poprzez graf ważony (N, E), gdzie N jest zbiorem miast, a E jest zbiorem łuków pomiędzy tymi miastami [1]. Każda z mrówek w populacji posiada następujące właściwości Pozostawia ślad zapachowy (feromon) na krawędzi pomiędzy miastami. Wybór kolejnego z miast przez mrówkę jest obliczany ze wzoru (1) przy pomocy prawdopodobieństwa, będącego funkcją ilości feromonu zostawionego przez inne mrówki na krawędzi między miastami oraz odległości pomiędzy nimi.
10 10 Każda mrówka musi tylko raz odwiedzić każde miasto w jednym cyklu [1]. Dla każdej mrówki losowane jest miasto startowe i zarazem końcowe. Mrówka udając się do kolejnego miasta, musi wylosować miasto z pośród miast jeszcze nieodwiedzonych. Do tego celu używana jest tablica TABU, gdzie wpisane są już wszystkie przez nią odwiedzone miasta. Miasta z tablicy TABU nie są uwzględniane podczas losowania. Dla każdego z dozwolonych miast obliczane jest prawdopodobieństwo wyboru za pomocą wzoru: jeżeli j nie należy do tablicy TABU, (1) w innym przypadku, gdzie: i numer miasta, w którym mrówka znajduje się aktualnie, j numer miasta, dla którego obliczamy prawdopodobieństwo, p prawdopodobieństwo, η widoczność (odwrotność odległości) pomiędzy miastami, τ ślad feromonowy, α, β parametry względnej ważności pomiędzy śladem feromonu a widocznością. Gdy obliczone zostanie już prawdopodobieństwo wylosowania dla pozostałych miast, następuje właściwe losowanie. Daje to mrówce możliwość wybrania innej trasy niż jej poprzedniczki, przy czym zazwyczaj wybierze ona trasę najczęściej uczęszczaną. Mrówka po pokonaniu pewnej krawędzi pomiędzy miastami, zostawia pomiędzy nimi feromon. Istnieje kilka odmian algorytmu różniących się warunkiem pozostawienia feromonu. Omówimy trzy z nich: feromon stały, feromon cykliczny oraz zmodyfikowaną wersję feromonu cyklicznego - feromon cykliczny-elitarny. Feromon stały Jest to najprostsza wersja algorytmu. Zakłada, że każda mrówka zawsze zostawia ślad feromonowy. Nieuwzględniane są wyniki rozwiązania problemu.
11 11 Istnieje pewna odmiana tego rozwiązania, uzależniająca ilość pozostawianego feromonu na krawędzi od odległości pomiędzy miastami. Nosi ona nazwę feromon średni. Feromon cykliczny: Mrówki zostawiają feromon dopiero po przejściu całej trasy. Ilość feromonu obliczana jest ze wzoru: jeżeli k-ta mrówka wybierze krawędź (i,j) w swojej trasie, w innym przypadku, (2) gdzie Q 3 jest stałą, Lκ jest długością trasy k-tej mrówki, a τ ij to ilość dodawanego feromonu na krawędzi (i,j) [1]. Feromon cykliczny-elitarny: W tej wersji algorytmu mrówka która nie odnalazła najkrótszej trasy lub nie wybrała trasy aktualnie uznanej za najlepszą, nie zostawia feromonu. Natomiast mrówka, która odnalazła najkrótszą trasę lub wybrała trasę aktualnie uznawaną za najlepszą zostawia feromon oznacza to, że odległość pomiędzy miastami odbija się bezpośrednio na ilości pozostawianego feromonu. Im mniejsza odległość, tym więcej feromonu zostanie pozostawionego na tym odcinku. Pozwala to na dodatkowe wzmocnienie najkrótszych tras. Podobnie jak to ma miejsce w naturze, feromon pozostawiony przez mrówki nie znajduje się na krawędzi w nieskończoność. Cyklicznie, po przejściu całej populacji, następuje odparowanie feromonu. Stopień odparowania jest zmienną regulowaną przez użytkownika. Zmienna ta odzwierciedla procent feromonu jaki zostanie odparowany. Rozwiązanie takie wyklucza zbytnie kumulowanie się feromonu na krawędziach wykluczonych już z rozwiązania i pozwala bardziej wyeksponować najczęściej uczęszczane trasy. Określenie stopnia odparowania, ilości pozostawianego feromonu, jak i czas trwania całego cyklu są głównymi problemami przy dostrajaniu procesu. Trudnym
12 12 zadaniem jest określenie, czy ilość przejść całej populacji (liczba iteracji) powinna być uzależniona od faktu nie znalezienia korzystniejszego rozwiązania niż x iteracji wcześniej, czy powinna to być wartość z góry założona przez użytkownika. Podczas procesu testowania może się jednak okazać, że lepsza będzie ta druga metoda, gdyż umożliwi ona dokładniejsze przetestowanie skuteczności algorytmu Algorytm włączania Algorytm włączania [6], za pomocą którego rozwiązuje się problem komiwojażera, należy do rodziny algorytmów przybliżonych. Oznacza to, że nie następuje przeszukanie całego drzewa stanów, a wynik nie musi być optymalny. W początkowym etapie wybierane jest (losowane) dowolne miasto, po czym według jednego z kilku możliwych do zastosowania kryteriów, dobierane jest kolejne miasto (z pozostałych n-1) i włączane do cyklu. Tak więc, cały algorytm składa się z dwóch kroków: kroku wyboru gdzie określa się, które miasto będzie dołączane, kroku włączania gdzie określa się miejsce w cyklu, w którym zostanie umieszczone miasto. Istnieje wiele sposobów wyboru miasta, które zostanie wybrane w pierwszym z powyższych kroków. Do najprostszych należy zwykłe wylosowanie miasta z pośród miast jeszcze nieodwiedzonych, można posłużyć się również metodą włączania miasta, leżącego najbliżej lub najdalej cyklu. Każdy może tutaj zastosować własną metodę, ponieważ wszystkie mają swoje plusy jak i minusy i wybór miasta jest w tym wypadku po prostu kwestią pewnego kompromisu. W programie zastosowano heurystykę najdalszego wierzchołka, jako że została ona uznana za jedną z najbardziej skutecznych. Najdalszy wierzchołek zostaje określony w dwóch etapach. Pierwszy etap wyszukuje dla każdego miasta z tablicy TABU (miasta już odwiedzone) takie miasto, które nie znajdując się w tej tablicy (nie zostało odwiedzone) leży najbliżej i zapisuje je do tablicy najbliższych miast. Następnie z tej tablicy wyszukiwane jest to, które leży najdalej z pośród tych najbliższych. W ten sposób znajdywane jest to jedno miasto, leżące najdalej od cyklu.
13 13 Gdy wiadomo już, który wierzchołek zostanie dołączony do cyklu, następuje kolejny etap, czyli wybranie pozycji w cyklu. Zakładamy, że bieżący cykl zawiera k wierzchołków i następnym do włączenia jest wierzchołek f. Badamy łuk (i,j) cyklu i określamy koszt włączenia miasta f pomiędzy miasto i oraz j: C ij = ω if + ω fj - ω ij, (3) gdzie: ω xy - koszt pomiędzy miastami x oraz y, C ij całkowity koszt włączenia. Spośród wszystkich kosztów włączenia do cyklu wybierany jest ten najmniejszy i w tym miejscu umieszczone zostanie nowe miasto f. Uzupełniana jest tablica TABU i kontynuowania jest włączanie następnego miasta. Metoda ta pozwala na szybkie (tylko raz przechodzi cały cykl) określenie rozwiązania nawet dla dużej liczby miast. Wynik w pewnym sensie jest losowy, ponieważ pierwszy element cyklu wybierany jest w taki sposób. Przeprowadzane próby wykazały jednak, iż mimo że dwa rozwiązania mogą się różnić, to całkowity koszt zawsze jest zbliżony.
14 14 4. Program Podstawowym celem pracy było napisanie programu, który wykorzystując algorytmy mrówkowe, pozwoli na rozwiązanie problemu komiwojażera. Program miał przedstawić graficznie problem, jego rozwiązanie i pozwolić na przeprowadzanie testów porównawczych dla różnych konfiguracji algorytmu mrówkowego oraz dla innych algorytmów. Jak już to zostało wcześniej powiedziane algorytmem alternatywnym będzie algorytm włączania Interfejs programu Struktura graficzna aplikacji została ograniczona do jednego funkcjonalnego okna, na którym można obserwować rozmieszczenie miast w układzie kartezjańskim. W oknie Rys. 3 Interfejs użytkownika
15 15 tym znajdują się przyciski do wszystkich funkcji sterujących pracą programu oraz dostrajające algorytm. Opis interfejsu: 1 miasto; punkt określony przez dokładne współrzędne, 2 pole, na którym mogą znajdować się miasta, 3 przycisk uruchamiający obliczanie trasy, 4 przycisk do generowania losowego miast, 5 przycisk wczytania miast z pliku zewnętrznego, 6 zapis współrzędnych aktualnie prezentowanych miast do pliku typu TSP [5], 7 zdeklarowana / wczytana liczba miast, 8 wielkość populacji mrówek, 9 ilość przejść koloni lub liczba losowań przy algorytmie losowym, 10 całkowita ilość feromonu pozostawiana przez mrówkę na całej trasie, 11 procent feromonu który odparowuje po przejściu całej populacji, 12 stosunek współczynników znaczenia feromonu i odległości pomiędzy miastami, 13 wybór algorytmu, 14 informacje na temat aktualnego działania programu, 15 pasek postępu, 16 wyjście z programu, 17 podgląd dotychczasowych przebiegów programu za pomocą Notatnika, 18 chwilowe wstrzymanie wykonywania obliczeń, 19 opcja wyświetlania numeracji miast, 20 zapis dodatkowych informacji do plików tymczasowych, 21 połączenie dwóch miast znalezione przez program, 22 połączenie dwóch miast wczytane z pliku zewnętrznego. Interfejs programu został zaprojektowany z myślą o prostym i wygodnym użytkowaniu. Ułożenie wszystkich opcji na głównym pulpicie wraz z oknem graficznej prezentacji działań programu, ma za zadanie ułatwić użytkownikowi obserwowanie
16 16 zależności pomiędzy ustawieniami a działaniem. Pozwala to też na szybsze orientowanie się w ustawieniach Obsługa programu Funkcje podstawowe Podstawowe funkcje programu realizowane są za pomocą grupy przycisków (nr:3,4,5,6,16,17,18) umieszczonych w górnym prawym rogu programu. Przycisk nr 3 Start przycisk służy do uruchomienia wybranego algorytmu. Od momentu jego wywołania program zaczyna wykonywanie algorytmu z uwzględnieniem wszystkich parametrów (w tym współrzędnych miast). Zakończenie działania algorytmu może nastąpić samoczynnie lub poprzez wyłączenie programu. Przycisk pozostaje tak długo nieaktywny, jak długo nie zostaną wygenerowane (lub wczytane z pliku) miasta. Przycisk nr 4 Generuj jest to przycisk uruchamiający funkcję automatycznego losowego wygenerowania miast. Liczba wygenerowanych miast jest określona przez użytkownika w polu nr 7. Od tego momentu można uruchomić algorytm główny przyciskiem Start. Przycisk nr 5 Z pliku uruchamia funkcję pozwalającą na wczytanie współrzędnych miast z pliku zewnętrznego. Obsługiwane są tylko pliku typu TSP [5]. Wszystkie wczytywane współrzędne podlegają skalowaniu, przez co są równomiernie rozłożone na panelu. Przycisk nr 6 Zapis funkcja ta pozwala na zapisanie do pliku typu TSP współrzędnych miast aktualnie przedstawianych na panelu graficznym. Pozwala to na przywrócenie miast wcześniej wygenerowanych losowo. Funkcja pozwala także na zapisanie miast wczytanych z zewnętrznego pliku TSP.
17 17 Przycisk nr 16 Cancel przycisk wyjścia z programu. Pozwala na zakończenie pracy z programem (również podczas działania algorytmu). Przycisk nr 17 Notatnik program posiada automatyczną funkcję zapisu wyników swojego działania do pliku tekstowego out.txt, który zapisywany jest w katalogu z programem. Przycisk Notatnik pozwala na szybkie otwarcie tego pliku poprzez program wchodzący w skład systemu operacyjnego Windows Notatnik (notepad.exe). Pozwala to na podejrzenie wyników oraz towarzyszących im ustawień programu. Przycisk nr 18 Pauza ten przycisk jest aktywny tyko podczas wykonywania obliczeń przez program. Pozwala na chwilowe wstrzymanie wykonywania obliczeń. Gdy program znajduje się w stanie pauzy, można przywrócić go do wykonywania obliczeń lub zakończyć program Funkcje konfiguracyjne Są to wszystkie ustawienia pozwalające skonfigurować algorytm, dobrać liczbę miast oraz dokładność obliczeń. Pole nr 7 Ilość miast w tym polu podajemy liczbę miast dla jakiej chcemy przeprowadzać obliczenia. Liczba musi być całkowita i nie mniejsza niż 3. Domyślna wartość wynosi 10. Po ręcznym wprowadzeniu tej wartości należy ponownie wygenerować miasta. W przypadku wczytania miast z pliku, liczba automatycznie ustawiana jest na liczbę miast pobranych z pliku. Pole nr 8 Populacja w tym polu podawana jest liczba mrówek w jednej populacji. Liczba musi być całkowita i większa od 0. Pole jest uwzględniane tylko dla algorytmów mrówkowych przy pozostałych zostaje pomijane. Pole nr 9 Iteracje czyli ilość przejść całej populacji lub liczba prób dla algorytmu losowego. Liczba musi być całkowita i większa od 0. Iteracje to także wskaźnik stopnia zaawansowania algorytmu czego graficznym odpowiednikiem jest pasek postępu (nr 15). Można powiedzieć, że liczba iteracji odpowiada liczbie powtórzeń algorytmu.
18 18 Pole nr 10 Ilość feromonu jest to całkowita ilość feromonu pozostawionego przez jedną mrówkę na całej trasie. Ilość feromonu pozostawionego na konkretnym odcinku jest zależna od długości tego odcinka. Suma feromonu na wszystkich odcinkach dla jednej trasy pokonanej przez mrówkę jest zawsze taka sama od początku działania algorytmu i równa jest wartości podanej w tym polu. Liczba może przyjmować dowolną wartość nie większą niż 100 i nie mniejszą niż 0. Pole nr 11 Odparowanie feromonu jest to procentowa wartość feromonu jaki zostanie odparowany na końcu każdej iteracji. Takie rozwiązanie uniemożliwia całkowity zanik śladu, dlatego gdy ilość feromonu na odcinku spadnie poniżej 0,1 ślad jest zerowany. Liczba w tym polu nie może być mniejsza niż 0 i nie większa niż 100. Suwak nr 12 Znaczenie fer/dys suwak pozwala na regulowanie znaczenia jaki wywierają ślad feromonowy i odległość pomiędzy miastami na decyzje podejmowane przez mrówkę. Zastosowanie suwaka pozwala na zachowanie pewnych proporcji pomiędzy wartościami alfa (znaczenie feromonu) i beta (znaczenie dystansu). Alfa i beta mogą przyjmować wartości z przedziału od 0,1 do 3,9 z krokiem 0,1. Obie te wartości są od siebie zależne, a w ich właściwym ustawieniu pomaga suwak. Nie ma możliwości zmiany znaczeń inaczej niż poprzez przesuwanie suwaka. Pole wyboru nr 13 Algorytm to pole określa jakim algorytmem chcemy się posłużyć przy rozwiązywaniu problemu komiwojażera. Użytkownik ma do wyboru: Algorytm mrówkowy z feromonem cyklicznym-elitarnym, Algorytm mrówkowy z feromonem cyklicznym, Algorytm mrówkowy z feromonem stałym, Algorytm losowy, Algorytm włączania. Domyślnym wyborem jest pierwszy z tych algorytmów. Różne algorytmy wymagają różnych parametrów z konfiguracji. Aby pomóc użytkownikowi w określeniu, która funkcja wymagana jest przez który algorytm, następuje zmiana koloru etykiet pól niewymaganych przez dany algorytm. Zmiana algorytmu nie pociąga za sobą
19 19 konieczności wczytania nowych miast. Pozwala to na przeprowadzenie eksperymentów z różnymi algorytmami na tych samych miastach Opcje dodatkowe Opcje dodatkowe nie są istotne dla przeprowadzanych prób. Mają one znaczenie pomocnicze. Pole nr 19 Liczby w tym polu włączamy/wyłączamy wypisywanie kolejnych numerów miast. Są to kolejne numery określające kolejność generowania lub wczytania z pliku. Te same numery określają miasta w pliku wyjściowym out.txt. Numery poszczególnych miast wypisane są przy odpowiadającym im mieście na panelu graficznym. Włączać/wyłączać liczby można również w czasie wykonywania algorytmu, ale numery pojawią się dopiero przy kolejnym odświeżeniu panelu. Pole nr 20 Log funkcja włączania/wyłączania dodatkowego logowania działań programu. Logi te pozwalają dokładniej skontrolować poprawność (lub niepoprawność) działania programu. W zależności od zastosowanego algorytmu mogą to być różne pliki tekstowe: temp.txt, temp2.txt, pp.txt. Funkcja ta nie ma praktycznego zastosowania bez dokładnej znajomości kodu programu Uruchomienie programu Program zaraz po uruchomieniu automatycznie ustawia wszystkie parametry na wartości domyślne. Nie są to bynajmniej wartości optymalne. Pierwszym krokiem jaki należy podjąć podczas pracy z programem jest wczytanie miast z pliku lub wygenerowanie losowej liczby miast. Podczas losowego generowania miast uwzględniana jest liczba miast podana przez użytkownika. Następnie należy zdecydować się na jeden z pięciu dostępnych algorytmów. Od wyboru algorytmu zależy, które parametry będą uwzględniane. Nie trzeba więc ustawiać parametrów dla algorytmu, który ich nie wykorzystuje. Gdy już mamy miasta, wybrany algorytm i ustawione parametry możemy przystąpić do testu. Należy zwrócić w tym miejscu uwagę na dużą ilość obliczeń
20 20 potrzebnych do uzyskania rozwiązania. Ustawienie zbyt dużej liczby miast, iteracji lub populacji może spowodować iż obliczenia będą trwały wiele godzin lub dni. Program w trakcie obliczeń na bieżąco informuje nas o postępie działania, aktualnie najlepszym rozwiązaniu oraz graficznie prezentuje to rozwiązanie. Wyjątkiem jest algorytm włączania, gdzie jest tylko jedno przejście algorytmu i jednorazowa prezentacja rozwiązania. W trakcie wykonywania obliczeń mamy do dyspozycji możliwość czasowego zawieszenia działania. Może zaistnieć sytuacja, w której chcemy odciążyć procesor na rzecz innego zadania, a nie chcemy kończyć obliczeń dla problemu komiwojażera. W tym celu istnieje funkcja Pause, która zawiesza wątek odpowiedzialny za obliczenia. Wątek można przywrócić do stanu normalnego poprzez ponowne użycie funkcji Pause. Mankamentem użycia tej funkcji jest przekłamanie w całkowitym czasie trwania obliczeń. Program nie uwzględnia czasu spędzonego w stanie przerwy. Program po zakończeniu obliczeń poinformuje o tym fakcie użytkownika odpowiednim nagłówkiem w Pasku Stanu oraz narysuje graficzną postać rozwiązania na panelu graficznym. Dodatkowo program dopisze informacje do pliku out.txt o wyniku przeprowadzonego doświadczenia. W skład takiej informacji wchodzą między innymi: zastosowany algorytm, liczba miast, wszystkie użyte przez algorytm parametry, rozwiązanie (odnaleziona kolejność miast oraz długość trasy komiwojażera), czas początkowy, czas końcowy, różnica tych czasów mierzona w setnych sekundy. Dodatkowo program wykonuje automatyczny zapis obrazu wykreślonego na panelu graficznym do pliku zrzut.jpg. Plik ten jest nadpisywany każdorazowo przy kończeniu pracy algorytmu. Program umożliwia także zapis współrzędnych miast do pliku. Funkcja ta ma sens podczas pracy na miastach wygenerowanych losowo. Pozwala na przywrócenie układu miast po wyłączeniu programu oraz stworzenie swojej bazy z przykładami problemu komiwojażera. W przypadku wczytania miast z pliku istnieje możliwość pobrania trasy optymalnego rozwiązania z innego pliku. W tym celu plik z rozwiązaniem zapisany zgodnie ze standardem TSP powinien znajdować się w tym samym katalogu co plik ze
21 21 współrzędnymi i mieć taką samą nazwę. Jego rozszerzenie powinno natomiast mieć postać:.opt.tour. Plik zostanie automatycznie znaleziony, a trasa zostanie narysowana na panelu kolorem zielonym. W wypadku gdy program znajdzie odcinek trasy taki sam jak pobrany z pliku, wówczas kolor trasy na tym odcinku będzie rysowany tylko kolorem niebieskim (standardowym kolorem trasy) Możliwości Program daje możliwość przetestowania działania trzech różnych typów algorytmu mrówkowego, wzajemnego ich porównania oraz porównanie z dwoma innymi, znacznie różniącymi się algorytmami. Pozwala na manipulowanie parametrami i badanie jak każdy z nich wpływa na skuteczność oraz prędkość działania algorytmu. Dodatkowo program pozwala na wykorzystanie i porównywanie wyników przeprowadzonych na innych, bardziej profesjonalnych programach poprzez możliwość korzystania z bibliotek TSP. Prostota obsługi oraz interpretacji wyników pozwala na szybie dokonywanie doświadczeń Ograniczenia Program jest tylko i wyłącznie symulatorem. Wykorzystanie go w jakiejkolwiek innej dziedzinie niż doświadczenia na algorytmach mrówkowych nie jest możliwe. Wyniki przeprowadzanych doświadczeń (prędkość obliczeń) są silnie uzależnione od wydajności matematycznej maszyny na której program działa.
22 22 5. Testy porównawcze Testy algorytmów mają na celu sprawdzenie i porównanie różnych typów algorytmu mrówkowego oraz ich skuteczność w konfrontacji z innymi algorytmami. Możliwość dostrajania algorytmów mrówkowych do konkretnego problemu pozwala na zweryfikowanie jak poszczególne stałe wpływają na wyniki. Optymalne ustawienie wszystkich zmiennych pozwoli także na porównanie skuteczności oraz czasu działania wszystkich (zaprogramowanych w aplikacji) typów algorytmu mrówkowego, algorytmu włączania oraz algorytmu losowego. Jako że badane algorytmy są algorytmami stochastycznymi, dlatego wszystkie przeprowadzone testy mają również stochastyczny charakter. Chcąc uzyskać wiarygodne wyniki, wszystkie próby zostały powtórzone pięciokrotnie, a pod uwagę brana jest średnia arytmetyczna wszystkich pięciu prób Wpływ ilości zostawianego feromonu na algorytmy mrówkowe Test ten ma na celu sprawdzenie jak wpływa ilość pozostawianego feromonu na jakość znalezionego połączenia. W teście posłużono się próbką 35 miast ich liczba oraz układ jest jednakowy dla wszystkich algorytmów. Stałe ustawienia algorytmów: Miasta: 35 Populacja: 35 Iteracje: 30 Odparowanie feromonu: 25 % Znaczenie feromonu (alfa): 2 Znaczenie odległości (beta): 2
23 23 Wyniki: 1. ALGORYTM MRÓWKOWY z feromonem cyklicznym-elitarnym Ilość Próby dystans całkowity feromonu średnia 0, , , , , , ,32 0,1 2799, , , , , ,85 0,5 2866, , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,09 Tablica z feromonem cyklicznym-elitarnym ilość feromonu Wykres 1
24 24 2. ALGORYTM MRÓWKOWY z feromonem cyklicznym Ilość Próby dystans całkowity feromonu średnia 0,1 4490, , , , , ,29 0,2 4228, , , , , ,95 0,5 4050, , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,15 Tablica z feromonem cyklicznym ilość feromonu Wykres 2
25 25 3. ALGORYTM MRÓWKOWY z feromonem stałym Ilość Próby dystans całkowity feromonu średnia 0, , , , , , ,89 0, , , , , , ,99 0,1 4540, , , , , ,33 0,2 4768, , , , , ,04 0,5 4525, , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,27 Tablica z feromonem stałym ilość feromonu Wykres 3 Na wykresach (Wykresy 1-3), które zostały wykreślone na podstawie odpowiadających im tabel, widać zależność długości trasy, jaka została znaleziona, do ilości pozostawianego przez mrówki feromonu. Wyraźnie są minima lokalne dla każdego z wykresów. Dostrzegalny jest również stopniowy wzrost znalezionej odległości w miarę
26 26 zwiększania ilości pozostawianego feromonu. Można wysnuć wniosek, że przy takiej konfiguracji dla feromonu cyklicznego-elitarnego i feromonu stałego ilość pozostawianego feromonu powyżej 5 nie przynosi już lepszych rezultatów. Dla feromonu cyklicznego moment ten występuje później i ostateczny próg można szacować na 10 jednostek pozostawianego feromonu. Najlepsze rezultaty zostały uzyskane: Feromon cykliczny-elitarny: w przedziale od 0,1 do 0,5 jednostek, Feromon cykliczny: w przedziale od 0,5 do 2 jednostek, Feromon stały: w przedziale od 0,01 do 0,1 jednostek. W kolejnych testach, mających na celu uzyskanie jak najlepszego wyniku dla danego algorytmu, zostaną wzięte pod uwagę wyniki tego testu, tak aby wyrównać szanse tych algorytmów i uzyskać bardziej wiarygodne wyniki Wpływ tempa odparowania feromonu W tym teście badamy jak wpływa tempo (ilość) odparowywania feromonu na skuteczność trzech typów algorytmów mrówkowych. Jako, że ilość odparowywanego feromonu jest wartością dyskretną, ustalono procentową wartość o jaką ilość feromonu na krawędzi ma zostać obniżona. Próby przeprowadzono na tym samym układzie miast co w teście pierwszym. Stałe ustawienia algorytmów: Miasta: 35 Populacja: 35 Iteracje: 30 Znaczenie feromonu (alfa): 2 Znaczenie odległości (beta): 2 Ilość pozostawianego feromonu jest zależna od zastosowanego algorytmu, a do jej określenia posługujemy się wynikami z testu pierwszego.
27 27 1. ALGORYTM MRÓWKOWY z feromonem cyklicznym-elitarnym (ilość pozostawianego feromonu: 1) Tempo Próby dystans całkowity parowania % średnia , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,66 Tablica z feromonem cyklicznym-elitarnym Wykres 4 %
28 28 2. ALGORYTM MRÓWKOWY z feromonem cyklicznym (ilość pozostawianego feromonu: 0,5) Tempo Próby dystans całkowity parowania % średnia , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,47 Tablica z feromonem cyklicznym Wykres 5 %
29 29 3. ALGORYTM MRÓWKOWY z feromonem stałym (ilość pozostawianego feromonu: 0,05) Tempo Próby dystans całkowity parowania % średnia , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,92 Tablica z feromonem stałym Wykres 6 % Przeprowadzone badania wyraźnie wskazują na wpływ tempa parowania feromonu dla feromonu stałego i feromonu cyklicznego na jakość połączenia. Już niewielki wzrost może spowodować znaczną poprawę lub znaczne pogorszenie otrzymanych wyników. W przypadku feromonu cyklicznego-elitarnego nagłe pogorszenie
30 30 jakości następuje po przekroczeniu 90% tempa parowania. Dla mniejszych prędkości parowania uzyskane wyniki były bardzo podobne. Można zatem określić pewne dopuszczalne przedziały dla takiej konfiguracji i rozkładu miast: feromon cykliczny-elitarny: przedział od 5 do 85 %, feromon cykliczny: przedział od 5 do 15 %, feromon stały: przedział: od 5 do 15%. Wnioski z przeprowadzenia tego badania, podobnie jak miało to miejsce w przypadku testu pierwszego, zostaną uwzględnione w późniejszych doświadczeniach Znaczenie ilości feromonu i widoczności miast Ten test ma na celu przebadanie jak wpłyną na jakość znalezionego połączenia parametry alfa i beta, czyli znaczenie feromonu oraz znaczenie widoczności miast, na trzy typy algorytmów mrówkowych. Znaczenie feromonu i znaczenie widoczności są ze sobą ściśle powiązane gdy znaczenie feromonu wzrasta to proporcjonalnie maleje znaczenie widoczności. Badania przeprowadzone zostały na tym samym układzie 35 miast. Różnice w ilości pozostawianego feromonu jak i w tempie jego parowana wynikają z badań przeprowadzonych wcześniej. Stałe ustawienia programu: Miasta: 35 Populacja: 35 Iteracje: 30
31 31 1. ALGORYTM MRÓWKOWY z feromonem cyklicznym-elitarnym (ilość pozostawianego feromonu: 1, tempo odparowywania feromonu: 15%) Znaczenie Próby dystans całkowity alfa beta średnia 0,1 3,9 2580, , , , , ,86 0,5 3,5 2531, , , , , , , , , , , ,41 1,5 2,5 2890, , , , , , , , , , , ,01 2,5 1,5 2921, , , , , , , , , , , ,78 3,5 0,5 3880, , , , , ,14 3,9 0,1 3816, , , , , ,92 Tablica , , , , , , , ,00 0 0,5 1 1,5 2 2,5 3 3,5 4 alfa z feromonem cyklicznym-elitarnym Wykres 7
32 32 2. ALGORYTM MRÓWKOWY z feromonem cyklicznym (ilość pozostawianego feromonu: 0,5, tempo odparowywania feromonu: 10%) Znaczenie Próby dystans całkowity alfa beta średnia 0,1 3,9 2531, , , , , ,50 0,5 3,5 3129, , , , , , , , , , , ,40 1,5 2,5 3704, , , , , , , , , , , ,06 2,5 1,5 4714, , , , , , , , , , , ,40 3,5 0,5 6341, , , , , ,99 3,9 0,1 6915, , , , , ,54 Tablica , , , , , , , , , ,00 0 0,5 1 1,5 2 2,5 3 3,5 4 alfa z feromonem cyklicznym Wykres 8
33 33 3. ALGORYTM MRÓWKOWY z feromonem stałym (ilość pozostawianego feromonu: 0,05, tempo odparowywania feromonu: 7%) Znaczenie Próby dystans całkowity alfa beta średnia 0,1 3,9 2855, , , , , ,61 0,5 3,5 2700, , , , , , , , , , , ,98 1,5 2,5 3592, , , , , , , , , , , ,37 2,5 1,5 5118, , , , , , , , , , , ,35 3,5 0,5 6545, , , , , ,88 3,9 0,1 6593, , , , , ,15 Tablica , , , , , , , , , ,00 0 0,5 1 1,5 2 2,5 3 3,5 4 alfa z feromonem stałym Wykres 9 Z przeprowadzonych badań jasno wynika jak duży wpływ ma dobre dobranie parametrów alfa i beta na jakość uzyskanego wyniku. W feromonie cyklicznym-elitarnym parametr alfa po przekroczeniu wartości 1 zaczyna w znaczny sposób pogarszać uzyskiwane wyniki. Podobnie sytuacja ma się dla feromonu stałego i cyklicznego. Dla
34 34 tych dwóch typów feromonu również obserwujemy gwałtowne pogorszenie wyników. Zmienne określające znaczenie feromonu i widoczności miast służą do wyważenia niewielkiej ilości feromonu pozostawianego na trasie oraz dużej odległości pomiędzy miastami. Każdy problem należy rozpatrywać indywidualnie z uwzględnieniem skali w jakiej rozwiązywany jest problem Wpływ wielkości populacji W tym teście zostało sprawdzone, jak na jakości znalezionego połączenia odbija się wielkość populacji mrówek użytych w doświadczeniu. Dodatkowym aspektem jest wzrost czasu wykonywania obliczeń i próba określenia gdzie przebiega granica sensownej wielkości populacji. Próby zostały przeprowadzone na tym samym układzie 35 miast i liczbie iteracji: 30 dla wszystkich trzech typów algorytmu mrówkowego. 1. ALGORYTM MRÓWKOWY z feromonem cyklicznym-elitarnym, (ilość pozostawianego feromonu: 1, tempo odparowywania feromonu: 15%, znaczenie feromonu: 2, znaczenie odległości <widoczności>: 2) Populacja Próby dystans całkowity Czas średnia [s*10 2 ] , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , Tablica 10
35 z feromonem cyklicznym-elitarnym - dystans populacja Wykres z feromonem cyklicznym-elitarnym - czas [s*0.01] populacja Wykres ALGORYTM MRÓWKOWY z feromonem cyklicznym (ilość pozostawianego feromonu: 0,5, tempo odparowywania feromonu: 10%, znaczenie feromonu: 1, znaczenie odległości <widoczności>: 3)
36 36 Próby dystans całkowity Czas Populacja średnia [s*10 2 ] , , , , , ,42 140, , , , , , ,57 287, , , , , , ,64 545, , , , , , ,25 927, , , , , , , , , , , , , , , , , , , , , ,00 Tablica z feromonem cyklicznym - dystans populacja Wykres z feromonem cyklicznym - czas [s*0.01] populacja Wykres 13
37 37 3. ALGORYTM MRÓWKOWY z feromonem stałym (ilość pozostawianego feromonu: 0,05, tempo odparowywania feromonu: 7%, znaczenie feromonu: 1, znaczenie odległości <widoczności>: 3) Próby dystans całkowity Czas Populacja średnia [s*10 2 ] , , , , , ,18 140, , , , , , ,60 282, , , , , , ,49 544, , , , , , ,25 925, , , , , , , , , , , , , , , , , , , , , ,00 Tablica z feromonem stałym - dystans populacja Wykres 14
38 z feromonem stałym - czas [s*0.01] populacja Wykres 15 Przeprowadzone badania dają wyraźny obraz tego, w jak znacznym stopniu wielkość populacji mrówek wpływa na czas i dokładność działania algorytmu. Dla wszystkich trzech badanych typów algorytmu zależność pomiędzy wielkością populacji a czasem działania była funkcją liniową, różniącą się tylko nieznacznie kątem pochylenia względem osi czasu. Można wnioskować, że różnica ta jest spowodowana częstością dodawania feromonu w tablicy feromonu, jak i może zależeć od zmiennych alfa oraz beta (w doświadczeniu feromon cykliczny-elitarny ma inne parametry dla tych zmiennych) jako, że funkcja odpowiedzialna za podnoszenie wartości do potęgi wykonuje się szybciej gdy potęga jest równa jeden. Ponadto algorytm z feromonem cyklicznym-elitarnym jest bardziej skomplikowany. W tym przypadku większa ilość obliczeń skutkuje lepszym znalezionym rozwiązaniem. Natomiast z przebiegu zależności pomiędzy wielkością populacji a skutecznością działania algorytmu widać wyraźnie, że większa liczba mrówek radzi sobie lepiej z rozwiązaniem problemu, niż mniej liczne populacje. Sytuacja ta zachodzi dla trzech badanych typów algorytmu. Optymalna liczba mrówek dla badanego problemu jest równa w przybliżeniu podwojonej liczbie miast. Dla takiej liczby znalezione rozwiązanie jest już dobre, przy jednocześnie akceptowalnie długim czasie obliczeń.
39 Wpływ liczby iteracji Doświadczenie to ma na celu pokazanie jaki wpływ na jakość uzyskanego rozwiązania ma liczba iteracji czyli liczba przebiegów całej populacji mrówek. Dodatkowym aspektem badania jest czas potrzebny na wykonanie wszystkich zaprogramowanych iteracji oraz określenie pewnego optymalnego ustawienia dla problemu komiwojażera dla stałej próbki 35 miast. W tym doświadczeniu zastosowana została większa niż w dotychczas przeprowadzanych doświadczeniach populacja (50 mrówek), przez co także inne ustawienia uległy pewnym nieznacznym modyfikacjom. Wszystkie zmiany miały na celu zwiększenie dokładności wykonywanego doświadczenia. 1. ALGORYTM MRÓWKOWY z feromonem cyklicznym-elitarnym (ilość pozostawianego feromonu: 1, tempo odparowywania feromonu: 15%, znaczenie feromonu: 2, znaczenie odległości <widoczności>: 2) Iteracje Próby - dystans całkowity Czas średnia [s*10 2 ] , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , Tablica 13
Algorytmy mrówkowe (optymalizacja kolonii mrówek, Ant Colony optimisation)
Algorytmy mrówkowe (optymalizacja kolonii mrówek, Ant Colony optimisation) Jest to technika probabilistyczna rozwiązywania problemów obliczeniowych, które mogą zostać sprowadzone do problemu znalezienie
Bardziej szczegółowoAlgorytmy mrówkowe. P. Oleksyk. Wydział Informatyki Zachodniopomorski Uniwersytet Technologiczny w Szczecinie Inteligentne systemy informatyczne
y mrówkowe P. Oleksyk Wydział Informatyki Zachodniopomorski Uniwersytet Technologiczny w Szczecinie Inteligentne systemy informatyczne 14 kwietnia 2015 1 Geneza algorytmu - biologia 2 3 4 5 6 7 8 Geneza
Bardziej szczegółowoAlgorytmy mrówkowe. H. Bednarz. Wydział Informatyki Zachodniopomorski Uniwersytet Technologiczny w Szczecinie Inteligentne systemy informatyczne
Algorytmy mrówkowe H. Bednarz Wydział Informatyki Zachodniopomorski Uniwersytet Technologiczny w Szczecinie Inteligentne systemy informatyczne 13 kwietnia 2015 1 2 3 4 Przestrzeń poszukiwań Ograniczenia
Bardziej szczegółowoAlgorytmy 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ółowoSystemy mrówkowe. Opracowali: Dawid Strucker, Konrad Baranowski
Systemy mrówkowe Opracowali: Dawid Strucker, Konrad Baranowski Wprowadzenie Algorytmy mrówkowe oparte są o zasadę inteligencji roju (ang. swarm intelligence). Służą głównie do znajdowania najkrótszej drogi
Bardziej szczegółowoAlgorytm 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ółowoAlgorytmy Mrówkowe. Daniel Błaszkiewicz. 11 maja 2011. Instytut Informatyki Uniwersytetu Wrocławskiego
Algorytmy Mrówkowe Instytut Informatyki Uniwersytetu Wrocławskiego 11 maja 2011 Opis Mrówki w naturze Algorytmy to stosunkowo nowy gatunek algorytmów optymalizacyjnych stworzony przez Marco Dorigo w 1992
Bardziej szczegółowoMaciej 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ółowoAlgorytmy 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ółowoStatystyka i opracowanie danych Podstawy wnioskowania statystycznego. Prawo wielkich liczb. Centralne twierdzenie graniczne. Estymacja i estymatory
Statystyka i opracowanie danych Podstawy wnioskowania statystycznego. Prawo wielkich liczb. Centralne twierdzenie graniczne. Estymacja i estymatory Dr Anna ADRIAN Paw B5, pok 407 adrian@tempus.metal.agh.edu.pl
Bardziej szczegółowo1. Opis okna podstawowego programu TPrezenter.
OPIS PROGRAMU TPREZENTER. Program TPrezenter przeznaczony jest do pełnej graficznej prezentacji danych bieżących lub archiwalnych dla systemów serii AL154. Umożliwia wygodną i dokładną analizę na monitorze
Bardziej szczegółowoTEORETYCZNE PODSTAWY INFORMATYKI
1 TEORETYCZNE PODSTAWY INFORMATYKI 16/01/2017 WFAiS UJ, Informatyka Stosowana I rok studiów, I stopień Repetytorium złożoność obliczeniowa 2 Złożoność obliczeniowa Notacja wielkie 0 Notacja Ω i Θ Rozwiązywanie
Bardziej szczegółowoProblem komiwojażera ACO. Zagadnienie optymalizacyjne, polegające na znalezieniu minimalnego cyklu Hamiltona w pełnym grafie ważonym.
Problem komiwojażera ACO Zagadnienie optymalizacyjne, polegające na znalezieniu minimalnego cyklu Hamiltona w pełnym grafie ważonym. -Wikipedia Problem do rozwiązania zazwyczaj jest przedstawiany jako
Bardziej szczegółowoDroga i cykl Eulera Przykłady zastosowania drogi i cyku Eulera Droga i cykl Hamiltona. Wykład 4. Droga i cykl Eulera i Hamiltona
Wykład 4. Droga i cykl Eulera i Hamiltona 1 / 92 Grafy Eulera Droga i cykl Eulera Niech G będzie grafem spójnym. Definicja Jeżeli w grafie G istnieje zamknięta droga prosta zawierająca wszystkie krawędzie
Bardziej szczegółowoSpacery losowe generowanie realizacji procesu losowego
Spacery losowe generowanie realizacji procesu losowego Michał Krzemiński Streszczenie Omówimy metodę generowania trajektorii spacerów losowych (błądzenia losowego), tj. szczególnych procesów Markowa z
Bardziej szczegółowoMetoda 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ółowoAlgorytmy mrówkowe (ang. Ant Colony Optimization)
Algorytmy mrówkowe (ang. Ant Colony Optimization) 1. Wprowadzenie do ACO a) mrówki naturalne b) mrówki sztuczne c) literatura (kilka pozycji) 2. ACO i TSP 1. Wprowadzenie do ACO a) mrówki naturalne ślepe,
Bardziej szczegółowoPolitechnika Gdańska Wydział Elektrotechniki i Automatyki Katedra Inżynierii Systemów Sterowania KOMPUTEROWE SYSTEMY STEROWANIA (KSS)
Politechnika Gdańska Wydział Elektrotechniki i Automatyki Katedra Inżynierii Systemów Sterowania KOMPUTEROWE SYSTEMY STEROWANIA (KSS) Temat: Platforma Systemowa Wonderware cz. 2 przemysłowa baza danych,
Bardziej szczegółowoWykład 4. Droga i cykl Eulera i Hamiltona
Wykład 4. i Hamiltona Wykład 4. i Hamiltona 1 / 35 Grafy Eulera Niech G będzie grafem spójnym. Definicja Jeżeli w grafie G istnieje zamknięta droga prosta zawierająca wszystkie krawędzie grafu, to taką
Bardziej szczegółowoProblem Komiwojażera - algorytmy metaheurystyczne
Problem Komiwojażera - algorytmy metaheurystyczne algorytm mrówkowy algorytm genetyczny by Bartosz Tomeczko. All rights reserved. 2010. TSP dlaczego metaheurystyki i heurystyki? TSP Travelling Salesman
Bardziej szczegółowoMetody 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ółowoWprowadzenie do analizy dyskryminacyjnej
Wprowadzenie do analizy dyskryminacyjnej Analiza dyskryminacyjna to zespół metod statystycznych używanych w celu znalezienia funkcji dyskryminacyjnej, która możliwie najlepiej charakteryzuje bądź rozdziela
Bardziej szczegółowoInstrukcja obsługi programu Do-Exp
Instrukcja obsługi programu Do-Exp Autor: Wojciech Stark. Program został utworzony w ramach pracy dyplomowej na Wydziale Chemicznym Politechniki Warszawskiej. Instrukcja dotyczy programu Do-Exp w wersji
Bardziej szczegółowoOSTASZEWSKI 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ółowoREFERAT PRACY DYPLOMOWEJ Temat pracy: SUDOKU - Algorytmy tworzenia i rozwiązywania
REFERAT PRACY DYPLOMOWEJ Temat pracy: SUDOKU - Algorytmy tworzenia i rozwiązywania Autor: Anna Nowak Promotor: dr inż. Jan Kowalski Kategorie: gra logiczna Słowa kluczowe: Sudoku, generowanie plansz, algorytmy,
Bardziej szczegółowoemszmal 3: Automatyczne księgowanie przelewów w sklepie internetowym PrestaShop (plugin dostępny w wersji ecommerce)
emszmal 3: Automatyczne księgowanie przelewów w sklepie internetowym PrestaShop (plugin dostępny w wersji ecommerce) Zastosowanie Rozszerzenie to dedykowane jest sklepom internetowych zbudowanym w oparciu
Bardziej szczegółowoOPTIMA PC v2.2.1. Program konfiguracyjny dla cyfrowych paneli domofonowy serii OPTIMA 255 2011 ELFON. Instrukcja obsługi. Rev 1
OPTIMA PC v2.2.1 Program konfiguracyjny dla cyfrowych paneli domofonowy serii OPTIMA 255 Instrukcja obsługi Rev 1 2011 ELFON Wprowadzenie OPTIMA PC jest programem, który w wygodny sposób umożliwia konfigurację
Bardziej szczegółowoSTATYSTYKA MATEMATYCZNA
STATYSTYKA MATEMATYCZNA 1. Wykład wstępny. Teoria prawdopodobieństwa i elementy kombinatoryki 2. Zmienne losowe i ich rozkłady 3. Populacje i próby danych, estymacja parametrów 4. Testowanie hipotez 5.
Bardziej szczegółowoMetody 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ółowoI. Program II. Opis głównych funkcji programu... 19
07-12-18 Spis treści I. Program... 1 1 Panel główny... 1 2 Edycja szablonu filtrów... 3 A) Zakładka Ogólne... 4 B) Zakładka Grupy filtrów... 5 C) Zakładka Kolumny... 17 D) Zakładka Sortowanie... 18 II.
Bardziej szczegółowo1. Instalacja Programu
Instrukcja obsługi dla programu Raporcik 2005 1. Instalacja Programu Program dostarczony jest na płycie cd, którą otrzymali Państwo od naszej firmy. Aby zainstalować program Raporcik 2005 należy : Włożyć
Bardziej szczegółowoTeraz bajty. Informatyka dla szkoły podstawowej. Klasa VI
1 Teraz bajty. Informatyka dla szkoły podstawowej. Klasa VI 1. Obliczenia w arkuszu kalkulacyjnym Rozwiązywanie problemów z wykorzystaniem aplikacji komputerowych obliczenia w arkuszu kalkulacyjnym wykonuje
Bardziej szczegółowoInstrukcja obsługi SafeIT - modułu zdalnego sterowania do sterowników kotłów CO firmy Foster v1.0
Instrukcja obsługi SafeIT - modułu zdalnego sterowania do sterowników kotłów CO firmy Foster v1.0 Wersja z dnia: 2017-08-21 Spis treści Opis... 3 1. Zasady bezpieczeństwa... 3 Instalacja... 3 Użytkowanie...
Bardziej szczegółowoRozkład materiału nauczania
Dział/l.p. Ilość godz. Typ szkoły: TECHNIKUM Zawód: TECHNIK USŁUG FRYZJERSKICH Rok szkolny 2015/2016 Przedmiot: MATEMATYKA Klasa: III 2 godz/tyg 30 = 60 godzin Rozkład materiału nauczania Temat I. LOGARYTMY
Bardziej szczegółowoProdukcja by CTI. Proces instalacji, ważne informacje oraz konfiguracja
Produkcja by CTI Proces instalacji, ważne informacje oraz konfiguracja Spis treści 1. Ważne informacje przed instalacją...3 2. Instalacja programu...4 3. Nawiązanie połączenia z serwerem SQL oraz z programem
Bardziej szczegółowo1. Opis aplikacji. 2. Przeprowadzanie pomiarów. 3. Tworzenie sprawozdania
1. Opis aplikacji Interfejs programu podzielony jest na dwie zakładki. Wszystkie ustawienia znajdują się w drugiej zakładce, są przygotowane do ćwiczenia i nie można ich zmieniac bez pozwolenia prowadzącego
Bardziej szczegółowoPokaz slajdów na stronie internetowej
Pokaz slajdów na stronie internetowej... 1 Podpisy pod zdjęciami... 3 Publikacja pokazu slajdów w Internecie... 4 Generator strony Uczelni... 4 Funkcje dla zaawansowanych użytkowników... 5 Zmiana kolorów
Bardziej szczegółowoRozkład materiału nauczania
Dział/l.p. Ilość godz. Typ szkoły: TECHNIKUM Zawód: TECHNIK USŁUG FRYZJERSKICH Rok szkolny 2017/2018 Przedmiot: MATEMATYKA Klasa: III 60 godzin numer programu T5/O/5/12 Rozkład materiału nauczania Temat
Bardziej szczegółowo1. Opis. 2. Wymagania sprzętowe:
1. Opis Aplikacja ARSOFT-WZ2 umożliwia konfigurację, wizualizację i rejestrację danych pomiarowych urządzeń produkcji APAR wyposażonych w interfejs komunikacyjny RS232/485 oraz protokół MODBUS-RTU. Aktualny
Bardziej szczegółowoProgramator Kart Master - klient
Programator Kart Master - klient Kraków 2002.11.27 SPIS TREŚCI 1 WSTĘP... 2 2 ROZPOCZĘCIE PRACY Z PROGRAMEM... 3 3 ZMIANA KLUCZA DOSTĘPU.... 4 4 GENEROWANIE KART UŻYTKOWNIKÓW... 5 1 1 Wstęp Programator
Bardziej szczegółowoemszmal 3: Automatyczne księgowanie przelewów w sklepie internetowym Magento (plugin dostępny w wersji ecommerce)
emszmal 3: Automatyczne księgowanie przelewów w sklepie internetowym Magento (plugin dostępny w wersji ecommerce) Zastosowanie Rozszerzenie to przeznaczone jest dla właścicieli sklepów internetowych opartych
Bardziej szczegółowoDiagnostyka pamięci RAM
Diagnostyka pamięci RAM 1 (Pobrane z slow7.pl) Uszkodzenie pamięci RAM jest jednym z najczęściej występujących problemów związanych z niestabilnym działaniem komputera. Efektem uszkodzenia kości RAM są
Bardziej szczegółowoDokąd on zmierza? Przemieszczenie i prędkość jako wektory
A: 1 OK Muszę to powtórzyć... Potrzebuję pomocy Dokąd on zmierza? Przemieszczenie i prędkość jako wektory Łódź żegluje po morzu... Płynie z szybkością 10 węzłów (węzeł to 1 mila morska na godzinę czyli
Bardziej szczegółowoTechnologia informacyjna Algorytm Janusz Uriasz
Technologia informacyjna Algorytm Janusz Uriasz Algorytm Algorytm - (łac. algorithmus); ścisły przepis realizacji działań w określonym porządku, system operacji, reguła komponowania operacji, sposób postępowania.
Bardziej szczegółowoS P I S T R E Ś C I. Instrukcja obsługi
S P I S T R E Ś C I Instrukcja obsługi 1. Podstawowe informacje o programie.................................................................................... 2 2. Instalacja programu.....................................................................................................
Bardziej szczegółowoOptymalizacja 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ółowoSystemy uczące się Lab 4
Systemy uczące się Lab 4 dr Przemysław Juszczuk Katedra Inżynierii Wiedzy, Uniwersytet Ekonomiczny 26 X 2018 Projekt zaliczeniowy Podstawą zaliczenia ćwiczeń jest indywidualne wykonanie projektu uwzględniającego
Bardziej szczegółowoWymagania edukacyjne z informatyki dla klasy szóstej szkoły podstawowej.
Wymagania edukacyjne z informatyki dla klasy szóstej szkoły podstawowej. Dział Zagadnienia Wymagania podstawowe Wymagania ponadpodstawowe Arkusz kalkulacyjny (Microsoft Excel i OpenOffice) Uruchomienie
Bardziej szczegółowoINSTRUKCJA OBSŁUGI microplc STEROWNIK INKUBATORA ver: F1.0
INSTRUKCJA OBSŁUGI microplc STEROWNIK INKUBATORA ver: F1.0 Opis ogólny: Sterownik inkubatora został zaprojektowany, tak aby spełnić potrzeby najbardziej wymagających procesów inkubacji. Urządzenie zostało
Bardziej szczegółowoProgram dla praktyki lekarskiej
Program dla praktyki lekarskiej ErLab Instrukcja konfiguracji i obsługi Spis Treści 1. Wstęp... 2 2. Konfiguracja... 3 2.1. Serwer... 3 2.2. Laboratorium... 3 2.3. Punkt pobrań... 4 3. Wysyłanie skierowania...
Bardziej szczegółowoPrzewodnik użytkownika (instrukcja) AutoMagicTest
Przewodnik użytkownika (instrukcja) AutoMagicTest 0.1.21.137 1. Wprowadzenie Aplikacja AutoMagicTest to aplikacja wspierająca testerów w testowaniu i kontrolowaniu jakości stron poprzez ich analizę. Aplikacja
Bardziej szczegółowoWYMAGANIA EDUKACYJNE Z INFORMATYKI dla klasy III gimnazjalnej, Szkoły Podstawowej w Rychtalu
WYMAGANIA EDUKACYJNE Z INFORMATYKI dla klasy III gimnazjalnej, Szkoły Podstawowej w Rychtalu 1 Algorytmika i programowanie Rozwiązywanie problemów i podejmowanie decyzji z wykorzystaniem komputera, stosowanie
Bardziej szczegółowoRys Wykres kosztów skrócenia pojedynczej czynności. k 2. Δk 2. k 1 pp. Δk 1 T M T B T A
Ostatnim elementem przykładu jest określenie związku pomiędzy czasem trwania robót na planowanym obiekcie a kosztem jego wykonania. Związek ten określa wzrost kosztów wykonania realizacji całego przedsięwzięcia
Bardziej szczegółowoRuch jednostajnie przyspieszony wyznaczenie przyspieszenia
Doświadczenie: Ruch jednostajnie przyspieszony wyznaczenie przyspieszenia Cele doświadczenia Celem doświadczenia jest zbadanie zależności drogi przebytej w ruchu przyspieszonym od czasu dla kuli bilardowej
Bardziej szczegółowoemszmal 3: Automatyczne księgowanie przelewów w sklepie internetowym PrestaShop (plugin dostępny w wersji ecommerce)
emszmal 3: Automatyczne księgowanie przelewów w sklepie internetowym PrestaShop (plugin dostępny w wersji ecommerce) Zastosowanie Rozszerzenie to dedykowane jest sklepom internetowych zbudowanym w oparciu
Bardziej szczegółowoKomputery I (2) Panel sterowania:
Komputery I (2) Paweł Jamer Panel sterowania: Podstawowym miejscem z którego zarządzamy ustawieniami systemu Windows jest panel sterowania. Znaleźć tam możemy wszelkiego rodzaju narzędzia umożliwiające
Bardziej szczegółowoSposoby prezentacji problemów w statystyce
S t r o n a 1 Dr Anna Rybak Instytut Informatyki Uniwersytet w Białymstoku Sposoby prezentacji problemów w statystyce Wprowadzenie W artykule zostaną zaprezentowane podstawowe zagadnienia z zakresu statystyki
Bardziej szczegółowoWYMAGANIA EDUKACYJNE Z MATEMATYKI DLA KLASY III
WYMAGANIA EDUKACYJNE Z MATEMATYKI DLA KLASY III Program nauczania matematyki w gimnazjum Matematyka dla przyszłości DKW 4014 162/99 Opracowała: mgr Mariola Bagińska 1. Liczby i działania Podaje rozwinięcia
Bardziej szczegółowoSpis treści. 1 Moduł RFID (APA) 3
Spis treści 1 Moduł RFID (APA) 3 1.1 Konfigurowanie Modułu RFID..................... 3 1.1.1 Lista elementów Modułu RFID................. 3 1.1.2 Konfiguracja Modułu RFID (APA)............... 4 1.1.2.1
Bardziej szczegółowoP R Z E T W A R Z A N I E S Y G N A Ł Ó W B I O M E T R Y C Z N Y C H
W O J S K O W A A K A D E M I A T E C H N I C Z N A W Y D Z I A Ł E L E K T R O N I K I Drukować dwustronnie P R Z E T W A R Z A N I E S Y G N A Ł Ó W B I O M E T R Y C Z N Y C H Grupa... Data wykonania
Bardziej szczegółowoFunkcja liniowa - podsumowanie
Funkcja liniowa - podsumowanie 1. Funkcja - wprowadzenie Założenie wyjściowe: Rozpatrywana będzie funkcja opisana w dwuwymiarowym układzie współrzędnych X. Oś X nazywana jest osią odciętych (oś zmiennych
Bardziej szczegółowoPorównywanie populacji
3 Porównywanie populacji 2 Porównywanie populacji Tendencja centralna Jednostki (w grupie) według pewnej zmiennej porównuje się w ten sposób, że dokonuje się komparacji ich wartości, osiągniętych w tej
Bardziej szczegółowoMikroekonometria 5. Mikołaj Czajkowski Wiktor Budziński
Mikroekonometria 5 Mikołaj Czajkowski Wiktor Budziński Zadanie 1. Wykorzystując dane me.medexp3.dta przygotuj model regresji kwantylowej 1. Przygotuj model regresji kwantylowej w którym logarytm wydatków
Bardziej szczegółowoemszmal 3: Automatyczne księgowanie przelewów w sklepie internetowym IAI-Shop (plugin dostępny w wersji ecommerce)
emszmal 3: Automatyczne księgowanie przelewów w sklepie internetowym IAI-Shop (plugin dostępny w wersji ecommerce) Zastosowanie Rozszerzenie to przeznaczone jest dla właścicieli sklepów internetowych opartych
Bardziej szczegółowo8. Neuron z ciągłą funkcją aktywacji.
8. Neuron z ciągłą funkcją aktywacji. W tym ćwiczeniu zapoznamy się z modelem sztucznego neuronu oraz przykładem jego wykorzystania do rozwiązywanie prostego zadania klasyfikacji. Neuron biologiczny i
Bardziej szczegółowoAlgorytmy 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ółowoe-sprawdzian instrukcja programu do sprawdzania wiedzy ucznia przy pomocy komputera (WINDOWS & LINUX)
instrukcja programu do sprawdzania wiedzy ucznia przy pomocy komputera (WINDOWS & LINUX) Spis treści: 1. Wstęp. 2. Prawne aspekty używania programu. 3. Jak zdobyć e-sprawdzian. 4. Uruchomienie programu.
Bardziej szczegółowoModele 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ółowoWykorzystanie algorytmów mrówkowych w dynamicznym problem
Wykorzystanie algorytmów mrówkowych w dynamicznym problemie marszrutyzacji Promotor: dr inż. Aneta Poniszewska-Marańda Współpromotor: mgr inż. Łukasz Chomątek 18 stycznia 2013 Przedmiot i cele pracy dyplomowej
Bardziej szczegółowoUsługi Informatyczne "SZANSA" - Gabriela Ciszyńska-Matuszek ul. Świerkowa 25, Bielsko-Biała
Usługi Informatyczne "SZANSA" - Gabriela Ciszyńska-Matuszek ul. Świerkowa 25, 43-305 Bielsko-Biała NIP 937-22-97-52 tel. +48 33 488 89 39 zwcad@zwcad.pl www.zwcad.pl Aplikacja do rysowania wykresów i oznaczania
Bardziej szczegółowo1. FUNKCJE DZIAŁ Z PODRĘCZNIKA L.P. NaCoBeZu kryteria sukcesu w języku ucznia
L.P. DZIAŁ Z PODRĘCZNIKA 1. FUNKCJE 2. POTĘGI I PIERWIASTKI NaCoBeZu kryteria sukcesu w języku ucznia 1. Wiem, co to jest układ współrzędnych, potrafię nazwać osie układu. 2. Rysuję układ współrzędnych
Bardziej szczegółowoI. Liczby i działania
I. Liczby i działania porównywać liczby wymierne, zaznaczać liczby wymierne na osi liczbowej, zamieniać ułamki zwykłe na dziesiętne i odwrotnie, zaokrąglać liczby do danego rzędu, szacować wyniki działań,
Bardziej szczegółowoJak przygotować pliki gotowe do publikacji w sieci za pomocą DigitLabu?
Jak przygotować pliki gotowe do publikacji w sieci za pomocą DigitLabu? Po zainstalowaniu DigitLabu na komputerze otrzymujemy pakiet programów niezbędnych do przygotowania cyfrowych wersji obiektów tekstowych.
Bardziej szczegółowoWykorzystanie algorytmów mrówkowych w dynamicznym problem
Wykorzystanie algorytmów mrówkowych w dynamicznym problemie marszrutyzacji Promotor: dr inż. Aneta Poniszewska-Marańda Współpromotor: mgr inż. Łukasz Chomątek 14 czerwca 2013 Przedmiot i cele pracy dyplomowej
Bardziej szczegółowoWYMAGANIA EDUKACYJNE NA POSZCZEGÓLNE OCENY MATEMATYKA KLASA 8 DZIAŁ 1. LICZBY I DZIAŁANIA
WYMAGANIA EDUKACYJNE NA POSZCZEGÓLNE OCENY MATEMATYKA KLASA 8 DZIAŁ 1. LICZBY I DZIAŁANIA zna znaki używane do zapisu liczb w systemie rzymskim; zna zasady zapisu liczb w systemie rzymskim; umie zapisać
Bardziej szczegółowoSzkice rozwiązań z R:
Szkice rozwiązań z R: Zadanie 1. Założono doświadczenie farmakologiczne. Obserwowano przyrost wagi ciała (przyrost [gram]) przy zadanych dawkach trzech preparatów (dawka.a, dawka.b, dawka.c). Obiektami
Bardziej szczegółowoMetoda Karnaugh. B A BC A
Metoda Karnaugh. Powszechnie uważa się, iż układ o mniejszej liczbie elementów jest tańszy i bardziej niezawodny, a spośród dwóch układów o takiej samej liczbie elementów logicznych lepszy jest ten, który
Bardziej szczegółowoInstrukcja obsługi programu SWWS autorstwa Michała Krzemińskiego
Instrukcja obsługi programu SWWS autorstwa Michała Krzemińskiego Krótkie informacje o programie można znaleźć zarówno w pliku readme.txt zamieszczonym w podkatalogu DANE jak i w zakładce O programie znajdującej
Bardziej szczegółowoTesty nieparametryczne
Testy nieparametryczne Testy nieparametryczne możemy stosować, gdy nie są spełnione założenia wymagane dla testów parametrycznych. Stosujemy je również, gdy dane można uporządkować według określonych kryteriów
Bardziej szczegółowoDefinicje. Algorytm to:
Algorytmy Definicje Algorytm to: skończony ciąg operacji na obiektach, ze ściśle ustalonym porządkiem wykonania, dający możliwość realizacji zadania określonej klasy pewien ciąg czynności, który prowadzi
Bardziej szczegółowoAlgorytmy decyzyjne będące alternatywą dla sieci neuronowych
Algorytmy decyzyjne będące alternatywą dla sieci neuronowych Piotr Dalka Przykładowe algorytmy decyzyjne Sztuczne sieci neuronowe Algorytm k najbliższych sąsiadów Kaskada klasyfikatorów AdaBoost Naiwny
Bardziej szczegółowoLABORATORIUM 3. Jeśli p α, to hipotezę zerową odrzucamy Jeśli p > α, to nie mamy podstaw do odrzucenia hipotezy zerowej
LABORATORIUM 3 Przygotowanie pliku (nazwy zmiennych, export plików.xlsx, selekcja przypadków); Graficzna prezentacja danych: Histogramy (skategoryzowane) i 3-wymiarowe; Wykresy ramka wąsy; Wykresy powierzchniowe;
Bardziej szczegółowoOpis efektów kształcenia dla programu kształcenia (kierunkowe efekty kształcenia) WIEDZA. rozumie cywilizacyjne znaczenie matematyki i jej zastosowań
TABELA ODNIESIEŃ EFEKTÓW KSZTAŁCENIA OKREŚLONYCH DLA PROGRAMU KSZTAŁCENIA DO EFEKTÓW KSZTAŁCENIA OKREŚLONYCH DLA OBSZARU KSZTAŁCENIA I PROFILU STUDIÓW PROGRAM KSZTAŁCENIA: POZIOM KSZTAŁCENIA: PROFIL KSZTAŁCENIA:
Bardziej szczegółowoPodręcznik użytkownika Obieg dokumentów
Podręcznik użytkownika Obieg dokumentów Opracowany na potrzeby wdrożenia dla Akademii Wychowania Fizycznego im. Eugeniusza Piaseckiego w Poznaniu W ramach realizacji projektu: Uczelnia jutra wdrożenie
Bardziej szczegółowoROZKŁAD MATERIAŁU NAUCZANIA KLASA 1, ZAKRES PODSTAWOWY
ROZKŁAD MATERIAŁU NAUCZANIA KLASA 1, ZAKRES PODSTAWOWY Numer lekcji 1 2 Nazwa działu Lekcja organizacyjna. Zapoznanie z programem nauczania i kryteriami wymagań Zbiór liczb rzeczywistych i jego 3 Zbiór
Bardziej szczegółowoWyszukiwanie plików w systemie Windows
1 (Pobrane z slow7.pl) Bardzo często pracując na komputerze prędzej czy później łapiemy się na pytaniu - Gdzie jest ten plik? Zapisujemy i pobieramy masę plików i w nawale pracy pewne czynności są wykonywane
Bardziej szczegółowoWykład 3: Prezentacja danych statystycznych
Wykład 3: Prezentacja danych statystycznych Dobór metody prezentacji danych Dobór metody prezentacji danych zależy od: charakteru danych statystycznych (inne metody wybierzemy dla danych przekrojowych,
Bardziej szczegółowoemszmal 3: Automatyczne księgowanie przelewów w sklepie internetowym Shoper (plugin dostępny w wersji ecommerce)
emszmal 3: Automatyczne księgowanie przelewów w sklepie internetowym Shoper (plugin dostępny w wersji ecommerce) Zastosowanie Rozszerzenie to dedykowane jest sklepom internetowych działającym na platformie
Bardziej szczegółowoRozdział II. Praca z systemem operacyjnym
Rozdział II Praca z systemem operacyjnym 55 Rozdział III - System operacyjny i jego hierarchia 2.2. System operacyjny i jego życie Jak już wiesz, wyróżniamy wiele odmian systemów operacyjnych, które różnią
Bardziej szczegółowoOpis programu: www.optikom.eu
Opis programu: 1) Naliczanie minutowe... 2 2) Karnety... 5 3) Barek... 5 4) Imprezy urodzinowe... 7 5) Rejestracja sprzedaży... 10 6) Raport... 15 7) Magazyn... 18 8) Rejestracja czasu pracy... 18 9) Instalacja
Bardziej szczegółowopojawianie się na drodze - z prawdopodobieństwem alf a nowe auto pojawia się na początku ulicy z pewną prędkością początkową
Opis modelu Projekt zawiera model automatu komórkowego opisującego ruch uliczny na jednopasmowej ulicy bez możliwości wyprzedzania. Przyjmujemy, że kierowcy nie powodują celowo kolizji oraz że chcą dojechać
Bardziej szczegółowoWymagania edukacyjne z matematyki
Wymagania edukacyjne z matematyki Klasa I - program Matematyka z plusem" Dział: LICZBY I DZIAŁANIA Poziom konieczny - ocena dopuszczająca porównywać liczby wymierne, zaznaczać liczby wymierne na osi liczbowej,
Bardziej szczegółowoWymagania na poszczególne oceny szkolne dla klasy VI. (na podstawie Grażyny Koba, Teraz bajty. Informatyka dla szkoły podstawowej.
1 Wymagania na poszczególne oceny szkolne dla klasy VI (na podstawie Grażyny Koba, Teraz bajty. Informatyka dla szkoły podstawowej. Klasa VI ) 2 1. Obliczenia w arkuszu kalkulacyjnym słucha poleceń nauczyciela
Bardziej szczegółowoTechniki optymalizacji
Techniki optymalizacji Metaheurystyki oparte na algorytmach lokalnego przeszukiwania Maciej Hapke maciej.hapke at put.poznan.pl GRASP Greedy Randomized Adaptive Search Procedure T.A. Feo, M.G.C. Resende,
Bardziej szczegółowoZ pojedynczym obiekcie zasady grupy znajdziemy dwa główne typy ustawień:
Zasady grupy (GPO) Windows Server 2008 R2 Zasady grupy to potężne narzędzie udostępnione administratorom systemów Windows w celu łatwiejszego zarządzania ustawieniami stacji roboczych. Wyobraźmy sobie
Bardziej szczegółowo5.4. Tworzymy formularze
5.4. Tworzymy formularze Zastosowanie formularzy Formularz to obiekt bazy danych, który daje możliwość tworzenia i modyfikacji danych w tabeli lub kwerendzie. Jego wielką zaletą jest umiejętność zautomatyzowania
Bardziej szczegółowoemszmal 3: Automatyczne księgowanie przelewów w menadżerze sprzedaży BaseLinker (plugin dostępny w wersji ecommerce)
emszmal 3: Automatyczne księgowanie przelewów w menadżerze sprzedaży BaseLinker (plugin dostępny w wersji ecommerce) Zastosowanie Rozszerzenie to dedykowane jest internetowemu menadżerowi sprzedaży BaseLinker.
Bardziej szczegółowoRozdział 1 PROGRAMOWANIE LINIOWE
Wprowadzenie do badań operacyjnych z komputerem Opisy programów, ćwiczenia komputerowe i zadania. T. Trzaskalik (red.) Rozdział 1 PROGRAMOWANIE LINIOWE 1.2 Ćwiczenia komputerowe Ćwiczenie 1.1 Wykorzystując
Bardziej szczegółowoBadania 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ółowoAnaliza i projektowanie oprogramowania. Analiza i projektowanie oprogramowania 1/32
Analiza i projektowanie oprogramowania Analiza i projektowanie oprogramowania 1/32 Analiza i projektowanie oprogramowania 2/32 Cel analizy Celem fazy określania wymagań jest udzielenie odpowiedzi na pytanie:
Bardziej szczegółowo