WYKŁAD 3 Projektowanie systemów autonomicznych wykorzystujących planowanie - działanie racjonalne DZIAŁANIE RACJONALNE oparte na rozumowaniu Mając różne możliwości działania należy wybrać-wyszukać najlepszą możliwość z punktu widzenia wykorzystywanych kryteriów oceniających (oceniających stan samego systemu i/lub jego otoczenia) Zazwyczaj jest to proces dwuetapowy: 1. generowanie alternatywnych rozwiązań 2. wybór jednej z alternatyw Do działania racjonalnego potrzebne są:! cel działania (oraz kryterium stopnia realizacji tego celu)! reprezentacja - opis celu działania - opis stanu systemu (aktualnego lub hipotetycznego) - miara (ocena) modelowanych stanów lub działań, względem realizacji postawionego celu.! algorytm rozwiązujący który wykorzystując posiadane modele reprezentacje, (otrzymywane na podstawie informacji z sensorów), powinien zaplanować działania umożliwiające realizację całości lub części zadanego celu. (zazwyczaj jest to algorytm optymalizujący ocenę potencjalnie otrzymanego rozwiązania np. pozycję pionów na szachownicy, stan układanki, itp.) 1
CEL DZIAŁANIA: może być zadany bezpośrednio (np. pożądany stan obiektów w otoczeniu) pośrednio (poprzez zadanie: reguł, warunków, ograniczeń jakie musi spełniać stan końcowy) poprzez podanie kryterium oceny jakości rozwiązania (które należy optymalizować) Kryteria oceny jakości mogą uwzględniać nie tylko stan końcowy ale również: prawdopodobieństwo uzyskania zaplanowanego rezultatu ( gdy otoczenie jest niedeterministyczne, wówczas lepszy wróbel w garści niż gołąb na dachu ) czas potrzebny na wypracowanie/wymyślenie rozwiązania ( np. w grze w szachy często ograniczamy ilość przewidywanych posunięć ) koszt otrzymanego rozwiązania, ( np. do tego samego miasta możemy dotrzeć różnymi drogami a hotele tej samej klasy mogą mieć różne ceny ) np. ocena działania agenta przeszukującego sklepy: jaka jest jakość znalezionego rozwiązania - towaru - co się dzieje, gdy jest kilka porównywalnych? - rozwiązanie dobre / optymalne względem czego? - względem wszystkich możliwości czy tylko względem sprawdzonych sklepów jak szybko znalazł (a może lepsze będzie rozwiązanie suboptymalne ale otrzymane znacznie szybciej) czy uwzględnił wszystkie preferencje użytkownika, - co gdy niektóre preferencje są sprzeczne? - co gdy nie jest możliwa maksymalizacja wszystkich kryteriów jednocześnie (optimum w sensie Pareto?) 2
WIEDZA Działanie racjonalne wymaga wiedzy o rozwiązywanym problemie. Najczęściej ta wiedza jest niepełna, nieprecyzyjna, niepewna ( 3 N ): ograniczenia percepcji ( nie da się obserwować wszystkiego jednocześnie, lub obserwacje są nieprecyzyjnie zasada Heisenberga?), ograniczenia reprezentacji otoczenia ( gdy problem ma dużą złożoność zazwyczaj stosujemy uproszczenia) brak danych brak doświadczenia niepełna wiedza o ogólnych własnościach rozwiązywanego problemu uniemożliwia wiarygodne prognozowanie efektów planowanych działań Podstawowe problemy modelowania i planowania racjonalnego: wiedza o świecie jest niedoskonała (model jest nieadekwatny) świat jest dynamiczny (model jest zawsze nieaktualny) świat jest niedeterministyczny (model musi być wielowariantowy) zaplanowane działania mogą być wykonane nieprecyzyjnie sekwencyjny proces: percepcji, modelowania, generowania alternatyw, wyboru-planowania, egzekucji wybranego planu jest BARDZO powolny Stosowane założenia upraszczające: agent posiada pełną wiedzę o świecie świat się nie zmienia samoistnie (bez inicjatywy agenta) świat jest deterministyczny zaplanowane działania są wykonywane bezbłędnie czas obliczeń nie jest istotnym nieograniczeniem 3
Jakie elementy trzeba uwzględnić podczas definiowania algorytmu działania agenta racjonalnego? możliwe obserwacje (co się pojawia na wejściu systemu) możliwe akcje (co się pojawia na wyjściu systemu) model (własności) środowiska w którym działa agent możliwe rodzaje celów oraz kryteriów oceniających np. opis agenta przeszukującego sklepy: przestrzeń obserwacji: systemy bazo-danowe sklepów, opisy towarów, ceny, warunki zakupu raty, okresowe promocje, sprzedaż wiązana, itp. przestrzeń akcji - działań: wyszukiwanie, porównywanie, negocjowanie, rezerwowanie lub zamawianie towarów środowisko: internet, protokoły komunikacji, formaty reprezentacji danych cele: dane produktu, uporządkowana lista produktów pasujących do preferencji klienta, różne kryteria porządkowania System autonomiczny może wykorzystywać różne rodzaje wiedzy: wiedza symboliczna (zazwyczaj reprezentacja dyskretna) np. identyfikatory obiektów oraz opis relacji zachodzących pomiędzy tymi obiektami, wiedza parametryczna o przedmiotach i obiektach (często występuje ciągła przestrzeń reprezentacji) reprezentowana w przestrzeni cech, np. rozmiar, waga, położenie, pojemność, kolor wiedza o zmianach w/w parametrów "w czasie" i "w przestrzeni", np. równanie trajektorii ruchu, zmiany kursu walut, krzywa naładowania akumulatora w zależności od czasu, wiedza niewerbalna (trudna do wrażenia za pomocą liczb) np. wiedza o umiejętnościach, o wierzeniach lub wiedza o ich braku (o nieumiejętnościach, o niewiedzy) 4
REPREZENTACJA Różne rodzaje wiedzy, będą przyjmować różne rodzaje reprezentacji: reprezentacja logiczna dwuwartościowa i wielowartościowa : logika boolowska, logika pierwszego rzędu logika rozmyta reprezentacja symboliczna (abstrakcyjna) reprezentacja stanu otoczenia za pomocą predykatów: { on( floor, box_a ), on( box_a, box_b ), clear( box_b ) } reprezentacja działań w postaci list warunków, skreśleń, dopisków: put_on( obj_1, obj_2) { pre: clear( obj_1 ), clear( obj_2 ); remove: clear( obj_1 ); add: on( obj_1, obj_2 ) } abstrakcyjna reprezentacja celu np. on( *, box_c ) 5
reprezentacja parametryczna reprezentacja wektorowa: można reprezentować duże obszary za pomocą jednego obiektu, ale konieczne są uproszczenia np. okrąg( x, y, r ) ( O, 10, 20,30 ) podajemy typ obiektu oraz współrzędne, długości, odległości, kąty opisujące wybrane klasy obiektów np. opis-mapa terenu miejscowości wypoczynkowej ( poprzez podanie współrzędnych ciekawych i nieciekawych miejsc: położenie hotelu, muzeum, zabytków, aquaparku, spalarni śmieci, autostrady) wady: - duża złożoność w przypadku modelowania - kłopoty z modelowaniem niepewności zwłaszcza dla obiektów "nieliniowych" - linearyzacja ma "krótkie nogi" zalety: - szybkość przetwarzania, łatwość aktualizacji reprezentacja rastrowa wady: rozdzielczość, zajętość pamięci, złożoność obliczeniowa i kłopoty z aktualizacją zalety: łatwe modelowanie nieprecyzyjności lub niepewności reprezentacja za pomocą reguł generowania rozwiązań (systemy produkcyjne) 6
ALGORYTM ROZWIĄZUJĄCY Wyznacza, w ramach posiadanej wiedzy i przyjętej reprezentacji, rozwiązanie (plan działania) najlepiej spełniające zadany cel. Planowanie działania polega na zdefiniowaniu relacji pomiędzy rejestrowanymi obserwacjami a wykonywanymi akcjami: zdefinowanie relacji w postaci dyskretnej, plan działania w postaci tabeli przejść automatu skończonego (np. sterowniki prostych robotów) w postaci ciągłej funkcji analitycznej odwzorowującej przestrzeń percepcji w przestrzeń akcji (takie przyporządkowanie musi być jednoznaczne!) w postaci zbioru reguł ( problem zupełności i spójności! ) Rodzaje algorytmów rozwiązujących: gdy przestrzeń jest ciągła: - analityczne wyznaczanie rozwiązań ( teoria sterowania i optymalizacji ) - wprowadzenie sztucznej dyskretyzacji przestrzeni, ziarno dyskretyzacji może być zmienne (metody numeryczne) lub stałe (gdy mała i przeliczalna przestrzeń rozwiązań) gdy przestrzeń dyskretna - metody przeglądu grafu/drzewa reprezentującego taką przestrzeń: - poszukiwanie węzła - poszukiwanie ścieżki - poszukiwanie poddrzewa/podgrafu - poszukiwanie przekroju metody symulacyjne - - metody potencjałowe (dla przestrzeni ciągłej) - elementów skończonych, np wave front, - metody ewolucyjne 7
Interesujące notatki na omówione tematy można odnaleźć na stronach WWW prof. Wodzisława Ducha (z Uniwersytetu Mikołaja Kopernika w Toruniu). http://www.phys.uni.torun.pl/~duch/ W szczególności, zachęcam do obejrzenia prezentacji na temat algorytmów przeszukiwania przestrzeni rozwiązań: "Metody szukania na ślepo, wszerz i w głąb" http://www.phys.uni.torun.pl/~duch/wyklady/ai/ai2-1.ppt "Podstawowe metody szukania heurystycznego" http://www.phys.uni.torun.pl/~duch/wyklady/ai/ai2-2.ppt "Globalne metody przeszukiwania heurystycznego" http://www.phys.uni.torun.pl/~duch/wyklady/ai/ai2-3.ppt 8