Sztuczna inteligencja Heurystyki. Strategie poszukiwań Jacek Bartman Zakład Elektrotechniki i Informatyki Instytut Techniki Uniwersytet Rzeszowski
DLACZEGO METODY PRZESZUKIWANIA? Sztuczna Inteligencja powszechnie wykorzystuje metody przeszukiwania, gdyż: dla większości zadań nie można z góry określić ciągu czynności prowadzących do rozwiązania gdyż wynikają one z analizy kolejnych alternatyw. zaletą metod przeszukiwania jest łatwość formułowania zadań. Wymagają one określenia zbioru stanów przestrzeni rozwiązywanego problemu, zbioru operatorów przekształcających te stany, stanu początkowego oraz zbioru stanów końcowych. rozwiązania polega na określeniu sekwencji operatorów prowadzących od stanu początkowego do stanu końcowego. W każdym stanie najczęściej można wykorzystać kilka operatorów. Zadaniem metody przeszukiwania jest wybranie operatora możliwie najlepszego (zgodnie z przyjętymi kryteriami).
JAK MOŻEMY PRZESZUKIWAĆ? Przypuśćmy, że upadło nam szkło kontaktowe. Oto możliwe sposoby jego poszukiwania: szukanie ślepe schylamy się i szukamy losowo po omacku, szukanie systematyczne w metodyczny i zorganizowany sposób rozszerzamy powierzchnię przeszukiwaną, szukanie analityczne rozwiązujemy równanie matematyczne opisujące spadek szkła z uwzględnieniem praw fizyki (zupełnie niepraktyczne), szukanie heurystyczne analizujemy w którym kierunku i na jaka odległość mogło upaść szkoło (ograniczając tym samym powierzchnię przeszukiwań), szukanie leniwe znajdujemy najbliższego optyka i kupujemy nowe szkoło Algorytmiczne realizacje metod przeszukiwania nazywane są strategiami przeszukiwania. strategie ślepe nie wykorzystują dodatkowych informacji, strategie heurystyczne - wykorzystują informacje praktyczne.
HEURYSTYKA Heurystyka jest rozumiana w zagadnieniach sztucznej inteligencji jako praktyczna strategia poprawiająca efektywność rozwiązania złożonych problemów; Cechy heurystyki dąży do rozwiązania najkrótszą drogą, omijając mniej obiecujące ścieżki; podaje proste kryterium wyboru kierunków postępowania; jej działania nie daje się analizować, nie gwarantuje sukcesu (jej działanie zawsze grozi pominięciem najlepszego ruchu).
MINMAX WYKORZYSTANIE HEURYSTYKI
Nie musimy przechodzić całego drzewa
TERMINOLOGIA Świat rzeczywisty jest zbyt skomplikowany aby odwzorowywać odwzorować go dosłownie dlatego formując problem konieczne jest opracowanie modelu świata odpowiadającego naszym potrzebą. Reprezentacji problemu: stany reprezentują opisy rożnych stanów świata rzeczywistego, akcje określają działania, które mogą zmienić stan bieżący, koszt akcji wyrażają koszt wykonania akcji Zbiór stanów i akcji składa się na przestrzeń rozwiązań rozważanego problemu. Sformułowanie problemu: stan początkowy stan startowy, przed rozwiązaniem problemu cel stan docelowy, lub zbiór stanów spełniających warunki postawionego zadania. rozwiązanie sekwencja akcji prowadzących od stanu początkowego do celu koszt rozwiązania suma kosztów akcji składających się na rozwiązanie danego problemu. W zależności od typu zadania, możemy szukać rozwiązania o najniższym lub o najwyższym koszcie. Węzeł jest strukturą danych i stanowi część przeszukiwanego drzewa. Charakteryzuje się poprzednikiem (rodzicem), następnikami (potomkami), głębokością kosztem ścieżki od korzenia. Elementów tych nie posiadają stany.
STRATEGIE PRZESZUKIWAŃ Strategia jest definiowana poprzez wybór kolejności przeszukiwania stanów Kryteria oceny strategii: zupełność czy zawsze znajduje rozwiązanie, jeżeli ono istnieje? złożoność czasowa liczba wygenerowanych węzłów złożoność pamięciowa maksymalna liczba węzłów w pamięci optymalność czy znajduje rozwiązanie o minimalnym koszcie? Złożoność czasowa i pamięciowa są wyznaczane w zależności od: b maksymalnego rozgałęzienia drzewa przeszukiwań d głębokości rozwiązania o najmniejszym koszcie m maksymalnej głębokości drzewa przeszukiwań (może być ) g koszt ścieżki od korzenia
RODZAJE STRATEGII PRZESZUKIWAŃ Strategie ślepe korzystają jedynie z informacji dostępnej w definicji problemu (nie wykorzystują wiedzy o samym problemie. do strategii ślepych zaliczamy: przeszukiwanie wszerz, strategia jednolitego kosztu, przeszukiwanie w głąb, przeszukiwanie ograniczone w głąb, przeszukiwanie iteracyjnie pogłębiane. przeszukiwanie dwukierunkowe. Strategie heurystyczne korzystają z faktu, że dla większości problemów przestrzeń stanów zawiera dodatkowe informacje, do strategii heurystycznych zaliczamy: przeszukiwanie zachłanne, przeszukiwanie A, rekurencyjne przeszukiwanie pierwszy najlepszy, przeszukiwanie lokalne zachłanne (hill-climbing), symulowane wyżarzanie, algorytm genetyczny.
STRATEGIA W SZERZ Przeszukiwanie wszerz jest strategią warstwową. Rozpoczyna swoje działanie od korzenia i wykonuje ekspansję najpłytszego węzła, ze zbioru węzłów do tej pory nie rozszerzonych. Jako pierwsze strategia w szerz wyznacza rozwiązanie optymalne pod względem długości ścieżki rozwiązania. Poważna wada metody jest duże wymagania na pamięć konieczne jest pamiętanie wszystkich węzłów z przeszukiwanej głębokości. Implementacja: kolejka FIFO, tzn. nowe następniki dodawane są na koniec kolejki Właściwości: czas ~ O(b d+1 ), pamięć ~ O(b d+1 ) zupełność: tak optymalność: w ogólności nieoptymalny
STRATEGIA JEDNOLITEGO KOSZTU Metoda ta jest modyfikacją przeszukiwania wszerz. Polega ona na ekspansji węzła o najmniejszym koszcie od korzenia spośród węzłów do tej pory nie rozwiniętych. Implementacja: kolejka priorytetowaporządkująca węzły wg kosztu ścieżki od korzenia Właściwości: czas ~ O(b C/ε ), C-koszt optymalnego rozwiązania, ε>0 pamięć ~ O(b C/ε ) zupełność: tak optymalność: tak
STRATEGIA W GŁĄB Poszukiwanie jest prowadzone od ostatnio sprawdzanego węzła wzdłuż nieprzeszukiwanej ścieżki. Strategia ta jest naturalna dla tych problemów i grafów, w których ocena właściwości węzłów zależy ściśle od oceny właściwości ich rodziców. Implementacja: kolejka LIFO, tzn. nowe następniki dodawane są na początek kolejki Złożoność: czas ~ b d pamięć ~ bd zupełność: Tak ale tylko w przestrzeniach skończonych. Nie, w przestrzeniach o nieskończonej głębokości oraz w przestrzeniach z pętlami optymalność: Nie
PRZESZUKIWANIE OGRANICZONE W GŁĄB Przeszukiwanie w głąb z ograniczeniem na głębokość l, tzn. węzły na głębokości l niemaja następników. Tutaj problemem jest wybór właściwej głębokość l (nazywanej średnicą przestrzeni poszukiwań).
PRZESZUKIWANIE ITERACYJNIE POGŁĘBIANE Powtarza przeszukiwanie ograniczone w głąb z rosnącym ograniczeniem na głębokość przeszukiwania Idea: szukać w głąb stopniowo zwiększając głębokość szukania -tani sposób na realizację szukania w głąb. Właściwości: czas ~ O(b d ), pamięć ~ O(bd) zupełność: tak optymalność: tak, gdy koszt wszystkich akcji jest taki sam
PRZESZUKIWANIE DWUKIERUNKOWE Wykonuje równolegle dwa przeszukiwania: wprzód od stanu początkowego w tył od stanu końcowego korzystając ze strategii szukania wszerz Właściwości: czas ~ O(b d/2 ), duży plus pamięć ~ O(b d/2 ), koszt oszczędności czasu zupełność: tak optymalność : tak, pod warunkiem, że przeszukiwania wykonywane są wszerz( w grafie z takim samym kosztem wszystkich akcji) przeszukiwania używają strategii jednolitego kosztu (w grafie z różnym kosztem akcji)
PRZESZUKIWANIE ZACHŁANNE Przeszukiwanie zachłanne w każdym kroku dokonuje wyboru lokalnie optymalnego (w danej chwili najlepszego) bez analizy co jest dalej 3 5 2 1 6 8 3 4 9 3 5 2 1 6 8 3 4 1 Właściwości: czas ~ O(b m ), ale może to mocno zmaleć pamięć ~ O(b m ), musi przechowywać wszystkie węzły zupełność: nie, po wyeliminowaniu powtarzających się stanów tak optymalność : nie,
PRZESZUKIWANIE A* Pomysł: unikać rozwijania sekwencji, które już dotąd są kosztowne a poza tym niezbyt obiecujące pod względem możliwości szybkiego dojścia do celu. Funkcja oceny: f(n) = g(n) + h(n) g(n) = koszt dotarcia do n ; h(n) = przewidywany koszt z n do celu ; Funkcję heurystyczną h nazywamy dopuszczalną jeśli dla każdego stanu n, h(n) h (n), gdzie h (n) oznacza rzeczywisty koszt ścieżki od stanu n do optymalnego stanu końcowego. f(n) = g(n)+h(n)- przewidywany całkowity koszt sekwencji prowadzącej przez n do celu. Właściwości: czas: wykładniczy pamięć : konieczność pamiętania wszystkich węzłów zupełność: tak optymalność : tak,
UNIKANIE LOKALNEGO MAKSIMUM Wielokrotny start Zezwolenie na złe posunięcia Przeszukiwanie tabu Symulowane wyżarzanie Przeszukiwanie o zmiennej głebokości