Pobieranie prezentacji. Proszę czekać

Pobieranie prezentacji. Proszę czekać

1 Wykład 10 SZTUCZNA INTELIGENCJA Sieciowe Systemy Informatyczne Dr hab. inż. Barbara Dębska, prof. PWSZ Krosno SZTUCZNA INTELIGENCJA ARTIFICIAL INTELLIGENCE.

Podobne prezentacje


Prezentacja na temat: "1 Wykład 10 SZTUCZNA INTELIGENCJA Sieciowe Systemy Informatyczne Dr hab. inż. Barbara Dębska, prof. PWSZ Krosno SZTUCZNA INTELIGENCJA ARTIFICIAL INTELLIGENCE."— Zapis prezentacji:

1 1 Wykład 10 SZTUCZNA INTELIGENCJA Sieciowe Systemy Informatyczne Dr hab. inż. Barbara Dębska, prof. PWSZ Krosno SZTUCZNA INTELIGENCJA ARTIFICIAL INTELLIGENCE WYKŁAD 10 ALGORYTMY GENETYCZNE Dr hab. inż. Barbara Dębska, prof. PWSZ KROSNO

2 2 Wykład 10 SZTUCZNA INTELIGENCJA Sieciowe Systemy Informatyczne Dr hab. inż. Barbara Dębska, prof. PWSZ Krosno algorytmy genetyczne sieci neuronowe logika rozmyta METODY NATURALNE:

3 3 Wykład 10 SZTUCZNA INTELIGENCJA Sieciowe Systemy Informatyczne 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: 1.opisanie i wyjaśnienie w sposób ścisły istoty systemów adaptacyjnych występujących w świecie przyrody, oraz 2.stworzenie oprogramowania, które odtwarzałoby podstawowe mechanizmy rządzące systemami biologicznymi.

4 4 Wykład 10 SZTUCZNA INTELIGENCJA Sieciowe Systemy Informatyczne Dr hab. inż. Barbara Dębska, prof. PWSZ Krosno 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. Wstęp c.d.

5 5 Wykład 10 SZTUCZNA INTELIGENCJA Sieciowe Systemy Informatyczne Dr hab. inż. Barbara Dębska, prof. PWSZ Krosno Globalna metoda optymalizacji parametr Funkcja odpowiedzi Funkcja jednej zmiennej

6 6 Wykład 10 SZTUCZNA INTELIGENCJA Sieciowe Systemy Informatyczne Dr hab. inż. Barbara Dębska, prof. PWSZ Krosno Globalna metoda optymalizacji c.d. Funkcja odpowiedzi w przestrzeni 2 parametrów

7 7 Wykład 10 SZTUCZNA INTELIGENCJA Sieciowe Systemy Informatyczne 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.

8 8 Wykład 10 SZTUCZNA INTELIGENCJA Sieciowe Systemy Informatyczne 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ń

9 9 Wykład 10 SZTUCZNA INTELIGENCJA Sieciowe Systemy Informatyczne Dr hab. inż. Barbara Dębska, prof. PWSZ Krosno populacja chromosomy

10 10 Wykład 10 SZTUCZNA INTELIGENCJA Sieciowe Systemy Informatyczne Dr hab. inż. Barbara Dębska, prof. PWSZ Krosno kod binarny chromosom ALGORYTM GENETYCZNY

11 11 Wykład 10 SZTUCZNA INTELIGENCJA Sieciowe Systemy Informatyczne Dr hab. inż. Barbara Dębska, prof. PWSZ Krosno chromosomy Reprezentacja populacji

12 12 Wykład 10 SZTUCZNA INTELIGENCJA Sieciowe Systemy Informatyczne Dr hab. inż. Barbara Dębska, prof. PWSZ Krosno ALGORYTM GENETYCZNY Populacja początkowa reprodukcja Krzyżowanie Mutacje Funkcja dopasowania Nowa generacja 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.

13 13 Wykład 10 SZTUCZNA INTELIGENCJA Sieciowe Systemy Informatyczne Dr hab. inż. Barbara Dębska, prof. PWSZ Krosno Populacja początkowa reprodukcja Losowanie wg funkcji dopasowania ALGORYTM GENETYCZNY Funkcja dopasowania

14 14 Wykład 10 SZTUCZNA INTELIGENCJA Sieciowe Systemy Informatyczne Dr hab. inż. Barbara Dębska, prof. PWSZ Krosno OPERACJE GENETYCZNE: krzyżowanie rodzice dzieci

15 15 Wykład 10 SZTUCZNA INTELIGENCJA Sieciowe Systemy Informatyczne Dr hab. inż. Barbara Dębska, prof. PWSZ Krosno OPERACJE GENETYCZNE: mutacje

16 16 Wykład 10 SZTUCZNA INTELIGENCJA Sieciowe Systemy Informatyczne 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.

17 17 Wykład 10 SZTUCZNA INTELIGENCJA Sieciowe Systemy Informatyczne 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.

18 18 Wykład 10 SZTUCZNA INTELIGENCJA Sieciowe Systemy Informatyczne 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.

19 19 Wykład 10 SZTUCZNA INTELIGENCJA Sieciowe Systemy Informatyczne Dr hab. inż. Barbara Dębska, prof. PWSZ Krosno Proces tworzenia nowej populacji przedstawiony jest na rysunku:

20 20 Wykład 10 SZTUCZNA INTELIGENCJA Sieciowe Systemy Informatyczne Dr hab. inż. Barbara Dębska, prof. PWSZ Krosno PRZYKŁAD ZASTOSOWANIA AG yX Problem: y = f(X) y = f(X*) = = X* X Redukcja liczby mierzonych parametrów:

21 21 Wykład 10 SZTUCZNA INTELIGENCJA Sieciowe Systemy Informatyczne Dr hab. inż. Barbara Dębska, prof. PWSZ Krosno PRZYKŁAD ZASTOSOWANIA GA Możliwe rozwiązania dopasowanie

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

23 23 Wykład 10 SZTUCZNA INTELIGENCJA Sieciowe Systemy Informatyczne 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, 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.: x = 13 f(x) = x 2 = 169.

24 24 Wykład 10 SZTUCZNA INTELIGENCJA Sieciowe Systemy Informatyczne Dr hab. inż. Barbara Dębska, prof. PWSZ Krosno WSTĘPNE WYNIKI SYMULACJI AG

25 25 Wykład 10 SZTUCZNA INTELIGENCJA Sieciowe Systemy Informatyczne Dr hab. inż. Barbara Dębska, prof. PWSZ Krosno 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ą).

26 26 Wykład 10 SZTUCZNA INTELIGENCJA Sieciowe Systemy Informatyczne Dr hab. inż. Barbara Dębska, prof. PWSZ Krosno WYNIKI REPRODUKCJI Uwaga: - krzyżowanie losowe, 2 rzuty monetą (RR = 00 2 = 0 = punkt krzyżowania 1;...; OO = 11 2 = 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.

27 27 Wykład 10 SZTUCZNA INTELIGENCJA Sieciowe Systemy Informatyczne 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.

28 28 Wykład 10 SZTUCZNA INTELIGENCJA Sieciowe Systemy Informatyczne 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ść.

29 29 Wykład 10 SZTUCZNA INTELIGENCJA Sieciowe Systemy Informatyczne Dr hab. inż. Barbara Dębska, prof. PWSZ Krosno 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, , , , , , , 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.

30 30 Wykład 10 SZTUCZNA INTELIGENCJA Sieciowe Systemy Informatyczne 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). 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. c. Do opisu osobnika homo sapiens wykorzystuje się reprezentację bitową. b. Dla przechowywania wartości atrybutów wykorzystane zostaną zmienne liczbowe (integer, byte...) Ad. a.

31 31 Wykład 10 SZTUCZNA INTELIGENCJA Sieciowe Systemy Informatyczne Dr hab. inż. Barbara Dębska, prof. PWSZ Krosno 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. REPREZENTACJE C.D. :

32 32 Wykład 10 SZTUCZNA INTELIGENCJA Sieciowe Systemy Informatyczne 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: reprezentuje niebieskooką Polkę o wzroście nie przekraczającym 140cm, a chromosom reprezentuje wysokiego ( ) Niemca o brązowych oczach.

33 33 Wykład 10 SZTUCZNA INTELIGENCJA Sieciowe Systemy Informatyczne 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.

34 34 Wykład 10 SZTUCZNA INTELIGENCJA Sieciowe Systemy Informatyczne Dr hab. inż. Barbara Dębska, prof. PWSZ Krosno Przykład 2. c.d. Dla przykładu jeśli badamy funkcję w przedziale 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= Oznacza to, że najmniejsza możliwa różnica pomiędzy analizowanymi wartościami x jest równa 0, Następujące wartości bitów odpowiadają następującym wartościami x : itd. Jeśli mamy już zaprojektowany chromosom (krótki i wygodny w obsłudze) możemy zająć się samym algorytmem.

35 35 Wykład 10 SZTUCZNA INTELIGENCJA Sieciowe Systemy Informatyczne Dr hab. inż. Barbara Dębska, prof. PWSZ Krosno


Pobierz ppt "1 Wykład 10 SZTUCZNA INTELIGENCJA Sieciowe Systemy Informatyczne Dr hab. inż. Barbara Dębska, prof. PWSZ Krosno SZTUCZNA INTELIGENCJA ARTIFICIAL INTELLIGENCE."

Podobne prezentacje


Reklamy Google