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 −

Podobne dokumenty