Zastosowanie algorytmów mrówkowych do rozwiązywania problemu komiwojażera

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

Download "Zastosowanie algorytmów mrówkowych do rozwiązywania problemu komiwojażera"

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) 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ółowo

Algorytmy mrówkowe. P. Oleksyk. Wydział Informatyki Zachodniopomorski Uniwersytet Technologiczny w Szczecinie Inteligentne systemy informatyczne

Algorytmy 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ółowo

Algorytmy 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 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ół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

Systemy mrówkowe. Opracowali: Dawid Strucker, Konrad Baranowski

Systemy 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ółowo

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

Algorytmy Mrówkowe. Daniel Błaszkiewicz. 11 maja 2011. Instytut Informatyki Uniwersytetu Wrocławskiego

Algorytmy 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ół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

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

Statystyka 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 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ółowo

1. Opis okna podstawowego programu TPrezenter.

1. 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ółowo

TEORETYCZNE PODSTAWY INFORMATYKI

TEORETYCZNE 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ółowo

Problem 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. 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ółowo

Droga i cykl Eulera Przykłady zastosowania drogi i cyku Eulera Droga i cykl Hamiltona. Wykład 4. Droga i cykl Eulera i Hamiltona

Droga 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ółowo

Spacery losowe generowanie realizacji procesu losowego

Spacery 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ół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

Algorytmy mrówkowe (ang. Ant Colony Optimization)

Algorytmy 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ółowo

Politechnika 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) 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ółowo

Wykład 4. Droga i cykl Eulera i Hamiltona

Wykł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ółowo

Problem Komiwojażera - algorytmy metaheurystyczne

Problem 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ół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

Wprowadzenie do analizy dyskryminacyjnej

Wprowadzenie 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ółowo

Instrukcja obsługi programu Do-Exp

Instrukcja 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ół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

REFERAT PRACY DYPLOMOWEJ Temat pracy: SUDOKU - Algorytmy tworzenia i rozwiązywania

REFERAT 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ółowo

emszmal 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) 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ółowo

OPTIMA 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 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ółowo

STATYSTYKA MATEMATYCZNA

STATYSTYKA 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ół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

I. Program II. Opis głównych funkcji programu... 19

I. 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ółowo

1. Instalacja Programu

1. 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ółowo

Teraz bajty. Informatyka dla szkoły podstawowej. Klasa VI

Teraz 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ółowo

Instrukcja 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 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ółowo

Rozkład materiału nauczania

Rozkł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ółowo

Produkcja by CTI. Proces instalacji, ważne informacje oraz konfiguracja

Produkcja 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ółowo

1. Opis aplikacji. 2. Przeprowadzanie pomiarów. 3. Tworzenie sprawozdania

1. 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ółowo

Pokaz slajdów na stronie internetowej

Pokaz 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ółowo

Rozkład materiału nauczania

Rozkł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ółowo

1. Opis. 2. Wymagania sprzętowe:

1. 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ółowo

Programator Kart Master - klient

Programator 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ółowo

emszmal 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) 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ółowo

Diagnostyka pamięci RAM

Diagnostyka 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ółowo

Dokąd on zmierza? Przemieszczenie i prędkość jako wektory

Doką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ółowo

Technologia informacyjna Algorytm Janusz Uriasz

Technologia 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ółowo

S P I S T R E Ś C I. Instrukcja obsługi

S 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ół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

Systemy uczące się Lab 4

Systemy 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ółowo

Wymagania edukacyjne z informatyki dla klasy szóstej szkoły podstawowej.

Wymagania 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ółowo

INSTRUKCJA OBSŁUGI microplc STEROWNIK INKUBATORA ver: F1.0

INSTRUKCJA 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ółowo

Program dla praktyki lekarskiej

Program 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ółowo

Przewodnik użytkownika (instrukcja) AutoMagicTest

Przewodnik 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ółowo

WYMAGANIA 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 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ółowo

Rys Wykres kosztów skrócenia pojedynczej czynności. k 2. Δk 2. k 1 pp. Δk 1 T M T B T A

Rys 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ółowo

Ruch jednostajnie przyspieszony wyznaczenie przyspieszenia

Ruch 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ółowo

emszmal 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) 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ółowo

Komputery I (2) Panel sterowania:

Komputery 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ółowo

Sposoby prezentacji problemów w statystyce

Sposoby 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ółowo

WYMAGANIA EDUKACYJNE Z MATEMATYKI DLA KLASY III

WYMAGANIA 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ółowo

Spis treści. 1 Moduł RFID (APA) 3

Spis 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ółowo

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

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 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ółowo

Funkcja liniowa - podsumowanie

Funkcja 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ółowo

Porównywanie populacji

Poró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ółowo

Mikroekonometria 5. Mikołaj Czajkowski Wiktor Budziński

Mikroekonometria 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ółowo

emszmal 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) 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ółowo

8. Neuron z ciągłą funkcją aktywacji.

8. 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ół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

e-sprawdzian instrukcja programu do sprawdzania wiedzy ucznia przy pomocy komputera (WINDOWS & LINUX)

e-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ół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

Wykorzystanie algorytmów mrówkowych w dynamicznym problem

Wykorzystanie 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ółowo

Usługi Informatyczne "SZANSA" - Gabriela Ciszyńska-Matuszek ul. Świerkowa 25, Bielsko-Biała

Usł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ółowo

1. FUNKCJE DZIAŁ Z PODRĘCZNIKA L.P. NaCoBeZu kryteria sukcesu w języku ucznia

1. 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ółowo

I. Liczby i działania

I. 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ółowo

Jak przygotować pliki gotowe do publikacji w sieci za pomocą DigitLabu?

Jak 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ółowo

Wykorzystanie algorytmów mrówkowych w dynamicznym problem

Wykorzystanie 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ółowo

WYMAGANIA 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 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ółowo

Szkice rozwiązań z R:

Szkice 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ółowo

Metoda Karnaugh. B A BC A

Metoda 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ółowo

Instrukcja obsługi programu SWWS autorstwa Michała Krzemińskiego

Instrukcja 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ółowo

Testy nieparametryczne

Testy 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ółowo

Definicje. Algorytm to:

Definicje. 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ółowo

Algorytmy decyzyjne będące alternatywą dla sieci neuronowych

Algorytmy 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ółowo

LABORATORIUM 3. Jeśli p α, to hipotezę zerową odrzucamy Jeśli p > α, to nie mamy podstaw do odrzucenia hipotezy zerowej

LABORATORIUM 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ółowo

Opis efektów kształcenia dla programu kształcenia (kierunkowe efekty kształcenia) WIEDZA. rozumie cywilizacyjne znaczenie matematyki i jej zastosowań

Opis 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ółowo

Podręcznik użytkownika Obieg dokumentów

Podrę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ółowo

ROZKŁAD MATERIAŁU NAUCZANIA KLASA 1, ZAKRES PODSTAWOWY

ROZKŁ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ółowo

Wyszukiwanie plików w systemie Windows

Wyszukiwanie 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ółowo

Wykład 3: Prezentacja danych statystycznych

Wykł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ółowo

emszmal 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) 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ółowo

Rozdział II. Praca z systemem operacyjnym

Rozdział 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ółowo

Opis programu: www.optikom.eu

Opis 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ółowo

pojawianie się na drodze - z prawdopodobieństwem alf a nowe auto pojawia się na początku ulicy z pewną prędkością początkową

pojawianie 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ółowo

Wymagania edukacyjne z matematyki

Wymagania 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ółowo

Wymagania na poszczególne oceny szkolne dla klasy VI. (na podstawie Grażyny Koba, Teraz bajty. Informatyka dla szkoły podstawowej.

Wymagania 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ółowo

Techniki optymalizacji

Techniki 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ółowo

Z pojedynczym obiekcie zasady grupy znajdziemy dwa główne typy ustawień:

Z 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ółowo

5.4. Tworzymy formularze

5.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ółowo

emszmal 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) 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ółowo

Rozdział 1 PROGRAMOWANIE LINIOWE

Rozdział 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ół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

Analiza i projektowanie oprogramowania. Analiza i projektowanie oprogramowania 1/32

Analiza 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