Algorytmy ewolucyjne

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

Download "Algorytmy ewolucyjne"

Transkrypt

1 Tomasz "Zyx" Jędrzejewski Algorytmy ewolucyjne Wersja 1.0 ( ) Szczegółowe informacje o licencji znajdują się pod artykułem. 1 Algorytmy ewolucyjne-

2 Algorytmy ewolucyjne Artykuł ten jest rozwinięciem skryptu przygotowanego na wykład o identycznym tytule, który wygłosiłem na Wakacyjnych Warsztatach Wielodyscyplinarnych. Wprawdzie w sieci istnieje już pewna liczba materiałów o tym, ale zdecydowana większość ma charakter czysto teoretyczny, gdy tymczasem tutaj chciałbym pozamieszczać kilka fragmentów kodu źródłowego. Zacznijmy od tego, czym jest algorytm ewolucyjny. Definicja mówi, że przeszukuje on przestrzeń alternatywnych rozwiązań problemu w celu odnalezienia rozwiązań najlepszych lub potencjalnie najlepszych. Zalicza się go do klasy algorytmów heurystycznych. Przeszukiwanie odbywa się za pomocą mechanizmów ewolucji oraz doboru naturalnego. W praktyce te słowa oznaczają, że wykorzystujemy ewolucję, aby poprzez krzyżowanie i mutacje stworzyć z grupy losowych zestawów danych to, co nas będzie satysfakcjonować. Pierwszy algorytm ewolucyjny został zaproponowany przez Johna Hollanda w 1975 roku, który bardzo interesował się biologią i często czerpał z niej inspirację w swych pracach informatycznych. Nazewnictwo Większa część nazewnictwa została zaczerpnięta z terminologii biologicznej. 1. Osobnik - pojedyncza propozycja rozwiązania problemu. 2. Populacja - zbiór osobników, na których operuje algorytm. 3. Genotyp - pewna dziedziczna informacja, w którą wyposażony jest osobnik. 4. Fenotyp - zestaw cech generowanych na podstawie genotypu, które podlegają ocenie środowiska. 5. Kodowanie - proces tworzenia fenotypu z genotypu. 6. Funkcja przystosowania - funkcja oceniająca jakość danego osobnika na podstawie jego fenotypu. 7. Chromosom - część genomu osobnika. W niniejszym wykładzie wszystkie prezentowane problemy dotyczą osobników o jednym chromosomie. 8. Geny - najmniejsze elementy genotypu reprezentujące elementarne informacje. Możliwymi wartościami danego genu są allele. Zatrzymam się dłużej przy terminie "algorytm genetyczny". Według części źródeł, w tym Wikipedii, jest to grupa algorytmów ewolucyjnych (i to ta, którą w zasadzie będziemy się w tym tekście zajmować), lecz dla wielu ludzi terminy te są synonimiczne. Zasada działania Prosty algorytm genetyczny działa w następujący sposób: inicjujemy (najczęściej w sposób losowy) pewną początkową populację osobników i poddajemy każdego z nich ocenie. Następnie z populacji wybieramy osobniki najlepiej do tego przystosowane i za pomocą operacji genetycznych (krzyżowanie oraz mutacja) tworzymy nowe pokolenie, które po ocenie stanie się bazą do kolejnego kroku algorytmu. Na schemacie można to przedstawić w sposób następujący: procedure AG; begin t : = 0; inicjacja(p[0]); ocena(p[0]); while(not warunek_stopu) do begin T := selekcja(p[t]); W := krzyzowanie(t); ocena(w); t := t + 1; p[t] := W; end; 2 Algorytmy ewolucyjne-

3 end; Legenda: 1. t - numer pokolenia 2. p[t] - populacja w pokoleniu numer t 3. T - grupa najlepiej przystosowanych osobników wybrana do rozrodu. 4. W - nowe pokolenie utworzone w wyniku rozmnożenia grupy osobników T. 5. inicjacja() - inicjuje populację startową. 6. ocena() - przypisuje każdemu osobnikowi pewną liczbę określającą jakość jego fenotypu. 7. selekcja() - wybiera z populacji osobniki o najlepszej jakości. 8. krzyzowanie() - za pomocą operacji krzyżowania i mutacji tworzy nowe pokolenie, które zastąpi stare. Najbardziej wymagającym zadaniem jest właśnie napisanie tych czterech wymienionych funkcji tak, aby prawidłowo rozwiązywały nasz problem. Dlatego zatrzymamy się przy każdej z nich na dłużej. Warianty ułożenia genów Wyróżniamy trzy sposoby ułożenia genów w chromosomie: 1. Klasyczny - geny na różnych pozycjach przechowują różne informacje. W wyniku krzyżowania geny nie zmieniają pozycji, lecz wartości. Wykorzystywany w problemach, gdzie chcemy dobrać optymalne cechy osobnika. 2. Permutacyjny - geny przechowują podobne informacje. W wyniku krzyżowania nie zmieniają wartości, lecz miejsce w chromosomie. Wykorzystywany w problemach kombinatorycznych, np. problemie komiwojażera. 3. Drzewiasty - chromosom tworzy złożoną strukturę drzewiastą. W czasie krzyżowania przesunięciom ulegają całe gałęzie genów. Często geny mogą zmieniać także wartości. Wykorzystywany w programowaniu genetycznym oraz tam, gdzie ewolucji podlegają reguły matematyczne. Funkcja oceny Na podstawie fenotypu danego osobnika generuje jedną liczbę opisującą jego jakość przystosowania. Np. dla algorytmu genetycznego poszukującego ekstremum funkcji, gdzie genotyp reprezentuje jej argument x, wartością funkcji przystosowania może być po prostu obliczona wartość wyrażenia matematycznego, dla którego poszukujemy ekstremum. Na potrzeby tego artykułu napisałem program, który tworzy populację losowych słów, a następnie za pomocą operacji krzyżowania dąży do utworzenia z nich określonego na początku terminu (np. jak podaliśmy słowo "konsumpcjonizm", to populacja dąży do wykształcenia wśród siebie właśnie takiego osobnika). Kod źródłowy funkcji oceny wygląda tutaj następująco: float TTextAlgorithm::rateFagas(void *fagas) std::string *s = (std::string*)fagas; float quality = 0; for(int i = 0; i < s->length(); i++) if((*s)[i] == comparado[i]) quality += 1.0; else quality += (float)((127 - ((*s)[i] - comparado[i]))/50.0); 3 Algorytmy ewolucyjne-

4 return quality; // end ratefagas(); Po zainicjowaniu osobnika jako zmiennej std::string oraz licznika oceny, przystępujemy do działania. Porównujemy każdy znak osobnika ze znakiem słowa wzorcowego w zmiennej comparado. Jeżeli na danej pozycji znaki będą takie same, do jakości dodawana jest wartość 1. W innym wypadku jest to różnica między kodami ASCII odjęta od 127 i podzielona przez 50 (będzie większa od 1). Dodam, że im mniejsza wartość funkcji oceny, tym lepszy był osobnik, dlatego teraz wyraźnie widać, iż niezgodność jakiejś litery powoduje znacznie większy skok wartości, czyli pogorszenie osobnika. Selekcja Selekcja wybiera z aktualnej populacji grupę najlepiej przystosowanych osobników do dalszego rozrodu. Istotne jest, aby właściwie dobrać stosunek wielkości tworzonej grupy do rozmiaru populacji. Zbyt małe stosunki (np. 1/1000) mogą doprowadzić do zaniku różnorodności genetycznej i defektów fenotypów, natomiast zbyt duże (np. 1/2) powodują wprowadzenie do rozrodu zbyt dużej liczby słabych genów, co również obniża jakość najlepszych osobników. Istnieje kilka metod selekcji: 1. Metoda koła ruletki - wyobraźmy sobie koło ruletki, którego tarcza podzielona jest na pewną liczbę wycinków o różnych rozmiarach. Każdy osobnik otrzymuje obszar o rozmiarze wprost proporcjonalnym do jego jakości. Puszczamy koło ruletki w ruch, a po jego zatrzymaniu wskaźnik zatrzyma się na jakimś osobniku, który wchodzi do grupy rozrodczej. Oczywiście im większy obszar dostał dany osobnik, tym większe prawdopodobieństwo jego wylosowania, dlatego też wielkość obszaru przydziela się przeważnie funkcją prawdopodobieństwa ( ZW = 0,1 ). Jeśli przez F(i) oznaczymy wartość funkcji przystosowania osobnika i, to prawdopodobieństwo jego przystosowania wyliczymy ze wzoru p i = n i=1 F i F i 2. Selekcja rankingowa - osobniki w populacji są sortowane według ich jakości od najlepszego do najgorszego. Do dalszego rozrodu przechodzi tylko n najlepiej przystosowanych osobników. Metoda ta charakteryzuje się lepszym uwarunkowaniem, niż metoda ruletki. 3. Selekcja turniejowa - populację dzieli się na szereg dowolnie licznych grup. Następnie z każdej z nich wybieramy osobnika o najlepszym przystosowaniu. Ten rodzaj selekcji także sprawdza się lepiej, niż metoda ruletki. Zatrzymajmy się na chwilę przy metodach rankingowej i turniejowej, spróbując określić, jak zmienia się populacja przy stosowaniu każdej z nich. Selekcja rankingowa sprawia, że do rozrodu trafiają zawsze osobniki najlepsze globalnie. Wydawać by się to mogło optymalnym posunięciem, lecz prowadzi do przedwczesnego zaniku różnorodności, a tym samym do zbieżności algorytmu. W selecji turniejowej do rozrodu trafiają zawsze osobniki najlepsze lokalnie, w obrębie grup. Na pewno w jednej z nich znajdzie się osobnik najlepszy globalnie, zatem o przeniknięcie jego genów (i wielu innych) nie trzeba się martwić, ale zachowamy przy tym różnorodność, dopuszczając też osobniki trochę gorsze. Ma to sens, gdyż i one mogą zawierać ciekawe rozwiązania genowe, które jednak ostatecznie są tłumione przez całą resztę genomu. Przykładowa implementacja selekcji turniejowej wygląda następująco: void TGeneticAlgorithm::selectionCompetition(SFagas **loverlist, int lsize) SFagas *tournament[proportion]; int c = 0; int l = 0; for(int i = 0; i < fagasamount; i++) 4 Algorytmy ewolucyjne-

5 if(c == PROPORTION) geneticquicksort(tournament, PROPORTION); loverlist[l] = tournament[0]; c = 0; l++; tournament[c] = population[i]; c++; if(fagasamount % 2 == 0) geneticquicksort(tournament, PROPORTION); loverlist[l] = tournament[0]; // end selectioncompetition(); Na początku budujemy sobie tablicę o wielkości PROPORTION - normalnie jest to liczba mówiąca, na ile trzeba podzielić części populację, aby otrzymać grupę do rozrodu stosownej wielkości (tj. jeśli jest równe 20, grupa rozrodcza będzie 20 razy mniejsza, niż populacja). Tu służy do trochę innego celu. Następnie przeglądamy całą populację i wsadzamy osobniki do tablicy turniejowej aż do jej zapełnienia. Kiedy to się stanie, sortujemy ją quicksortem według wartości funkcji oceny i wybieramy pierwszego osobnika (będzie on po posortowaniu na początku tablicy). Wstawiamy go do tabeli rozrodczej loverlist i zapełnianie bufora turnieju zaczynamy od początku. Na końcu musimy też uwzględnić, czy ilość osobników w populacji jest parzysta, czy nieparzysta. Istnieją także strategie ewolucyjne polegające na przenoszeniu części starej populacji do nowego pokolenia bez żadnych zmian, krzyżowań itd. Crossing-over Generowanie nowej populacji z najlepiej przystosowanych osobników przeprowadzamy metodą crossing-over (pl. krosowanie). Do jej wykonania potrzebne są dwa osobniki, które rozcinamy w losowo wybranym punkcie i łączymy na krzyż, tj. fragment osobnika A przypinamy osobnikowi B, a fragment osobnika B - do osobnika A: W wyniku wykonania tej operacji powstają dwa nowe osobniki o wymieszanym materiale genetycznym. Istotny jest tu też sposób wyboru osobników, których chcemy skrzyżować: 1. Losowy - pary do krzyżowania dobierane są w sposób losowy. 2. Z najlepszym - odnajdujemy najlepiej przystosowanego osobnika i krzyżujemy go z wszystkimi pozostałymi. 3. Najlepszy zostaje - sposób podobny do powyższego, z tym, że najlepszy osobnik zostaje włączony do nowej populacji. Mutacje Mutacja to samoistna, losowa zmiana w genotypie. W przyrodzie powstaje w wyniku błędów reprodukcji lub uszkodzeń fizycznych i zwiększa różnorodność materiału genetycznego. Algorytm genetyczny symuluje zachodzenie mutacji. Prawdopodobieństwo jej zajścia to sprawa indywidualna każdego programu, lecz jego wartość powinna być bardzo niska, gdyż inaczej w wynikach pojawi się dużo losowości, a ewentualne korzystne zmiany nie będą miały szans na utrwalenie się w populacji. Zastosowania algorytmów genetycznych Wynaleziono już wiele zastosowań algorytmów genetycznych. Spośród ciekawszych, można wymienić: 1. Obliczanie ekstremów funkcji. 5 Algorytmy ewolucyjne-

6 2. Rozwiązywanie problemów zbyt skomplikowanych do rozwiązania tradycyjnymi metodami, jeśli nie interesuje nas absolutnie optymalne rozwiązanie (np. problem komiwojażera). 3. Automatyczne generowanie wyrażeń matematycznych lub programów komputerowych rozwiązujących określony problem. 4. Problemy, w których do końca sami nie wiemy, co konkretnie pragniemy uzyskać, lecz posiadamy jedynie pewne kryteria (np. projektowanie, planowanie). Znane są przypadki wykorzystania algorytmów ewolucyjnych do projektowania kształtu komory silnika odrzutowego czy anteny o odpowiednich właściwościach. Twierdzenie o schematach Twierdzenie o schematach jest fundamentalnym twierdzeniem w teorii algorytmów genetycznych. Wyjaśnia ono, dlaczego one w ogóle działają i tłumaczy, w jaki sposób. Zacznijmy od kilku teoretycznych definicji pozwalających nam lepiej zrozumieć istotę sprawy. Schemat to wzorzec opisujący podzbiór wszystkich ciągów podobnych do siebie ze względu na ustalone pozycje. Jeżeli mamy alfabet E, to schematy są słowami nad alfabetem E U * gdzie * może być dowolną literą alfabetu E. Przykład: Do schematu *T*K można dopasować słowa "PTAK", "ATAK", "STYK" - słowa pasujące do schematu nazywają się reprezentantami schematu. Rząd schematu (liczność schematu) to liczba ustalonych pozycji w schemacie. Np. rząd schematu *T*K to 2. Rozpiętość schematu to odległość między skrajnymi, ustalonymi pozycjami w schemacie. Rozpiętość schematu *T*K to 4-2=2. Rozpiętość schematu *B***I*RK* to 9-2=7. Te teoretyczne definicje bardzo łatwo jest sprowadzić do algorytmów genetycznych. Słowami mogą być tutaj poszczególne chromosomy, a schematami - pewne kombinacje wybranych genów. Dalej będziemy dla uproszczenia posługiwać się chromosomami binarnymi, w których geny mogą przyjmować tylko wartości 1 i 0. Tabela przedstawia niektóre schematy w ośmiogenowym chromosomie i ich przykładowych reprezentantów: Schemat Rząd Rozpiętość Reprezentanci **1*001* ****0* Każdy chromosom jest reprezentantem bardzo wielu schematów (w powyższej tabeli ostatni przykład z drugiego schematu pasuje też do pierwszego). Przystosowanie schematu to średnie przystosowanie wszystkich jego reprezentantów. Można łatwo pokazać, że najlepszym przystosowaniem charakteryzują się schematy, których reprezentantami są najlepsze osobniki i jednocześnie nie są najgorsze. W czasie krzyżowania, mutacji i selekcji niektóre schematy będą powoli zanikać wraz z zanikaniem swych słabych reprezentantów. Za pomocą rachunku prawdopodobieństwa zbadano dokładnie, w jaki sposób schematy przenoszą się do następnego pokolenia, jednak my bez wnikania we wzory przedstawimy sformułowane przez Johna Hollanda twierdzenie o schematach: Schematy małego rzędu, o małej rozpiętości i o przystosowaniu powyżej średniej otrzymują rosnącą wykładniczo liczbę reprezentantów w kolejnych generacjach algorytmu genetycznego. Warunki te są zgodne z intuicją. Jeśli schemat jest małego rzędu i ma małą rozpiętość, jest mniejsza szansa, że w trakcie krzyżowania zostanie rozdzielony. Lepsze przystosowanie gwarantuje mu natomiast wejście jego reprezentantów do dalszego rozrodu. Na podstawie tego twierdzenia powstała hipoteza głosząca, że przyczyną efektywności algorytmów genetycznych jest składanie krótkich ciągów genowych - cegiełek. Ma ona zastosowanie tylko, gdy między genami istnieją zależności. Ich istnienie pociąga za sobą konsekwencję możliwości utworzenia 6 Algorytmy ewolucyjne-

7 niedozwolonego osobnika w wyniku operacji krzyżowania. Wynika z tego, że geny, między którymi istnieją silne zależności, powinny zostać umieszczone blisko siebie tak, aby mogły utworzyć cegiełkę, a nie być rozdzielane w sposób losowy, doprowadzając do tworzenia dużej ilości nieprawidłowych osobników. Gotowe biblioteki Aby rozwiązywać problemy za pomocą algorytmów genetycznych, nie jest konieczne samodzielne programowanie całego mechanizmu. Biblioteka Genetic Algorithm Utility Library dostępna na zasadach open-source oferuje szkielety wszystkich niezbędnych mechanizmów, do których należy tylko dopisać funkcje odpowiedzialne za rozwiązywanie konkretnego problemu. Oprócz zaimplementowanych wielu wariantów poszczególnych części algorytmu, potrafi też przeprowadzać obliczenia na systemach wieloprocesorowych. Strona WWW projektu: Zakończenie Piękno algorytmów ewolucyjnych polega na tym, iż opierają się na teorii, której sporo ludzi na złość cioci zaprzecza. Wystarczy tylko uruchomić odpowiedni program i można na własne oczy przekonać się, że nawet pozornie losowe zmiany mają ewolucyjny sens i prowadzą do lepszego przystosowania populacji. Algorytmy ewolucyjne próbuje się z powodzeniem stosować do rozwiązywania coraz większej liczby problemów - jeśli jesteśmy w stanie coś przedstawić za pomocą wiarygodnej kombinacji genów, pozostaje już tylko programowanie i oczekiwanie na wynik. Tomasz "Zyx" Jędrzejewski Aktualna wersja artykułu zawsze na 7 Algorytmy ewolucyjne-

8 Licencja Artykuł rozpowszechniany jest na licencji Creative Commons Uznanie autorstwa-użycie niekomercyjne-bez utworów zależnych 2.5 Polska. Wolno: kopiować, rozpowszechniać, odtwarzać i wykonywać utwór Na następujących warunkach: 1. Uznanie autorstwa. Utwór należy oznaczyć w sposób określony przez Twórcę lub Licencjodawcę*. 2. Użycie niekomercyjne. Nie wolno używać tego utworu do celów komercyjnych. 3. Bez utworów zależnych. Nie wolno zmieniać, przekształcać ani tworzyć nowych dzieł na podstawie tego utworu. W celu ponownego użycia utworu lub rozpowszechniania utworu należy wyjaśnić innym warunki licencji, na której udostępnia się utwór. Każdy z tych warunków może zostać uchylony, jeśli uzyska się zezwolenie właściciela praw autorskich. Powyższe postanowienia w żaden sposób nie naruszają uprawnień wynikających z dozwolonego użytku ani żadnych innych praw. Internetowa skrócona wersja licencji: Pełen tekst licencji: Podczas publikacji należy podać następujące informacje: 1. Link do internetowej skróconej wersji licencji. 2. Informację o wersji publikowanego tekstu. 3. Informacje o autorze w następujący sposób: Tomasz "Zyx" Jędrzejewski Aktualna wersja artykułu zawsze na 8 Algorytmy ewolucyjne-

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

Zadanie 5 - Algorytmy genetyczne (optymalizacja)

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

Bardziej szczegółowo

Algorytmy ewolucyjne NAZEWNICTWO

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

Bardziej szczegółowo

SCHEMAT ROZWIĄZANIA ZADANIA OPTYMALIZACJI PRZY POMOCY ALGORYTMU GENETYCZNEGO

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

Bardziej szczegółowo

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

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

Bardziej szczegółowo

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

Algorytmy genetyczne. Dariusz Banasiak. Katedra Informatyki Technicznej Wydział Elektroniki Dariusz Banasiak Katedra Informatyki Technicznej Wydział Elektroniki Obliczenia ewolucyjne (EC evolutionary computing) lub algorytmy ewolucyjne (EA evolutionary algorithms) to ogólne określenia używane

Bardziej szczegółowo

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

Algorytmy genetyczne. Materiały do laboratorium PSI. Studia niestacjonarne Algorytmy genetyczne Materiały do laboratorium PSI Studia niestacjonarne Podstawowy algorytm genetyczny (PAG) Schemat blokowy algorytmu genetycznego Znaczenia, pochodzących z biologii i genetyki, pojęć

Bardziej szczegółowo

Generowanie i optymalizacja harmonogramu za pomoca

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

Bardziej szczegółowo

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

Algorytmy genetyczne. Materiały do laboratorium PSI. Studia stacjonarne i niestacjonarne Algorytmy genetyczne Materiały do laboratorium PSI Studia stacjonarne i niestacjonarne Podstawowy algorytm genetyczny (PAG) Schemat blokowy algorytmu genetycznego Znaczenia, pochodzących z biologii i genetyki,

Bardziej szczegółowo

6. Klasyczny algorytm genetyczny. 1

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

Bardziej szczegółowo

Algorytmy genetyczne

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

Bardziej szczegółowo

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

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

Algorytmy ewolucyjne - algorytmy genetyczne. I. Karcz-Dulęba Algorytmy ewolucyjne - algorytmy genetyczne I. Karcz-Dulęba Algorytmy klasyczne a algorytmy ewolucyjne Przeszukiwanie przestrzeni przez jeden punkt bazowy Przeszukiwanie przestrzeni przez zbiór punktów

Bardziej szczegółowo

Obliczenia ewolucyjne - plan wykładu

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

Bardziej szczegółowo

ALGORYTMY GENETYCZNE ćwiczenia

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

Bardziej szczegółowo

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

Inspiracje soft computing. Soft computing. Terminy genetyczne i ich odpowiedniki w algorytmach genetycznych. Elementarny algorytm genetyczny Soft computing Soft computing tym róŝni się od klasycznych obliczeń (hard computing), Ŝe jest odporny na brak precyzji i niepewność danych wejściowych. Obliczenia soft computing mają inspiracje ze świata

Bardziej szczegółowo

Algorytmy genetyczne

Algorytmy genetyczne Politechnika Łódzka Katedra Informatyki Stosowanej Algorytmy genetyczne Wykład 2 Przygotował i prowadzi: Dr inż. Piotr Urbanek Powtórzenie Pytania: Jaki mechanizm jest stosowany w naturze do takiego modyfikowania

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

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

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

Bardziej szczegółowo

Algorytmy genetyczne w optymalizacji

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

Bardziej szczegółowo

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

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

Bardziej szczegółowo

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

Algorytmy ewolucyjne. Łukasz Przybyłek Studenckie Koło Naukowe BRAINS Algorytmy ewolucyjne Łukasz Przybyłek Studenckie Koło Naukowe BRAINS 1 Wprowadzenie Algorytmy ewolucyjne ogólne algorytmy optymalizacji operujące na populacji rozwiązań, inspirowane biologicznymi zjawiskami,

Bardziej szczegółowo

ALGORYTMY GENETYCZNE (wykład + ćwiczenia)

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

Bardziej szczegółowo

Obliczenia Naturalne - Algorytmy genetyczne

Obliczenia Naturalne - Algorytmy genetyczne Literatura Obliczenia Naturalne - Algorytmy genetyczne Paweł Paduch Politechnika Świętokrzyska 20 marca 2014 Paweł Paduch Obliczenia Naturalne - Algorytmy genetyczne 1 z 45 Plan wykładu Literatura 1 Literatura

Bardziej szczegółowo

Algorytmy genetyczne

Algorytmy genetyczne Politechnika Łódzka Katedra Informatyki Stosowanej Algorytmy genetyczne Wykład 2 Przygotował i prowadzi: Dr inż. Piotr Urbanek Powtórzenie Pytania: Jaki mechanizm jest stosowany w naturze do takiego modyfikowania

Bardziej szczegółowo

Algorytmy ewolucyjne. wprowadzenie

Algorytmy ewolucyjne. wprowadzenie Algorytmy ewolucyjne wprowadzenie Gracjan Wilczewski, www.mat.uni.torun.pl/~gracjan Toruń, 2005 Historia Podstawowy algorytm genetyczny został wprowadzony przez Johna Hollanda (Uniwersytet Michigan) i

Bardziej szczegółowo

Aproksymacja funkcji a regresja symboliczna

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

Bardziej szczegółowo

Strategie ewolucyjne (ang. evolu4on strategies)

Strategie ewolucyjne (ang. evolu4on strategies) Strategie ewolucyjne (ang. evolu4on strategies) Strategia ewolucyjna (1+1) W Strategii Ewolucyjnej(1 + 1), populacja złożona z jednego osobnika generuje jednego potomka. Kolejne (jednoelementowe) populacje

Bardziej szczegółowo

Odkrywanie algorytmów kwantowych za pomocą programowania genetycznego

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

Bardziej szczegółowo

Algorytm. a programowanie -

Algorytm. a programowanie - Algorytm a programowanie - Program komputerowy: Program komputerowy można rozumieć jako: kod źródłowy - program komputerowy zapisany w pewnym języku programowania, zestaw poszczególnych instrukcji, plik

Bardziej szczegółowo

Metody Rozmyte i Algorytmy Ewolucyjne

Metody Rozmyte i Algorytmy Ewolucyjne mgr inż. Wydział Matematyczno-Przyrodniczy Szkoła Nauk Ścisłych Uniwersytet Kardynała Stefana Wyszyńskiego Podstawowe operatory genetyczne Plan wykładu Przypomnienie 1 Przypomnienie Metody generacji liczb

Bardziej szczegółowo

Algorytmy stochastyczne, wykład 02 Algorytmy genetyczne

Algorytmy stochastyczne, wykład 02 Algorytmy genetyczne Algorytmy stochastyczne, wykład 02 Algorytmy genetyczne J. Piersa Wydział Matematyki i Informatyki, Uniwersytet Mikołaja Kopernika 2014-02-27 1 Mutacje algorytmu genetycznego 2 Dziedzina niewypukła abstrakcyjna

Bardziej szczegółowo

Równoważność algorytmów optymalizacji

Równoważność algorytmów optymalizacji Równoważność algorytmów optymalizacji Reguła nie ma nic za darmo (ang. no free lunch theory): efektywność różnych typowych algorytmów szukania uśredniona po wszystkich możliwych problemach optymalizacyjnych

Bardziej szczegółowo

Algorytmy ewolucyjne (2)

Algorytmy ewolucyjne (2) Algorytmy ewolucyjne (2) zajecia.jakubw.pl/nai/ ALGORYTM GEETYCZY Cel: znaleźć makimum unkcji. Założenie: unkcja ta jet dodatnia. 1. Tworzymy oobników loowych. 2. Stoujemy operacje mutacji i krzyżowania

Bardziej szczegółowo

SZTUCZNA INTELIGENCJA

SZTUCZNA INTELIGENCJA ZTUCZNA INTELIGENCJA WYKŁAD 6. ALGORYTMY GENETYCZNE - CHEMATY, METODY ELEKCJI Częstochowa 204 Dr hab. inż. Grzegorz Dude Wydział Eletryczny Politechnia Częstochowsa CHEMATY chemat zbór chromosomów o wspólnych

Bardziej szczegółowo

Programowanie genetyczne, gra SNAKE

Programowanie genetyczne, gra SNAKE STUDENCKA PRACOWNIA ALGORYTMÓW EWOLUCYJNYCH Tomasz Kupczyk, Tomasz Urbański Programowanie genetyczne, gra SNAKE II UWr Wrocław 2009 Spis treści 1. Wstęp 3 1.1. Ogólny opis.....................................

Bardziej szczegółowo

Optymalizacja. Wybrane algorytmy

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

Bardziej szczegółowo

Katedra Informatyki Stosowanej. Algorytmy ewolucyjne. Inteligencja obliczeniowa

Katedra Informatyki Stosowanej. Algorytmy ewolucyjne. Inteligencja obliczeniowa Wydział Zarządzania AGH Katedra Informatyki Stosowanej Algorytmy ewolucyjne Treść wykładu Wprowadzenie Zasada działania Podział EA Cechy EA Algorytm genetyczny 2 EA - wprowadzenie Algorytmy ewolucyjne

Bardziej szczegółowo

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

Strategie ewolucyjne. Gnypowicz Damian Staniszczak Łukasz Woźniak Marek Strategie ewolucyjne Gnypowicz Damian Staniszczak Łukasz Woźniak Marek Strategie ewolucyjne, a algorytmy genetyczne Podobieństwa: Oba działają na populacjach rozwiązań Korzystają z zasad selecji i przetwarzania

Bardziej szczegółowo

Zadania laboratoryjne i projektowe - wersja β

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

Bardziej szczegółowo

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

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

Bardziej szczegółowo

Teoria algorytmów ewolucyjnych

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

Bardziej szczegółowo

Algorytm selekcji Hoare a. Łukasz Miemus

Algorytm selekcji Hoare a. Łukasz Miemus Algorytm selekcji Hoare a Łukasz Miemus 1 lutego 2006 Rozdział 1 O algorytmie 1.1 Problem Mamy tablicę A[N] różnych elementów i zmienną int K, takie że 1 K N. Oczekiwane rozwiązanie to określenie K-tego

Bardziej szczegółowo

Dobór parametrów algorytmu ewolucyjnego

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

Bardziej szczegółowo

Algorytmy stochastyczne, wykład 01 Podstawowy algorytm genetyczny

Algorytmy stochastyczne, wykład 01 Podstawowy algorytm genetyczny Algorytmy stochastyczne, wykład 01 J. Piersa Wydział Matematyki i Informatyki, Uniwersytet Mikołaja Kopernika 2014-02-21 In memoriam prof. dr hab. Tomasz Schreiber (1975-2010) 1 2 3 Różne Orientacyjny

Bardziej szczegółowo

LABORATORIUM 2: Wpływ wielkości populacji i liczby pokoleń na skuteczność poszukiwań AE. opracował: dr inż. Witold Beluch

LABORATORIUM 2: Wpływ wielkości populacji i liczby pokoleń na skuteczność poszukiwań AE. opracował: dr inż. Witold Beluch OBLICZENIA EWOLUCYJNE LABORATORIUM 2: Wpływ wielkości populacji i liczby pokoleń na skuteczność poszukiwań AE opracował: dr inż. Witold Beluch witold.beluch@polsl.pl Gliwice 12 OBLICZENIA EWOLUCYJNE LABORATORIUM

Bardziej szczegółowo

METODY HEURYSTYCZNE wykład 3

METODY HEURYSTYCZNE wykład 3 METODY HEURYSTYCZNE wykład 3 1 Przykład: Znaleźć max { f (x)=x 2 } dla wartości całkowitych x z zakresu 0-31. Populacja w chwili t: P(t)= {x t 1,...x t n} Założenia: - łańcuchy 5-bitowe (x=0,1,...,31);

Bardziej szczegółowo

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

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

Bardziej szczegółowo

Techniki optymalizacji

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

Bardziej szczegółowo

O badaniach nad SZTUCZNĄ INTELIGENCJĄ

O badaniach nad SZTUCZNĄ INTELIGENCJĄ O badaniach nad SZTUCZNĄ INTELIGENCJĄ Wykład 7. O badaniach nad sztuczną inteligencją Co nazywamy SZTUCZNĄ INTELIGENCJĄ? szczególny rodzaj programów komputerowych, a niekiedy maszyn. SI szczególną własność

Bardziej szczegółowo

Podstawy programowania. Wykład Funkcje. Krzysztof Banaś Podstawy programowania 1

Podstawy programowania. Wykład Funkcje. Krzysztof Banaś Podstawy programowania 1 Podstawy programowania. Wykład Funkcje Krzysztof Banaś Podstawy programowania 1 Programowanie proceduralne Pojęcie procedury (funkcji) programowanie proceduralne realizacja określonego zadania specyfikacja

Bardziej szczegółowo

Automatyczny dobór parametrów algorytmu genetycznego

Automatyczny dobór parametrów algorytmu genetycznego Automatyczny dobór parametrów algorytmu genetycznego Remigiusz Modrzejewski 22 grudnia 2008 Plan prezentacji Wstęp Atrakcyjność Pułapki Klasyfikacja Wstęp Atrakcyjność Pułapki Klasyfikacja Konstrukcja

Bardziej szczegółowo

Kurs ECDL Moduł 3. Nagłówek i stopka Microsoft Office Word 2003. Autor: Piotr Dębowski. piotr.debowski@konto.pl

Kurs ECDL Moduł 3. Nagłówek i stopka Microsoft Office Word 2003. Autor: Piotr Dębowski. piotr.debowski@konto.pl Kurs ECDL Moduł 3 Nagłówek i stopka Microsoft Office Word 2003 Autor: Piotr Dębowski piotr.debowski@konto.pl Wolno: Creative Commons License Deed Uznanie autorstwa - Użycie niekomercyjne - Na tych samych

Bardziej szczegółowo

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

PLAN WYKŁADU OPTYMALIZACJA GLOBALNA HISTORIA NA CZYM BAZUJĄ AG PLAN WYKŁADU OPTYMALIZACJA GLOBALNA Wykład 2 dr inż. Agnieszka Bołtuć Historia Zadania Co odróżnia od klasycznych algorytmów Nazewnictwo Etapy Kodowanie, inicjalizacja, transformacja funkcji celu Selekcja

Bardziej szczegółowo

operacje porównania, a jeśli jest to konieczne ze względu na złe uporządkowanie porównywanych liczb zmieniamy ich kolejność, czyli przestawiamy je.

operacje porównania, a jeśli jest to konieczne ze względu na złe uporządkowanie porównywanych liczb zmieniamy ich kolejność, czyli przestawiamy je. Problem porządkowania zwanego również sortowaniem jest jednym z najważniejszych i najpopularniejszych zagadnień informatycznych. Dane: Liczba naturalna n i ciąg n liczb x 1, x 2,, x n. Wynik: Uporządkowanie

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

Algorytmy ewolucyjne (3)

Algorytmy ewolucyjne (3) Algorytmy ewolucyjne (3) http://zajecia.jakubw.pl/nai KODOWANIE PERMUTACJI W pewnych zastosowaniach kodowanie binarne jest mniej naturalne, niż inne sposoby kodowania. Na przykład, w problemie komiwojażera

Bardziej szczegółowo

Wyszukiwanie binarne

Wyszukiwanie binarne Wyszukiwanie binarne Wyszukiwanie binarne to technika pozwalająca na przeszukanie jakiegoś posortowanego zbioru danych w czasie logarytmicznie zależnym od jego wielkości (co to dokładnie znaczy dowiecie

Bardziej szczegółowo

Sztuczne sieci neuronowe. Krzysztof A. Cyran POLITECHNIKA ŚLĄSKA Instytut Informatyki, p. 311

Sztuczne sieci neuronowe. Krzysztof A. Cyran POLITECHNIKA ŚLĄSKA Instytut Informatyki, p. 311 Sztuczne sieci neuronowe Krzysztof A. Cyran POLITECHNIKA ŚLĄSKA Instytut Informatyki, p. 311 Wykład 7 PLAN: - Repetitio (brevis) -Algorytmy miękkiej selekcji: algorytmy ewolucyjne symulowane wyżarzanie

Bardziej szczegółowo

Programowanie w Baltie klasa VII

Programowanie w Baltie klasa VII Programowanie w Baltie klasa VII Zadania z podręcznika strona 127 i 128 Zadanie 1/127 Zadanie 2/127 Zadanie 3/127 Zadanie 4/127 Zadanie 5/127 Zadanie 6/127 Ten sposób pisania programu nie ma sensu!!!.

Bardziej szczegółowo

Algorytmy genetyczne służą głównie do tego, żeby rozwiązywać zadania optymalizacji

Algorytmy genetyczne służą głównie do tego, żeby rozwiązywać zadania optymalizacji Kolejna metoda informatyczna inspirowana przez Naturę - algorytmy genetyczne Struktura molekuły DNA nośnika informacji genetycznej w biologii Motto: Zamiast pracowicie poszukiwać najlepszego rozwiązania

Bardziej szczegółowo

Algorytmy i struktury danych. Co dziś? Tytułem przypomnienia metoda dziel i zwyciężaj. Wykład VIII Elementarne techniki algorytmiczne

Algorytmy i struktury danych. Co dziś? Tytułem przypomnienia metoda dziel i zwyciężaj. Wykład VIII Elementarne techniki algorytmiczne Algorytmy i struktury danych Wykład VIII Elementarne techniki algorytmiczne Co dziś? Algorytmy zachłanne (greedyalgorithms) 2 Tytułem przypomnienia metoda dziel i zwyciężaj. Problem można podzielić na

Bardziej szczegółowo

OBLICZENIA EWOLUCYJNE

OBLICZENIA EWOLUCYJNE METODY ANALITYCZNE kontra AG/AE OBLICZENIA EWOLUCYJNE FITNESS F. START COMPUTATION FITNESS F. COMPUTATION INITIAL SUBPOPULATION SENDING CHROM. TO COMPUTERS chromosome EVOLUTIONARY OPERATORS AND RECEIVING

Bardziej szczegółowo

Algorytmy ewolucyjne `

Algorytmy ewolucyjne ` Algorytmy ewolucyjne ` Wstęp Czym są algorytmy ewolucyjne? Rodzaje algorytmów ewolucyjnych Algorytmy genetyczne Strategie ewolucyjne Programowanie genetyczne Zarys historyczny Alan Turing, 1950 Nils Aall

Bardziej szczegółowo

Programowanie dynamiczne cz. 2

Programowanie dynamiczne cz. 2 Programowanie dynamiczne cz. 2 Wykład 7 16 kwietnia 2019 (Wykład 7) Programowanie dynamiczne cz. 2 16 kwietnia 2019 1 / 19 Outline 1 Mnożenie ciągu macierzy Konstruowanie optymalnego rozwiązania 2 Podstawy

Bardziej szczegółowo

OPTYMALIZACJA KSZTAŁTU WYKRESU WÖHLERA Z WYKORZYSTANIEM ALGORYTMÓW EWOLUCYJNYCH W UJĘCIU DIAGNOSTYCZNYM

OPTYMALIZACJA KSZTAŁTU WYKRESU WÖHLERA Z WYKORZYSTANIEM ALGORYTMÓW EWOLUCYJNYCH W UJĘCIU DIAGNOSTYCZNYM mgr inż. Marta Woch *, prof. nadzw. dr hab. inż. Sylwester Kłysz *,** * Instytut Techniczny Wojsk Lotniczych, ** Uniwersytet Warmińsko-Mazurski w Olsztynie OPTYMALIZACJA KSZTAŁTU WYKRESU WÖHLERA Z WYKORZYSTANIEM

Bardziej szczegółowo

Optymalizacja optymalizacji

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

Bardziej szczegółowo

Wymagania edukacyjne

Wymagania edukacyjne Rok szkolny 2018/2019 Wymagania edukacyjne Przedmiot Klasa Nauczyciel uczący Poziom biologia 1t Edyta Nowak podstawowy Ocena dopuszczająca Ocenę dopuszczającą otrzymuje uczeń, który: przyswoił treści konieczne,

Bardziej szczegółowo

O badaniach nad SZTUCZNĄ INTELIGENCJĄ

O badaniach nad SZTUCZNĄ INTELIGENCJĄ O badaniach nad SZTUCZNĄ INTELIGENCJĄ Jak określa się inteligencję naturalną? Jak określa się inteligencję naturalną? Inteligencja wg psychologów to: Przyrodzona, choć rozwijana w toku dojrzewania i uczenia

Bardziej szczegółowo

Algorytmy ewolucyjne 1

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

Bardziej szczegółowo

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

LABORATORIUM 5: Wpływ reprodukcji na skuteczność poszukiwań AE. opracował: dr inż. Witold Beluch OBLICZENIA EWOLUCYJNE LABORATORIUM 5: Wpływ reprodukcji na skuteczność poszukiwań AE opracował: dr inż. Witold Beluch witold.beluch@polsl.pl Gliwice 2012 OBLICZENIA EWOLUCYJNE LABORATORIUM 5 2 Cel ćwiczenia

Bardziej szczegółowo

Wybrane podstawowe rodzaje algorytmów

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

Bardziej szczegółowo

KARTA MODUŁU KSZTAŁCENIA

KARTA MODUŁU KSZTAŁCENIA KARTA MODUŁU KSZTAŁCENIA I. Informacje ogólne 1 Nazwa modułu kształcenia Sztuczna inteligencja 2 Nazwa jednostki prowadzącej moduł Instytut Informatyki, Zakład Informatyki Stosowanej 3 Kod modułu (wypełnia

Bardziej szczegółowo

Algorytmy ewolucyjne Część II

Algorytmy ewolucyjne Część II Wydział Zarządzania AGH Katedra Informatyki Stosowanej Algorytmy ewolucyjne Część II Metaheurystyki Treść wykładu Zastosowania Praktyczne aspekty GA Reprezentacja Funkcja dopasowania Zróżnicowanie dopasowania

Bardziej szczegółowo

ALGORYTMY EWOLUCYJNE. INTELIGENTNE TECHNIKI KOMPUTEROWE wykład 011. Napór selekcyjny (selektywny nacisk. Superosobniki: SELEKCJA

ALGORYTMY EWOLUCYJNE. INTELIGENTNE TECHNIKI KOMPUTEROWE wykład 011. Napór selekcyjny (selektywny nacisk. Superosobniki: SELEKCJA INTELIGENTNE TECHNIKI KOMPUTEROWE wykład 0 ALGORYTMY EWOLUCYJNE 2 Dla danego problemu można określić wiele sposobów kodowania i zdefiniować szereg operatorów (np. zadanie komiwojażera). AE to rozwinięcie

Bardziej szczegółowo

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

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

Bardziej szczegółowo

Rok akademicki: 2013/2014 Kod: JIS AD-s Punkty ECTS: 4. Kierunek: Informatyka Stosowana Specjalność: Modelowanie i analiza danych

Rok akademicki: 2013/2014 Kod: JIS AD-s Punkty ECTS: 4. Kierunek: Informatyka Stosowana Specjalność: Modelowanie i analiza danych Nazwa modułu: Algorytmy genetyczne i ich zastosowania Rok akademicki: 2013/2014 Kod: JIS-2-201-AD-s Punkty ECTS: 4 Wydział: Fizyki i Informatyki Stosowanej Kierunek: Informatyka Stosowana Specjalność:

Bardziej szczegółowo

Autostopem przez galaiktykę: Intuicyjne omówienie zagadnień. Tom I: Optymalizacja. Nie panikuj!

Autostopem przez galaiktykę: Intuicyjne omówienie zagadnień. Tom I: Optymalizacja. Nie panikuj! Autostopem przez galaiktykę: Intuicyjne omówienie zagadnień Tom I: Optymalizacja Nie panikuj! Autorzy: Iwo Błądek Konrad Miazga Oświadczamy, że w trakcie produkcji tego tutoriala nie zginęły żadne zwierzęta,

Bardziej szczegółowo

Algorytmy memetyczne (hybrydowe algorytmy ewolucyjne)

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

Bardziej szczegółowo

Testowanie hipotez statystycznych. Wnioskowanie statystyczne

Testowanie hipotez statystycznych. Wnioskowanie statystyczne Testowanie hipotez statystycznych Wnioskowanie statystyczne Hipoteza statystyczna to dowolne przypuszczenie co do rozkładu populacji generalnej (jego postaci funkcyjnej lub wartości parametrów). Hipotezy

Bardziej szczegółowo

przetworzonego sygnału

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

Bardziej szczegółowo

OBLICZENIA EWOLUCYJNE

OBLICZENIA EWOLUCYJNE 1 OBLICZENIA EWOLUCYJNE FITNESS F. START COMPUTATION FITNESS F. COMPUTATION INITIAL SUBPOPULATION SENDING CHROM. TO COMPUTERS chromosome AND RECEIVING FITNESS F. VALUE fitness f. value wykład 2 communication

Bardziej szczegółowo

Programowanie genetyczne - gra SNAKE

Programowanie genetyczne - gra SNAKE PRACOWNIA Z ALGORYTMÓW EWOLUCYJNYCH Tomasz Kupczyk, Tomasz Urbański Programowanie genetyczne - gra SNAKE II UWr Wrocław 2009 Spis treści 1. Wstęp 3 1.1. Ogólny opis.....................................

Bardziej szczegółowo

Ekologia wyk. 1. wiedza z zakresu zarówno matematyki, biologii, fizyki, chemii, rozumienia modeli matematycznych

Ekologia wyk. 1. wiedza z zakresu zarówno matematyki, biologii, fizyki, chemii, rozumienia modeli matematycznych Ekologia wyk. 1 wiedza z zakresu zarówno matematyki, biologii, fizyki, chemii, rozumienia modeli matematycznych Ochrona środowiska Ekologia jako dziedzina nauki jest nauką o zależnościach decydujących

Bardziej szczegółowo

METODY HEURYSTYCZNE wykład 3

METODY HEURYSTYCZNE wykład 3 SCHEMAT DZIAŁANIA AG: METODY HEURYSTYCZNE wykład 3 procedure Algorytm_genetyczny t:=0 wybierz populację początkową P(t) oceń P(t) while (not warunek_zakończenia) do t:=t+ wybierz P(t) z P(t-) (selekcja)

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

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

Obrona rozprawy doktorskiej Neuro-genetyczny system komputerowy do prognozowania zmiany indeksu giełdowego IBS PAN, Warszawa 9 kwietnia 2008 Obrona rozprawy doktorskiej Neuro-genetyczny system komputerowy do prognozowania zmiany indeksu giełdowego mgr inż. Marcin Jaruszewicz promotor: dr hab. inż. Jacek Mańdziuk,

Bardziej szczegółowo

Testy De Jonga. Problemy. 1 Optymalizacja dyskretna i ciągła

Testy De Jonga. Problemy. 1 Optymalizacja dyskretna i ciągła Problemy 1 Optymalizacja dyskretna i ciągła Problemy 1 Optymalizacja dyskretna i ciągła 2 Środowisko pomiarowe De Jonga Problemy 1 Optymalizacja dyskretna i ciągła 2 Środowisko pomiarowe De Jonga 3 Ocena

Bardziej szczegółowo

Instrukcja udostępniania prac na licencji Creative Commons w Repozytorium Uniwersytetu Śląskiego RE-BUŚ

Instrukcja udostępniania prac na licencji Creative Commons w Repozytorium Uniwersytetu Śląskiego RE-BUŚ Instrukcja udostępniania prac na licencji Creative Commons w Repozytorium Uniwersytetu 1 1. Licencje Creative Commons (CC) Creative Commons to licencje prawne pozwalające zastąpić tradycyjny model Wszystkie

Bardziej szczegółowo

Algorytmy genetyczne (AG)

Algorytmy genetyczne (AG) Algorytmy genetyczne (AG) 1. Wprowadzenie do AG a) ewolucja darwinowska b) podstawowe definicje c) operatory genetyczne d) konstruowanie AG e) standardowy AG f) przykład rozwiązania g) naprawdę bardzo,

Bardziej szczegółowo

Algorytmy i struktury danych. Wykład 4 Tablice nieporządkowane i uporządkowane

Algorytmy i struktury danych. Wykład 4 Tablice nieporządkowane i uporządkowane Algorytmy i struktury danych Wykład 4 Tablice nieporządkowane i uporządkowane Tablice uporządkowane Szukanie binarne Szukanie interpolacyjne Tablice uporządkowane Szukanie binarne O(log N) Szukanie interpolacyjne

Bardziej szczegółowo

Programowanie celowe #1

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

Bardziej szczegółowo

- - Ocena wykonaniu zad3. Brak zad3

- - Ocena wykonaniu zad3. Brak zad3 Indeks Zad1 Zad2 Zad3 Zad4 Zad Ocena 20986 218129 ocena 4 Zadanie składa się z Cw3_2_a oraz Cw3_2_b Brak opcjonalnego wywołania operacji na tablicy. Brak pętli Ocena 2 Brak zad3 Ocena wykonaniu zad3 po

Bardziej szczegółowo

Michał Kazimierz Kowalczyk rok 1, semestr 2 nr albumu indeksu: Algorytmy i struktury danych. Problem połączeń

Michał Kazimierz Kowalczyk rok 1, semestr 2 nr albumu indeksu: Algorytmy i struktury danych. Problem połączeń Michał Kazimierz Kowalczyk rok 1, semestr 2 nr albumu indeksu: 28969 Algorytmy i struktury danych Problem połączeń Określenie problemu Problem połączeń możemy odnaleźć w wielu dziedzinach. Dla potrzeb

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

Program "FLiNN-GA" wersja 2.10.β

Program FLiNN-GA wersja 2.10.β 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

Bardziej szczegółowo

Wstęp do Sztucznej Inteligencji

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

Bardziej szczegółowo

Modyfikacje i ulepszenia standardowego algorytmu genetycznego

Modyfikacje i ulepszenia standardowego algorytmu genetycznego Modyfikacje i ulepszenia standardowego algorytmu genetycznego 1 2 Przypomnienie: pseudokod SGA t=0; initialize(p 0 ); while(!termination_condition(p t )) { evaluate(p t ); T t =selection(p t ); O t =crossover(t

Bardziej szczegółowo

Algorytmy metaheurystyczne podsumowanie

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

Bardziej szczegółowo

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

MIO - LABORATORIUM. Imię i nazwisko Rok ak. Gr. Sem. Komputer Data ... 20 / EC3 VIII LAB... MIO - LABORATORIUM Temat ćwiczenia: TSP - Problem komiwojażera Imię i nazwisko Rok ak. Gr. Sem. Komputer Data Podpis prowadzącego... 20 / EC3 VIII LAB...... Zadanie Zapoznać się z problemem komiwojażera

Bardziej szczegółowo