19
Sztuczna inteligencja Sztuczna inteligencja Heurystyki. Strategie poszukiwań Jacek Bartman Zaklad Elektrotechniki i Informatyki Instytut Techniki Uniwersytet Rzeszowski

SI 2 strategie poszukiwania - Aktualności · Sztuczna inteligencja Heurystyki. Strategie poszukiwa ... praktyczna strateg popraw jąca efektywność rozw !za n złożonych prob mów;

Embed Size (px)

Citation preview

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).

MMININMMAXAX –– WYKORZYSTANIEWYKORZYSTANIE HEURYSTYKIHEURYSTYKI

� Nie musimy przechodzić całego drzewa

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,

� Wielokrotny start

� Zezwolenie na „złe” posunięcia

� Przeszukiwanie tabu

� Symulowane wyżarzanie

� Przeszukiwanie o zmiennej głebokości

UUNIKANIENIKANIE LOKALNEGOLOKALNEGO MAKSIMUMMAKSIMUM

Przeszukiwanie o zmiennej głebokości