OBLICZENIA EWOLUCYJNE FITNESS F. START COMPUTATION FITNESS F. COMPUTATION INITIAL SUBPOPULATION SENDING CHROM. TO COMPUTERS chromosome AND RECEIVING FITNESS F. EVOLUTIONARY OPERATORS wykład VALUE fitness f. value MIGRATION PHASE FITNESS F. communication COMPUTATION with other SELECTION subpulations YES TERMINATION CONDITION NO END AB3 nz, sem. I prowadzący: dr hab. inż. Witold Beluch (p.9) wykład: 9h laboratorium: 9h ZAJĘCIA KOŃCZĄ SIĘ EGZAMINEM OCENA KOŃCOWA: 50% -OCENA Z EGZAMINU 50% - OCENA Z LABORATORIUM obydwie oceny muszą być zytywne! LITERATURA:. Arabas J., Wykłady z algorytmów ewolucyjnych, WNT, Warszawa, 003. Michalewicz Z., Algorytmy genetyczne + struktury danych = programy ewolucyjne, WNT, Warszawa, 996 3. Goldberg D.E., Algorytmy genetyczne i ich zastosowania, WNT, Warszawa, 003 (989). L. Rutkowski, Metody i techniki sztucznej inteligencji, PWN, Warszawa, 006 http://wazniak.mimuw.edu.pl/inde.php?title=sztuczna_inteligencja - wykład dotyczący sztucznej inteligencji 3 LUDZKA INTELIGENCJA Formy inteligencji: Praktyczna: umiejętność rozwiązywania konkretnych zagadnień. Abstrakcyjna: zdolność operowania symbolami i jęciami. Słeczna: umiejętność zachowania się w grupie. Cechy inteligencji: Dopasowanie działania do okoliczności. Świadomość działania. INTELIGENCJA OBLICZENIOWA (Computational Intelligence, CI) Rozwiązywanie obliczeniowo problemów, które nie są efektywnie algorytmizowalne. Korzysta z metod matematycznych oraz inspiracji: biologicznych, biocybernetycznych, psychologicznych, statystycznych, logicznych, informatycznych, inżynierskich i innych. Znajomość własnych ograniczeń. 5 6
Cechy inteligentnego systemu: zdolność do przyswajania nowej wiedzy; samoadaptacja (krótki okres wiarygodności informacji); akceptacja danych niepełnych i nie w pełni spójnych logicznie; kreatywność (np. opracowywanie reguł czy wniosków nie wynikających bezśrednio z materiału faktograficznego). SZTUCZNA INTELIGENCJA (Artificial Intelligence, AI część CI) John McCarthy (955): Konstruowanie maszyn, o których działaniu dałoby się wiedzieć, że jest dobne do ludzkich przejawów inteligencji. TEST TURINGA (950): Maszyna jest inteligentna, jeżeli znajdujący się w innym mieszczeniu obserwator nie zdoła odróżnić jej odwiedzi od odwiedzi człowieka. 7 8 TEST TURINGA Sędzia - człowiek - prowadzi rozmowę w języku naturalnym z zostałymi stronami. Jeśli sędzia nie jest w stanie wiarygodnie określić, czy któraś ze stron jest maszyną czy człowiekiem, wtedy mówi się, że maszyna przeszła test. Zakłada się, że zarówno człowiek jak maszyna próbują przejść test jako człowiek. 9 TURING - prognozy Turing oczekiwał, że maszyny w końcu będą w stanie przejść ten test. Ocenił, że około roku 000 maszyny z pamięcią o jemności 0 9 bitów (około 9 MB) będą w stanie oszukać 30% ludzkich sędziów w czasie pięciominutowego testu. Przewiedział również, że ludzie przestaną uważać zdanie "myśląca maszyna" za wewnętrznie sprzeczne. 0 TEST TURINGA sry: TEST TURINGA sry: Maszyna, która przejdzie test Turinga może być w stanie symulować ludzkie zachowanie konwersacyjne, co nie musi świadczyć o inteligencji (może używać sprytnie wymyślonych reguł). Maszyna może być inteligentna bez ludzkiej umiejętności gawędzenia. Wielu ludzi mogłoby nie być w stanie zaliczyć takiego testu. Ale: inteligencję innych ludzi oceniamy zazwyczaj wyłącznie na dstawie tego co i jak mówią. I jeszcze: niekiedy by zaliczyć test maszyna musiałaby symulować brak siadanej wiedzy czy umiejętności. DO NIEDAWNA ŻADEN KOMPUTER NIE ZALICZYŁ TESTU TURINGA... Najbliżej (długo) ALICE: Artificial Linguistic Internet Computer Entity (zawody o nagrodę Loebnera)
http://www.pcworld.pl Krzysztof Lech 5 września 0 http://nauka.newsweek.pl Katarzyna Burda 3 czerwca 0 jednakże wg. informacji w Wikipedii: 3 http://www.loebner.net/prizef/loebner-prize.html 5 Nagroda Loebnera - nagroda ufundowana przez Hugha Loebnera w 990 roku, dla programisty, który zdoła napisać program, który skutecznie przejdzie Test Turinga. Nagroda ta obejmuje przyznanie złotego medalu (całego z 8-to karatowego złota) oraz 00 000 USD dla programisty, który przedstawi program, który zdoła skutecznie zmylić wszystkich sędziów (testerów) programu. Oprócz tego nagroda ta obejmuje też przyznanie złacanego, brązowego medalu oraz nagrody pieniężnej 000 USD temu programiście, który w danym roku dostarczy program, który co prawda nie przejdzie w pełni testu Turinga, ale będzie zdaniem sędziów najskuteczniej udawał ludzką konwersację. Zawody o nagrodę Loebnera odbywają się co roku, w The Cambridge Center of Behavioral Studies. Sędziowie są dorocznie losowani sśród pracowników tego instytutu. Programiści muszą dostarczyć program, który działa d Linuksem, MS Windows lub na Macintoshach lub alternatywnie dostarczyć swój własny komputer z programem, przy czym komputer musi się dać dłączyć do standardowego terminala DEC 00. Dostarczone programy mają generować na tym terminalu ekran, na którym od góry do dołu jawia się tekst konwersacji pisany standardową czcionką i nie formatowany w żaden szczególny ssób. Sędziowie mają przez jeden dzień wolny dostęp do dwukrotnie większej liczby terminali niż liczba dostarczonych programów. Co drugi ter-minal jest obsługiwany przez prosty program komunikacyjny, który generuje na ekranie taki sam tekst jak testowane programy, ale jest obsługiwany przez człowieka - wylosowanego sśród studentów instytutu i zaakceptowanego przez autorów programów. Do co drugiego terminala jest natomiast przyłączony testowany program. Sędziowie całym dniu "konwersowania" ze wszystki-mi terminalami, decydują które z terminali obsługiwał człowiek a które program, oraz który z terminali obsługiwanych ich zdaniem przez programy zachowywał się "najbardziej ludzku". Sędziowie mają prawa zadawać terminalom dowolne pytania, oprócz takich, które w oczywisty ssób zdemaskowałyby programy, jak "jaki jest numer twojego buta", albo "jak ma na imię twoja dziewczyna". Złoty medal i główną nagrodę dostaje ew. ten program który zdoła zmylić nad 50% sędziów, zaś gdy żaden program nie uzyska tego wyniku, brązowy medal i 000 USD dostaje ten program, który zdaniem największej liczby sędziów zachowywał się "najbardziej ludzku". 6 ELIZA: ELIZA - przykłady: Pierwszy program naśladujący zwykłą konwersację (966). Analizuje wzorce w zdaniach, które otrzymuje, a następnie buduje pytania przez przestawienie słów oraz dmianę słów kluczowych. Efekt Elizy - zjawisko przypisywania przez ludzi znaczenia i sensu znakom, słowom i zdaniom, które takiego sensu same z siebie nie mają. (Np: interpretowanie przypadkowych wzorów tworzonych przez chmury na niebie jako obrazy, które przedstawiają jakieś konkretne kształty). 7 (C - człowiek, E - ELIZA) C: Czy jesteś człowiekiem? E: Być człowiekiem... czy to coś znaczy... C: Co myślisz o mojej matce? E: Nie znam twojej matki, owiedz mi o niej coś więcej. 8 3
ZAGADNIENIA AI Sformułowanie mocne : Konstruowanie systemów inteligentnych, którym można by przypisać zdolność do myślenia w ssób w pewnym stopniu dający się równywać z myśleniem ludzkim. Sformułowanie słabe : Stworzenie maszyn (algorytmów) przejawiających tylko wąski aspekt inteligencji (grających w szachy, rozznających obrazy czy tworzących streszczenia tekstu). 9 Włodzisław Duch: http://www.phys.uni.torun.pl/~duch/ serdecznie lecam... AI uważana jest za część informatyki. AI zaliczana jest do nauk kognitywnych 0 DEFINICJE AI: Dziedzina nauki zajmująca się rozwiązywaniem zagadnień efektywnie niealgorytmizowalnych w oparciu o modelowanie wiedzy. Nauka mająca za zadanie nauczyć maszyny zachowań dobnych do ludzkich. Nauka o tym, jak nauczyć maszyny robić rzeczy które obecnie ludzie robią lepiej. Nauka o komputerowych modelach wiedzy umożliwiających rozumienie, wnioskowanie i działanie. OPTYMALIZACJA (bieżnie) OPTYMALIZACJA: działanie, mające na celu zwiększenie efektyw-ności aż do osiągnięcia pewnego optimum. CEL GŁÓWNY: ULEPSZENIE. CEL DRUGORZĘDNY: OSIĄGNIĘCIE OPTIMUM. ANALITYCZNE średnie bezśrednie METODY OPTYMALIZACJI PRZEGLĄDOWE (enumeracyjne) LOSOWE 3 Metody analityczne bezśrednie: Poruszanie się wykresie funkcji w kierunku wyznaczonym przez lokalny gradient (wspinaczka najbardziej stromym zboczu z możliwych). Metody analityczne średnie: Poszukiwanie ekstremów lokalnych przez rozwiązanie układu równań (zwykle nieliniowych), otrzymanych przez przyrównanie gradientu funkcji celu do zera. Dla funkcji gładkich, określonych na obszarze otwartym, szukiwanie ekstremum można ograniczyć do zbioru punktów, w których nachylenie stycznej do wykresu jest równe zero w każdym kierunku.
ZALETY METOD ANALITYCZNYCH: mają solidne dstawy matematyczne; są szeroko stosowane. Funkcja trudna do optymalizacji metodami analitycznymi: GŁÓWNA WADA METOD ANALITYCZNYCH: MAŁA ODPORNOŚĆ: Funkcja niemożliwa do optymalizacji metodami analitycznymi: f() 5 6 Czasem maksimum globalne nie jest żądane: METODY ENUMERACYJNE: Sprowadzają się do przeszukiwania wszystkich punktów przestrzeni w szukiwaniu optimum. Algorytm niezwykle prosty lecz skuteczny jedynie w przypadku skończonych, małych przestrzeni. Preferowane są czasem rozwiązania, których otoczenie przyjmuje wartości bliskie temu ekstremum a nie te, dla których niewielkie oddalenie się od ekstremum woduje gwałtowny spadek wartości funkcji. Np: w przypadku inwestycji kapitałowych, by nie ryzykować straty z wodu niezbyt precyzyjnie zdefiniowanej funkcji, bądź nieznacznej zmiany jakiegoś parametru funkcji. Zwykle sprawdzenie wszystkich możliwości jest niemożliwe w rozsądnym czasie (tzw. przekleństwo wymiaru). 7 8 METODY LOSOWE: W swej najprostszej staci: bada się losowo całą przestrzeń zadania nie korzystając z innych informacji. Poszukiwanie takie jest zwykle bardzo czasochłonne (zwykle jednak mniej niż metody enumeracyjne). EFEKTYWNOŚĆ Metoda odrna Metoda enumeracyjna, błądzenie przypadkowe ideał... Metoda wyspecjalizowana (analityczna) Algorytmy genetyczne i ewolucyjne również zawierają element losowości (algorytm zrandomizowany). 9 0 kombinatoryczny dyskretny jednomodalny wielomodalny PROBLEM 30 5
OGRANICZENIA FUNKCJI CELU (za: J.Arabas) MINIMA LOKALNE f() MINIMA LOKALNE minimum funkcji bez ograniczeń obszar dopuszczalny kostkowe wypukły obszar dop. niewypukły obszar dop. niespójny obszar dop. 3 0 MINIMUM GLOBALNE funkcja z min. lokalnymi 0 minima funkcji z ograniczeniami min. lokalne wynikające z niewypukłości zb. ograniczającego (za: J.Arabas) 3 Podróż Karola Darwina ALGORYTMY EWOLUCYJNE HMS Beagle 83 836 33 3 On the origin of species (859): Na świat przychodzi dużo więcej tomstwa, niż może mieścić środowisko. Ewolucja przez dobór naturalny: przeżywają i rozmnażają się osobniki najlepiej przystosowane do warunków środowiska (nieliczni lecz najlepsi). Wynik przystosowania zależy od: - organizmu; - środowiska. 35 Gregor Johann Mendel (8-88) - austriacki zakonnik, augustianin, prekursor genetyki. Sformułował dstawowe prawa dziedziczenia (3 prawa Mendla), przeprowadzając badania nad krzyżowaniem roślin, głównie grochu jadalnego. 36 6
W procesie ewolucji istotne jest zachowywanie różnorodności cech. Siła ewolucji to nie zaawansowany proces doskonalenia jednostki, lecz utrzymywanie dużej liczby różnorodnych osobników (tzw. pulacji), która ewoluuje jako całość. W procesie krzyżowania cechy osobników mieszają się, mogąc dawać kombinacje cech dotąd nie występujące. Mutacja zwala na wstanie osobników niemożliwych do uzyskania przez krzyżowanie. 37 AG CO TO JEST? AG odwzorowują naturalne procesy ewolucji zachodzące w czasie. Celem tych procesów jest maksymalne dopasowanie osobników do istniejących warunków życia. Rolę środowiska spełnia tu funkcja oceniająca (funkcja celu). 38 John H. Holland, 975: Adaptation in Natural and Artificial Systems : Łączą w sobie ewolucyjną zasadę przeżycia najlepiej przystosowanych osobników z systematyczną, choć zrandomizowaną wymianą informacji. Pomimo elementu losowości AG nie błądzą przypadkowo, lecz wykorzystują efektywnie przeszłe doświadczenia. 39 Koncepcja algorytmu przeszukiwania opartego na zasadzie doboru naturalnego. Procedurę probabilistycznego przeszukiwania dyskretnej przestrzeni stanów nazwał algorytmem genetycznym. 0 AG - TERMINOLOGIA 0000 AG - TERMINOLOGIA 0000 gen najmniejsza składowa chromosomu, decydująca o dziedziczności jednej lub kilku cech; chromosom urządkowany ciąg genów (ciąg kodowy). Zwykle utożsamiany z osobnikiem; locus miejsce genu w chromosomie; allel wariant (stan) jednego genu warunkujący daną cechę; genotyp ogół genów danego ; fenotyp ogół cech ujawniających się na zewnątrz (np. rozkodowana stać zmiennych projektowych); mutacja zmiana jednego lub kilku genów w chromosomie; krzyżowanie operacja mająca na celu wymianę materiału genetycznego między mi. pulacja pewna liczba osobników (chromosomów); 7
JAK DZIAŁA AG Generowanie (zwykle losowo) pulacji czątkowej. Ocena każdego na dstawie pewnej miary jego dopasowania Każda następna iteracja (kolenie) t :. Selekcja najlepszych osobników z kolenia t-.transformacja z zastosowaniem operatorów genetycznych SCHEMAT DZIAŁANIA AG: procedure algorytm_genetyczny begin t:=0 wybierz pulację czątkową P(t) oceń P(t) while (not warunek_zakończenia) do begin t:=t+ wybierz P(t) z P(t-) (selekcja) zmień P(t) (działanie operatorów genetycznych) oceń P(t) end end 3 Przykład Znaleźć: ma { f ()= } dla wartości całkowitych z zakresu 0-3. Populacja w chwili t: P(t)= { t,... t n); Założenia: - łańcuchy 5-bitowe (=0,,...,3); - liczebność pulacji n=. 5 Ścisłe rozwiązanie: = = 3; = 96. Populacja czątkowa (losowanie): 0 = 0 0 0 0 = 0 0 0 3 = 0 0 0 0 0 = 0 0 6 Sytuacja czątkowa: Selekcja: Nr Wartość Przystosowanie f()= Prawd. wylosowania Oczekiwana liczba kopii Każdemu ciągowi kodowemu odwiada sektor koła ruletki o lu prorcjonalnym do przystosowania: 000 00 3 0000 00 8 9 Suma Średnia Ma 6 36 8 0.5 0. 0.06 0.3.00 0.5 0.5.05 0.3 0.3.7.00.00.05 7 <0, 0.5), <0.5, 0.6),... 8 8
Po selekcji: Krzyżowanie: p c = 0.9 Nr Oczekiwana liczba kopii.05 0.3 3 0.3.7 Liczba wylosowanych kopii 0 selekcji 000 00 000 00 Wartość 9 Suma Średnia Ma Przystosowanie f()= 36 63 09 Prawd. wylosowania 0.35 0.07 0.35 0.3.0 0.5 0.35 () selekcji 000 00 3 000 00 Nr Partner 3 Punkt krzyżowania 0 0 0 0 0 0 00 0 0 War-tość 5 0 7 6 Suma Średnia Ma krzyżowaniu Przystosowanie f()= 65 00 79 56 70 8 79 było: Prawd. wylosowania 0.36 0.06 0.3 0.5.0 0.5 0.3 9 50 Mutacja: p m = 0.05 Nr krzyżow aniu mutacji Mutacja? Wartość Przystosowanie f()= Prawd. wylosowania 0 0 000 3 0 0000 0000 NNNNN NNNNN NNNNN NNNTN 0 0 0 0 0 0 0 0 0 5 0 7 8 Suma Średnia Ma 65 00 79 3 778 7 79 było: 79 0.35 0.06 0. 0.8.0 0.5 0. 5 5 AG MUSI MIEĆ OKREŚLONE (DLA KAŻDEGO ZADANIA):. Podstawową reprezentację zmiennych tencjalnego zadania;. Ssób tworzenia czątkowej pulacji tencjalnych rozwiązań; 3. Funkcję oceniającą rozwiązania;. Podstawowe operatory; 5. Wartości różnych parametrów (rozmiar pulacji, prawdodobieństwa użycia operatorów genetycznych itp.) 53 9