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ść: Modelowanie i analiza danych Poziom studiów: Studia II stopnia Forma i tryb studiów: Stacjonarne Język wykładowy: Polski Profil kształcenia: Ogólnoakademicki (A) Semestr: 2 Strona www: http://home.agh.edu.pl/~tarasiuk/dydaktyka/ Osoba odpowiedzialna: dr hab. inż. Tarasiuk Jacek (tarasiuk@agh.edu.pl) Osoby prowadzące: dr hab. inż. Tarasiuk Jacek (tarasiuk@agh.edu.pl) dr inż. Haberko Jakub (haberko@fis.agh.edu.pl) Opis efektów kształcenia dla modułu zajęć Kod EKM Student, który zaliczył moduł zajęć wie/umie/potrafi Powiązania z EKK Sposób weryfikacji efektów kształcenia (forma zaliczeń) Wiedza M_W008 Student wie czym są algorytmy genetyczna. Zna ich obszary zastosowań i ograniczenia. IS2A_W02, IS2A_W04 Kolokwium, Projekt Umiejętności M_U007 Potrafi rozwiązać problem optymalizacyjny z wykorzystaniem metody algorytmów genetycznych. IS2A_U03, IS2A_U04, IS2A_U05, IS2A_U14 Sprawozdanie, Wykonanie ćwiczeń laboratoryjnych M_U008 Potrafi przeprowadzić krytyczną analizę różnych metod stosowanych w algorytmach genetycznych oraz określić ich przydatność w konkretnym zadaniu inżynierskim. IS2A_U05, IS2A_U07, IS2A_U10, IS2A_U14 Sprawozdanie, Wykonanie ćwiczeń laboratoryjnych M_U009 Potrafi przygotować kompletną dokumentację wykonanego zadania optymalizacyjnego. IS2A_U03, IS2A_U09, IS2A_U10 Wykonanie ćwiczeń laboratoryjnych Kompetencje społeczne M_K002 Potrafi kumikatywnie przedsatwić na forum grupy swoje rozwiązanie oraz aktywnie uczesniczyć w dyskusji na nim. IS2A_K04, IS2A_K06, IS2A_K07 Wykonanie ćwiczeń laboratoryjnych 1 / 5
Matryca efektów kształcenia w odniesieniu do form zajęć Kod EKM Student, który zaliczył moduł zajęć wie/umie/potrafi Forma zajęć Wykład audytoryjne laboratoryjne projektowe Konwersatori um seminaryjne praktyczne Inne terenowe E-learning Wiedza M_W008 Umiejętności M_U007 M_U008 M_U009 Student wie czym są algorytmy genetyczna. Zna ich obszary zastosowań i ograniczenia. Potrafi rozwiązać problem optymalizacyjny z wykorzystaniem metody algorytmów genetycznych. Potrafi przeprowadzić krytyczną analizę różnych metod stosowanych w algorytmach genetycznych oraz określić ich przydatność w konkretnym zadaniu inżynierskim. Potrafi przygotować kompletną dokumentację wykonanego zadania optymalizacyjnego. + - + - - - - - - - - Kompetencje społeczne M_K002 Potrafi kumikatywnie przedsatwić na forum grupy swoje rozwiązanie oraz aktywnie uczesniczyć w dyskusji na nim. Treść modułu zajęć (program wykładów i pozostałych zajęć) Wykład Biologiczne podstawy AG Życie. Ewolucja. Pojemność środowiska. Mutacje. Rekombinacja genów. Dostosowanie do środowiska. Presja środowiskowa. Krótka historia ewolucji. AG jako metoda optymalizacji Metody optymalizacyjne: analityczne, przeglądowe, losowe. Podobieństwa i różnice z AG. Elementarny algorytm genetyczny ( ręczna symulacja ). Schematy. Terminologia. Podstawy teoretyczne AG. Podstawowa implementacja AG (SGA) Rząd, rozpiętość i rozmiar schematu. Twierdzenie o schematach. Geometryczna interpretacja schematów. Hipoteza cegiełek. Podstawowa implementacja algorytmów genetycznych SGA (Simple Genetic Algorithm). MDP i zasady kodowania 2 / 5
Minimalny problem zwodniczy (MDP minimal deceptive problem). Ogólne zasady kodowania. Metryka w przestrzeni genotypu i fenotypu. Kodowanie Graya. Zasada znaczących cegiełek. Zasada minimalnego alfabetu. Kodowanie wieloparametryczne. Efektywność. Funkcja przystosowania. Populacja bazowa. Efektywność on-line. Efektywność off-line. Zbieżność fbest. Zbieżność faverage. Koszt wywołań funkcji celu. Badanie zdolności algorytmu do opuszczania minimum lokalnego. Funkcja kosztu, zysku i przystosowania. Skalowanie funkcji przystosowania. Problem więzów. Metoda kar. Inicjalizacja populacji bazowej: równomierna, losowa, dopełniająca, na podstawie przeszukiwania lokalnego. Dyskrepancja. Metody selekcji Reprodukcja i sukcesja. Reprodukcja: ruletkowa, zmodyfikowana ruletkowa, deterministyczna, losowa według reszt z powtórzeniami, losowa według reszt bez powtórzeń, rangowa (rankingowa), turniejowa, pojedynkowa, progowa. Sukcesja: z całkowitym zastępowaniem, z częściowym zastępowaniem, elitarna. Podstawowe operatory genetyczne Spójność przestrzeni chromosomów. Operatory obciążone i nieobciążone. Krzyżowanie: wymieniające, równomierne, uśredniające. Mutacja: bitowa, rzeczywistoliczbowa. Strojenie krzyżowania. Strojenie mutacji. Badania de Jonga. Biblioteka GALib Opis biblioteki. Przykłady użycia. Techniki zabezpieczające Metoda losowych emigrantów. Metoda podziału przystosowania (algorytm niszowy). Zapobieganie przedwczesnej zbieżności. Limitowanie czasu życia. Selekcja sterowana czasem życia. Techniki specjalne 1 Optymalizacja wielokryterialna. Diploidalny aparat genetyczny. Operatory permutacyjne: inwersja, PMX, OX, CX. Duplikacja, delecja i genotypy wielochromosomalne. Techniki specjalne 2 Specjacja. Zróżnicowanie płciowe. Kodowanie macierzowe. Kodowanie kaskadowe. Kodowanie drzewiaste. Algorytmy genetyczne w zmiennym środowisku. Niestandardowe AG i strategie ewolucyjne. Algorytmy koewolucyjne: wyspowy, komórkowy. Strategie ewolucyjne. Typowe zastosowania AG Krótkie reduktory bazy wiedzy. Logika rozmyta. Problem magazynowy. Problem harmonogramowania. Genetyczne systemy uczące się. AG - przykłady i zastosowania laboratoryjne Powtórka ze statystyki student potrafi zastosować twierdzenie o prawdopodobieństwie całkowitym student zna i potrafi wykorzystać rozkład normalny i rozkład Bernoulliego student potrafi dokonać zamiany zmiennych losowych Osobnik vs. schemat 3 / 5
student potrafi wyjaśnić czym różni się schemat od osobnika student potrafi sprawdzić jakie schematy odpowiadają jakim osobnikom i vice versa student potrafi oszacować jaką liczbę schematów statystycznie reprezentuje populacja złożona z n osobników będących ciągami k-elementowymi Podstawowy algorytm genetyczny student potrafi rozwiązać prosty problem przy pomocy klasycznego algorytmu genetycznego (Simple Genetic Algorithm) Metoda kar student wie czym jest metoda kar i potrafi ją zastosować student potrafi porównać, korzystając z różnych miar efektywności algorytmu, skuteczność zastosowania maetody kar Populacja bazowa. Metody selekcji. student potrafi wybrać i zastosować właściwą metodę inicjalizacji populacji bazowej student zna różne metody selekcji student potrafi ocenić, która metoda selekcji będzie najlepsza w zastosowaniu do konkretnego problemu Testowanie metod selekcji i krzyżowania student zna różne metody selekcji student zna różne metody krzyżowania student potrafi zastosować różne kombinacje selekcji i krzyżowania oraz ocenić ich użyteczność w rozwiązywaniu konkretnego problemu Wykorzystanie biblioteki AGLib student potrafi napisać aplikację korzystającą z biblioteki AGLib student potrafi rozwiązać prosty problem z wykorzystaniem biblioteki AGLib Badanie zmienności funkcji wielowymiarowej student potrafi napisać aplikację poszukującą minimum funkcji wielu zmiennych bazującą na algorytmie genetycznym student potrafi przeprowadzić szczegółową analizę pracy algorytmu genetycznego, dopierając właściwe metody kodowania, selekcji, zapobiegania przedwczesnej zbieżności oraz wykorzystać optymalne operatory genetyczne student potrafi przeanalizować otrzymane wyniki i udzielić wiarygodnej odpowiedzi na temat minimum funkcji Rozwiązywanie zagadnień nienumerycznych student potrafi stworzyć algorytm genetyczny rozwiązujący problem nienumeryczny Mini-projekt student potrafi dokonać analizy problemu wymagającego optymalizacji student potrafi zaproponować rozwiązanie oparte na algorytmie genetycznym student potrafi stworzyć alpikację rozwiązującą problem student potrafi przeanalizować otrzymane wyniki student umie napisać kompetentny raport z wykonanej pracy 4 / 5
Sposób obliczania oceny końcowej Na zakończenie wykładu odbędzie się kolokwium zaliczeniowe, za które będzie można uzyskać 30 punktów. W trakcie laboratorium komputerowego będzie można zdobyć 70 punktów (w tym 30 punktów za mini-projekt). Ocena z wykładu będzie wystawiana zgodnie ze skalą ocen podaną w Regulaminie studiów AGH na podstawie procentu punktów zdobytych na kolokwium. Ocena z laboratorium będzie wystawiana zgodnie ze skalą ocen podaną podaną w Regulaminie studiów AGH na podstawie procentu punktów zdobytych w trakcie laboratorium. Ocena końcowa z przedmiotu uzależniona będzie od tego jaki procent całości (100pkt.) stanowi suma zdobytych punktów na kolokwium i w trakcie laboratorium. Wymagania wstępne i dodatkowe Elementarna umiejętność programowania w C++. Podstawowa znajomość statystyki. Zalecana literatura i pomoce naukowe 1) Wykłady z algorytmów ewolucyjnych, Jarosław Arabas, WNT, Warszawa 2001 (wyd.i), 2004 (wyd.ii) 2) Algorytmy genetyczne i ich zastosowania, David E. Goldberg, WNT, Warszawa 1995 3) Algorytmy genetyczne. Podstawy i zastosowania, Jerzy Cytowski, Akademicka Oficyna Wydawnicza PLJ, Warszawa 1996 4) An Introduction to Genetic Algorithms, Mitchell Melanie, MIT Press, Cambridge, Massachusetts 1998 5) Trzy ewolucje, Bernard Korzeniewski, Małopolska Oficyna Wydawnicza Korona Publikacje naukowe osób prowadzących zajęcia związane z tematyką modułu Nie podano dodatkowych publikacji Informacje dodatkowe Brak Nakład pracy studenta (bilans punktów ECTS) Forma aktywności studenta Udział w wykładach Samodzielne studiowanie tematyki zajęć Udział w ćwiczeniach laboratoryjnych Przygotowanie do zajęć Sumaryczne obciążenie pracą studenta Punkty ECTS za moduł Obciążenie studenta 30 godz 20 godz 30 godz 40 godz 120 godz 4 ECTS 5 / 5