Heurystyki. Strategie poszukiwań



Podobne dokumenty
Sztuczna Inteligencja i Systemy Doradcze

Wstęp do Sztucznej Inteligencji

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

Metody przeszukiwania

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

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

Heurystyczne metody przeszukiwania

SZTUCZNA INTELIGENCJA

Przeszukiwanie przestrzeni rozwiązań, szukanie na ślepo, wszerz, wgłąb

Algorytmy i str ruktury danych. Metody algorytmiczne. Bartman Jacek

Sztuczna Inteligencja i Systemy Doradcze

Podstawy sztucznej inteligencji

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

Planowanie drogi robota, algorytm A*

Wykład2,24II2010,str.1 Przeszukiwanie przestrzeni stanów powtórka

WPROWADZENIE DO SZTUCZNEJ INTELIGENCJI

Rozwiązywanie problemów metodą przeszukiwania

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

Metody Optymalizacji: Przeszukiwanie z listą tabu

Podstawy Sztucznej Inteligencji (PSZT)

Elementy kognitywistyki II:

ĆWICZENIE 1: Przeszukiwanie grafów strategie heurystyczne

Sztuczna inteligencja w programowaniu gier

Zaawansowane programowanie

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

Optymalizacja. Wybrane algorytmy

Zastosowania algorytmów heurystycznych do sterowania systemami autonomicznymi

1. Algorytmy przeszukiwania. Przeszukiwanie wszerz i w głąb.

Elementy kognitywistyki II: Sztuczna inteligencja. WYKŁAD III: Problemy agenta

Zadanie 1: Piętnastka

Wybrane podstawowe rodzaje algorytmów

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

Grafy i ich reprezentacja

Techniki optymalizacji

SZTUCZNA INTELIGENCJA

prowadzący dr ADRIAN HORZYK /~horzyk tel.: Konsultacje paw. D-13/325

Wykład 3. Złożoność i realizowalność algorytmów Elementarne struktury danych: stosy, kolejki, listy

SZTUCZNA INTELIGENCJA

EGZAMIN - Wersja A. ALGORYTMY I STRUKTURY DANYCH Lisek89 opracowanie kartki od Pani dr E. Koszelew

Wprowadzenie do Sztucznej Inteligencji

Podstawy Informatyki. Sprawność algorytmów

Zofia Kruczkiewicz, Algorytmu i struktury danych, Wykład 14, 1

Porównanie algorytmów wyszukiwania najkrótszych ścieżek międz. grafu. Daniel Golubiewski. 22 listopada Instytut Informatyki

Literatura. 1) Pojęcia: złożoność czasowa, rząd funkcji. Aby wyznaczyć pesymistyczną złożoność czasową algorytmu należy:

9.9 Algorytmy przeglądu

Znajdowanie wyjścia z labiryntu

Efektywność algorytmów

Matematyczne Podstawy Informatyki

Wykorzystanie algorytmów mrówkowych w dynamicznym problem

Algorytmiczna teoria grafów

Wprowadzenie do Sztucznej Inteligencji

Algorytm genetyczny (genetic algorithm)-

Schemat programowania dynamicznego (ang. dynamic programming)

Optymalizacja. Przeszukiwanie lokalne

Politechnika Gdańska Wydział Elektrotechniki i Automatyki Katedra Inżynierii Systemów Sterowania

AiSD zadanie trzecie

Podstawy sztucznej inteligencji

ANALIZA ALGORYTMÓW. Analiza algorytmów polega między innymi na odpowiedzi na pytania:

Algorytmy metaheurystyczne podsumowanie

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

Wprowadzenie do algorytmiki

Metoda tabel semantycznych. Dedukcja drogi Watsonie, dedukcja... Definicja logicznej konsekwencji. Logika obliczeniowa.

KARTA PRZEDMIOTU. Algorytmy i struktury danych, C4

Struktury Danych i Złożoność Obliczeniowa

Technologia informacyjna Algorytm Janusz Uriasz

KARTA PRZEDMIOTU. 1. Informacje ogólne. 2. Ogólna charakterystyka przedmiotu. Algorytmy i struktury danych, C3

a) 7 b) 19 c) 21 d) 34

Środowisko programowe do nauki podstawowych algorytmów sztucznej inteligencji

Algorytmy wyznaczania centralności w sieci Szymon Szylko

Twój wynik: 4 punktów na 6 możliwych do uzyskania (66,67 %).

Dynamiczny przydział pamięci w języku C. Dynamiczne struktury danych. dr inż. Jarosław Forenc. Metoda 1 (wektor N M-elementowy)

Zadania laboratoryjne i projektowe - wersja β

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

Algorytmy i struktury danych. Co dziś? Tytułem przypomnienia metoda dziel i zwyciężaj. Wykład VIII Elementarne techniki algorytmiczne

Między umysłem, mózgiem i maszyną. O kognitywistyce

Złożoność algorytmów. Wstęp do Informatyki

Skalowalność obliczeń równoległych. Krzysztof Banaś Obliczenia Wysokiej Wydajności 1

Porządek symetryczny: right(x)

Spacery losowe generowanie realizacji procesu losowego

WPROWADZENIE DO SZTUCZNEJ INTELIGENCJI

Programowanie dynamiczne i algorytmy zachłanne

Optymalizacja ciągła

Tomasz M. Gwizdałła 2012/13

Algorytm Dijkstry znajdowania najkrótszej ścieżki w grafie

ALGORYTMY EWOLUCYJNE W OPTYMALIZACJI JEDNOKRYTERIALNEJ

Wstęp do programowania. Listy. Piotr Chrząstowski-Wachtel

METODY OPTYMALIZACJI. Tomasz M. Gwizdałła 2018/19

INFORMATYKA SORTOWANIE DANYCH.

WSTĘP DO INFORMATYKI. Struktury liniowe

Algorytmy i struktury danych

3. Podaj elementy składowe jakie powinna uwzględniać definicja informatyki.

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

Tadeusz Pankowski

Wyznaczanie strategii w grach

INFORMATYKA W SZKOLE. Podyplomowe Studia Pedagogiczne. Dr inż. Grażyna KRUPIŃSKA. D-10 pokój 227

Metodyki i techniki programowania

Uniwersytet w Białymstoku Wydział Ekonomiczno-Informatyczny w Wilnie SYLLABUS na rok akademicki 2012/2013

Generowanie i optymalizacja harmonogramu za pomoca

KARTA MODUŁU KSZTAŁCENIA

Porównanie czasów działania algorytmów sortowania przez wstawianie i scalanie

Transkrypt:

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