WPROWADZENIE DO SZTUCZNEJ INTELIGENCJI

Podobne dokumenty
Sztuczna Inteligencja i Systemy Doradcze

Heurystyki. Strategie poszukiwań

Elementy kognitywistyki II:

Wstęp do Sztucznej Inteligencji

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

Metody przeszukiwania

Podstawy sztucznej inteligencji

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

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

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

Podstawy Sztucznej Inteligencji (PSZT)

SZTUCZNA INTELIGENCJA

WPROWADZENIE DO SZTUCZNEJ INTELIGENCJI

Sztuczna Inteligencja i Systemy Doradcze

SZTUCZNA INTELIGENCJA

Rozwiązywanie problemów metodą przeszukiwania

Heurystyczne metody przeszukiwania

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

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

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

Planowanie drogi robota, algorytm A*

Podstawy sztucznej inteligencji

Znajdowanie wyjścia z labiryntu

Wprowadzenie do Sztucznej Inteligencji

Wprowadzenie do Sztucznej Inteligencji

WPROWADZENIE DO SZTUCZNEJ INTELIGENCJI

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

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

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

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

WPROWADZENIE DO SZTUCZNEJ INTELIGENCJI

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

Algorytmy sztucznej inteligencji

Zaawansowane algorytmy i struktury danych

Modelowanie jako sposób opisu rzeczywistości. Katedra Mikroelektroniki i Technik Informatycznych Politechnika Łódzka

Jacek Skorupski pok. 251 tel konsultacje: poniedziałek , sobota zjazdowa

SYSTEMY UCZĄCE SIĘ WYKŁAD 10. PRZEKSZTAŁCANIE ATRYBUTÓW. Dr hab. inż. Grzegorz Dudek Wydział Elektryczny Politechnika Częstochowska.

Optymalizacja ciągła

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

Spacery losowe generowanie realizacji procesu losowego

Wprowadzenie do Sztucznej Inteligencji

Metody Programowania

Schemat programowania dynamicznego (ang. dynamic programming)

Tworzenie gier na urządzenia mobilne

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

Algorytmy i str ruktury danych. Metody algorytmiczne. Bartman Jacek

Sztuczna inteligencja w programowaniu gier

Algorytmy Równoległe i Rozproszone Część X - Algorytmy samostabilizujące.

ĆWICZENIE 1: Przeszukiwanie grafów strategie heurystyczne

Najprostszy schemat blokowy

Zadanie transportowe i problem komiwojażera. Tadeusz Trzaskalik

9.9 Algorytmy przeglądu


Modele i narzędzia optymalizacji w systemach informatycznych zarządzania

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

Algorytmy decyzyjne będące alternatywą dla sieci neuronowych

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

Zagadnienia egzaminacyjne INFORMATYKA. Stacjonarne. I-go stopnia. (INT) Inżynieria internetowa STOPIEŃ STUDIÓW TYP STUDIÓW SPECJALNOŚĆ

ALGORYTMY EWOLUCYJNE W OPTYMALIZACJI JEDNOKRYTERIALNEJ

Sztuczna Inteligencja i Systemy Doradcze

Systemy Agentowe główne cechy. Mariusz.Matuszek WETI PG

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

WYŻSZA SZKOŁA INFORMATYKI STOSOWANEJ I ZARZĄDZANIA

Zadanie 1: Piętnastka

Definicje. Najprostszy schemat blokowy. Schemat dokładniejszy

Porządek symetryczny: right(x)

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

Ogólne wiadomości o grafach

E: Rekonstrukcja ewolucji. Algorytmy filogenetyczne

SYSTEMY UCZĄCE SIĘ WYKŁAD 4. DRZEWA REGRESYJNE, INDUKCJA REGUŁ. Dr hab. inż. Grzegorz Dudek Wydział Elektryczny Politechnika Częstochowska

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

Złożoność obliczeniowa zadania, zestaw 2

Grupy pytań na egzamin inżynierski na kierunku Informatyka

Algorytm. Krótka historia algorytmów

Optymalizacja. Przeszukiwanie lokalne

Badania operacyjne egzamin

Badania operacyjne: Wykład Zastosowanie kolorowania grafów w planowaniu produkcji typu no-idle

ZASADY PROGRAMOWANIA KOMPUTERÓW ZAP zima 2014/2015. Drzewa BST c.d., równoważenie drzew, kopce.

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

Temat 9. Zabłocone miasto Minimalne drzewa rozpinające

K.Pieńkosz Badania Operacyjne Wprowadzenie 1. Badania Operacyjne. dr inż. Krzysztof Pieńkosz

Złożoność obliczeniowa klasycznych problemów grafowych

Techniki Optymalizacji: Stochastyczny spadek wzdłuż gradientu I

Podstawy Sztucznej Inteligencji (PSZT)

Metody Optymalizacji: Przeszukiwanie z listą tabu

ZŁOŻONOŚĆ OBLICZENIOWA ALGORYTMÓW

Wykład 7 i 8. Przeszukiwanie z adwersarzem. w oparciu o: S. Russel, P. Norvig. Artificial Intelligence. A Modern Approach

Wymagania na poszczególne oceny szkolne dla klasy VI. (na podstawie Grażyny Koba, Teraz bajty. Informatyka dla szkoły podstawowej.

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

Wykład z Technologii Informacyjnych. Piotr Mika

Efektywność algorytmów

Drzewa spinające MST dla grafów ważonych Maksymalne drzewo spinające Drzewo Steinera. Wykład 6. Drzewa cz. II

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

Problemy Decyzyjne Markowa

Teraz bajty. Informatyka dla szkoły podstawowej. Klasa VI

Teoretyczne podstawy informatyki

Algorytm poprawny jednoznaczny szczegółowy uniwersalny skończoność efektywność (sprawność) zmiennych liniowy warunkowy iteracyjny

ROZWIĄZYWANIE RÓWNAŃ NIELINIOWYCH

Algorytmy dla gier dwuosobowych

Wybrane metody przybliżonego. wyznaczania rozwiązań (pierwiastków) równań nieliniowych

Transkrypt:

POLITECHNIKA WARSZAWSKA WYDZIAŁ MECHANICZNY ENERGETYKI I LOTNICTWA MEL WPROWADZENIE DO SZTUCZNEJ INTELIGENCJI NS 586 Dr inż. Franciszek Dul

Poziomy sztucznej inteligencji Sztuczna świadomość? Uczenie się Planowanie i podejmowanie decyzji Uwzględnianie niepewności Wnioskowanie logiczne Rozwiązywanie problemów

3. OSIĄGANIE CELU POPRZEZ POSZUKIWANIA NIEINFORMOWANE

Poszukiwania nieinformowane Pokażemy w jaki sposób agent może osiągnąć zamierzony cel poprzez wykonanie ciągu działań. Działania te będą wyznaczone poprzez poszukiwania oparte wyłącznie na definicji zadania. Poszukiwania są głównymi zadaniami AI w dziedzinach mechanicznych z nimi można spotkać się najczęściej.

3.1. Agent celowy - wprowadzenie Agent celowy poszukuje rozwiązania realizującego cel w zbiorze rozwiązań dopuszczalnych. Na takiej zasadzie opiera się działanie wielu agentów, np.: agenci - obiekty w grach komputerowych, symulatorach; oprogramowanie przewodników drogi wykorzystujących system GPS, agenci poszukujący w Internecie stron z żądaną zawartością. Poszukiwanie nieinformowane (uninformed search) polega na wyznaczaniu rozwiązania zadania wyłącznie na podstawie danych definiujących zadanie. Poszukiwanie informowane (informed search) polega na wyznaczaniu rozwiązania zadania przy wykorzystaniu innej dostępnej wiedzy, specyficznej dla tego zadania.

3.2. Agent poszukujący rozwiązania Cztery kroki przy poszukiwaniu rozwiązania: 1. Sformułowanie celu zadania Jaki stan systemu odpowiada osiągnięciu celu? 2. Sformułowanie zadania Określenie stanów i rodzajów działań. 3. Poszukiwanie Określenie optymalnych działań które należy wykonać aby osiągnąć cel. 4. Wykonanie zadania

3.2. Agent poszukujący rozwiązania Przykład - poszukiwanie najkrótszej drogi Wakacje w Rumunii; jesteśmy w mieście Arad. Jutro musimy odlecieć z Bukaresztu. Sformułowanie celu: należy jutro rano być w Bukareszcie. Sformułowanie zadania: stan: pobyt w jakimś mieście; działania: przejazdy pomiędzy miastami. Rozwiązanie: ciąg miast, { Arad,, Bukareszt } np. { Arad, Sibiu, Fagaras, Bukareszt }.

3.3. Rodzaje zadań poszukiwania Zadanie najprostsze Deterministyczne, obserwowalne zadanie jednostanowe agent wie w jakim jest stanie i w jakim stanie się znajdzie; rozwiązanie jest ciągiem stanów; Zadania znacznie trudniejsze: Nieobserwowalne zadanie bez czujników (conformant problem) agent nie wie, gdzie jest; Niedeterministyczne lub obserwowalne częściowo (nieprzewidywalne, contingency problem) obserwacje dostarczają nowych informacji o stanie bieżącym, poszukiwania często przeplatają się z działaniami. Nieznana przestrzeń stanów exploration problem

3.3. Rodzaje zadań Przykład - świat agenta-odkurzacza Problem jednostanowy, start ze stanu {5}. Rozwiązanie [ W PRAWO, ODKURZAJ ] Agent bez czujników, start z dowolnego stanu spośród {1,2,3,4,5,6,7,8} Rozwiązanie [ W PRAWO, ODKURZAJ, W LEWO, ODKURZAJ ] Zbiór wszystkich stanów Nieprzewidywalność: niedeterministyczność: ODKURZAJ może zaśmiecić czysty dywan częściowa obserwowalność: położenie, czystość w aktualnym położeniu. Obserwacja: [L, CZYSTY], tj. start za stanów 5 lub 7. Rozwiązanie [ W PRAWO, jeżeliśmieci to ODKURZAJ ]

3.3. Rodzaje zadań Zadanie jednostanowe - sformułowanie Zadanie jednostanowe zdefiniowane jest za pomocą czterech elementów: stan początkowy, np. jestem w Arad, działania lub funkcji następstwa S(x) = zbiór par działanie, stan po działaniu np. S(Arad) = { Arad Zerind, Zerind, } test osiągnięcia celu: jawny, np. x = w Bukareszcie, niejawny, np. w szachach Mat(x); koszt drogi (addytywnego) np. sumy odległości, liczby podjętych działań, etc. c(x,a,y) jest kosztem kroku x y, z założenia c 0 Rozwiązaniem zadania jednostanowego jest ciąg działań prowadzących ze stanu początkowego do stanu docelowego. Rozwiązanie optymalne cechuje najmniejszy koszt.

3.3. Rodzaje zadań Zadanie jednostanowe - sformułowanie Świat rzeczywisty jest krańcowo skomplikowany, dlatego przestrzeń stanów musi być abstrakcją stanów rzeczywistych. Abstrakcja oznacza pominięcie szczegółów. Działanie abstrakcyjne to złożona kombinacja działań rzeczywistych, np. "Arad Zerind" reprezentuje złożony zbiór możliwych tras, objazdy, parkingi, etc. Aby zapewnić istnienie rozwiązania, każdy stan rzeczywisty (np. Arad ) musi prowadzić do jakiegoś stanu rzeczywistego (np. Zerind ). Rozwiązanie abstrakcyjne to zbiór rzeczywistych dróg które są rozwiązaniami w świecie rzeczywistym. Każde działanie abstrakcyjne powinno być łatwiejsze niż rzeczywiste.

3.3. Rodzaje zadań Graf przestrzeni stanów dla świata odkurzacza stan: położenie odkurzacza oraz czystość; stan początkowy: każdy; działania: W LEWO, W PRAWO, ODKURZAJ; test celu: czysto we wszystkich położeniach; koszt: 1 za każde działanie;

3.3. Rodzaje zadań Przykład: gra w osiem kostek Stan początkowy Stan docelowy stan: położenie kostek 1-8; działania: ruch pola pustego: w lewo, w prawo, w górę, w dół; test celu: osiągnięcie zadanego układu kostek; koszt: c = 1 za każdy ruch;

3.3. Rodzaje zadań Przykład: montaż przy użyciu robota stan: wieloelementowy wektor położenia ramienia robota oraz położenia montowanych elementów; działania: ciągły ruch ramienia robota, chwytanie i puszczanie elementów; test celu: zmontowane urządzenie; koszt: czas montażu urządzenia;

3.3. Rodzaje zadań Inne przykłady zadań ze świata rzeczywistego Wyznaczanie drogi: wyznaczanie trasy łączącej węzły: początkowy i końcowy; Problem zwiedzania: wyznaczanie trasy przebiegającej przez węzły (np. miasta) tylko jeden raz; Problem komiwojażera: wyznaczenie najkrótszej trasy przebiegającej przez węzły tylko jeden raz; Planowanie obwodów VLSI: rozmieszczanie elementów układu i wyznaczanie połączeń między nimi; Nawigacja robotów: ciągła wersja problemu wyznaczania drogi; Planowanie automatycznego montażu: wyznaczenie właściwej kolejności montażu elementów; Synteza protein: wyznaczenie właściwej kolejności aminokwasów białka o określonych własnościach; Poszukiwania w Internecie: wyznaczenie trasy poszukiwań żądanych informacji na stronach Internetu;

3.3. Rodzaje zadań Podstawową zasadą poszukiwań nieinformowanych jest korzystanie wyłącznie z definicji zadania - bez wykorzystywania dodatkowych informacji. Wada: przypominają one próbę dojechania w mieście samochodem na podany adres gdy zna się tylko ten adres oraz reguły prowadzenia samochodu.

Algorytmy rozwiązania problemów nieinformowanych 3.4. Algorytmy przeszukiwania drzew Idea algorytmów przeszukujących ślepe poszukiwania: analiza wszystkich możliwych sekwencji stanów; koszt rośnie gwałtownie ze wzrostem liczby możliwych stanów; poszukiwania poprzez budowę drzewa stanów: korzeń - stan początkowy; węzły i gałęzie generowane są funkcją następstwa; Przeszukiwanie drzewa generuje graf.

Algorytmy przeszukiwania drzewa - przykład Stan początkowy Poziom 1. Poziom 2.

Stan i węzeł Stan określa jednoznacznie konfigurację fizyczną obiektu; Węzeł jest to struktura danych określająca część drzewa poszukiwań, obejmująca np.: stan, węzeł rodzica, węzły dzieci, koszt gałęzi, aktualną głębokość, podejmowane działanie, itp.; węzeł = stan, węzeł rodzica, koszt, głębokość, działanie Algorytm przeszukiwania tworzy ( rozwija ) nowe węzły, wypełnia odpowiednie pola, a następnie tworzy stany w nowych węzłach. Brzeg (fringe) to zbiór wszystkich węzłów, które nie zostały jeszcze rozwinięte.

Strategie algorytmów przeszukiwania drzew Strategia poszukiwania jest określona kolejnością rozwijania węzłów. Strategie są oceniane wg. następujących kryterów: zupełność: możliwość znalezienia rozwiązania, jeżeli istnieje; złożoność czasowa: proporcjonalna do liczby rozwijanych węzłów; złożoność pamięciowa: największa liczba węzłów w pamięci; optymalność: możliwość wyznaczenia najtańszego rozwiązania.

Strategie algorytmów przeszukiwania drzew Złożoność czasowa i pamięciowa są szacowane za pomocą następujących wielkości: b: maksymalny współczynnik rozgałęzienia drzewa poszukiwań, d: głębokość na której jest rozwiązanie optymalne, m: maksymalna głębokość przestrzeni stanów. F rozwiązanie optymalne, b = 2, d = 3, m = 3. brzeg

Strategie nieinformowane przeszukiwania drzew Strategie nieinformowane wykorzystują tylko informacje zawarte w definicji zadania poszukiwania na oślep. Rodzaje strategii nieinformowanych: Poszukiwanie wszerz (breadth-first search), Poszukiwanie w głąb (depth-first search), Poszukiwanie na ograniczoną głębokość (depth-limited search), Poszukiwanie pogłębiane iteracyjnie (iterative deepening search). Poszukiwanie dwukierunkowe (bi-drectional search).

Poszukiwanie wszerz (breadth-first search) Zasada: rozwinąć najpłytszy nierozwinięty węzeł na brzegu. Brzeg jest kolejką FIFO, tzn. nowy węzeł wstawiany jest na koniec kolejki.

Poszukiwanie wszerz (breadth-first search) Własności algorytmu Zupełność Tak, jeżeli b jest ograniczone Czas 1+b+b 2 +b 3 + +b d + b(b d -1) = O(b d+1 ) Pamięć O(b d+1 ) (przechowywanie wszystkich węzłów w pamięci) Optymalność Tak, jeżeli koszt kroku jest stały Pamięć jest największym problemem, większym niż czas poszukiwań.

Poszukiwanie w głąb (depth-first search) Zasada: rozwinąć najgłębszy nierozwinięty węzeł (najgłębszy na brzegu). Brzeg jest kolejką LIFO, tzn. nowy węzeł wstawiany jest na początek kolejki.

Poszukiwanie w głąb (depth-first search) Zasada: rozwinąć najgłębszy nierozwinięty węzeł (najgłębszy na brzegu). Brzeg jest kolejką LIFO, tzn. nowy węzeł wstawiany jest na początek kolejki.

Poszukiwanie w głąb (depth-first search) Zasada: rozwinąć najgłębszy nierozwinięty węzeł (najgłębszy na brzegu). Brzeg jest kolejką LIFO, tzn. nowy węzeł wstawiany jest na początek kolejki.

Poszukiwanie w głąb (depth-first search) Zasada: rozwinąć najgłębszy nierozwinięty węzeł (najgłębszy na brzegu). Brzeg jest kolejką LIFO, tzn. nowy węzeł wstawiany jest na początek kolejki.

Poszukiwanie w głąb (depth-first search) Zasada: rozwinąć najgłębszy nierozwinięty węzeł (najgłębszy na brzegu). Brzeg jest kolejką LIFO, tzn. nowy węzeł wstawiany jest na początek kolejki.

Poszukiwanie w głąb (depth-first search) Zasada: rozwinąć najgłębszy nierozwinięty węzeł (najgłębszy na brzegu). Brzeg jest kolejką LIFO, tzn. nowy węzeł wstawiany jest na początek kolejki.

Poszukiwanie w głąb (depth-first search) Zasada: rozwinąć najgłębszy nierozwinięty węzeł (najgłębszy na brzegu). Brzeg jest kolejką LIFO, tzn. nowy węzeł wstawiany jest na początek kolejki.

Poszukiwanie w głąb (depth-first search) Zasada: rozwinąć najgłębszy nierozwinięty węzeł (najgłębszy na brzegu). Brzeg jest kolejką LIFO, tzn. nowy węzeł wstawiany jest na początek kolejki.

Poszukiwanie w głąb (depth-first search) Zasada: rozwinąć najgłębszy nierozwinięty węzeł (najgłębszy na brzegu). Brzeg jest kolejką LIFO, tzn. nowy węzeł wstawiany jest na początek kolejki.

Poszukiwanie w głąb (depth-first search) Zasada: rozwinąć najgłębszy nierozwinięty węzeł (najgłębszy na brzegu). Brzeg jest kolejką LIFO, tzn. nowy węzeł wstawiany jest na początek kolejki.

Poszukiwanie w głąb (depth-first search) Zasada: rozwinąć najgłębszy nierozwinięty węzeł (najgłębszy na brzegu). Brzeg jest kolejką LIFO, tzn. nowy węzeł wstawiany jest na początek kolejki.

Poszukiwanie w głąb (depth-first search) Zasada: rozwinąć najgłębszy nierozwinięty węzeł (najgłębszy na brzegu). Brzeg jest kolejką LIFO, tzn. nowy węzeł wstawiany jest na początek kolejki.

Poszukiwanie w głąb (depth-first search) Własności algorytmu Zupełność Tak w przestrzeniach skończonych. Nie w przestrzeniach nieskończonych, z pętlami; (wymaga wtedy modyfikacji w celu uniknięcia powtarzających się stanów) Czas O(b m ) - ogromny jeżeli eli m >> d; Pamięć O(bm) - liniowa względem pamięci; Optymalność Nie

Poszukiwanie na ograniczoną głębokość (depth limited search) Zasada: jak w algorytmie poszukiwania w głąb ale z głębokością ograniczoną do poziomu l. Własności algorytmu Zupełność Tak jeżeli l d. Czas O(b l ); Pamięć O(bl); Optymalność Tak jeżeli l d.

Poszukiwanie pogłębiane iteracyjnie (iterative deepening search) Zasada: wyznaczć iteracyjnie najlepszą głębokość l. l = 0

Poszukiwanie pogłębiane iteracyjnie (iterative deepening search) Zasada: wyznaczć iteracyjnie najlepszą głębokość l. l = 1

Poszukiwanie pogłębiane iteracyjnie (iterative deepening search) Zasada: wyznaczć iteracyjnie najlepszą głębokość l. l = 2

Poszukiwanie pogłębiane iteracyjnie (iterative deepening search) Zasada: wyznaczć iteracyjnie najlepszą głębokość l. l = 3

Poszukiwanie pogłębiane iteracyjnie (iterative deepening search) Cel jest osiągnięty na głębokości d odpowiadającej najpłytszemu węzłowi docelowemu. Algorytm łączy zalety algorytmów poszukiwania wszerz i w głąb. Własności algorytmu Zupełność Tak. Czas O(b d ); Pamięć O(bd); Optymalność Tak jeżeli koszt kroku jest stały.

Poszukiwanie dwukierunkowe (bidrectional search) Zasada: jednoczesne poszukiwanie z początku i końca; d / 2 d / 2 b + b < b d Własności algorytmu Zupełność Tak jeżeli oba poszukiwania wszerz. Czas O(b d/2 ); Pamięć O(b d/2 ); Optymalność Tak jeżeli oba poszukiwania wszerz.

Porównanie algorytmów przeszukiwania Kryterium Wszerz W głąb Stała głębokość Pogłębianie iteracyjne Dwukierunkowe Zupełność TAK NIE TAK (l d) TAK TAK Czas O(b d+1 ) O(b m ) O(b l ) O(b d ) O(b d/2 ) Pamięć O(b d+1 ) O(bm) O(bl) O(bd) O(b d/2 ) Optymalność TAK NIE TAK (l d) TAK TAK Pogłębianie iteracyjne jest zwykle najlepsze. Nie jest to jednak regułą.

Największą wadą poszukiwań nieinformowanych jest wykładniczy wzrost kosztu obliczeń. Krytyczna jest zwłaszcza ilość wymaganej pamięci, gdyż może ona być gigantyczna nawet dla zadań o umiarkowanych wymiarach.

3.5. Algorytmy przeszukiwania grafów Poszukiwanie w przypadku niepełnej informacji Założenia idealne: -środowisko jest całkowicie obserwowalne, - środowisko jest deterministyczne, - agent zna efekty swojego działania. Co się stanie, gdy agent nie ma pełnej informacji o stanie lub efektach działania? Zadanie nieobserwowalne zadanie bez czujników (conformant problem) agent nie wie, gdzie jest; Zadanie niedeterministyczne lub obserwowalne częściowo nieprzewidywalne (contingency problem) obserwacje dostarczają nowych informacji o stanie bieżącym, poszukiwania często przeplatają się z działaniami. Nieznana przestrzeń stanów exploration problem

3.5. Algorytmy przeszukiwania grafów Zadanie nieobserwowalne Start z dowolnego stanu spośród {1,2,3,4,5,6,7,8} W PRAWO {2,4,6,8} Rozwiązanie [ W PRAWO, ODKURZAJ, W LEWO, ODKURZAJ ] Jeżeli świat nie jest całkowicie obserwowalny, to stan wiarygodny (belief state) jest zbiorem stanów, które mogą być osiągnięte.

3.5. Algorytmy przeszukiwania grafów Zadanie nieobserwowalne Rozwiązanie problemu - stan wiarygodny zawierający wszystkie możliwe stany docelowe.

3.5. Algorytmy przeszukiwania grafów Zadanie niedeterministyczne lub obserwowalne częściowo Prawo Murphy ego: odkurzanie czystego dywanu może go zabrudzić. Start z jednego ze stanów {1,3}. - obserwacja: [L,ŚMIECI] = {1,3}, - [ODKURZAJ] {5,7}, - [W PRAWO] {6,8}, - [ODKURZAJ] w {6} {8}, OK - [ODKURZAJ] w {8} ŹLE! Żaden bezwarunkowy ciąg działań nie gwarantuje powodzenia. Należy uzależnić działania od aktualnej sytuacji. Obserwacja lokalna: agent widzi śmieci tylko w miejscu pobytu. Rozwiązanie [ ODKURZAJ, W PRAWO, jeżeli ŚMIECI to ODKURZAJ ]

Podsumowanie Rozwiązywanie zadań poprzez przeszukiwanie wymaga sformułowania zadania w postaci abstrakcyjnej. Jeżeli zadanie jest deterministyczne i obserwowalne (jednostanowe), to do jego rozwiązania można użyć algorytmu poszukiwania nieinformowanego. Istnieje wiele algorytmów poszukiwania nieinformowanego: wszerz, w głąb, kosztu jednorodnego, stałej głębokości, pogłębiania iteracyjnego oraz poszukiwań dwukierunkowych. Algorytm poszukiwania poprzez pogłębianie iteracyjne jest najlepszym algorytmem ogólnym - wymaga liniowej pamięci a czas obliczeń jest niewiele większy niż w przypadku innych algorytmów. Agenci działający na zasadzie poszukiwania rozwiązania są używani w wielu dziedzinach: wyznaczaniu drogi, planowaniu układów VLSI, nawigacji robotów, poszukiwań internetowych;