Post on 28-Feb-2019
Sztuczna inteligencjaSztuczna inteligencjaHeurystyki. Strategie poszukiwań
Jacek BartmanZakład Elektrotechniki i Informatyki
Instytut TechnikiUniwersytet Rzeszowski
DDLACZEGOLACZEGO METODYMETODY PRZESZUKIWANIAPRZESZUKIWANIA??
� 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 � 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ść � 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.
HHEURYSTYKEURYSTYKAA� 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).
TTERMINOLOGIAERMINOLOGIAŚ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 akcjiZbió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� 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.
SSTRATEGIETRATEGIE PRZESZUKIWAŃ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
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.
RRODZAJEODZAJE SSTRATEGIITRATEGII PRZESZUKIWAŃPRZESZUKIWAŃ
� 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.
SSTRATEGIATRATEGIA WW SZERZSZERZ
• 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 • 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(bd+1), pamięć ~ O(bd+1)
zupełność: tak
optymalność: w ogólności nieoptymalny
SSTRATEGIATRATEGIA JEDNOLITEGOJEDNOLITEGO KOSZTUKOSZTU
• Metoda ta jest modyfikacją przeszukiwania wszerz.
• Polega ona na ekspansji węzła o najmniejszym • 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 priorytetowa porzą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
SSTRATEGIATRATEGIA WW GŁĄBGŁĄ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 ~ bd
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 w głąb z ograniczeniem na głębokość l, tzn. węzły na głębokości l nie maja następników. Tutaj problemem jest wybór właściwej głębokość l (nazywanej średnicą przestrzeni poszukiwań).
PPRZESZUKIWANIERZESZUKIWANIE OGRANICZONEOGRANICZONE WW GŁĄBGŁĄB
� 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.
PPRZESZUKIWANIERZESZUKIWANIE ITERACYJNIEITERACYJNIE POGŁĘBIANEPOGŁĘBIANE
Właściwości: czas ~ O(bd), pamięć ~ O(bd )
zupełność: tak
optymalność: tak, gdy koszt wszystkich akcji jest taki sam
Wykonuje równolegle dwa przeszukiwania:
� wprzód od stanu początkowego
� w tył od stanu końcowego
korzystając ze strategii szukania wszerz
PPRZESZUKIWANIERZESZUKIWANIE DWUKIERUNKOWEDWUKIERUNKOWE
Właściwości: czas ~ O(bd/2), duży plus
pamięć ~ O(bd/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 w każdym kroku dokonuje wyboru lokalnie optymalnego (w danej chwili najlepszego) bez analizy co jest dalej
PPRZESZUKIWANIERZESZUKIWANIE ZACHŁANNEZACHŁANNE
3 5 2
1 6 8
3 4 9
3 5 2
1 6 8
3 4 1
Właściwości:
czas ~ O(bm), ale może to mocno zmaleć
pamięć ~ O(bm ), musi przechowywać wszystkie węzły
zupełność: nie, po wyeliminowaniu powtarzających się stanów tak
optymalność : nie,
� 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
PPRZESZUKIWANIERZESZUKIWANIE A*A*
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,