Program "FLiNN-GA" wersja 2.10.β

Podobne dokumenty
ALGORYTMY GENETYCZNE ćwiczenia

SCHEMAT ROZWIĄZANIA ZADANIA OPTYMALIZACJI PRZY POMOCY ALGORYTMU GENETYCZNEGO

Algorytm genetyczny (genetic algorithm)-

6. Klasyczny algorytm genetyczny. 1

Algorytmy genetyczne. Materiały do laboratorium PSI. Studia niestacjonarne

Algorytmy genetyczne. Materiały do laboratorium PSI. Studia stacjonarne i niestacjonarne

Algorytmy ewolucyjne - algorytmy genetyczne. I. Karcz-Dulęba

Zadania laboratoryjne i projektowe - wersja β

Algorytmy genetyczne. Dariusz Banasiak. Katedra Informatyki Technicznej Wydział Elektroniki

Algorytmy genetyczne

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

Algorytmy genetyczne w optymalizacji

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

Obrona rozprawy doktorskiej Neuro-genetyczny system komputerowy do prognozowania zmiany indeksu giełdowego

Algorytmy genetyczne

Algorytmy ewolucyjne NAZEWNICTWO

Algorytmy ewolucyjne. Łukasz Przybyłek Studenckie Koło Naukowe BRAINS

Zadanie 5 - Algorytmy genetyczne (optymalizacja)

Obliczenia ewolucyjne - plan wykładu

Optymalizacja optymalizacji

SZTUCZNA INTELIGENCJA

Metody Rozmyte i Algorytmy Ewolucyjne

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

Inspiracje soft computing. Soft computing. Terminy genetyczne i ich odpowiedniki w algorytmach genetycznych. Elementarny algorytm genetyczny

Programowanie genetyczne, gra SNAKE

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

KARTA MODUŁU KSZTAŁCENIA

SZTUCZNA INTELIGENCJA

Dobór parametrów algorytmu ewolucyjnego

BIOCYBERNETYKA ALGORYTMY GENETYCZNE I METODY EWOLUCYJNE. Adrian Horzyk. Akademia Górniczo-Hutnicza

Rozdział ten zawiera informacje na temat zarządzania Modułem Modbus TCP oraz jego konfiguracji.

Algorytmy genetyczne

przetworzonego sygnału

7. Zagadnienie parkowania ciężarówki.

Standardowy algorytm genetyczny

Algorytmy genetyczne

Automatyczny dobór parametrów algorytmu genetycznego

6. Zagadnienie parkowania ciężarówki.

ALHE Z11 Jarosław Arabas wykład 11

Algorytm wstecznej propagacji błędów dla sieci RBF Michał Bereta

Sztuczna Inteligencja Tematy projektów Sieci Neuronowe

Spis treści. 1 Moduł Modbus TCP 4

MIO - LABORATORIUM. Imię i nazwisko Rok ak. Gr. Sem. Komputer Data / EC3 VIII LAB...

Algorytmy stochastyczne, wykład 01 Podstawowy algorytm genetyczny

Testowanie modeli predykcyjnych

Strategie ewolucyjne (ang. evolu4on strategies)

Algorytmy ewolucyjne. wprowadzenie

Aproksymacja funkcji a regresja symboliczna

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

Algorytmy genetyczne w interpolacji wielomianowej

Algorytmy genetyczne jako metoda wyszukiwania wzorców. Seminarium Metod Inteligencji Obliczeniowej Warszawa 26 X 2005 mgr inż.

1 Moduł Modbus ASCII/RTU

Programowanie genetyczne - gra SNAKE

ALGORYTMY GENETYCZNE (wykład + ćwiczenia)

Metody i techniki sztucznej inteligencji / Leszek Rutkowski. wyd. 2, 3 dodr. Warszawa, Spis treści

Katedra Informatyki Stosowanej. Algorytmy ewolucyjne. Inteligencja obliczeniowa

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

1 Moduł Modbus ASCII/RTU 3

Systemy Inteligentnego Przetwarzania wykład 4: algorytmy genetyczne, logika rozmyta

Problem Komiwojażera - algorytmy metaheurystyczne

LABORATORIUM 3: Wpływ operatorów krzyżowania na skuteczność poszukiwań AE

ZASTOSOWANIE ALGORYTMU GENETYCZNEGO DO WYZNACZANIA OPTYMALNYCH DECYZJI STERUJĄCYCH

ALGORYTMY EWOLUCYJNE W OPTYMALIZACJI JEDNOKRYTERIALNEJ

Strategie ewolucyjne. Gnypowicz Damian Staniszczak Łukasz Woźniak Marek

IMPLEMENTACJA SIECI NEURONOWYCH MLP Z WALIDACJĄ KRZYŻOWĄ

WYKORZYSTANIE SIECI NEURONOWEJ DO BADANIA WPŁYWU WYDOBYCIA NA SEJSMICZNOŚĆ W KOPALNIACH WĘGLA KAMIENNEGO. Stanisław Kowalik (Poland, Gliwice)

Biologicznie motywowane metody sztucznej inteligencji

Metody przeszukiwania

ĆWICZENIE 4 ZASTOSOWANIE METOD I NARZĘDZI LOGIKI ROZMYTEJ DO KLASYFIKACJI DANYCH I APROKSYMACJI ODWZOROWAŃ STATYCZNYCH

Algorytmy stochastyczne, wykład 02 Algorytmy genetyczne

LABORATORIUM 5: Wpływ reprodukcji na skuteczność poszukiwań AE. opracował: dr inż. Witold Beluch

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

Import danych w formacie txt

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

Microsoft EXCEL SOLVER

FOLIA POMERANAE UNIVERSITATIS TECHNOLOGIAE STETINENSIS Folia Pomer. Univ. Technol. Stetin. 2011, Oeconomica 285 (62), 45 50

Generowanie i optymalizacja harmonogramu za pomoca

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

Rozdział 9 PROGRAMOWANIE DYNAMICZNE

METODY HEURYSTYCZNE wykład 3

Rozdział 2 PROGRAMOWANIE LINIOWE CAŁKOWITOLICZBOWE

PODEJMOWANIE DECYZJI W WARUNKACH NIEPEŁNEJ INFORMACJI

Uczenie sieci typu MLP

Programowanie genetyczne

FOLIA POMERANAE UNIVERSITATIS TECHNOLOGIAE STETINENSIS Folia Pomer. Univ. Technol. Stetin. 2009, Oeconomica 275 (57), 53 58

Podstawy Informatyki

Sieci neuronowe jako sposób na optymalizacje podejmowanych decyzji. Tomasz Karczyoski Wydział W-08 IZ

SZTUCZNA INTELIGENCJA

Wstęp do Sztucznej Inteligencji

Oprogramowanie Systemów Obrazowania SIECI NEURONOWE

Odkrywanie algorytmów kwantowych za pomocą programowania genetycznego

PLAN WYKŁADU OPTYMALIZACJA GLOBALNA HISTORIA NA CZYM BAZUJĄ AG

LABORATORIUM 1: Program Evolutionary Algorithms

xx + x = 1, to y = Jeśli x = 0, to y = 0 Przykładowy układ Funkcja przykładowego układu Metody poszukiwania testów Porównanie tabel prawdy

2 Arytmetyka. d r 2 r + d r 1 2 r 1...d d 0 2 0,

Kurs STARTER S5. Spis treści. Dzień 1. III Budowa wewnętrzna, działanie i obsługa sterownika (wersja 0504)

Zadanie transportowe i problem komiwojażera. Tadeusz Trzaskalik

PRZEWODNIK PO PRZEDMIOCIE

Algorytmy genetyczne (AG)

wiedzy Sieci neuronowe

Transkrypt:

POLSKIE TOWARZYSTWO SIECI NEURONOWYCH POLITECHNIKA CZĘSTOCHOWSKA Zakład Elektroniki, Informatyki i Automatyki Maciej Piliński Robert Nowicki - GA Program "FLiNN-GA" wersja 2.10.β Podręcznik użytkownika Częstochowa 1996

Spis treści SPIS TREŚCI...1 WSTĘP...2 OPIS ZMIAN...2 IMPORT FROM FLEXTOOL(EFM)...2 ALGORYTMY GENETYCZNE W DOBORZE PARAMETRÓW STRUKTURY...3 ALGORYTMY GENETYCZNE W DOBORZE PARAMETRÓW STEROWNIKA...4 WIZUALIZACJA PRZEBIEGU ALGORYTMÓW GENETYCZNYCH...5 REALIZACJA ALGORYTMÓW GENETYCZNYCH...5 KODOWANIE CHROMOSOMÓW...5 Parametry...5 Reguły...6 OKREŚLANIE FUNKCJI PRZYSTOSOWANIA...6 METODY SELEKCJI...6 Metoda koła ruletki...6 Metoda rankingowa...7 Metoda turniejowa...7 Steady-state...7 REALIZACJA OPERATORÓW GENETYCZNYCH...7 Krzyżowanie...7 Mutacja...7 FLiNN-GA - Suplement 1

Wstęp W niniejszej wersji program FLiNN został uzupełniony o nowe moduły uwzględniające obecnie prowadzone prace w kierunku komputerowych modeli sztucznej inteligencji. Modułami tymi są: moduł konwersji wyników otrzymywanych z pakietu FlexTool(EFM) wyprodukowanego przez Flexible Intelligence Group oraz moduł algorytmów genetycznych. Zostaną one omówione w następnych punktach. Opis zmian Import from FlexTool(EFM) Menu główne przedstawione poniżej zostało uzupełnione o przycisk umożliwiający uruchomienie modułu konwersji. Konwersji mogą podlegać pliki ftfsinfo.txt generowane przez pakiet FlexTool(EFM). Plik taki zawiera opis sterownika rozmytego z wyszczególnieniem funkcji opisujących wejściowe i wyjściowe zbiory rozmyte oraz reguł. Plik wynikowy może zawierać opis zbiorów rozmytych i reguł w formacie programu FLiNN (*.rul) lub opis struktury realizującej sterownik zbliżony do opisanego w pliku źródłowym(*.str). Jest to rozbudowana wersja uproszczonego sterownika Wanga. Na poniższym rysunku przedstawiony jest przykład takie struktury. W celu uniknięcia stanów nieokreślonych zrealizowane są w niej wszystkie możliwe reguły uzupełnione o 2 FLiNN-GA - Suplement

współczynniki prawdziwości kolejnych reguł. Reguły opisane w zbiorze źródłowym mają współczynnik ten równy 1, a pozostałe 0.2. Każda z reguł ma ponadto własny zbiór wyjściowy, co umożliwia bardziej elastyczny proces modyfikacji struktury w trakcie uczenia, będąc pewnym substytutem doboru reguł. O wyniku każdej przeprowadzonej konwersji informuje pasek stanu. Algorytmy genetyczne w doborze parametrów struktury Okienko dialogowe Setup zostało umożliwia rezygnację z mechanizmu propagacji wstecznej w celu modyfikacji bloków PARAM na rzecz algorytmu genetycznego. Dokonujemy tego za pomocą przycisku Genetic Algorithms. FLiNN-GA - Suplement 3

Pierwszym parametrem jest ilość bajtów przeznaczonych do przechowywania w chromosomie informacji o wartości jednego bloku typu PARAM. Od wartości tej zależy rozdzielczość dobierania wartości. Rozdzielczość ( x), przedział zmienności (x min x max ) i ilość przeznaczonych bajtów (b) związane są zależnością: xmax xmin x = 8 * b 2 1 Wybranie opcji FineTune powoduje, że wartość parametru będzie ulegać zmianie w zakresie ograniczonym do części zakresu zmienności ustalonego w procentach w okolicy wartości aktualnej. Parametr SteadyState ustala jaka część populacji rodzicielskiej ma przejść do nowej populacji zgodnie z mechanizmem Steady State. Zatem w wyniku krzyżowań powstanie n-k nowych chromosomów, gdzie n jest licznością populacji, a k parametrem Steady State. Kolejne parametry to liczność populacji, ilość punktów krzyżowania oraz prawdopodobieństwa krzyżowania i mutacji. Do wyboru mamy trzy metody selekcji: metoda koła ruletki, metoda rankingowa oraz turniejowa o dowolnie ustalanej wielkości turnieju. Podobnie jak w przypadku uczenia metodą wstecznej propagacji możemy wyszczególnić, które warstwy mają podlegać modyfikacji. Ustalone parametry GA dotyczą wówczas wszystkich wyszczególnionych warstw. Algorytmy genetyczne w doborze parametrów sterownika Wybierając z menu głównego opcję Load Table Lookup Scheme otrzymujemy oprócz dotychczasowych metod (Wang, Wang+, Lin-Lee) nową: GanAlgor. Po jej wybraniu i potwierdzeniu, na górnej listwie pojawia się nowy przycisk dzięki któremu mamy możliwość ustalenia parametrów działania algorytmów genetycznych. Możemy zdecydować czy dobierane będą tylko reguły (Rules), funkcje przynależności zbiorów rozmytych (Membership function), czy też jedne i drugie. Reguły kodowane są w sposób niezmienny, natomiast dla współczynników określających funkcje przynależności 4 FLiNN-GA - Suplement

możemy ustalić ilość bajtów przeznaczonych na parametr oraz ewentualnie wybrać opcję FineTune. Pozostałe parametry są identyczne jak opisane w poprzednim punkcie. Wizualizacja przebiegu algorytmów genetycznych W trakcie działania algorytmów genetycznych, w pliku ga_fitfn.dat zapisywane są wartości minimalne, średnie, i maksymalne błędu (będącego wartością funkcji przynależności) dla każdej kolejnej generacji. Można je obejrzeć (także w trakcie trwania uczenia) za pomocą opcji Plot 2D Graph programu FLiNN. Realizacja algorytmów genetycznych Kodowanie chromosomów Parametry Wielkościami podlegającymi działaniom algorytmu genetycznego w strukturze sterownika są wyłącznie wartości bloków PARAM. Dla każdej takiej wielkości zapamiętywany jest w specjalnej strukturze dopuszczalny przedział losowania (x min, x max - w obecnej wersji jest on ustalony z góry na <-200; 200>) oraz wartość początkowa. Użytkownik może ustawić ilość bajtów (b) jaka przeznaczona będzie w chromosomie na każdy parametr (domyślnie 2). Wartość ta jest wspólna dla wszystkich parametrów i determinuje ona rozdzielczość dobierania wartości. Wzór określający zależność między tymi parametrami zawarty jest w punkcie Algorytmy genetyczne w doborze parametrów struktury. Długość chromosomy jest iloczynem ilości parametrów w strukturze dopuszczonych do modyfikacji i ilości bajtów przeznaczonych na każdy parametr. Na potrzeby przechowywania informacji o wszystkich chromosomach alokowany jest obszar pamięci o wielkości będącym iloczynem długości chromosomu i liczności populacji. Zakodowana wartość parametru zapisana w b bitach traktowana jako liczba całkowita bez znaku (w) zawiera się w przedziale od 0 do 2 8*b -1. W trakcie rozkodowywania jest ona przeskalowywana na przedział od x min do x max zgodnie ze wzorem: xmax xmin x = xmin + x* w= xmin + 8 * b * w 2 1 Jeżeli opcja FineTune jest wyłączona, obliczona w ten sposób wartość staje się nową wartością odpowiedniego bloku PARAM. Jeżeli opcja FineTune jest włączona, obliczona FLiNN-GA - Suplement 5

wartość jest mnożona przez współczynnik podawany przy opcji i dodawana do wartości początkowej danego parametru. Parametry zbiorów rozmytych w module Load Table Lookup Scheme przy wybraniu algorytmów genetycznych traktowane są identycznie jak wartości bloków PARAM w strukturze, z tą różnicą, że dopuszczalne przedziały losowania są określone na podstawie podanych przez użytkownika przedziałów zmienności wielkości wejściowych i wyjściowych. Reguły W przypadku kodowania reguł zakłada się, że istnieją wszystkie reguły, określone przez wszystkie możliwe kombinacje poprzedników, a więc ilość reguł jest zdeterminowana przez ilość wejściowych zbiorów rozmytych na każdym z wejść. Przy takim założeniu kodowaniu podlegać muszą tylko następniki reguł. Ilość różnych następników jest równa ilości wyjściowych zbiorów rozmytych (N out ). Możliwe następniki są numerowane od 0 do N out -1, a ponieważ każdej regule poświęcony jest jeden bajt mogący posiadać wartość (w) od 0 do 255 konieczne jest przeskalowanie jego wartości aby otrzymać numer (n) właściwego danej regule następnika, według wzoru: Nout n = * w 256 W module Load Table Lookup Scheme chromosom składa się zatem z części opisującej parametry zbiorów rozmytych oraz z części opisującej następniki reguł. W szczególnym przypadku jedna z części może być zerowej długości. Określanie funkcji przystosowania W celu określenia funkcji przystosowania danego chromosomu jest on dekodowany. Powstała w ten sposób struktura o nowych parametrach jest testowana przez wszystkie elementy ciągu uczącego. W każdym takim teście określany jest błąd będący różnicą między wartością wyjściową określoną w ciągu uczącym, a faktycznie otrzymaną na wyjściu sterownika. Suma kwadratów tych błędów jest funkcją przystosowania. Operacja ta jest przeprowadzana dla każdego chromosomu w populacji. Metody selekcji Metoda koła ruletki Metoda ruletki jest metodą, którą możemy wykorzystać w procesie poszukiwania maksimum funkcji przystosowania. Opisana powyżej funkcja przystosowania jest sumą kwadratów błędów, a więc poszukujemy jej minimum. Dlatego przed przystąpieniem do właściwego procesu selekcji wykonywana jest konwersja obliczonych wartości funkcji przystosowania na wartość możliwą do wykorzystania w metodzie koła ruletki. Najprostszą metodą byłoby zastąpienie dotychczasowych wartości ich odwrotnościami. W obecnej wersji zastosowano jednak inny algorytm. Wyszukiwany jest najgorszy chromosom o największej wartości funkcji przystosowania (F maks ), a następnie wartości funkcji przystosowania wszystkich chromosomów są przeliczane według wzoru: F = 12, * F F nowa maks poprzednia W ten sposób sprowadzono problem minimalizacji do problemu maksymalizacji dla którego metoda koła ruletki została stworzona. 6 FLiNN-GA - Suplement

Algorytm koła ruletki został zrealizowany według klasycznych wzorców. Losowana jest N wartość (k) z przedziału 0 ; F i, gdzie N jest liczbą chromosomów w populacji. i= 1 Następnie poszukiwane jest takie najmniejsze n dla którego spełniona jest nierówność: n i= 1 F k Takie n jest numerem pierwszego chromosomu rodzicielskiego. Drugi chromosom rodzicielski wybierany jest w identyczny sposób. Metoda rankingowa Jest to metoda, w której krotność występowania danego chromosomu w puli rodzicielskiej powinna być odwrotnie proporcjonalna do jego wartości funkcji przystosowania. Ponieważ liczba chromosomów jest niewielką liczbą całkowitą, podobnie jak krotność występowania danego chromosomu w puli rodzicielskiej, nie jest możliwe dokładne spełnienie tego założenia. Realizacja tej metody w programie FLiNN-GA jest następujące: Do puli rodzicielskiej wybierane są kolejno najlepsze chromosomy (o najmniejszej wartości funkcji przystosowania) po czym ich wartość funkcji przystosowania zwiększana jest dwukrotnie. Metoda turniejowa W metodzie tej każdy chromosom rodzicielski jest wyłaniany z turnieju rozgrywanego na zasadzie lepszy zostaje. Wielkość grupy turniejowej (N t ) jest określana przez użytkownika. Z istniejącej populacji wybierana jest w sposób losowy określona liczba chromosomów. Kolejno porównywane są wartości funkcji przystosowania tych chromosomów. Chromosom o wyższej wartości funkcji przystosowania odpada, ten drugi pozostaje do dalszych porównań, przy czym prawdopodobieństwo zwycięstwa lepszego jest ustalone na 0,9. Po przeprowadzeniu N t -1 porównań wyłoniony zostaje jeden chromosom wykorzystywany następnie jako rodzic. Steady-state Opcja ta określa jaka liczba chromosomów starej populacji ma trafić bez operacji krzyżowania do nowej populacji. Nawet gdy wartość ta wynosi 0, jeden najlepszy chromosom jest kopiowany do populacji potomnej. Chromosom ten jest również chroniony przed operacją mutacji. Realizacja operatorów genetycznych Krzyżowanie Na podstawie wybranej metody selekcji wybierana jest para rodzicielska. Następnie chromosomy te są krzyżowane w punktach wybranych losowo na długości chromosomu. Punkt krzyżowania może być ustalony w dowolnym punkcie chromosomu, także w środku bajtu. Ilość punktów krzyżowania danej paru rodzicielskiej jest ustalana przez użytkownika (domyślnie 2). Operacja krzyżowania w wylosowanym punkcie jest wykonywana z prawdopodobieństwem określonym przez użytkownika (domyślnie 0,77). Mutacja Mutacja jest wykonywana na każdym bicie chromosomu z prawdopodobieństwem określonym przez użytkownika (domyślnie 0,077). Polega ona na zanegowaniu wartości i FLiNN-GA - Suplement 7

mutowanego bitu. Jest ona wykonywana na chromosomach populacji potomnej bezpośrednio po operacji krzyżowania. 8 FLiNN-GA - Suplement