konspekt wykładu
Transkrypt
konspekt wykładu
WYKŁAD 4 Systemy autonomiczne wykorzystujące sterowanie reaktywne DZIAŁANIE REAKTYWNE → działanie poprzez 'reakcje', oparte na bezpośrednim przyporządkowaniu percepcji i akcji, bez modelowania i bez planowania DLACZEGO ? Charakterystyczne cechy świata rzeczywistego: ( w odróżnieniu do świata "klocków" ) • złożoność (np. dokładny opis łąki porośniętej trawą ) • niepewność, nieprzewidywalność ( niedeterminizm, probabilistyka, np. przewidywanie pogody ) • niekompletna wiedza • świat dynamiczny - system czasu rzeczywistego ( najczęściej konieczna jest natychmiastowa reakcja, np. podczas gry komputerowej ) Eksperyment: z zaplanowaniem działania osoby, której zadaniem jest chwycenie długopisu Cechy "sterowania racjonalnego" → planowania przez duże ‘P’: ! generuje sekwencję zadań / akcji do wykonania ! zakłada 'ślepe' wykonywanie (bez interakcji) - nie jest uniwersalne −1− Planowanie racjonalne generuje wiele problemów: ! złożoność → charakter kombinatoryczny ! niepewność adekwatności i poprawnego wykonania zaplanowanych akcji ! natychmiastowość reakcji → Niemożliwa ! ! kompletna reprezentacja → Niemożliwa ! Jak natura problemów świata rzeczywistego wpływa na wewnętrzną architekturę oprogramowania "agenta" ? Czy jest jakieś antidotum ? Wniosek: Świat „naturalny” wymaga takich systemów sterowania, które są odporne na różnego rodzaju zakłócenia, szybko adaptują się do zmian dynamicznego otoczenia i jednocześnie działają w czasie rzeczywistym. Możliwa jest inna architektura agenta DZIAŁANIE REAKTYWNE Planowanie przez małe 'p' Reaktywne zachowanie to klasyfikacja aktualnego stanu i wykonywanie pre-planowanych akcji. Jest to wyliczenie (zaplanowanie?) reakcji na każdą możliwą sytuację. Najważniejsze paradygmaty: ! omijanie obliczeń kiedy tylko możliwe (unikanie wnioskowania/planowania) Przykład: robot Lema > "byle nie myśleć a będzie dobra nasza" ! unikanie reprezentacji stanu otoczenia " Najlepszym modelem świata, jest on sam! " (Rodney Brooks) −2− ! Czy to się da zrobić ? ! Czy to będzie działać ? PRZYKŁAD (z laboratoriów MIT): architektura systemu sterowania robota mobilnego zbierającego puszki po napojach Cechy sterowania reaktywnego: ! bezpośrednie połączenie percepcji i akcji ! brak modeli-reprezentacji otoczenia ! zazwyczaj wykorzystuje dedykowany, współbieżnie działający „hardware” / „software” ! predefiniowane, proste, szybkie odpowiedzi na zmiany otoczenia ! przyczynowość działania → to świat powoduje działanie 'odpalając' reguły, które zwrotnie oddziaływują na świat ( czyżby powrót od „agenta” do „obiektu” ? ) ! Cele + proste umiejętności + skomplikowany świat = ? Różnice w porównaniu do planowania racjonalnego: ! brak stanu początkowego ! brak unikalnego stanu końcowego ! przewidywanie wszystkich możliwych sytuacji i przyporządkowywanie reakcji (planowanie off line) Rezultaty stosowania systemów reaktywnych: otrzymujemy wysoko reaktywne zachowania w czasie rzeczywistym, możliwe jest działanie w złożonych, dynamicznych i niepewnych otoczeniach. −3− Możliwe wersje architektury reaktywnej: ! Równoległe wykonywanie wielu działań ( każde źródło sygnałów steruje innym rodzajem działania ) ! Agregacja – składanie wielu sygnałów (percepcji) otoczenia w celu wyznaczenia sterowania jednym rodzajem działania ! Priorytetowanie gdy różne działania wzajemnie się zakłócają, pierwszeństwo ma „najważniejsze” działanie ( pozostałe działania są blokowane ) −4− PRZYKŁAD: „Vehicles: Experiments in Synthetic Psychology,” Valentino Braitenberg , Cambridge, MIT Press, 1984 vehicle 1 vehicle 2a vehicle 2b vehicle 3 Za pomocą bardzo prostych środków możliwe jest zbudowanie złożonych zachowań: ! omijanie przeszkód ! dopasowanie prędkości ! algorytmy „stada” → tworzenie różnych formacji które są postrzegane jako działania „celowe” i „inteligentne” chociaż nie wykorzystują żadnej wewnętrznej reprezentacji takiego abstrakcyjnego celu. −5− KRYTYKA : ! „wiedza” systemu reaktywnego jest ograniczona zakresem obserwowalności sensorów ! nie potrafią wykrywać zmian lub powtórzeń względem „przeszłości” ! nie potrafią „zliczać” ! mała podatność na "formalną" analizę ! słaba przewidywalność działania całego systemu w nieznanym i dynamicznym otoczeniu. ( Ta słaba przewidywalność jest szczególnie akcentowana w zastosowaniach związanych z dużą odpowiedzialnością np. wojsko, medycyna, duże systemy produkcyjne ) ! Ograniczenie "wnioskowania" do lokalnego kontekstu tzn. podejmowania decyzji na podstawie analizy małego fragmentu czaso-przestrzeni otoczenia ! W efekcie algorytmy reaktywne bardzo często zatrzymują się na rozwiązaniach lokalnie optymalnych, a działanie całego systemu jest sub-optymalne Istnieje duża klasa zadań "niereaktywnych" !!! Największą trudność sprawiają próby reaktywnej realizacji zadań, które "z natury" wymagają wykonywania uszeregowanychsekwencyjnych planów działania. ! Np. typowe zadanie klasycznego systemu wnioskowania: "użyj równi pochyłej do postawienia klocka A na klocku B zajętym przez klocek C" jest niemożliwe do rozwiązania przez system reaktywny jeżeli stan klocków A,B,C i równi pochyłej nie może być obserwowany jednocześnie. ! Negacja stosowania elementów pamięciowych (abstrakcyjnych modeli) uniemożliwia wymuszanie stanów pośrednich w których system "opuszcza" lokalne ekstremum, aby po jakimś czasie znaleźć lepsze rozwiązanie !!! ( przykład zwierząt: ptak vs. kot , które próbują się dostać do pożywienia ukrytego za szybą ) −6− Architektura reaktywna z reprezentacją stanu Dzięki wprowadzeniu jakiejkolwiek formy „pamięci”, modelowania stanu (systemu i/lub otoczenia): ! wiedza agenta nie jest ograniczona do bezpośredniego otoczenia ! agent potrafi „zliczać”, co umożliwia realizację działań które muszą być wykonywane zadana ilość razy ( iteracyjnych, cyklicznych ) ! możliwe jest wprowadzanie „opóźnienie” wykonania akcji względem percepcji ! możliwe jest tworzenie działań opartych na sekwencjach percepcji/akcji np. reagowanie na sekwencję zmian otoczenia lub reagowanie na długotrwały brak zmian otoczenia ! agent jest w stanie wykryć niepowodzenie akcji wykonywanych w przeszłości i wybrać zastosować inną regułę działania −7− Wielopoziomowa architektura SUBSUMPTION Architektura Subsumption składa się z wielu hierarchicznie zorganizowanych poziomów (zachowań), odpowiedzialnych za niezależną realizację różnych celów. Poszczególne poziomy działają współbieżnie, asynchronicznie, posiadają własne podsystemy percepcji oraz działania. Podstawowym elementem konstrukcyjnym jest „zachowanie”: Zachowania: ! są opisywane za pomocą zbioru reguł definiujących działanie automatu skończonego ! każde z zachowań posiada własne sensory i efektory ! wyjście jednego zachowania może być wejściem innego W ramach tej architektury ! bardziej złożone zachowania subsume prostsze zachowania, które znajdują się na niższych poziomach hierarchii ! niższe poziomy nie posiadają żądnej wiedzy na temat wyższych ! wyjścia niższych poziomów mogą być odczytywane przez zachowania z wyższych poziomów ! wyższe poziomy sterują działaniem niższych poprzez: − blokowanie sygnałów wejściowych (inhibition) − zamianę sygnałów wyjściowych na inne (suppression) − wymuszenie powrotu zachowania do stanu początkowego (reset) −8− PRZYKŁAD: System sterowania robotem zbierającym zadane obiekty ( Maja Matarić, “Kin recognition, similarity, and group behavior”, 1993 ) System składał się z 4 zachowań: ! wandering – losowa eksploracja terenu poprzez poruszanie się w przypadkowych kierunkach przez losowany okres czasu ! avoiding : − skręcanie w prawo (lewo) jeżeli zaobserwowano przeszkodę z lewej (prawej) strony − po trzech próbach, wycofanie się i losowy obrót − jeżeli przeszkody po obu stronach, ! pickup – obrót w kierunku obiektu, ruch do przodu, jeżeli obiekt w zasięgu chwytu → zamknięcie chwytaka ! homing – obrót w kierunku „bazy” i następnie ruch do przodu, jeżeli na terenie „bazy”, to koniec działania. −9− POSUMOWANIE: ! Podstawowy postulat "reaktywności" to kompilacja wiedzy systemu do postaci kolekcji prostych bezpośrednich odwzorowań: percepcja → akcja ! W rezultacie, zamiast powolnej sekwencji klasycznego wnioskowania percepcja → abstrakcja → modelowanie → planowanie → → heurystyczne przeszukiwanie → wykonywanie uzyskujemy bardzo szybkie systemy sterowania, których inteligencja osiągana jest poprzez bezpośrednią interakcję z otoczeniem. ! Zamiast budować sztuczny model świata, wykorzystujemy świat jako jego własny model. ! Prekursorem zastosowań reaktywności w robotyce był Rodney Brooks oraz zaproponowana przez niego subsumption architecture "A Robust Layered Control System for a Mobile Robot" R.A. Brooks , MIT, 1986 − 10 −