METODY HEURYSTYCZNE wykład 2

Podobne dokumenty
METODY HEURYSTYCZNE wykład 2

METODY HEURYSTYCZNE wykład 2

STRATEGIE HEURYSTYCZNE HEURYSTYCZNE METODY HC: PROBLEM 8 KRÓLOWYCH METODA WZROSTU (SIMPLE) HILL-CLIMBING METODA NAJSZYBSZEGO WZROSTU

STRATEGIE HEURYSTYCZNE

METODY HEURYSTYCZNE wykład 2

STRATEGIE HEURYSTYCZNE HEURYSTYCZNE METODY METODA WZROSTU (SIMPLE) HC: PROBLEM 8 KRÓLOWYCH

Heurystyczne metody przeszukiwania

Metody przeszukiwania

Podstawy sztucznej inteligencji

ALGORYTMY GENETYCZNE I EWOLUCYJNE

Optymalizacja parametryczna (punkt kartezjańskim jest niewypukła).

Algorytm genetyczny (genetic algorithm)-

Heurystyki. Strategie poszukiwań

Elementy kognitywistyki II: Sztuczna inteligencja. WYKŁAD V: Agent wciąż szuka rozwiązania (choć już nie na ślepo)

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

Uniwersytet Zielonogórski Wydział Elektrotechniki, Informatyki i Telekomunikacji Instytut Sterowania i Systemów Informatycznych

Algorytmy genetyczne

Wybrane podstawowe rodzaje algorytmów

LABORATORIUM 2: Przeszukiwanie grafów cz. 2 strategie heurystyczne

OBLICZENIA EWOLUCYJNE

Sztuczna Inteligencja i Systemy Doradcze

OBLICZENIA EWOLUCYJNE

Optymalizacja. Wybrane algorytmy

Algorytmy genetyczne. Paweł Cieśla. 8 stycznia 2009

ĆWICZENIE 1: Przeszukiwanie grafów strategie heurystyczne

Obliczenia ewolucyjne - plan wykładu

Algorytmy genetyczne. Materiały do laboratorium PSI. Studia niestacjonarne

Wyznaczanie strategii w grach

Algorytmy genetyczne

Algorytmy ewolucyjne NAZEWNICTWO

Metody Optymalizacji: Przeszukiwanie z listą tabu

Elementy kognitywistyki II:

SID Wykład 2 Przeszukiwanie

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

Równoważność algorytmów optymalizacji

Planowanie drogi robota, algorytm A*

Algorytmy genetyczne. Materiały do laboratorium PSI. Studia stacjonarne i niestacjonarne

Algorytmy dla gier dwuosobowych

SZTUCZNA INTELIGENCJA

METODY HEURYSTYCZNE wykład 1

Dobór parametrów algorytmu ewolucyjnego

Marcel Stankowski Wrocław, 23 czerwca 2009 INFORMATYKA SYSTEMÓW AUTONOMICZNYCH

OBLICZENIA EWOLUCYJNE

Podstawy sztucznej inteligencji

Techniki optymalizacji

ALGORYTMY GENETYCZNE (wykład + ćwiczenia)

Aproksymacja funkcji a regresja symboliczna

Generowanie i optymalizacja harmonogramu za pomoca

Strefa pokrycia radiowego wokół stacji bazowych. Zasięg stacji bazowych Zazębianie się komórek

Metody Rozmyte i Algorytmy Ewolucyjne

ALGORYTMY EWOLUCYJNE

Działanie algorytmu oparte jest na minimalizacji funkcji celu jako suma funkcji kosztu ( ) oraz funkcji heurystycznej ( ).

Algorytmy genetyczne

Strategie ewolucyjne (ang. evolu4on strategies)

w analizie wyników badań eksperymentalnych, w problemach modelowania zjawisk fizycznych, w analizie obserwacji statystycznych.

Wstęp do Sztucznej Inteligencji

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

Automatyczny dobór parametrów algorytmu genetycznego

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

ALGORYTMY EWOLUCYJNE W OPTYMALIZACJI JEDNOKRYTERIALNEJ

Algorytmy ewolucyjne 1

SCHEMAT ROZWIĄZANIA ZADANIA OPTYMALIZACJI PRZY POMOCY ALGORYTMU GENETYCZNEGO

Algorytmy metaheurystyczne podsumowanie

Optymalizacja. Przeszukiwanie lokalne

Podstawy Sztucznej Inteligencji (PSZT)

Politechnika Wrocławska Wydział Elektroniki INFORMATYKA SYSTEMÓW AUTONOMICZNYCH. Heurystyka, co to jest, potencjalne zastosowania

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

Sztuczne sieci neuronowe. Krzysztof A. Cyran POLITECHNIKA ŚLĄSKA Instytut Informatyki, p. 311

ALGORYTMY GENETYCZNE ćwiczenia

Wprowadzenie do Sztucznej Inteligencji

Zadania laboratoryjne i projektowe - wersja β

Algorytmy genetyczne w optymalizacji

Techniki optymalizacji

Optymalizacja ciągła

METODY HEURYSTYCZNE wykład 1

Algorytmy stochastyczne, wykład 01 Podstawowy algorytm genetyczny

Schemat programowania dynamicznego (ang. dynamic programming)

Algorytmy memetyczne (hybrydowe algorytmy ewolucyjne)

Rozwiązywanie problemów metodą przeszukiwania

6. Klasyczny algorytm genetyczny. 1

OSTASZEWSKI Paweł (55566) PAWLICKI Piotr (55567) Algorytmy i Struktury Danych PIŁA

METODY HEURYSTYCZNE wykład 1

Algorytm memetyczny dla rzeczywistego problemu planowania tras pojazdów

Algorytmy ewolucyjne (3)

Odkrywanie algorytmów kwantowych za pomocą programowania genetycznego

Algorytmy mrówkowe (optymalizacja kolonii mrówek, Ant Colony optimisation)

ĆWICZENIE 1: Przeszukiwanie grafów cz. 1 strategie ślepe

Algorytmy genetyczne (AG)

Struktury danych i złożoność obliczeniowa Wykład 7. Prof. dr hab. inż. Jan Magott

Metody Programowania

CZYM JEST SZTUCZNA INTELIGENCJA? REPREZENTACJA WIEDZY SZTUCZNA INTELIGENCJA PROJEKTOWANIE ALGORYTMÓW I METODY SZTUCZNEJ INTELIGENCJI

Zadanie 5 - Algorytmy genetyczne (optymalizacja)

Tworzenie gier na urządzenia mobilne

Sztuczna Inteligencja i Systemy Doradcze

Ćwiczenie 1 Planowanie trasy robota mobilnego w siatce kwadratów pól - Algorytm A

SZTUCZNA INTELIGENCJA

Elementy sztucznej inteligencji. Materiał udostępniony na prawach rękopisu

Ekologia wyk. 1. wiedza z zakresu zarówno matematyki, biologii, fizyki, chemii, rozumienia modeli matematycznych

Wstęp do Sztucznej Inteligencji

Metoda określania pozycji wodnicy statków na podstawie pomiarów odległości statku od głowic laserowych

Transkrypt:

METODY HEURYSTYCZNE wykład 2

2 STRATEGIE HEURYSTYCZNE

METODA WZROSTU (SIMPLE) HILL HILL-CLIMBING Operator - działanie anie podejmowane w stosunku do stanu aktualnego aby otrzymać z niego kolejny stan. 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. Strategia stosowana do zagadnień ciągłych oraz dyskretnych. 3

HC: PROBLEM 8 KRÓLOWYCH Lokalne minimum: Stan ma 1 konflikt. Każde przesunięcie w kolumnie zwiększa liczbę konfliktów. 4

METODA NAJSZYBSZEGO WZROSTU (STEEPEST-ASCENT HILL-CLIMBING CLIMBING) 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ę ze stanu bieżą żącego do pierwszego stanu dla którego wartość funkcji oceniającej cej okazała a się lepsza. W SAHC sprawdza się dla każdego stanu wszystkie ope- ratory i wybiera się ten, który daje najlepszy nowy stan. 5

WADY METODY HILL CLIMBING 1. Rozwija jedną ścieżkę. 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) 7 W wersji podstawowej tożsamy z HC dla wariantu dyskretnego. W procesie poszukiwania zawsze można wróci cić do węzła a lepszego (jeśli sąs pamiętane). Wersje: szukanie zachłanne; anne; A*.

SZUKANIE ZACHŁANNE ANNE (GREEDY SEARCH) Jedna z najprostszych strategii BF. F. heurystyczna szacuje pozostałe e koszty dotarcia do celu (jak: odległość od celu). Najpierw rozwijany jest najbliższy węzeł. Problemy szukania drogi: metryki: 1. Euklidesowa; 2. Manhattan (poruszanie się tylko po liniach poziomych i pionowych). W innych problemach: oceny podobieństwa stwa. 8

Zerind Arad 118 75 71 Oradea 140 Timisoara 111 Mehadia 75 Dobreta 151 Lugoj 70 Sibiu 120 80 99 Rimnicu Vilcea 146 97 138 Craiova Fagaras Pitesti 101 211 90 Neamt 85 Bucharest Giurgiu 87 Arad 366 Iasi 92 142 98 Urziceni Vaslui Hirsova Eforie 86 W linii prostej do Bukaresztu z: Arad 366 Bucharest 0 Craiova 160 Dobreta 242 Eforie 161 Fagaras 176 Giurgiu 77 Hirsova 151 Iasi 226 Lugoj 244 Mehadia 241 Neamt 234 Oradea 380 Pitesti 98 Rimnicu Vilcea 193 Sibiu 253 Timisoara 329 Urziceni 80 Vaslui 199 Zerind 374 Sibiu 253 Timisoara 329 Zerind 374 Arad 366 Oradea 380 Sibiu 253 Fagaras Rimnicu Vilcea 176 193 Bucharest 0 450km 418km

Znalezione rozwiązanie zanie jest suboptymalne (o 32 km dłuższe niż droga optymalna). Strategia zachłanna anna próbuje maksymalnie zmniejszyć koszt dotarcia do celu bez oceny, czy na dłuższa d metę jest to najlepsze zachowanie. GS może źle wystartować i utknąć w ślepej uliczce: Zerind Arad 118 75 71 Oradea 151 140 Sibiu 80 99 Fagaras Neamt 87 Iasi 92 Vaslui Timisoara 111 Mehadia 75 Dobreta Lugoj 70 120 Rimnicu Vilcea 97 Craiova Pitesti 146 101 138 211 90 85 Bucharest Giurgiu 142 98 Urziceni Hirsova Eforie 86 10

GS nie jest algorytmem optymalnym (niekoniecznie znajduje rozwiązanie zanie o minimalnym koszcie). GS nie jest algorytmem zupełnym (nie zawsze znajduje rozwiązanie). zanie). Złożoność czasowa GS w najgorszym razie wynosi O(b m ),, dla m kroków w w głąg łąb b i średnio b możliwo liwości. Złożoność pamięciowa GS wynosi O(b m ) (przechowuje wszystkie węzły w y w pamięci). Alternatywa: : minimalizacja kosztów w dojścia do dane-go węzła g(n) metoda zupełna i optymalna,, lecz mało efektywna Metoda A * łączy obydwa podejścia. 11

STRATEGIA A * Funkcji heurystyczna oceniająca ca koszty najtańszego rozwiązania zania przechodzącego cego przez węzew 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 docelowego. 1. Rozpocznij od węzła początkowego i twórz nowe węzły {n} dopóki cel nie zostanie osiągnięty; 2. Posortuj nowe węzły {n} zgodnie z funkcją: f(n)=g(n)+h(n). 3. Odrzuć ścieżki zapętlone. 4. Wybierz najlepszy węzeł n 5. Zostaw tylko najtańszą ścieżkę do n. 6. Jeśli n jest celem skończ; jeśli nie, rozwijaj dalsze węzły {n} łącznie z n 12

Zerind Arad 118 71 Oradea 75 151 140 Mehadia Dobreta Lugoj Sibiu 80 99 Timisoara Rimnicu Vilcea 111 75 70 120 418km 97 Craiova Fagaras Pitesti 146 101 138 211 Neamt 85 87 Bucharest Iasi 92 142 98 Urziceni Vaslui Hirsova 86 90 Eforie Giurgiu 1 Arad 0+366=366 W linii prostej do Bukaresztu z: Arad 366 Bucharest 0 Craiova 160 Dobreta 242 Eforie 161 Fagaras 176 Giurgiu 77 Hirsova 151 Iasi 226 Lugoj 244 Mehadia 241 Neamt 234 Oradea 380 Pitesti 98 Rimnicu Vilcea 193 Sibiu 253 Timisoara 329 Urziceni 80 Vaslui 199 Zerind 374 2 Sibiu 140+253=393 Timisoara 118+329=447 Zerind 75+374+449 Arad Oradea 5 Fagaras 239+176=415 Rimnicu 280+366=646 291+380=671 Sibiu Bucharest 338+253=591 450+0=450 Craiova 4 3 Pitesti Vilcea 220+193=413 Sibiu 366+160=526 317+100=417 300+253=553 Rimnicu Vilcea Bucharest Craiova 7 414+193=607 418+0=418 455+260=615 6

14 A* jest algorytmem optymalnym (znajduje rozwiązanie zanie o minimalnym koszcie) jeśli heurystyka h jest dopuszczalna. A* jest algorytmem zupełnym (zawsze znajduje rozwiąza za- nie) ) jeśli nie ma nieskończenie wielu stanów w takich, że: f f (G) gdzie: G - stan docelowy. Złożoność czasowa: wykładnicza względem [błą łąd d względny h dług. rozwiązania]. zania]. Złożoność pamięciowa: O(b m ) (przechowuje wszystkie węzły w y w pamięci).

DOPUSZCZALNOŚĆ HEURYSTYKI Funkcja heurystyczna h(n) jest dopuszczalna,, jeśli w każdym stanie n spełnia następuj pujący warunek: h(n) h * (n) h * (n) - rzeczywisty koszt ścieżki od stanu n do celu. Np.: A stan początkowy; F stan docelowy; Na krawędziach: rzecz. koszty przejścia między stanami; Wartości f. heurystycznej h(n): h(-) A 10 B 3 C 7 D 4 E 2 F 0 15

Np.: Zerind Arad 118 75 71 Oradea 140 Timisoara 111 Mehadia 75 Dobreta 151 Lugoj 70 Sibiu 120 80 99 Rimnicu Vilcea 146 97 Craiova Fagaras Pitesti Neamt F. odległości w linii prostej h SLD - nigdy nie przekracza rzeczywistej odleg 138 101 211 90 85 Iasi Urziceni Bucharest Giurgiu 87 92 142 98 Vaslui Hirsova Eforie 86 SLD(n) jest dopuszczalna: odległości drogowej. hsld(n): Arad 366 Bucharest 0 Craiova 160 Dobreta 242 Eforie 161 Fagaras 176 Giurgiu 77 Hirsova 151 Iasi 226 Lugoj 244 Mehadia 241 Neamt 234 Oradea 380 Pitesti 98 Rimnicu Vilcea 193 Sibiu 253 Timisoara 329 Urziceni 80 Vaslui 199 Zerind 374 16

SPÓJNO JNOŚĆ HEURYSTYKI Dopuszczalna funkcja heurystyczna h(n) jest spójna (spełnia wymóg monotoniczności ci), jeżeli eli dla każdego węzła n i każdego jego następcy n : h(n) c(n,n ) ) + h (n ) n c(n,n ) n h(n) h(n ) Jeżeli eli heurystyka h(n) jest spójna, to A* znajdzie optymalną ścieżkę. 17

(ITERATIVE DEEPENING A*) 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. Obcinane sąs węzły, których wartość funkcji oceny leży poniżej progu T. Poziom obcinania jest iteracyjnie zwiększany, aża do osiągni gnięcia celu. Zalety: : niewielkie wymagania pamięciowe - jak w szukaniu w głąg łąb - jednakże e szybsza. 18

SYMULOWANE WYŻARZANIE (SIMULATED ANNEALING) Algorytm z rodziny algorytmów Generuj i Testuj. Odmiana algorytmu największego wzrostu, w której rozwiązuje zuje się problem lokalnych ekstremów. Dopuszcza się przejścia ze stanu bieżą żącego także e do stanów gorszych (uniezależnienie nienie się od punktu startowego i badanie znacznie większego obszaru przestrzeni rozwiąza zań). W miarę upływu czasu prawdopodobieństwo wykonania złego posunięcia zmniejsza się. 19

20 Z metalurgii: Kawałek metalu ogrzewany i pozostawiany do powolnego ostygnięcia. Powolne i regularne chłodzenie - obniżenie poziomu energii atomów w do momentu znalezienia się w stanie metastabilnym (o minimalnej energii). Gwałtowne ochłodzenie: odzenie: zamrożenie atomów w na przypadkowych pozycjach.

21 Prawdopodobieństwo przejścia do wyższego stanu energetycznego: p = e ΔE / kt ΔE zmiana energii stanu; T temperatura przy jakiej następuje przejście do wyższego stanu energetycznego; k stała Boltzmanna.

SZTUCZNE SYMULOWANE WYŻARZANIE p' = e ΔE / T ΔE zmiana funkcji heurystycznej; T temperatura (tempo studzenia, rozkład wyżarzania arzania). Rozkład wyżarzania musi być dany (założony). ony). Najczęś ęściej jest związany zany z czasem (krokiem) procesu. Prawdopodobieństwo małego skoku w kierunku wzrastającej energii jest większe niż dużego skoku. Prawdopodobieństwo skoku powodującego wzrost energii zmniejsza się wraz ze spadkiem temperatury. Wielkość skoków w maleje z upływem czasu. 22

23 1. Wygeneruj stan początkowy (CS). 2. Ustaw początkową temperaturę T oraz stan BestSoFar:=CS. 3. Dopóki T>0 i są stany nie wykorzystane jako CS: Wybierz jeden z niewykorzystanych stanów i nazwij go NS. Oblicz ΔE=E(NS) E(CS). Jeśli ΔE<=0 to CS:=NS oraz BestSoFar:=NS. Jeśli ΔE>0 to CS:=NS z prawdopodobieństwem p. Zmniejsz temperaturę T. 4. Zwróć BestSoFar jako rozwiązanie i zakończ.

GRY DWUOSOBOWE Typowe założenia: 1. W grze uczestniczy dwóch graczy. 2. Gracze wykonują ruchy naprzemiennie. 3. W każdej sytuacji na planszy jest skończona liczba możliwych do wykonania ruchów. 4. Sytuacja na planszy i wykonany ruch jednoznacznie wyznaczają następn pną sytuację na planszy. 5. Każda możliwa sytuacja na planszy może e być jednoznacz- nie zaklasyfikowana do jednej z następuj pujących kategorii: wygrana pierwszego gracza, wygrana drugiego gracza, remis, sytuacja nierozstrzygnięta. ta. 24

25 Pojedyncza partia gry może e być w pełni opisana przez ciąg naprzemiennych ruchów w obu graczy, od początkowego ustawienia do rozstrzygnięcia. Aby w dowolnym momencie partii wybrać najbardziej odpowiedni ruch dla jednego z graczy, można rozważyć wszystkie możliwe scenariusze jej dalszego ciągu. Naturalna reprezentacja: drzewo gry. poziom gracza poziom przeciwnika poziom gracza

26 Obecność przeciwnika, którego ruchy nie mogą być przewidziane i dokładnie zaplanowane,, decyduje o istotnej odmienności zadania przeszukiwania w grach od innych zadań przeszukiwania. Istnieje zatem konieczność posługiwania się specyficz- nymi algorytmami. Najczęś ęściej stosowane podejście: przyjęcie założenia, że e przeciwnik dążąd ążąc c do wygrania partii zawsze wybiera najkorzystniejszy dla siebie (a więc najmniej korzystny dla gracza) ruch.

Algorytm mini-max max Najprostszy algorytm przeszukiwania drzew mający zastosowa-nie w nielosowych algorytmach gry w dwie osoby, np.. szachów. Dla każdego ruchu symulujemy wszystkie możliwe ruchy przeciwnika. Za wartość danego naszego ruchu uznajemy wartość najlepszego z punktu przeciwnika ruchu, który może e on wykonać,, jeśli my wykonamy dany ruch (część min). Następnie wybieramy ruch o najwyższej wartości (część max). 1-1 -1 1 3 2-1 1 2 4 2-1 27

Pełny mini-max max 1. Przypisz liściom drzewa ocenę jako użytecznou yteczność z punktu widzenia aktualnego gracza; 2. Dla każdego poziomu k,, drzewa, zaczynając c od poziomu przedostatniego i kończ cząc c na poziomie 0, 1. jeśli poziom k odpowiada aktualnemu graczowi, przypisz każdemu węzłowi w tego poziomu ocenę wyznaczoną jako maksimum ocen jego węzłów w potomnych z poziomu k+1; 2. jeśli poziom k odpowiada przeciwnikowi aktualnego gracza, przypisz każdemu węzłowi w tego poziomu ocenę wyznaczoną jako minimum ocen jego węzłów w potomnych z poziomu k+1; 3. Wybierz ruch prowadzący do węzła w a poziomu 1 o maksymalnej ocenie. Tak sformułowany owany algorytm zakłada ada, że dysponujemy zbudowanym pełnym drzewem gry zwykle nie jest to możliwe... 28

Obcięty mini-max max Ograniczenie głęg łębokości analizowania drzewa gry do pewnej liczby poziomów w (zależnej od złożonoz oności gry i dostępnej mocy obliczeniowej). Wystąpi pią węzły y terminalne odpowiadające nierozstrzygniętej tej partii należy y je w jakiś sposób b ocenić. Ich ocena nie może e być oparta na wyniku partii (brak rozstrzygnięcia) ani na ocenach węzłów w w potomnych (brak węzłów w potomnych), lecz wyłą łącznie na analizie związanego zanego z nim stanu gry potrzebna jest funkcja heurystyczna... F. heurystyczna ocenia użyteczność danego stanu z punktu widzenia gracza bez rozważania ania dalszych możliwych ruchów. 29

30 Algorytm mini-max max zadowalający, jeśli stosowany do umiarkowanie złożonychonych gier albo wymagamy tylko umiarkowanego poziomu gry (porównywalnego ze średnim ludzkim graczem. http://wazniak.mimuw.edu.pl wazniak.mimuw.edu.pl/index.php?title=sztuczna_inteligencjaindex.php?title=sztuczna_inteligencja w module Gry dwuosobowe postaci algorytmów w mini-max max i obcięty mini-max max (wersja rekurencyjna).

Cięcia alfa-beta 31 Oparty na obciętym algorytmie mini-maks maks, uwzględnia dniającym kryteria umożliwiaj liwiające bezpieczne pominięcie (wycięcie) cie) fragmentów w drzewa gry. Rezygnacja z rozbudowy i analizy drzewa gry tam, gdzie jej wynik i tak nie wpłynie na wybierany ruch. Oszczędno dność zasobów, które można wykorzystać do przeszukiwania obiecujących cych fragmentów w drzewa gry.

Cięcie alfa: oceniając c węzew zeł przez maksymalizację ocen węzłów w potomnych możemy zakończy czyć wyznaczanie oceny węzła a potomnego natychmiast po stwierdzeniu, że e musi być ona niższa niż dotychczasowe maksimum α. Cięcie beta: oceniając c węzew zeł przez minimalizację ocen węzłów w potomnych możemy zakończy czyć wyznaczanie oceny węzła a potomnego natychmiast po stwierdzeniu, że e musi być ona wyższa niż dotychczasowe minimum β. α 1-1<=α -1 1 3 2-1 4 2-1 32

Skuteczność algorytmów w opartych na zasadzie mini- maksu w dużej mierze zależy y od jakości używanej u funkcji heurystycznej. Funkcja heurystyczna powinna : 1. Przypisywać ocenę dodatnią stanowi, z którego większe szanse wygranej ma gracz, 2.. Przypisywać ocenę ujemną stanowi, z którego większe szanse wygranej ma przeciwnik, 3.. Przypisywać ocenę tym większ kszą co do wartości bezwzględnej, im przewaga szans wygranej gracza albo przeciwnika jest większa. 33

34 W najskuteczniejszych programach grających w gry (zwłaszcza szachy) - niezwykle wyrafinowane funkcje heurystyczne, oparte na najwyższej klasy wiedzy eksperckiej i wielu eksperymentach. Dobre podejście cie: : by funkcja heurystyczna (nawet bardzo skuteczna) mogła podlegać modyfikacjom na podstawie rozgrywanych partii (wyposażanie anie programów grających w gry w zdolność do uczenia się).

35 DOBÓR R METODY HEURYSTYCZNEJ

Pytania: 36 1. Czy można dokonać dekompozycji problemu? 2. Czy można ignorować/anulowa /anulować pewne stany? 3. Czy wynik jest znany z góry? g 4. Czy rozwiązanie zanie jest względne czy bezwzględne? 5. Czy oczekiwane rozwiązanie zanie jest stanem czy ścieżką? 6. Jaka ilość wiedzy jest wymagana? 7. Czy program wymaga interakcji użytkownika? u

Ad. 1. Dekompozycja problemu. 37 Podział zadania na mniejsze, łatwiejsze do rozwiązania zania fragmenty. Korzyści: Możliwo liwość rozwiązania zania dużych zadań,, których nie można rozwiąza zać bez ich podziału; Mniejsze problemy można zazwyczaj rozwiąza zać w krótszym czasie. Sumaryczny czas obliczeń po dekompozycji jest często krótszy niż dla zadania oryginalnego. Nie wszystkie problemy dają się dekomponować...

Klasy zadań: Ad. 2. Ignorowanie i anulowanie kroków. 1. Z ignorowaniem błęb łędów - np.. dowodzenie twierdzeń: błędnie wykonane wnioskowanie można zignorować i poszukiwać innej drogi rozwiązania). zania). 2. Odwracalne - np. ósemka: możliwy jest powrót t z niewłaściwego stanu do poprzedniego, co daje szanse na znalezienie rozwiązania). zania). 3. Nieodwracalne - np.. szachy. Algorytm musi podejmować decyzje obciąż ążone ryzykiem. Niezbędna analiza w przód d (planowanie). 38

Ad. 3. Znajomość wyniku. 1. Pewny wynik (np. ósemka) 2. Niepewny wynik (np.. szachy, brydż) Ad. 4. Względno dność rozwiązania. zania. 1. Rozwiązanie zanie względne: problemy typu dowolna ścieżka do rozwiązania zania rozwiązywalne zywalne w rozsądnym czasie przy zastosowaniu dobrej heurystyki. 2. Rozwiązanie zanie bezwzględne: Problemy typu najlepsza ścieżka do rozwiązania zania wymagające bardziej wyczerpującego cego prze- szukiwania przestrzeni stanów. w. 39

Ad. 5. Typy rozwiąza zań. 1. Pojedynczy stan z przestrzeni (istotny jest stan końcowy a nie wyniki pośrednie). 2. Ścieżka prowadząca od stanu początkowego do rozwiązania zania (wynik jest znany, istotna jest droga dojścia do niego). Ad. 6. Wiedza. 1. Problemy wymagające wiedzy do mechanizmu sterowania (wiedza niezbędna by usprawnić algorytm sterowania i eliminować niepożą żądane stany). Np szachy: ruchy figur, strategia. 2. Problemy wymagające szerokiej wiedzy (wiedza ma pomóc c w określeniu rozwiązania, zania, nie tylko przys- pieszeniu jego znalezienia). Np. rozumienie tekstu. 40

Ad. 7. Interakcja z użytkownikiem. u 41 1. Systemy samodzielne: Komputer szuka rozwiązania zania bez komunikacji z użytkowu ytkow- nikiem i nie wymaga się wyjaśniania procesu dochodzenia do rozwiązania). zania). Np.: dowodzenie twierdzeń. 2. Systemy konwersacyjne: Wymagana jest interakcja z użytkownikiem. u Np.: systemy ekspertowe i diagnozy medyczne.

PRZYKŁAD: dobór r heurystyki dla ósemki Liczba węzłów w w w drzewie: 322 Przykładowe heurystyki: h 1 (n) = liczba niewłaściwie ułożonych u onych elementów; h 2 (n) = sumaryczna odległość Manhattan (określaj lająca liczbę pól l do pożą żądanego położenia). S G h 1 (S) = 6 h 2 (S) = 4+0+3+3+1+0+2+1= +2+1=1414 42

Jeśli obie heurystyki są dopuszczalne i dla każdego n h 2 (n) h 1 (n), to: h 2 zdominuje h 1 i gwarantuje odwiedzenie mniejszej liczby węzłów w w. Dla ósemki h 2 jest lepszą heurystyką niż h 1 Przykładowo, dla różnych r głęg łębokości przeszukiwań d: d=8: IDS 6384 węzłów A*(h 1 ) 39 węzłów A*(h 2 ) 25 węzłów Z k dopuszczalnych heurystyk wybiera się: h(n)=max[ )=max[h 0 (n),, h k (n)] d=14: IDS nieopłacalne A*(h 1 ) 539 węzłów A*(h 2 ) 113 węzłów 43

44 OPTYMALIZACJA

45 OPTYMALIZACJA: Działanie, anie, mające na celu zwiększenie efektywności aż do osiągni gnięcia pewnego optimum. Cel główny: g ulepszenie. Cel drugorzędny: dny: osiągni gnięcie optimum. METODY OPTYMALIZACJI ANALITYCZNE pośrednie PRZEGLĄDOWE (enumeracyjne) LOSOWE bezpośrednie

46 Metody analityczne bezpośrednie: Poruszanie się po wykresie funkcji w kierunku wyznaczonym przez lokalny gradient (wspinaczka po najbardziej stromym zboczu z możliwych). Metody analityczne pośrednie: Poszukiwanie ekstremów w lokalnych poprzez rozwiązanie zanie układu równar wnań (zwykle nieliniowych), otrzymanych poprzez przyrównanie gradientu funkcji celu do zera.

47 GŁÓWNA WADA METOD ANALITYCZNYCH: MAŁA A ODPORNOŚĆ

Funkcja trudna do optymalizacji metodami analitycznymi: x f ( x, x ) = 21.5 sin(4 π x ) + x sin(20 π x ) 1 2 1 2 2 [ ] [ ] x -3.0, 12.1 ; x 4.1, 5.8 ; 1 2 f Funkcja niemożliwa do optymalizacji metodami analitycznymi: f(x)

Czasem maksimum globalne nie jest pożą żądane: Preferowane są czasem rozwiązania zania, których otoczenie przyjmuje wartości bliskie temu ekstremum a nie te, dla których niewielkie oddalenie się od ekstremum powoduje gwałtowny spadek wartości funkcji. Np: w przypadku inwestycji kapitałowych owych, by nie ryzykować straty z powodu niezbyt precyzyjnie zdefiniowanej funkcji, bądź nieznacznej zmiany jakiegoś parametru funkcji. 49

50 METODY ENUMERACYJNE: Sprowadzają się do przeszukiwania wszystkich punktów przestrzeni w poszukiwaniu optimum. Algorytm niezwykle prosty lecz skuteczny jedynie w przypadku skończonych, małych przestrzeni. Zwykle sprawdzenie wszystkich możliwo liwości jest niemożliwe w rozsądnym czasie (tzw. przekleństwo wymiaru).

51 METODY LOSOWE: W swej najprostszej postaci: bada się losowo całą przestrzeń zadania nie korzystając c z innych informacji. Poszukiwanie takie jest zwykle bardzo czasochłonne onne (zwykle jednak mniej niż metody enumeracyjne). Algorytmy genetyczne i ewolucyjne równier wnież zawie- rają element losowości (algorytm zrandomizowany).

52 ALGORYTMY GENETYCZNE

Karol Darwin (1859 On the origin of species ): Gregor Johann Mendel (1822-1884) 1884) - austriacki zakonnik, augustianin, prekursor genetyki. Sformułowa ował podstawowe prawa dziedziczenia (3 prawa Mendla), przeprowadzając c badania nad krzyżowaniem roślin, głównie g grochu jadalnego.

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; - środowiska.

55 Na świat przychodzi dużo o więcej potomstwa, niż może pomieści cić środowisko. Przeżywaj ywają nieliczni,, ale za to najlepsi (selekcja naturalna). W procesie ewolucji istotne jest zachowywanie różnorodności cech. Siła a ewolucji to nie zaawansowany proces doskona- lenia jednostki,, lecz utrzymywanie dużej liczby różnorodnych osobników (tzw. populacji), która ewoluuje jako całość ść.

ALGORYTMY GENETYCZNE: 56 AG odwzorowują naturalne procesy ewolucji zachodzą- ce w czasie. Ich celem jest maksymalne dopasowanie osobników do istniejących warunków życia. Rolę środowiska spełnia tu funkcja oceniająca ca (funkcja celu). Pomimo elementu losowości AG nie błąb łądzą przypadkowo, lecz wykorzystują efektywnie przeszłe doświadczenia wiadczenia.

John H. Holland,, 1975: Adaptation in Natural and Artificial Systems : Koncepcja algorytmu przeszukiwania opartego na zasadzie doboru naturalnego. Procedurę probabilistycznego przeszukiwania dyskretnej przestrzeni stanów w nazwał algorytmem genetycznym. 57

58 TERMINOLOGIA: 100011011 gen najmniejsza składowa chromosomu (decyduje o dziedziczności ci jednej lub kilku cech); chromosom uporządkowany ciąg g genów w (ciąg kodowy). Zwykle utożsamiany z osobnikiem; locus miejsce genu w chromosomie; allele warianty (stany) jednego genu warunkujące daną cechę; populacja pewna liczba osobników w (chromosomów);

TERMINOLOGIA: 100011011 genotyp ogół genów w danego osobnika; fenotyp ogół cech ujawniających się na zewnątrz (np( np. rozkodowana postać zmiennych projektowych); mutacja zmiana jednego lub kilku genów w w chromosomie; krzyżowanie operacja mająca na celu wymianę materiału u genetycznego między osobnikami; selekcja wybór r osobników, które zostaną poddane operacjom genetycznym. 59

60 SCHEMAT DZIAŁANIA ANIA AG: 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) oceń P(t) end end (działanie operatorów genetycznych)

ZASTOSOWANIA PRAKTYCZNE AG (i AE): wyznaczanie trasy połą łączeń kablowych; harmonogramowanie; sterowanie adaptacyjne; rozgrywanie gier; zadanie plecakowe; zadanie komiwojażera; sterowanie optymalne; optymalizacja obsługi pytań w bazach danych; 61

nieliniowe systemy dynamiczne analiza danych; przewidywanie; projektowanie sieci neuronowych: architektury i wagi; poruszanie robotem; tworzenie programów; planowanie; znajdowanie kształtu tu molekuł białek; tworzenie grafik i muzyki;... 62