SZTUCZNA INTELIGENCJA ARTIFICIAL INTELLIGENCE

Slides:



Advertisements
Podobne prezentacje
Przykład liczbowy Rozpatrzmy dwuwymiarową zmienną losową (X,Y), gdzie X jest liczbą osób w rodzinie, a Y liczbą izb w mieszkaniu. Niech f.r.p. tej zmiennej.
Advertisements

Joanna Sawicka Wydział Nauk Ekonomicznych, Uniwersytet Warszawski
Wykład Zależność pomiędzy energią potencjalną a potencjałem
Metody badania stabilności Lapunowa
Algorytmy genetyczne.
Instrukcje - wprowadzenie
DYSKRETYZACJA SYGNAŁU
Rachunek prawdopodobieństwa 2
Metoda simpleks Simpleks jest uniwersalną metodą rozwiązywania zadań programowania liniowego. Jest to metoda iteracyjnego poprawiania wstępnego rozwiązania.
Wprowadzenie do optymalizacji wielokryterialnej.
WYKŁAD 6 ATOM WODORU W MECHANICE KWANTOWEJ (równanie Schrődingera dla atomu wodoru, separacja zmiennych, stan podstawowy 1s, stany wzbudzone 2s i 2p,
TERMO-SPRĘŻYSTO-PLASTYCZNY MODEL MATERIAŁU
Badania operacyjne. Wykład 2
Algorytmy genetyczne Motto:
Hybrydowe metody optymalizacji geometrii. Prezentacja wyników.
ATOM WODORU, JONY WODOROPODOBNE; PEŁNY OPIS
Metody Sztucznej Inteligencji w Sterowaniu 2009/2010Optymalizacja miary efektywności działania sztucznych sieci neuronowych Dr hab. inż. Kazimierz Duzinkiewicz,
Metody Sztucznej Inteligencji w Sterowaniu 2009/2010 Metoda propagacji wstecznej Dr hab. inż. Kazimierz Duzinkiewicz, Katedra Inżynierii Systemów Sterowania.
SYSTEMY LICZBOWE.
Mechanika dzielenia na podsieci. Wykład 6
Algorytmy genetyczne - plan wykładu
SZTUCZNA INTELIGENCJA ARTIFICIAL INTELLIGENCE
SZTUCZNA INTELIGENCJA ARTIFICIAL INTELLIGENCE
Wzory ułatwiające obliczenia
Zapis informacji Dr Anna Kwiatkowska.
UKŁADY SZEREGOWO-RÓWNOLEGŁE
Algorytmy genetyczne.
Kod Graya.
Hipoteza cegiełek, k-ramienny bandyta, minimalny problem zwodniczy
Technika Mikroprocesorowa 1
Technika Mikroprocesorowa 1
Synteza układów sekwencyjnych z (wbudowanymi) pamięciami ROM
Algorytmy Genetyczne Wprowadzenie.
Konstrukcja, estymacja parametrów
Elementy Rachunku Prawdopodobieństwa i Statystyki
Wyrażenia algebraiczne
Metody Lapunowa badania stabilności
Elementy Rachunku Prawdopodobieństwa i Statystyki
TABLICE C++.
Cyfrowe układy logiczne
Obserwatory zredukowane
A. Sumionka. Starodawna gra marynarska; Gra dwu i wieloosobowa; Gracze wykonują ruchy naprzemian; Złożona ze stosów, w których znajduje się pewna ilość
MECHANIKA 2 Wykład Nr 11 Praca, moc, energia.
Elementy Rachunku Prawdopodobieństwa i Statystyki
ZASADY PODZIAŁU SIECI NA PODSIECI, OBLICZANIA ADRESÓW PODSIECI,
Systemy wspomagania decyzji
Minimalizacja funkcji boolowskich
Modelowanie i Identyfikacja 2011/2012 Metoda propagacji wstecznej Dr hab. inż. Kazimierz Duzinkiewicz, Katedra Inżynierii Systemów Sterowania 1 Warstwowe.
Modelowanie i identyfikacja 2010/2011Optymalizacja miary efektywności działania sztucznych sieci neuronowych Dr hab. inż. Kazimierz Duzinkiewicz, Katedra.
DOŚWIADCZENIA LOSOWE.
Sterowanie – metody alokacji biegunów II
Stało- i zmiennopozycyjna reprezentacja liczb binarnych
Matematyka i system dwójkowy
SYSTEMY EKSPERTOWE I SZTUCZNA INTELIGENCJA
SYSTEMY EKSPERTOWE I SZTUCZNA INTELIGENCJA
Ekonometryczne modele nieliniowe
Reprezentacja liczb w systemie binarnym ułamki i liczby ujemne
Systemy operacyjne i sieci komputerowe
Bramki logiczne i układy kombinatoryczne
Wyszukiwanie maksimum funkcji za pomocą mrówki Pachycondyla Apicalis.
WYKŁAD 3 Temat: Arytmetyka binarna 1. Arytmetyka binarna 1.1. Nadmiar
Działania w systemie binarnym
Algorytmy Genetyczne Anna Tomkowska Politechnika Koszalińska
Warstwowe sieci jednokierunkowe – perceptrony wielowarstwowe
Algorytmy, sposoby ich zapisu.1 Algorytm to uporządkowany opis postępowania przy rozwiązywaniu problemu z uwzględnieniem opisu danych oraz opisu kolejnych.
Podstawy Informatyki.
Systemy neuronowo – rozmyte
Wstęp do Informatyki - Wykład 6
Jednorównaniowy model regresji liniowej
Zapis prezentacji:

SZTUCZNA INTELIGENCJA ARTIFICIAL INTELLIGENCE WYKŁAD 10 ALGORYTMY GENETYCZNE Dr hab. inż. Barbara Dębska, prof. PWSZ KROSNO Dr hab. inż. Barbara Dębska, prof. PWSZ Krosno

METODY NATURALNE: algorytmy genetyczne sieci neuronowe logika rozmyta Dr hab. inż. Barbara Dębska, prof. PWSZ Krosno

ALGORYTMY GENETYCZNE - wstęp Przez miliony lat ewolucji natura stworzyła ogromną różnorodność form i zachowań organizmów żywych, często doprowadzonych do perfekcji. Od zarania dziejów fascynuje to człowieka i jest dla niego wciąż niedoścignionym wzorem do naśladowania. Źródłem inspiracji w rozwiązywaniu problemów stała się również sama ewolucja i właśnie na jej mechanizmach oparte są algorytmy genetyczne. Za ich twórcę uważa się Johna Hollanda z Uniwersytetu w Michigan, który w1975 roku opublikował książkę na temat algorytmów genetycznych pt. Adaptation in Natural and Artificial Systems. W książce Holland opisał wyniki badań, których celem było: opisanie i wyjaśnienie w sposób ścisły istoty systemów adaptacyjnych występujących w świecie przyrody, oraz stworzenie oprogramowania, które odtwarzałoby podstawowe mechanizmy rządzące systemami biologicznymi. Dr hab. inż. Barbara Dębska, prof. PWSZ Krosno

Wstęp c.d. Działanie algorytmów genetycznych zaczyna się od stworzenia losowej populacji algorytmów, które mogą być rozwiązaniem jakiegoś problemu, bądź przepisem na jego rozwiązanie. Następnie tworzone są nowe populacje poprzez wybranie z poprzedniej algorytmów lepszych i ich modyfikowanie przez operatory genetyczne: krzyżowanie, mutację i reprodukcję w ten sposób, aby nowa populacja miała średnio lepsze własności. Proces tworzenia następnych populacji kończy się, jeżeli najlepszy osobnik w populacji spełnia określone kryteria. Algorytmy genetyczne znalazły zastosowanie do rozwiązywania problemów optymalizacji, w tym również NP-trudnych problemów optymalizacji kombinatorycznej, przewidywania ruchów na giełdzie, rozpoznawania obrazów, tworzenia grafiki oraz projektowania budynków i maszyn. Dr hab. inż. Barbara Dębska, prof. PWSZ Krosno

Globalna metoda optymalizacji Funkcja jednej zmiennej Funkcja odpowiedzi parametr Dr hab. inż. Barbara Dębska, prof. PWSZ Krosno

Globalna metoda optymalizacji c.d. Funkcja odpowiedzi w przestrzeni 2 parametrów Dr hab. inż. Barbara Dębska, prof. PWSZ Krosno

Wstęp c.d. Algorytmy genetyczne są przykładem procedury używającej wyboru losowego jako „przewodnika” we prowadzeniu wysoce ukierunkowanego poszukiwania w zakodowanej przestrzeni rozwiązań – szczególnie w takich przypadkach, gdy analityczne metody poszukiwania są mało odporne (np. podczas rozwiązywania zadań optymalizacji). Różnice pomiędzy metodami tradycyjnymi, a algorytmami genetycznymi są następujące: 1. AG nie przetwarzają bezpośrednio parametrów zadania, ale ich zakodowaną postać, 2. AG prowadzą poszukiwania, wychodząc nie z pojedynczego punktu, lecz z pewnej ich populacji, 3. AG korzystają tylko z funkcji celu, nie zaś jej pochodnych lub innych pomocniczych informacji, 4. AG stosują probabilistyczne, a nie deterministyczne reguły wyboru. Dr hab. inż. Barbara Dębska, prof. PWSZ Krosno

ALGORYTM GENETYCZNY oparty na darwinowskiej teorii ewolucji - pracuje na populacji możliwych rozwiązań - wymaga binarnego kodowania rozwiązań Dr hab. inż. Barbara Dębska, prof. PWSZ Krosno

populacja chromosomy Dr hab. inż. Barbara Dębska, prof. PWSZ Krosno

1 0 0 1 0 1 1 0 0 0 0 0 1 1 0 1 ALGORYTM GENETYCZNY chromosom kod binarny 1 0 0 1 0 1 1 0 0 0 0 0 1 1 0 1 Dr hab. inż. Barbara Dębska, prof. PWSZ Krosno

Reprezentacja populacji chromosomy Reprezentacja populacji Dr hab. inż. Barbara Dębska, prof. PWSZ Krosno

ALGORYTM GENETYCZNY reprodukcja Krzyżowanie Mutacje Nowa Populacja początkowa Nowa generacja Funkcja dopasowania reprodukcja Operację reprodukcji można najprościej zrealizować za pomocą symulacji odpowiednio wykalibrowanej tarczy obrotowej (ruletki), gdzie każdemu ciągowi kodowemu z populacji odpowiada sektor o rozmiarze proporcjonalnym do wartości funkcji dopasowania, czyli wskaźnik przystosowania osobnika. Dr hab. inż. Barbara Dębska, prof. PWSZ Krosno

reprodukcja ALGORYTM GENETYCZNY Populacja początkowa Funkcja dopasowania Losowanie wg funkcji dopasowania Dr hab. inż. Barbara Dębska, prof. PWSZ Krosno

OPERACJE GENETYCZNE: krzyżowanie rodzice 1 0 0 1 1 0 1 0 0 0 0 1 0 0 0 0 1 1 0 1 1 1 0 1 dzieci 1 0 0 1 1 0 1 0 0 0 0 1 0 0 0 0 1 1 0 1 1 1 0 1 0 1 0 0 0 0 1 1 0 1 1 1 0 1 Dr hab. inż. Barbara Dębska, prof. PWSZ Krosno

OPERACJE GENETYCZNE: mutacje 1 1 0 0 1 0 0 0 1 0 0 1 0 0 0 1 1 1 0 1 0 1 0 1 1 0 1 0 0 0 1 0 1 0 0 1 0 0 0 0 1 0 1 0 0 1 1 1 1 0 0 1 1 0 1 0 0 0 0 1 1 Dr hab. inż. Barbara Dębska, prof. PWSZ Krosno

FUNKCJA DOPASOWANIA - zależy od problemu - powinna być łatwa (szybka) do obliczenia Funkcja dopasowania przez matematyków nazywana jest funkcją celu. Stanowi ona pewien miernik użyteczności chromosomu (ciągu kodowego), który chcemy maksymalizować. Jest to zgodne z teorią Darwina w myśl, której przeżywają osobniki najlepiej przystosowane. Dr hab. inż. Barbara Dębska, prof. PWSZ Krosno

REASUMUJĄC: Algorytm genetyczny operuje na populacji jednostek. Każda jednostka należąca do populacji, w zależności od problemu, może być wyrażona dowolną, często skomplikowaną strukturą. Reprezentuje ona potencjalne rozwiązanie, posiadające pewną miarę swojej wartości, wyliczaną przy pomocy funkcji dopasowania. Po obliczeniu tej miary dla każdej jednostki w populacji tworzona jest nowa generacja. Odbywa się to poprzez eliminację jednostek o najniższej wartości funkcji dopasowania, pozostawienie jednostek o wartości pośredniej oraz promowanie tych z najwyższą wartością. Taki schemat postępowania za końcowy rezultat uznaje najlepszą jednostkę z pierwszej generacji. Dr hab. inż. Barbara Dębska, prof. PWSZ Krosno

Algorytmy genetyczne uwzględniają dodatkowo możliwość doskonalenia rozwiązań. Osiągają to dzięki zastosowaniu operatorów genetycznych: krzyżowania i mutacji. Krzyżowanie: tworzy dwie nowe jednostki poprzez wymieszanie informacji z dwóch jednostek rodzicielskich Mutacja: modyfikuje jednostkę poprzez losową zmianę pewnej części jej informacji Operatory genetyczne modyfikują tylko jednostki o najwyższej wartości funkcji dopasowania. Należy podkreślić, że klasyczne algorytmy genetyczne w żaden sposób nie wykorzystują wiedzy o rozwiązywanym problemie. To, że znajdują rozwiązanie wynika z faktu, że do każdej następnej generacji przedostają się lepsze jednostki z generacji poprzedniej, a operatory genetyczne wymieniają informacje zawarte w tych jednostkach tworząc nowe, potencjalnie doskonalsze rozwiązania. Dr hab. inż. Barbara Dębska, prof. PWSZ Krosno

Proces tworzenia nowej populacji przedstawiony jest na rysunku: Dr hab. inż. Barbara Dębska, prof. PWSZ Krosno

y X = = X X* PRZYKŁAD ZASTOSOWANIA AG Problem: y = f(X) y = f(X*) Redukcja liczby mierzonych parametrów: = = X X* Dr hab. inż. Barbara Dębska, prof. PWSZ Krosno

PRZYKŁAD ZASTOSOWANIA GA Możliwe rozwiązania dopasowanie 1 1 0 0 0 0 0 1 0 0 0 1 0 1 0 0 0 0 0 0 Dr hab. inż. Barbara Dębska, prof. PWSZ Krosno

SYMULACJA DZIAŁANIA ALGORYTMU GENETYCZNEGO Przykład. Wyznaczyć maksimum funkcji f(x)=x2, dla x przybierającego wartości od 0 do 31.. Dr hab. inż. Barbara Dębska, prof. PWSZ Krosno

Do kodowania chromosomów wykorzystany zostanie pięciobitowy kod, co umożliwi operowanie na liczbach całkowitych od: 0 (00000) do 31 (11111). Funkcją celu jest określenie maksimum funkcji. Symulację rozpoczyna się od wyboru losowego początkowej populacji złożonej z czterech ciągów kodowych. W tym celu wykonuje się dwadzieścia rzutów symetryczną monetą (czterokrotne powtórzenie pięciu rzutów), przy umowie orzeł = 1 reszka = 0. Otrzymuje się cztery losowo utworzone liczby binarnych, np. następującą populację: 01101, 11000, 01000, 10011. Wskaźnik przystosowania, dla danego ciągu kodowego, wylicza się zamieniając ciąg na liczbę dziesiętną i obliczając dla niej wartość funkcji f(x), np.: 01101  x = 13  f(x) = x2 = 169. Dr hab. inż. Barbara Dębska, prof. PWSZ Krosno

WSTĘPNE WYNIKI SYMULACJI AG Dr hab. inż. Barbara Dębska, prof. PWSZ Krosno

Działanie algorytmu genetycznego rozpoczyna się od reprodukcji Działanie algorytmu genetycznego rozpoczyna się od reprodukcji. Pulę rodzicielską do następnego pokolenia dobiera się kręcąc czterokrotnie tarczą ruletki. Podczas symulacji tego procesu otrzymano jedną kopię ciągu nr 1 i nr 4, dwie kopie ciągu nr 2 i 0 kopii ciągu nr 3 (co potwierdza, że najlepsi zwiększają swą reprezentację, średni wychodzą na swoje, a najgorsi wymierają). Dr hab. inż. Barbara Dębska, prof. PWSZ Krosno

WYNIKI REPRODUKCJI Uwaga: - krzyżowanie losowe, 2 rzuty monetą (RR = 002 = 0 = punkt krzyżowania 1; ...; OO = 112 = 3 = punkt krzyżowania 4) - np., założone prawdopodobieństwo mutacji = 0,001; oczekiwana liczba mutacji = 5  4  0,001 = 0,02. Praktycznie nie wystąpi mutacja. Dr hab. inż. Barbara Dębska, prof. PWSZ Krosno

Podsumowanie Po zakończeniu reprodukcji, krzyżowania i mutacji nowe pokolenie ciągu osobników musi zostać poddane ocenie. W tym celu dekoduje się otrzymane ciągi i oblicza dla nich wskaźniki przystosowania (dwie ostatnie kolumny tabeli). Można zaobserwować, że zmieniły się wskaźniki przystosowania w nowej populacji. Średni wskaźnik przystosowania wzrósł z 293 do 439, a maksymalny z 576 do 729. Najlepszy ciąg kodowy z pierwszego pokolenia (11000) otrzymał dwie kopie dzięki wysokiej ocenie. Kiedy jedna z nich została losowo skojarzona z drugim pod względem wyników partnerem (10011) krzyżując się z nim od (również losowo ustalonej) pozycji 2, jeden z otrzymanych w ten sposób potomków (11011) okazał się być naprawdę dobrym rozwiązaniem. Dr hab. inż. Barbara Dębska, prof. PWSZ Krosno

UWAGI PRAKTYCZNE PROJEKTOWANIA AG A. Definiowanie chromosomu 1. Szczegółowy opis elementów algorytmu genetycznego powinniśmy rozpocząć od opisu najmniejszego elementu algorytmu, czyli od opisu pojedynczego osobnika. 2. Projektowanie osobnika jest najważniejszą częścią projektowania całego algorytmu genetycznego. 3. Ze względu na niepowtarzalność gatunku nie ma „ogólnej” zasady definiowania osobnika – należy kierować się cechami, które tworzony przez nas gatunek powinien spełniać. 4. Należy pamiętać, że w algorytmie genetycznym bierze udział bardzo wiele osobników (kilkadziesiąt/set/tysięcy), dlatego ważną cechą osobnika jest długość jego reprezentacji. 5. Liczba osobników jest sztywno ograniczana liczbą dostępnej pamięci (komputera), dlatego im mniejsza będzie reprezentacja gatunku tym więcej osobników będzie mogło brać udział w ewolucji (a co za tym idzie większe będą szanse znalezienia globalnego optimum). Poza tym inne elementy algorytmu (krzyżowanie, mutacja...), będą działać dużo szybciej gdy poszczególne osobniki będą miały mniejszą wielkość. Dr hab. inż. Barbara Dębska, prof. PWSZ Krosno

· Płeć (kobieta / mężczyzna) Przykład 1. Zakładamy, że naszym gatunkiem jest homo sapiens charakteryzujący się następującymi cechami: · Płeć (kobieta / mężczyzna) · Kolor oczu (niebieskie, piwne, brązowe i czarne) · Wzrost (poniżej 140, 141-150, 151-160, 161-170, 171-180, 181-190, 191-200, powyżej 200) · Narodowość (Polak, Niemiec, Czech, Rosjanin) Najprostszą reprezentacją osobnika homo sapiens wydaje się być struktura, w której będą zapamiętywane wartości poszczególnych atrybutów. Dr hab. inż. Barbara Dębska, prof. PWSZ Krosno

MOŻNA PRZYJĄĆ NASTĘPUJĄCE REPREZENTACJE: a. Na każdy atrybut przeznacza się zmienną typu char (string). b. Dla przechowywania wartości atrybutów wykorzystane zostaną zmienne liczbowe (integer, byte...) c. Do opisu osobnika homo sapiens wykorzystuje się reprezentację bitową. Ad. a. Zaletą takiego podejścia jest: - 'bezpośredniość', wszystkie pola struktury pamiętają konkretną wartość atrybutu. Wadą takiego podejścia jest: - „duży” rozmiar osobnika, - duża niewygoda krzyżowania i mutacji. Dr hab. inż. Barbara Dębska, prof. PWSZ Krosno

REPREZENTACJE C.D. : b. Dla przechowywania wartości atrybutów wykorzystane zostaną zmienne liczbowe (integer, byte...) Zaletą takiego podejścia jest: - rozmiar struktury opisującej człowieka zmniejszy się do 4 bajtów, - reprezentacja jest niewielka i wygodna podczas wykonywania przekształceń, Wadą takiego podejścia jest: nie będziemy mieli w strukturze natychmiastowej informacji o wartościach atrybutów i w związku z tym należy stosować oznaczenia, np.: dla płci: 0 oznacza kobietę, 1 oznacza mężczyznę, dla koloru oczu: 0 - oznacza niebieskie, 1 - oznacza piwne, 2 - oznacza brązowe, 3 - oznacza czarne. Dr hab. inż. Barbara Dębska, prof. PWSZ Krosno

REPREZENTACJE C.D. : c. Do opisu osobnika homo sapiens wykorzystuje się reprezentację bitową. Zaletą takiego podejścia jest: - rozmiar struktury opisującej człowieka zmniejszy się do jednego bajtu (8 bitów). Do reprezentacji: płci wystarczy jeden bit (0-kobieta,1-mężczyzna), koloru oczu dwa bity (00-niebieskie, 01-piwne, 10-zielone, 11-czarne), wzrostu trzy bity (000, 001, 010, 011, 100, 101, 110, 111), oraz narodowości dwa bity (00-Polak, 01-Niemiec, 10-Czech, 11-Rosjanin). - reprezentacja jest niewielka i wygodna podczas wykonywania przekształceń, - przy tej reprezentacji należy na początku przyjąć w jakiej kolejności poszczególne atrybuty będą występowały w reprezentacji osobnika, np. że pierwszy bit będzie – informował o płci, następne o kolorze oczu, wzroście i narodowości. Dla przykładu chromosom: 00000000 reprezentuje niebieskooką Polkę o wzroście nie przekraczającym 140cm, a chromosom 11011001 reprezentuje wysokiego (190-200) Niemca o brązowych oczach. Dr hab. inż. Barbara Dębska, prof. PWSZ Krosno

Przykład 2. Poszukiwanie ekstremów funkcji. Załóżmy, że mamy do rozwiązania problem znalezienia takiego x dla którego funkcja postaci y=f(x) ma minimum (maksimum). a.) można do tego celu użyć zmiennej typu float (real), jednak wtedy trudno jest wymyślić jakiś rozsądny sposób krzyżowania takich osobników. b.) wygodniejszym sposobem kodowania zmiennej niezależnej x jest zastosowanie reprezentacji bitowej. W tym wypadku traci się jednak na maksymalnej rozdzielczości. Dr hab. inż. Barbara Dębska, prof. PWSZ Krosno

(max_x-min_x)/(2^(liczba_bitów)-1)=(3-1)/(2^4-1)=2/15=0.1333 Przykład 2. c.d. Dla przykładu jeśli badamy funkcję w przedziale <1 - 3> i reprezentujemy x na 4 bitach to otrzymujemy maksymalną rozdzielczość równą: (max_x-min_x)/(2^(liczba_bitów)-1)=(3-1)/(2^4-1)=2/15=0.1333 Oznacza to, że najmniejsza możliwa różnica pomiędzy analizowanymi wartościami x jest równa 0,13333. Następujące wartości bitów odpowiadają następującym wartościami x : 0000 - 1.0 0001 - 1.1333 0010 - 1.2666 0011 - 1.4 itd. Jeśli mamy już zaprojektowany chromosom (krótki i wygodny w obsłudze) możemy zająć się samym algorytmem. Dr hab. inż. Barbara Dębska, prof. PWSZ Krosno

Dziękuję za uwagę Dr hab. inż. Barbara Dębska, prof. PWSZ Krosno