Algorytmy ewolucyjne

Podobne dokumenty
Algorytmy ewolucyjne 1

PRZEWODNIK PO PRZEDMIOCIE

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

Algorytmy ewolucyjne NAZEWNICTWO

KARTA MODUŁU KSZTAŁCENIA

Algorytmy genetyczne

PRZEWODNIK PO PRZEDMIOCIE

METODY SZTUCZNEJ INTELIGENCJI algorytmy ewolucyjne

Wstęp do Sztucznej Inteligencji

Dobór parametrów algorytmu ewolucyjnego

Katedra Informatyki Stosowanej. Algorytmy ewolucyjne. Inteligencja obliczeniowa

Równoważność algorytmów optymalizacji

PRZEWODNIK PO PRZEDMIOCIE

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

LABORATORIUM 7: Problem komiwojażera (TSP) cz. 2

Plan. Zakres badań teorii optymalizacji. Teoria optymalizacji. Teoria optymalizacji a badania operacyjne. Badania operacyjne i teoria optymalizacji

Strategie ewolucyjne (ang. evolution strategies)

WAE Jarosław Arabas Pełny schemat algorytmu ewolucyjnego

Algorytmy ewolucyjne `

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

Algorytmy genetyczne (AG)

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

Metody Sztucznej Inteligencji Methods of Artificial Intelligence. Elektrotechnika II stopień ogólno akademicki. niestacjonarne. przedmiot kierunkowy

Algorytm indukcji klasyfikatora za pomocą EA z automatycznym przełączaniem ukierunkowań

Techniki optymalizacji

Algorytm genetyczny (genetic algorithm)-

Informatyka I stopień (I stopień / II stopień) ogólno akademicki (ogólno akademicki / praktyczny) kierunkowy (podstawowy / kierunkowy / inny HES)

Rój cząsteczek. Particle Swarm Optimization. Adam Grycner. 18 maja Instytut Informatyki Uniwersytetu Wrocławskiego

O badaniach nad SZTUCZNĄ INTELIGENCJĄ

Problemy z ograniczeniami

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

Odkrywanie algorytmów kwantowych za pomocą programowania genetycznego

ALGORYTMY GENETYCZNE (wykład + ćwiczenia)

Wykład organizacyjny

PRZEWODNIK PO PRZEDMIOCIE

Inżynieria danych I stopień Praktyczny Studia stacjonarne Wszystkie specjalności Katedra Inżynierii Produkcji Dr Małgorzata Lucińska

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

Zagadnienia optymalizacji Problems of optimization

kierunkowy (podstawowy / kierunkowy / inny HES) nieobowiązkowy (obowiązkowy / nieobowiązkowy) polski drugi semestr letni (semestr zimowy / letni)


Obliczenia ewolucyjne - plan wykładu

PRZEWODNIK PO PRZEDMIOCIE

SYLABUS/KARTA PRZEDMIOTU

Algorytmy stochastyczne, wykład 01 Podstawowy algorytm genetyczny

Gospodarcze zastosowania algorytmów genetycznych

Optymalizacja. Wybrane algorytmy

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

Metody przeszukiwania

KARTA PRZEDMIOTU. 17. Efekty kształcenia:

Politechnika Krakowska im. Tadeusza Kościuszki. Karta przedmiotu. obowiązuje w roku akademickim 2012/2013. Algorytmy i struktury danych

Z-ZIP2-303z Zagadnienia optymalizacji Problems of optimization

Metody Rozmyte i Algorytmy Ewolucyjne

Architektura komputerów

Optymalizacja optymalizacji

O badaniach nad SZTUCZNĄ INTELIGENCJĄ

Elektrotechnika I stopień ogólnoakademicki. niestacjonarne. przedmiot kierunkowy. obieralny polski semestr VIII semestr letni. nie. Laborat. 16 g.

Programowanie gier. wykład 0. Joanna Kołodziejczyk. 30 września Joanna Kołodziejczyk Programowanie gier 30 września / 13

PRZEWODNIK PO PRZEDMIOCIE

Sztuczna inteligencja stan wiedzy, perspektywy rozwoju i problemy etyczne. Piotr Bilski Instytut Radioelektroniki i Technik Multimedialnych

ID1SII4. Informatyka I stopień (I stopień / II stopień) ogólnoakademicki (ogólno akademicki / praktyczny) stacjonarne (stacjonarne / niestacjonarne)

O badaniach nad SZTUCZNĄ INTELIGENCJĄ

IZ2ZSD2 Złożone struktury danych Advanced data structures. Informatyka II stopień ogólnoakademicki niestacjonarne

Algorytmy genetyczne w optymalizacji

ALGORYTMY GENETYCZNE ćwiczenia

Uniwersytet w Białymstoku Wydział Ekonomiczno-Informatyczny w Wilnie SYLLABUS na rok akademicki 2012/2013

Techniki optymalizacji

Informatyka II stopień (I stopień / II stopień) Ogólnoakademicki (ogólno akademicki / praktyczny) Kierunkowy (podstawowy / kierunkowy / inny HES)

Metody Programowania

Algorytmy genetyczne

Opis przedmiotu: Badania operacyjne

Algorytmy wspomagania decyzji Czyli co i jak andrzej.rusiecki.staff.iiar.pwr.wroc.pl s. 230/C-3

KARTA PRZEDMIOTU. Techniki przetwarzania sygnałów, D1_3

Tomasz Pawlak. Zastosowania Metod Inteligencji Obliczeniowej

Karta (sylabus) przedmiotu

Informacje i materiały dotyczące wykładu będą publikowane na stronie internetowej wykładowcy, m.in. prezentacje z wykładów

Algorytmy metaheurystyczne podsumowanie

Elektrotechnika I stopień ogólnoakademicki. niestacjonarne. przedmiot kierunkowy. obieralny polski semestr VII semestr zimowy. nie

Metody optymalizacji Optimization methods Forma studiów: stacjonarne Poziom studiów II stopnia. Liczba godzin/tydzień: 1W, 1Ć

KARTA KURSU. Algorytmy, struktury danych i techniki programowania. Algorithms, Data Structures and Programming Techniques

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

Analiza i wizualizacja danych Data analysis and visualization

Algorytmy wspomagania decyzji Czyli co i jak andrzej.rusiecki.staff.iiar.pwr.wroc.pl s.

Ewolucja Ró»nicowa - Wprowadzenie

SCHEMAT ROZWIĄZANIA ZADANIA OPTYMALIZACJI PRZY POMOCY ALGORYTMU GENETYCZNEGO

IMPLIKACJE ZASTOSOWANIA KODOWANIA OPARTEGO NA LICZBACH CAŁKOWITYCH W ALGORYTMIE GENETYCZNYM

PRZEWODNIK PO PRZEDMIOCIE

Techniki uczenia maszynowego nazwa przedmiotu SYLABUS

Algorytm hybrydowy dla alokacji portfela inwestycyjnego przy ograniczonych zasobach

Prognozowanie gospodarcze - opis przedmiotu

Sieci neuronowe i algorytmy uczenia Czyli co i jak andrzej.rusiecki.staff.iiar.pwr.wroc.pl s.

SYLABUS/KARTA PRZEDMIOTU

Systemy Wbudowane. Założenia i cele przedmiotu: Określenie przedmiotów wprowadzających wraz z wymaganiami wstępnymi: Opis form zajęć

Opis. Wymagania wstępne (tzw. sekwencyjny system zajęć i egzaminów) Liczba godzin zajęć dydaktycznych z podziałem na formy prowadzenia zajęć

PRZEWODNIK PO PRZEDMIOCIE

Diagnostyka procesów przemysłowych Kod przedmiotu

Algorytmy ewolucyjne. wprowadzenie

ALGORYTMY EWOLUCYJNE I ICH ZASTOSOWANIA

PRZEWODNIK PO PRZEDMIOCIE

Opis efektów kształcenia dla modułu zajęć

Transkrypt:

Algorytmy ewolucyjne wprowadzenie Piotr Lipiński lipinski@ii.uni.wroc.pl Piotr Lipiński Algorytmy ewolucyjne p.1/16

Cel wykładu zapoznanie studentów z algorytmami ewolucyjnymi, przede wszystkim nowoczesnymi algorytmami opracowanymi w ostatnich latach i stosowanymi w praktyce, przedstawienie studentom metod wyboru, konstrukcji i adaptacji algorytmów ewolucyjnych do konkretnych problemów praktycznych i teoretycznych, omówienie zastosowań algorytmów ewolucyjnych rozwijanych obecnie w ośrodkach naukowych na świecie, implementacja poznanych algorytmów ewolucyjnych przy wykorzystaniu dostępnych pakietów oprogramowania Piotr Lipiński Algorytmy ewolucyjne p.2/16

Zyski z wykładu Po ukończeniu zajęć student powinien rozumieć i znać najważniejsze algorytmy ewolucyjne, potrafić zrozumieć także inne algorytmy ewolucyjne, które będzie mógł znaleźć w literaturze zarówno teraz jak i w przyszłości, potrafić wybrać algorytmy ewolucyjne odpowiednie dla konkretnych problemów praktycznych i teoretycznych, potrafić konstruować nowe sposoby reprezentacji danych oraz nowe operatory ewolucyjne odpowiednie dla konkretnych problemów praktycznych i teoretycznych, potrafić implementować algorytmy ewolucyjne przy wykorzystaniu dostępnych pakietów oprogramowania Piotr Lipiński Algorytmy ewolucyjne p.3/16

Program wykładu Zagadnienie optymalizacji (pojęcia wstępne, przykłady problemów, klasyczne modele testowe). Osobnik, populacja, ewolucja (terminologia algorytmów ewolucyjnych, opis struktur danych, schemat algorytmu ewolucyjnego). Interpretacja zagadnienia optymalizacji. Reprezentacja danych dla zagadnień dyskretnych, ciągłych i kombinatorycznych. Reprezentacja ciagów binarnych, reprezentacja liczb całkowitych i rzeczywistych, reprezentacja zbiorów, reprezentacja kombinacji i permutacji. Klasyczne rodzaje algorytmów ewolucyjnych. Algorytmy genetyczne. Strategie ewolucyjne. Programowanie genetyczne. Programowanie ewolucyjne. Operatory ewolucyjne. Klasyczne operatory ewolucyjne (reprodukcja, rekombinacja, mutacja, selekcja). Metody analizy problemu w celu wyboru, konstrukcji i adaptacji operatorów ewolucyjnych. Projektowanie operatorów ewolucyjnych przeznaczonych do rozwiązywania konkretnego problemu. Techniki optymalizacji algorytmów ewolucyjnych (populacja początkowa, zbieżność populacji, kryterium zakończenia). Metody doboru parametrów algorytmu. Tendencje w rozwoju algorytmów ewolucyjnych. Nowoczesne algorytmy ewolucyjne (PBIL, CGA, ECGA). Algorytmy hybrydowe. Równolegle algorytmy ewolucyjne. Wybrane zastosowania algorytmów ewolucyjnych. Piotr Lipiński Algorytmy ewolucyjne p.4/16

Literatura D. E. Goldberg, Algorytmy genetyczne i ich zastosowania, WNT, 1995. Z. Michalewicz, Algorytmy ewolucyjne + struktury danych = programy ewolucyjne, WNT, 1996. J. Arabas, Wykłady z algorytmów ewolucyjnych, WNT, 2001. D. E. Goldberg, The Design of Innovation: Lessons from and for Competent Genetic Algorithms, Kluwer Academic Publishers, 2002. wybrane artykuły z czasopism naukowych i konferencji. Piotr Lipiński Algorytmy ewolucyjne p.5/16

Zasady zaliczenia zajęć aktywne uczestniczenie w zajęciach dwa projekty do wykonania projekty można wykonywać w dwu- lub trzyosobowych grupach (po uprzednim zgłoszeniu), projekty należy przesłać emailem oraz zaprezentować na zajęciach w wyznaczonym terminie, na ocenę dostateczną jest wymagany jeden projekt, na ocenę dobrą i bardzo dobrą są wymagane dwa projekty, projekty będą krótkie, około 30h pracy jeden referat do przedstawienia na zajęciach (około 15 minut) referat jest wymagany na ocenę bardzo dobrą dwa testy sprawdzające wiedzę (około 15 minut) egzamin inne formy aktywności będą bardzo mile widziane Piotr Lipiński Algorytmy ewolucyjne p.6/16

Algorytmy ewolucyjne Jak znaleźć maksimum funkcji F(x) = 3x 2 2x + 1? Odpowiedź: Metody analityczne. Jak znaleźć maksimum funkcji F(x 1,x 2 ) = 3x 17 1 x 15 2 2x 13 1 x 11 2 + x 7 1 + x 2 + 1? Odpowiedź: Metody analityczne. Piotr Lipiński Algorytmy ewolucyjne p.7/16

Algorytmy ewolucyjne Jak znaleźć maksimum funkcji Odpowiedź: Metody analityczne. F(x 1,x 2 ) = cos(x2 1 + x 2 2) x 2 1 + x 2 2 + 1? A jeśli w poprzednim przykładzie interesuje nas jedynie maksimum wśród punktów całkowitych? Odpowiedź: Same metody analityczne nie wystarcza. Należy troche pomyśleć. 1. Można znaleźc maksimum rzeczywiste, a nastepnie najbliższy punkt całkowity i wierzyć, że jest to maksimum wśród punktów całkowitych. 2. Można wyznaczyć przedziały monotoniczności funkcji i porównać wartości na ich krańcach całkowitych wyznaczajac maksimum wśród punktów całkowitych. 3. Można zauważyć coś, co uprości zadanie. Piotr Lipiński Algorytmy ewolucyjne p.8/16

Algorytmy ewolucyjne A jeśli funkcji nie można zapisać wzorem? Np: F(x) to wydajność pewnej maszyny uruchomionej z walcem o długosci x. Niestety, wzór funkcji jest nieznany. Aby obliczyć wartośc funkcji należy uruchomić maszynę i policzyć jej wydajność. Np. F(x) to funkcja obliczeniowa, np. skompilowana funkcja napisana w języku C, której kod jest nieznany. Poprzednie zadanie można zdyskretyzować i rozpatrywać tylko dla niektórych x (np. w sytuacji kiedy dysponujemy jedynie walcami o długościach całkowitych). Piotr Lipiński Algorytmy ewolucyjne p.9/16

Algorytmy ewolucyjne Problemy kombinatoryczne, np. problem komiwojażera, problem szeregowania zadań, inne problemy NP-zupełne. Drzewa decyzyjne: funkcja oceny drzewa, czyli funkcja, której argumentem jest drzewo, a wartością jest liczba rzeczywista określająca "dobroć"drzewa. Należy znaleźć drzewo optymalne, czyli o największej wartości funkcji oceny. Zagadnienia tego typu prowadzą do metod poszukiwań!!! Piotr Lipiński Algorytmy ewolucyjne p.10/16

Wprowadzenie Historia obliczeń ewolucyjnych sięga lat 1970. Algorytmy ewolucyjne były rozwijane niezależnie w wielu ośrodkach naukowych na świecie. programowanie ewolucyjne Laurence Fogel (USA), strategie ewolucyjne Ingo Rechenberg, Hans-Paul Schwefel (Niemcy), algorytmy genetyczne John Holland (USA), później David Goldberg (USA), Zbigniew Michalewicz (USA, Polska, Nowa Zelandia), Marc Schoenauer (Francja), programowanie genetyczne John Koza (USA), Druga połowa lat dziewięćdziesiątych to rozkwit zaawansowanych technik algorytmów ewolucyjnych, m.in. Competent Genetic Algorithms. Piotr Lipiński Algorytmy ewolucyjne p.11/16

Wprowadzenie Największe konferencje poświęcone algorytmom ewolucyjnym (wg. J. Arabas, "Wykłady z algorytmów ewolucyjnych", WNT 2001): International Conference on Genetic Algorithms, ICGA Foundations of Genetic Algorithms, FOGA Parallel Problem Solving from Nature, PPSN IEEE Conference on Evolutionary Computation, ICEC IEEE Conference on Genetic Algorithms in Engineering Systems and Industrial Aplications, GALESIA Annual Conference on Evolutionary Programming, EP International Conference on Genetic Programming, GP Congress of Evolutionary Computation, CEC Genetic and Evolutionary Computation, GECCO W Europie organizowana jest, głównie przez środowisko francuskie, konferencja Artificial Evolution (fr. Evolution Artificielle). Piotr Lipiński Algorytmy ewolucyjne p.12/16

Wprowadzenie Najważniejsze czasopisma poświęcone algorytmom ewolucyjnym: Evolutionary Computation, MIT Press, ed. Marc Schoenauer IEEE Transactions on Evolutionary Computation, IEEE Neural Networks Council, ed. Xin Yao, David B. Fogel Genetic Algorithms and Evolutionary Computation, GENA seria wydawnicza Kluwer (dotychczas 10 książek), ed. David E. Goldberg Piotr Lipiński Algorytmy ewolucyjne p.13/16

Wprowadzenie Zastosowania algorytmów ewolucyjnych: Scheduling: Facility, Production, Job oraz Transportation Scheduling Projektowanie: obwodów elektrycznych, sieci telekomunikacyjnych, układów klawiatury, wskaźników w samolotach Kontrola: unikania pocisków, rurociągów, gazociągów, obciążenia słupów Piotr Lipiński Algorytmy ewolucyjne p.14/16

Wprowadzenie Zastosowania algorytmów ewolucyjnych: Uczenie maszynowe: projektowanie sieci neuronowych, systemy klasyfikujące, reguły uczące Robotyka: planowanie trajektorii ruchu, planowanie scieżek ruchu Optymalizacja kombinatoryczna: TSP, pokrycia zbiorów, podział grafów, szukanie scieżek Piotr Lipiński Algorytmy ewolucyjne p.15/16

Wprowadzenie Zastosowania algorytmów ewolucyjnych: Przetwarzanie sygnałów: projektowanie filtrów Przetwarzanie obrazów: rozpoznawanie wzorców Business: przewidywanie gospodarcze, ocenianie ryzyka kredytowego, wykrywanie kradzieży kart kredytowych Medycyna: badanie ryzyka zagrożenia zdrowia wśród osób narażonych na kontakt z substancjami toksycznymi Piotr Lipiński Algorytmy ewolucyjne p.16/16