STRATEGIE HEURYSTYCZNE
Transkrypt
STRATEGIE HEURYSTYCZNE
www.kwmimkm.polsl.pl METODY HEURYSTYCZNE www.kwmimkm.polsl.pl STRATEGIE HEURYSTYCZNE wykład 2 2 www.kwmimkm.polsl.pl METODA WZROSTU (SIMPLE) HILLHILL-CLIMBING HC: PROBLEM 8 KRÓ KRÓLOWYCH Operator - dział działanie podejmowane w stosunku do stanu aktualnego aby otrzymać otrzymać z niego kolejny stan. Lokalne minimum: 1. Wygeneruj stan początkowy (CS). 2. Jeśli CS jest stanem końcowym to zwróć SUKCES i zakończ. 3. Wybierz operator, który nie był jeszcze używany dla stanu CS i wygeneruj przy jego pomocy stan NS. 4. Jeżeli: • NS jest stanem końcowym to zwróć SUKCES i zakończ; • NS nie jest stanem końcowym, ale jest lepszy od CS to CS=NS. 5. Powróć do 3. • Stan ma 1 konflikt. • Każ Każde przesunię przesunięcie w kolumnie zwię zwiększa liczbę liczbę konfliktó konfliktów. Strategia stosowana do zagadnień zagadnień cią ciągłych oraz dyskretnych. METODA NAJSZYBSZEGO WZROSTU www.kwmimkm.polsl.pl 3 www.kwmimkm.polsl.pl 1. Wygeneruj stan początkowy (CS). 2. Jeśli CS jest stanem końcowym to zwróć SUKCES i zakończ. 3. Dla każdego operatora, który nie był jeszcze używany wygeneruj stan NS. 4. Jeżeli: • NS jest stanem końcowym: zwróć SUKCES i zakończ. • NS nie jest stanem końcowym, ale jest lepszy od CS to CS=NS. 5. Powróć do 3. W SHC przechodzi się cego do pierwszego stanu się ze stanu bieżą bieżącego dla któ którego wartość wartość funkcji oceniają oceniającej okazał okazała się się lepsza. • W SAHC sprawdza się się dla każ każdego stanu wszystkie opeoperatory i wybiera się się ten, któ który daje najlepszy nowy stan. WADY METODY HILL CLIMBING www.kwmimkm.polsl.pl 1. Rozwija jedną ścieżkę. (STEEPESTSTEEPEST-ASCENT HILLHILL-CLIMBING) CLIMBING) • 4 5 2. W przypadku jednakowych kosztów losuje ścieżkę. 3. Lokalne ekstrema. 4. Plateau (równiny). 5. Wąskie grzbiety. Co zrobić? 3. Powrót do poprzednich węzłów i próba przemieszczania się w innym kierunku lub metoda wielostartu. 4. Wykonanie dużego skoku w pewnym kierunku (eksplorowanie nowego fragmentu przestrzeni stanów). 5. Wykonanie ruchu w kilku kierunkach naraz. PIERWSZY NAJLEPSZY (BEST FIRST) www.kwmimkm.polsl.pl www.kwmimkm.polsl.pl SZUKANIE ZACHŁ ZACHŁANNE (GREEDY SEARCH) • Jedna z najprostszych strategii BF. BF. • W wersji podstawowej toż tożsamy z HC dla wariantu dyskretnego. • F. heurystyczna szacuje pozostał pozostałe koszty dotarcia do celu (jak: odległ odległość od celu). • W procesie poszukiwania zawsze moż można wró wrócić cić do węzła lepszego (jeś (jeśli są są pamię pamiętane). • Najpierw rozwijany jest najbliż najbliższy węzeł zeł. Problemy szukania drogi: metryki: metryki: 1. Euklidesowa; Wersje: • szukanie zachł zachłanne; 2. Manhattan (poruszanie się się tylko po liniach poziomych i pionowych). • A*. 7 www.kwmimkm.polsl.pl W linii prostej do Bukaresztu z: www.kwmimkm.polsl.pl W linii prostej do Bukaresztu z: 450km 418km W innych problemach: oceny podobień podobieństwa. stwa. 8 www.kwmimkm.polsl.pl W linii prostej do Bukaresztu z: www.kwmimkm.polsl.pl • Znalezione rozwią rozwiązanie jest suboptymalne (o 32 km dłuższe niż niż droga optymalna). • Strategia zachł zachłanna pró próbuje maksymalnie zmniejszyć zmniejszyć koszt dotarcia do celu bez oceny, czy na dł dłuższa metę metę jest to najlepsze zachowanie. • GS moż może „źle” le” wystartować wystartować i utknąć utknąć w ślepej uliczce: 12 www.kwmimkm.polsl.pl • GS nie jest algorytmem optymalnym (niekoniecznie znajduje rozwią rozwiązanie o minimalnym koszcie). • GS nie jest algorytmem zupeł zupełnym (nie zawsze znajduje rozwią rozwiązanie). • Złożoność oność czasowa GS w najgorszym razie wynosi O(bm), dla m krokó b i średnio b moż kroków w głą głąb możliwoś liwości. Funkcji heurystyczna oceniają oceniająca koszty najtań najtańszego rozwią rozwiązania przechodzą przechodzącego przez wę węzeł zeł n: f (n) = g(n) + h(n) g(n) – dotychczasowy koszt dotarcia do stanu n; h(n) – oszacowanie kosztu od stanu bieżą cego n do stanu bieżącego docelowego. • Złożoność oność pamię pamięciowa GS wynosi O(bm) (przechowuje wszystkie wę węzły w pamię pamięci). 1. Rozpocznij od węzła początkowego i twórz nowe węzły osiągnięty; • Alternatywa: Alternatywa: minimalizacja kosztó kosztów dojś dojścia do danego węzła g(n) – metoda zupeł zupełna i optymalna, optymalna, lecz mał mało efektywna… efektywna… 2. Posortuj nowe węzły {n} zgodnie z funkcją: f(n)=g(n)+h(n). 4. Wybierz najlepszy węzeł n’ n’. n’ jest celem skończ; jeśli nie, rozwijaj dalsze węzły {n} 5. Zostaw tylko najtańszą ścieżkę do łącznie z n’ 13 14 www.kwmimkm.polsl.pl www.kwmimkm.polsl.pl Do Bukaresztu z: 15 Do Bukaresztu z: 16 www.kwmimkm.polsl.pl www.kwmimkm.polsl.pl Do Bukaresztu z: 17 {n} dopóki cel nie zostanie 3. Odrzuć ścieżki zapętlone. 6. Jeśli • Metoda A* łączy łączy obydwa podejś podejścia. www.kwmimkm.polsl.pl STRATEGIA A* Do Bukaresztu z: 18 www.kwmimkm.polsl.pl www.kwmimkm.polsl.pl Do Bukaresztu z: • A* jest algorytmem optymalnym (znajduje rozwią rozwiązanie o minimalnym koszcie) jeś jeśli heurystyka h jest dopuszczalna. • A* jest algorytmem zupeł rozwiązazazupełnym (zawsze znajduje rozwią nie) jeś jeśli nie ma nieskoń nieskończenie wielu stanó stanów takich, że: f ≤ f (G) gdzie: G - stan docelowy. • Złożoność oność czasowa: wykł wykładnicza wzglę d wzglę względem [błą [błąd względny h × dług. rozwią rozwiązania]. • Złożoność oność pamię pamięciowa: O(bm) (przechowuje wszystkie wę węzły w pamię pamięci). 418km 19 20 www.kwmimkm.polsl.pl DOPUSZCZALNOŚĆ DOPUSZCZALNOŚĆ HEURYSTYKI Funkcja heurystyczna h(n) jest dopuszczalna, dopuszczalna, jeś jeśli w każ spełnia nastę następują pujący warunek: każdym stanie n speł h(n) ≤ h* (n) Np.: www.kwmimkm.polsl.pl hSLD(n): h* (n) - rzeczywisty koszt ścież cieżki od stanu n do celu. Np.: • A – stan począ początkowy; • F – stan docelowy; • Na krawę krawędziach: rzecz. koszty przejś przejścia mię między stanami; • Wartoś Wartości f. heurystycznej h(n): A h(-) 10 B 3 C 7 D 4 E 2 F. odległ odległości w linii prostej hSLD(n) jest dopuszczalna: dopuszczalna: - nigdy nie przekracza rzeczywistej odległ odległości drogowej. F 0 SPÓ SPÓJNOŚĆ JNOŚĆ HEURYSTYKI 21 www.kwmimkm.polsl.pl Dopuszczalna funkcja heurystyczna h(n) jest spó spójna (speł (spełnia wymó wymóg monotonicznoś monotoniczności), ci), jeż jeżeli dla każ każdego węzła n i każ każdego jego nastę następcy n’: h(n) ≤ c(n,n’) + h (n’) 22 www.kwmimkm.polsl.pl STRATEGIA IDA* (ITERATIVE DEEPENING A*) 1. Stosuj algorytm szukania w głąb. 2. Oceniaj całkowite koszty f (n) = g(n) + h(n) heurystyką A*. 3. Jeśli f (n) > T cofaj się. 4. Jeśli nie znaleziono rozwiązania zwiększ T i powtarzaj. n • Obcinane są są węzły, któ których wartość wartość funkcji oceny leż leży poniż poniżej progu T. c(n,n’) n’ h(n) • Poziom obcinania jest iteracyjnie zwię zwiększany, aż aż do osią osiągnię gnięcia celu. • Zalety: Zalety: niewielkie wymagania pamię pamięciowe - jak w szukaniu w głą b - jednakż głąb jednakże szybsza. h(n’) Jeż Jeżeli heurystyka h(n) jest spó spójna, to A* znajdzie optymalną ą ś cież ż k ę . optymaln cie 23 24 SYMULOWANE WYŻ WYŻARZANIE www.kwmimkm.polsl.pl (SIMULATED ANNEALING) Z metalurgii: • Kawał Kawałek metalu ogrzewany i pozostawiany do powolnego ostygnię ostygnięcia. • Algorytm z rodziny algorytmó algorytmów „Generuj i Testuj” Testuj”. • Odmiana algorytmu najwię największego wzrostu, w któ której rozwią rozwiązuje się się problem lokalnych ekstremó ekstremów. • Powolne i regularne chł chłodzenie - obniż obniżenie poziomu energii atomó atomów do momentu znalezienia się się w stanie metastabilnym (o minimalnej energii). energii). • Dopuszcza się cego takż się przejś przejścia ze stanu bieżą bieżącego także do stanó stanów gorszych (uniezależ (uniezależnienie się się od punktu startowego i badanie znacznie wię większego obszaru przestrzeni rozwią rozwiązań zań). • W miarę upływu czasu prawdopodobień prawdopodobieństwo miarę upł wykonania „złego” ego” posunię posunięcia zmniejsza się się. www.kwmimkm.polsl.pl • Gwał Gwałtowne ochł ochłodzenie: zamroż zamrożenie atomó atomów na przypadkowych pozycjach. 25 www.kwmimkm.polsl.pl Prawdopodobień Prawdopodobieństwo przejś przejścia do wyż wyższego stanu energetycznego: energetycznego: 26 www.kwmimkm.polsl.pl SZTUCZNE SYMULOWANE WYŻ WYŻARZANIE p ' = e − ΔE / T ΔE – zmiana funkcji heurystycznej; p = e − ΔE / kT T – temperatura (tempo studzenia, rozkł rozkład wyż wyżarzania). arzania). • Rozkł Rozkład wyż wyżarzania musi być być dany (zał (założony). • Najczęś ciej jest zwią Najczęściej związany z czasem (krokiem) procesu. ΔE – zmiana energii stanu; T – temperatura przy jakiej nastę następuje przejś przejście do wyż wyższego stanu energetycznego; k – stał stała Boltzmanna. Boltzmanna. • Prawdopodobień Prawdopodobieństwo mał małego skoku w kierunku wzrastają wzrastającej energii jest wię większe niż niż duż dużego skoku. • Prawdopodobień Prawdopodobieństwo skoku powodują powodującego wzrost energii zmniejsza się się wraz ze spadkiem temperatury. temperatury. 27 www.kwmimkm.polsl.pl • Wielkość upływem czasu. czasu. Wielkość skokó skoków maleje z upł GRY DWUOSOBOWE 28 www.kwmimkm.polsl.pl Typowe zał założenia: 1. Wygeneruj stan początkowy (CS). 1. W grze uczestniczy dwó dwóch graczy. 2. Ustaw początkową temperaturę T oraz stan BestSoFar:=CS. 2. Gracze wykonują wykonują ruchy naprzemiennie. 3. Dopóki T>0 i są stany nie wykorzystane jako CS: 3. W każ każdej sytuacji na planszy jest skoń skończona liczba moż możliwych do wykonania ruchó ruchów. • Wybierz jeden z niewykorzystanych stanów i nazwij go NS. • Oblicz ΔE=E(NS)–E(CS). 4. Sytuacja na planszy i wykonany ruch jednoznacznie wyznaczają wyznaczają nastę następną pną sytuację sytuację na planszy. • Jeśli ΔE<=0 to CS:=NS oraz BestSoFar:=NS. 5. Każ Każda moż możliwa sytuacja na planszy moż może być być jednoznaczjednoznacznie zaklasyfikowana do jednej z nastę następują pujących kategorii: • Jeśli ΔE>0 to CS:=NS z prawdopodobieństwem p. • Zmniejsz temperaturę T. 4. Zwróć BestSoFar jako rozwiązanie i zakończ. 29 • • • • wygrana pierwszego gracza, wygrana drugiego gracza, remis, sytuacja nierozstrzygnię nierozstrzygnięta. 30 www.kwmimkm.polsl.pl • Pojedyncza partia gry moż może być być w peł pełni opisana przez cią ciąg naprzemiennych ruchó ruchów obu graczy, od począ początkowego ustawienia do rozstrzygnię rozstrzygnięcia. • Aby w dowolnym momencie partii wybrać wybrać najbardziej odpowiedni ruch dla jednego z graczy, moż można rozważ rozważyć wszystkie moż możliwe scenariusze jej dalszego cią ciągu. poziom gracza • Najczęś ciej stosowane podejś Najczęściej podejście: przyję c do wygrania partii przyjęcie zał założenia, że przeciwnik dążą dążąc zawsze wybiera najkorzystniejszy dla siebie (a wię więc najmniej korzystny dla gracza) ruch. poziom przeciwnika 32 31 www.kwmimkm.polsl.pl Algorytm minimini-max • Obecność Obecność przeciwnika, któ którego ruchy nie mogą mogą być być przewidziane i dokł dokładnie zaplanowane, zaplanowane, decyduje o istotnej odmiennoś odmienności zadania przeszukiwania w grach od innych zadań zadań przeszukiwania. • Istnieje zatem konieczność konieczność posł posługiwania się się specyficzspecyficznymi algorytmami. algorytmami. • Naturalna reprezentacja: drzewo gry. gry. poziom gracza www.kwmimkm.polsl.pl Peł Pełny minimini-max www.kwmimkm.polsl.pl • Najprostszy algorytm przeszukiwania drzew mają mający zastosowazastosowa-nie w nielosowych algorytmach gry w dwie osoby, np. np. szachó szachów. 1. Przypisz liś liściom drzewa ocenę ocenę jako uż użyteczność yteczność z punktu widzenia aktualnego gracza; • Dla każ każdego ruchu symulujemy wszystkie moż możliwe ruchy przeciwnika. • Za wartość wartość danego naszego ruchu uznajemy wartość wartość najlepszego z punktu przeciwnika ruchu, któ który moż może on wykonać wykonać, jeś jeśli my wykonamy dany ruch (część (część min). min). • Nastę Następnie wybieramy ruch o najwyż najwyższej wartoś wartości (część (część max). max). 2. Dla każ każdego poziomu k, drzewa, zaczynają zaczynając od poziomu przedostatniego i koń kończą cząc na poziomie 0, 1 1 3 -1 2 Obcię Obcięty minimini-max -1 1 4 2 2. jeś jeśli poziom k odpowiada przeciwnikowi aktualnego gracza, przypisz każ każdemu wę węzłowi tego poziomu ocenę ocenę wyznaczoną wyznaczoną jako minimum ocen jego węzłów potomnych z poziomu k+1; +1; 3. Wybierz ruch prowadzą prowadzący do wę węzła poziomu 1 o maksymalnej ocenie. -1 2 1. jeś jeśli poziom k odpowiada aktualnemu graczowi, przypisz każ każdemu wę węzłowi tego poziomu ocenę ocenę wyznaczoną wyznaczoną jako maksimum ocen jego wę węzłów potomnych z poziomu k+1; +1; -1 33 www.kwmimkm.polsl.pl • Ograniczenie głę bokośści analizowania drzewa gry do głęboko pewnej liczby poziomó poziomów (zależ (zależnej od zł złożonoś oności gry i dosdostępnej mocy obliczeniowej). • Wystą Wystąpią pią węzły terminalne odpowiadają odpowiadające nierozstrzygnię nierozstrzygniętej partii – należ należy je w jakiś jakiś sposó sposób ocenić ocenić. • Ich ocena nie moż może być być oparta na wyniku partii (brak rozstrzygnię rozstrzygnięcia) ani na ocenach wę węzłów potomnych (brak węzłów potomnych), lecz wyłą cznie na analizie zwią wyłącznie związanego z nim stanu gry – potrzebna jest funkcja heurystyczna... heurystyczna... Tak sformuł sformułowany algorytm zakł zakłada, ada, że dysponujemy zbudowanym peł pełnym drzewem gry – zwykle nie jest to moż możliwe... 34 www.kwmimkm.polsl.pl Algorytm minimini-max – zadowalają zadowalający, jeś jeśli stosowany stosowany do umiarkowanie złożonych gier albo wymagamy tylko umiarkowanego poziomu gry (poró porównywalnego ze średnim ludzkim graczem. graczem. http://wazniak.mimuw.edu.pl http://wazniak.mimuw.edu.pl//index.php?title=Sztuczna_inteligencja w module „Gry dwuosobowe” dwuosobowe” – postaci algorytmó algorytmów minimini-max i obcię obcięty minimini-max (wersja rekurencyjna). • F. heurystyczna ocenia użyteczność yteczność danego stanu z punktu widzenia gracza bez rozważ rozważania dalszych moż możliwych ruchó ruchów. 35 36 Cię Cięcia alfaalfa-beta www.kwmimkm.polsl.pl • Oparty na obcię obciętym algorytmie minimini-maks, maks, uwzglę uwzględniadniającym kryteria umoż umożliwiają liwiające bezpieczne pominię pominięcie (wycię (wycięcie) fragmentó fragmentów drzewa gry. • Rezygnacja z rozbudowy i analizy drzewa gry tam, gdzie jej wynik i tak nie wpł wpłynie na wybierany ruch. www.kwmimkm.polsl.pl Cię Cięcie alfa: oceniają oceniając wę węzeł zeł przez maksymalizację maksymalizację ocen węzłów potomnych moż możemy zakoń zakończyć czyć wyznaczanie oceny węzła potomnego natychmiast po stwierdzeniu, że musi być być ona niż niższa niż niż dotychczasowe maksimum α. Cię Cięcie beta: oceniają oceniając wę węzeł zeł przez minimalizację minimalizację ocen węzłów potomnych moż możemy zakoń zakończyć czyć wyznaczanie oceny węzła potomnego natychmiast po stwierdzeniu, że musi być być ona wyż wyższa niż niż dotychczasowe minimum β. • Oszczę Oszczędność dność zasobó zasobów, któ które moż można wykorzystać wykorzystać do przeszukiwania obiecują obiecujących fragmentó fragmentów drzewa gry. 1 1 3 α 2 -1<=α -1 -1 4 2 -1 37 38 www.kwmimkm.polsl.pl www.kwmimkm.polsl.pl • Skuteczność Skuteczność algorytmó algorytmów opartych na zasadzie miniminimaksu w duż dużej mierze zależ zależy od jakoś jakości uż używanej funkcji heurystycznej. heurystycznej. • W najskuteczniejszych programach grają grających w gry (zwł (zwłaszcza szachy) - niezwykle wyrafinowane funkcje heurystyczne, oparte na najwyż najwyższej klasy wiedzy eksperckiej i wielu eksperymentach. • Funkcja heurystyczna powinna: 1. Przypisywać Przypisywać ocenę ocenę dodatnią dodatnią stanowi, z któ którego wię większe szanse wygranej ma gracz, • Dobre podejś podejście: cie: by funkcja heurystyczna (nawet bardzo skuteczna) mogł mogła podlegać podlegać modyfikacjom na podstawie rozgrywanych partii (wyposaż (wyposażanie prograprogramów grają grających w gry w zdolność zdolność do uczenia się się). 2. Przypisywać Przypisywać ocenę ocenę ujemną ujemną stanowi, z któ którego wię większe szanse wygranej ma przeciwnik, 3. Przypisywać Przypisywać ocenę ocenę tym wię większą kszą co do wartoś wartości bezwzglę bezwzględnej, im przewaga szans wygranej gracza albo przeciwnika jest wię większa. 39 40 www.kwmimkm.polsl.pl www.kwmimkm.polsl.pl DOBÓR METODY HEURYSTYCZNEJ Pytania: 1. Czy moż można dokonać dokonać dekompozycji problemu? 2. Czy moż można ignorować ignorować/anulować /anulować pewne stany? 3. Czy wynik jest znany z gó góry? 4. Czy rozwią rozwiązanie jest wzglę względne czy bezwzglę bezwzględne? 5. Czy oczekiwane rozwią rozwiązanie jest stanem czy ścież cieżką? 6. Jaka ilość ilość wiedzy jest wymagana? 41 7. Czy program wymaga interakcji uż użytkownika? 42 Ad. 1. Dekompozycja problemu. www.kwmimkm.polsl.pl Podział Podział zadania na mniejsze, mniejsze, łatwiejsze do rozwią rozwiązania fragmenty. Klasy zadań zadań: 1. Z ignorowaniem błę dów - np. błęd np. dowodzenie twierdzeń twierdzeń: błędnie łędnie wykonane wnioskowanie moż można zignorować zignorować i poszukiwać poszukiwać innej drogi rozwią rozwiązania). Korzyś Korzyści: • Moż Możliwość liwość rozwią rozwiązania duż dużych zadań zadań, któ których nie moż można rozwią rozwiązać zać bez ich podział podziału; 2. Odwracalne - np. np. ósemka: moż możliwy jest powró powrót z niewł niewłaściwego stanu do poprzedniego, co daje szanse na znalezienie rozwią rozwiązania). • Mniejsze problemy moż można zazwyczaj rozwią rozwiązać zać w kró krótszym czasie. Sumaryczny czas obliczeń obliczeń po dekompozycji jest czę często kró krótszy niż niż dla zadania oryginalnego. Nie wszystkie problemy dają się dekomponować dekomponować... dają się 43 Ad. 3. Znajomość Znajomość wyniku. www.kwmimkm.polsl.pl 1. Pewny wynik (np. np. ósemka) 2. Niepewny wynik (np. np. szachy, brydż brydż) Ad. 4. Wzglę Względność dność rozwią rozwiązania. 1. Rozwią Rozwiązanie wzglę względne: problemy typu „dowolna ścież cieżka do rozwią rozwiązania” zania” – rozwią rozwiązywalne w rozsą rozsądnym czasie przy zastosowaniu dobrej heurystyki. 2. Rozwią Rozwiązanie bezwzglę bezwzględne: Problemy typu „najlepsza ścież cieżka do rozwią rozwiązania” zania” – wymagają wymagające bardziej wyczerpują wyczerpującego przeprzeszukiwania przestrzeni stanó stanów. 45 Ad. 7. Interakcja z uż użytkownikiem. www.kwmimkm.polsl.pl Ad. 2. Ignorowanie i anulowanie krokó kroków. www.kwmimkm.polsl.pl 1. Systemy samodzielne: Komputer szuka rozwią rozwiązania bez komunikacji z użytkowytkownikiem i nie wymaga się się wyjaś wyjaśniania procesu dochodzedochodze-nia do rozwią rozwiązania). Np.: dowodzenie twierdzeń twierdzeń. 3. Nieodwracalne - np. np. szachy. one Algorytm musi podejmować podejmować decyzje obciąż obciążone ryzykiem. Niezbę Niezbędna analiza w przó przód (planowanie). Ad. 5. Typy rozwią rozwiązań zań. 44 www.kwmimkm.polsl.pl 1. Pojedynczy stan z przestrzeni (istotny jest stan koń końcowy a nie wyniki poś pośrednie). 2. Ścież cieżka prowadzą prowadząca od stanu począ początkowego do rozwią rozwiązania (wynik jest znany, istotna jest droga dojś dojścia do niego). Ad. 6. Wiedza. 1. Problemy wymagają wymagające wiedzy do mechanizmu sterowania (wiedza niezbę niezbędna by usprawnić usprawnić algorytm sterowania i eliminować dane stany). Np szachy: eliminować niepożą niepożądane szachy: ruchy figur, strategia. 2. Problemy wymagają wymagające szerokiej wiedzy (wiedza ma pomó pomóc w okreś określeniu rozwią rozwiązania, nie tylko przysprzys46 pieszeniu jego znalezienia). Np. rozumienie tekstu. tekstu. www.kwmimkm.polsl.pl OPTYMALIZACJA 2. Systemy konwersacyjne: Wymagana jest interakcja z uż użytkownikiem. Np.: systemy ekspertowe i diagnozy medyczne. 47 48 www.kwmimkm.polsl.pl OPTYMALIZACJA: „Dział Działanie, mają mające na celu zwię zwiększenie efektywnoś efektywności aż do osią osiągnię gnięcia pewnego optimum” optimum”. Metody analityczne bezpoś bezpośrednie: www.kwmimkm.polsl.pl • Poruszanie się się po wykresie funkcji w kierunku wyznaczonym przez lokalny gradient (wspinaczka po najbardziej stromym zboczu z moż możliwych). • Cel gł główny: ulepszenie. ulepszenie. • Cel drugorzę drugorzędny: osią osiągnię gnięcie optimum. optimum. Metody analityczne poś pośrednie: METODY OPTYMALIZACJI ANALITYCZNE PRZEGLĄDOWE • Poszukiwanie ekstremó ekstremów lokalnych poprzez rozwią rozwiązanie ukł układu ró równań wnań (zwykle nieliniowych), otrzymanych poprzez przyró przyrównanie gradientu funkcji celu do zera. LOSOWE (enumeracyjne) pośrednie bezpośrednie 49 www.kwmimkm.polsl.pl GŁÓWNA WADA METOD ANALITYCZNYCH: 50 Funkcja trudna do optymalizacji metodami analitycznymi: analitycznymi: www.kwmimkm.polsl.pl f ( x1 , x2 ) = 21.5 ⋅ sin(4π x1 ) + x2 ⋅ sin(20π x2 ) MAŁ MAŁA ODPORNOŚĆ ODPORNOŚĆ x1∈[ -3.0, 12.1]; x 2 ∈[ 4.1, 5.8]; f Funkcja niemoż niemożliwa do optymalizacji metodami analitycznymi: analitycznymi: f(x) 51 x www.kwmimkm.polsl.pl www.kwmimkm.polsl.pl METODY ENUMERACYJNE: Czasem maksimum globalne nie jest pożą dane: pożądane: • Sprowadzają Sprowadzają się się do przeszukiwania wszystkich punktó punktów przestrzeni w poszukiwaniu optimum. • Algorytm niezwykle prosty lecz skuteczny jedynie w przypadku skoń skończonych, mał małych przestrzeni. • Zwykle sprawdzenie wszystkich moż możliwoś liwości jest niemoż niemożliwe w rozsą rozsądnym czasie (tzw. przekleń przekleństwo wymiaru). Preferowane referowane są czasem rozwią rozwiązania, zania, któ których otoczenie przyjmuje wartoś wartości bliskie temu ekstremum a nie te, dla któ których niewielkie oddalenie się się od ekstremum powoduje gwał gwałtowny spadek wartoś wartości funkcji. funkcji. Np: w przypadku inwestycji kapitał kapitałowych, owych, by nie ryzykować ryzykować straty z powodu niezbyt precyzyjnie zdefiniowanej funkcji, funkcji, bądź nieznacznej zmiany jakiegoś jakiegoś parametru funkcji. funkcji. 53 54 www.kwmimkm.polsl.pl www.kwmimkm.polsl.pl METODY LOSOWE: • W swej najprostszej postaci: bada się się losowo całą całą przestrzeń przestrzeń zadania nie korzystają korzystając z innych informacji. ALGORYTMY GENETYCZNE • Poszukiwanie takie jest zwykle bardzo czasochł czasochłonne (zwykle jednak mniej niż niż metody enumeracyjne). enumeracyjne). Algorytmy genetyczne i ewolucyjne ró również wnież zawiezawierają rają element losowoś losowości (algorytm zrandomizowany). zrandomizowany). 55 56 www.kwmimkm.polsl.pl www.kwmimkm.polsl.pl Karol Darwin (1859 „On the origin of species”): species”): • Ewolucja przez dobór naturalny oznacza, że przeżywają i rozmnażają się osobniki najlepiej przystosowane do warunków środowiska. • Wynik przystosowania zależy od: - organizmu; Gregor Johann Mendel (18221822-1884) 1884) austriacki zakonnik, augustianin, prekursor genetyki. genetyki. - środowiska. • Sformułował podstawowe prawa dziedziczenia (3 prawa Mendla), Mendla), przeprowadzając badania nad krzyżowaniem roślin, głównie grochu jadalnego. jadalnego. www.kwmimkm.polsl.pl • Na świat przychodzi duż dużo wię więcej potomstwa, niż niż moż może pomieś pomieścić cić środowisko. ALGORYTMY GENETYCZNE: www.kwmimkm.polsl.pl • Przeż Przeżywają ywają nieliczni, nieliczni, ale za to najlepsi (selekcja naturalna). • AG odwzorowują odwzorowują naturalne procesy ewolucji zachodzą zachodzące w czasie. • W procesie ewolucji istotne jest zachowywanie różnorodnoś norodności cech. • Ich celem jest maksymalne dopasowanie osobnikó osobników do istnieją istniejących warunkó warunków życia. • Sił Siła ewolucji to nie zaawansowany proces doskonadoskonalenia jednostki, jednostki, lecz utrzymywanie duż dużej liczby różnorodnych osobnikó osobników (tzw. populacji), któ która ewoluuje jako cał całość. ść. • Rolę Rolę środowiska speł spełnia tu funkcja oceniają oceniająca (funkcja celu). • Pomimo elementu losowoś dzą ą losowości AG nie błą błądz przypadkowo, lecz wykorzystują wykorzystują efektywnie przeszł przeszłe doś wiadczenia. doświadczenia. 59 60 www.kwmimkm.polsl.pl TERMINOLOGIA: www.kwmimkm.polsl.pl 100011011 John H. Holland, Holland, 1975: „Adaptation in Natural and Artificial Systems” Systems”: • gen – najmniejsza skł składowa chromosomu • Koncepcja algorytmu przeszukiwania opartego na zasadzie doboru naturalnego. • chromosom – uporzą uporządkowany cią ciąg genó genów (cią (ciąg kodowy). Zwykle utoż utożsamiany z osobnikiem; (decyduje o dziedzicznoś dziedziczności jednej lub kilku cech); • locus – miejsce genu w chromosomie; • Procedurę Procedurę probabilistycznego przeszukiwania dyskretnej przestrzeni stanó stanów nazwał nazwał algorytmem genetycznym. • allele – warianty (stany) jednego genu warunkują warunkujące daną daną cechę cechę; • populacja – pewna liczba osobnikó osobników (chromosomó (chromosomów); 61 TERMINOLOGIA: www.kwmimkm.polsl.pl 100011011 • genotyp – ogó ogół genó genów danego osobnika; • fenotyp – ogó ogół cech ujawniają ujawniających się się na zewną zewnątrz (np (np.. rozkodowana postać postać zmiennych projektowych); • mutacja – zmiana jednego lub kilku genó genów w chromosomie; • krzyż krzyżowanie – operacja mają mająca na celu wymianę wymianę materiał materiału genetycznego mię między osobnikami; • selekcja – wybó wybór osobnikó osobników, któ które zostaną zostaną poddane operacjom genetycznym. 62 SCHEMAT DZIAŁ DZIAŁANIA AG: www.kwmimkm.polsl.pl procedure algorytm_genetyczny begin t:=0 wybierz populację początkową P(t) oceń P(t) while (not warunek_zakończenia) do begin t:=t+1 wybierz P(t) z P(t-1) (selekcja) zmień P(t) (działanie operatorów genetycznych) oceń P(t) end end 63 64 www.kwmimkm.polsl.pl www.kwmimkm.polsl.pl ZASTOSOWANIA PRAKTYCZNE AG (i AE): • nieliniowe systemy dynamiczne – analiza danych; • wyznaczanie trasy połą czeń ń kablowych; połącze • przewidywanie; • harmonogramowanie; • projektowanie sieci neuronowych: architektury i wagi; • sterowanie adaptacyjne; • poruszanie robotem; • rozgrywanie gier; • tworzenie programó programów; • zadanie plecakowe; • planowanie; • zadanie komiwojaż komiwojażera; • znajdowanie kształ kształtu molekuł molekuł biał białek; • sterowanie optymalne; • tworzenie grafik i muzyki; • optymalizacja obsł obsługi pytań pytań w bazach danych; 65 • ... 66