Hybrydowe racjonalno/reaktywne systemy

Transkrypt

Hybrydowe racjonalno/reaktywne systemy
Grzegorz Knast 148658 Wrocław, dn. 24 czerwca 2009 Hybrydowe racjonalno/reaktywne systemy sterowania Projekt z przedmiotu: Informatyka Systemów Informatycznych Rok akad. 2008/2009, kierunek INF, specjalność INS Prowadzący: Dr. Inż. Marek Piasecki 1. Wstęp Każdy bardziej lub mniej leniwy człowiek nie raz wyobrażał sobie o ile łatwiejsze byłoby życie, gdyby posiadać do pomocy kogoś lub coś co będzie w stanie inteligentnie wykonać za nas jak największe spektrum zadań – od tych trudnych, po wymagające nadludzkiej siły. Przedstawiając człowieka jako mechanizm autonomiczny, można zauważyć, że jest on bardzo zaawansowaną jednostką potrafiącą poradzić sobie w nieliniowym i skomplikowanym otoczeniu dzięki wykorzystaniu mechanizmów wnioskowania, a także mechanizmów reaktywności. Można wysnuć tezę, że człowiek poszukuje niewolnika, który będzie mu służył. Jest to zachowanie niemoralne i skazane na potępienie pod warunkiem, że niewolnik nie będzie posiadał inteligencji ani emocji pojętych z punktu widzenia człowieka. Nie jest ważne pytanie „jak daleko nam do maszyn inteligentnych i rozumnych?” zachowujących się podobnie jak człowiek, ponieważ prędzej lub później uda się je stworzyć. Ważnym pytaniem jest jak potraktowany zostanie „system” zdolny do czucia w sposób zbliżony do ludzkiego. Powracając myślami do czasów nam najbliższych skupmy się na ograniczonych systemach programowych, takich jak systemy doradcze, które również w sposób znaczny odciążają zadania człowieka. 2. Podział systemów Systemy racjonalne – są to przykłady systemów charakteryzujących się korzystaniem z algorytmów poszukiwania i optymalizacji. Pojawiły się one najwcześniej jako wczesne próby uzyskania sztucznej inteligencji. Systemy takie wykazują najwyższą efektywność gdy pracują w środowisku, które nie zmienia swoich właściwości z ubiegiem czasu. Dzieje się tak gdyż systemy racjonalne potrzebują zapoznania ich z modelem tego środowiska, dzięki czemu mogą przeprowadzać swoje działania trafnie i optymalnie planować kolejne kroki do wykonania. Jeśli środowisko jest dynamiczne, model może się po upływie pewnego czasu przestać zgadzać z rzeczywistością co będzie oznaczać w pewnym sensie oślepienie systemu i spadek jego efektywności łącznie z koniecznością przeszukania wszystkich możliwości aby zaplanować kolejny krok, co wiązałoby się z zaprzeczeniem definicji systemu. Tym samym można uznać, że stosowanie systemów racjonalnych jest stosownym rozwiązaniem tylko w przypadku działania w kontekście dyskretnych przedziałów czasowych, w których mają one szanse dokonać odpowiednich wyborów przed zmianą warunków otoczenia. Systemy reaktywne – są to systemy najczęściej algorytmiczne, które opierają swoje działanie o obserwację otoczenia, a następnie o wykonanie założonej z góry procedury w wyniku tej obserwacji. Oznacza to, że systemy te nie przeprowadzają obliczeń i nie jest im potrzebny model środowiska, w którym się poruszają. Ich działanie opiera się jedynie na aktualnie dostarczonym bodźcu, co jednoznacznie wyklucza możliwość planowania. Brak planowania stwarza również dodatkowy problem jakim jest możliwość zapętlenia systemu, a więc całkowitej utraty efektywności. Można temu zapobiec w sposób zgoła odwrotny do planowania przyszłości, a więc pamiętając przeszłość. System, który pamięta daną ilość kroków wstecz, może w pewien prosty sposób wywnioskować, że właśnie udało mu się wpaść w kłopoty i starać się z nich wyjść. Dodatkowym atutem systemów reaktywnych jest ich krótki czas reakcji i niezależność od zmian kontekstu, dzięki czemu doskonale radzą sobie w dynamicznym środowisku. 2. Systemy hybrydowe Są pewnego rodzaju połączeniem systemów reaktywnych oraz systemów racjonalnych. Taka hybryda łączy zalety obu systemów jednocześnie zmniejszając wagę ich wad. Systemy hybrydowe opierają swoje działanie, podobnie jak racjonalne, na założonym modelu środowiska, w którym się poruszają. Następnie planują swoje działania zgodnie z zasadami pracy systemów racjonalnych. Tym razem jednak zaplanowane akcje nie są wykonywane bezwarunkowo. System posiada pewnego rodzaju „oczy” w postaci części reaktywnej, która jest w stanie wprowadzać poprawki na podstawie dynamicznych zmian środowiska. Takie połączenie tworzy dalece lepszą elastyczność i zapobiegliwość systemu, który potrafiąc planować jest jednocześnie niewrażliwy na problemy pracy w kontekście czasu ciągłego. Przykładem takiego systemu może być system TCAS stosowany na pokładach statków powietrznych, „na żywo” informujący załogi niebezpiecznie zbliżających się do siebie samolotów o tym jaki i jak bardzo zintensyfikowany manewr powinny wykonać w celu rozwiązania konfliktu. Kontekstem systemu jest w tym przypadku zbiór informacji o rozmieszczeniu w przestrzeni wszystkich pobliskich samolotów. System planuje na bieżąco najprostsze możliwe rozwiązanie jednocześnie mając „świadomość”, że nie należy zmieniać radykalnie zdania. 3. Typy i warstwy systemów hybrydowych Systemy hybrydowe są trudne do zrealizowania. Głównym opisywanym problemem jest pokonanie barier w realizacji wymiany reguł sterowania pomiędzy częścią reaktywną i racjonalną. Problemem jest także określenie pierwszeństwa podejmowania decyzji przez oba systemy. Można wyróżnić trzy typy systemów hybrydowych, które opisują zasadę realizacji połączenia systemów reaktywnych i racjonalnych ze względu na problem sterowania: • Jednolity system sterowania – łączący oba systemy sterowania. • Dwuwarstwowy system hybrydowy – niższa warstwa reaktywna komunikuje się z wyższą warstwą racjonalną. • System wielowarstwowy – posiadający płynne przejście od reaktywności do planowania. Z powyższego zestawienia systemy jednolite nie zostały dotychczas zaimplementowane z sukcesem, zaś systemy dwuwarstwowe okazały się całkiem proste do zrealizowania. Do podstawowych kryteriów charakteryzujących poszczególne warstwy są: •
•
•
•
zmiany poziomu abstrakcji wykorzystywanych danych, uniwersalność sterowania, czas reakcji systemu, prognozowanie rezultatów końcowych. Warstwa 1 (refleksy) – implementuje częste, natychmiastowe i bezpośrednie transformacje. Można je nazwać odruchami bezwarunkowymi ponieważ nie wymagają wnioskowania, a ich działanie zakłada najczęściej ochronę systemu i wykonanie się w wyniku bezpośredniego wykrycia wzorców w bieżących danych sensorycznych. Konflikty przy wyborze działania rozwiązuje priorytet przydzielony z góry danemu rozwiązaniu – oznacza to bardzo krótki czas od rozpoznania do reakcji. Warstwa 2 (reakcje) – jest to poziom pośredni pomiędzy warstwą pierwszą i trzecią. Nie można go już nazwać odruchem bezwarunkowym. Podobnie jak refleksy, ich zadaniem jest dostarczanie szybkich reakcji na pobudzenie, ale w sposób bardziej złożony. Reakcje potrafią wykorzystywać wewnętrzne zmienne charakteryzujące stan/etap odpowiedzi systemu na zaobserwowany stan otoczenia. Najpowszechniejszą formą ich implementacji są automaty skończone. Na tym poziomie jest więcej kroków od bodźca do reakcji, ale wciąż nie da się tu zauważyć elementów planowania. Reakcje różnią się w stosunku do refleksów braniem pod uwagę danych wewnętrznych (pomiarów wypracowywanych na podstawie modeli wyższych poziomów). Wykrycie danych z czujników zewnętrznych i wirtualnych początkuje działanie odpowiednich reakcji. Tym samym widać połączenie na poziomie pośrednim systemów reaktywnego i racjonalnego, gdzie na z góry zaplanowane zachowanie możliwy jest wpływ zależny od aktualnego zapotrzebowania. Warstwa 3 (działania złożone) – jest to poziom najwyższy, na którym przeprowadzane są procesy modelowania i wnioskowania, w wyniku czego powstają plany, złożone z zadań częściowych. Każde z tych zadań ma określony cel cząstkowy, który jeśli osiągnięty, kończy zadanie. Osiągnięcie celu jest możliwe dzięki zestawom zachowań, które są generowane na potrzeby zadań. Na tym poziomie jest dokonywana analiza kontekstu i przewidywanych zmian po wdrożeniu pewnych zachowań. Przewidywanie dokonywane jest na podstawie posiadanych modeli świata. 3. Przykład architektury systemów hybrydowych Spośród wielu istniejących architektur implementujących hybrydowe systemy sterowania przyjrzyjmy się bliżej jednemu z rozwiązań wielowarstwowych o nazwie Cognitive Controller (CoCo). Architektura dzieli się na trzy podstawowe części: • moduł racjonalny • moduł reaktywny • moduł wykonujący i monitorujący Moduł reaktywny implementuje niskopoziomowy behawioralny kontroler wspierany przez systemy percepcji i pamięci. Na poziomie średnim moduł wykonujący i monitorujący wspomaga relacje doradca‐klient pomiędzy modułami racjonalnym, a reaktywnym. 3.1 Moduł reaktywny Moduł reaktywny CoCo pracuje jako kontroler behawioralny, który jest odpowiedzialny za ochronę i bezpieczeństwo agenta. Oznacza to, że musi on pracować samodzielnie, a jego priorytet musi być najwyższy, a by być w stanie zapobiegać. W każdej chwili moduł reaktywny sprawdza informacje dostarczane mu przez system percepcji, jak również zmienne wewnętrzne dostarczane przez moduł racjonalny, na których podstawie określa odpowiednią akcję. Wybór działania zależy w takim samym stopniu od aktualnego kontekstu systemu, jak i od porad otrzymanych od modułu racjonalnego. Drugą rzeczą, za którą jest odpowiedzialny ten moduł jest zbieranie wiedzy o otaczającym świecie i przekazywanie jej modułowi racjonalnemu w postaci dyskretyzowanej, co pozwala modułowi racjonalnemu efektywnie planować. Moduł reaktywny składa się z następujących elementów: • Centrum percepcji – dodatkowo składa się z systemu postrzegania krótkiego, średniego i dalekiego zasięgu. • Centrum behawioralne • Centrum pamięci – zawiera krótkoterminową pamięć agenta. 3.2 Moduł racjonalny Moduł racjonalny zaopatrza agenta w zdolność planowania, umożliwiając mu tym samem przeprowadzenie skomplikowanych zadań, które bez planowania nie byłyby możliwe do zrealizowania. Moduł racjonalny posiada zestaw elementów planujących, z których każdy posiada własną bazę wiedzy, strategię planowania i listę zadań oraz który postrzega świat abstrakcyjnie. Daje to możliwość śledzenia przeprowadzonego przez dany moduł wnioskowania. Moduł racjonalny zawsze ustala najniższy możliwy poziom abstrakcji dla działania modułów planujących. Kluczowym jest dobranie odpowiedniego poziomu abstrakcji przed przystąpieniem do pracy całego systemu. Po otrzymaniu zadania od stacji bazowej moduł racjonalny wybiera jeden z elementów planujących, aktualizuje jego model środowiska, po czym aktywuje sam element. W jednej chwili tylko jeden element planujący może działać, w celu zapobiegnięcia różnym akcjom sugerowanym przez różne elementy. Moduł planujący ustala plan, który następnie przekazuje modułowi
racjonalnemu. Wszystkie działania są określone pod względem rodzaju
podejmowanych działań oraz pod względem stanu je poprzedzającego i po
nim następującego.
3.3 Moduł wykonujący i monitorujący Moduł wykonujący i monitorujący jest interfejsem dla modułów reaktywnego i racjonalnego. Inicjuje proces planowania w module racjonalnym momencie, w którym operator nakazał wykonanie agentowi zadania, jeśli poprzedni plan nie powiódł się, jeśli moduł reaktywny utknął, lub jeśli któraś z akcji okazała się zbyt trudna. Wykonywanie aktualnego planu kontrolowane jest poprzez sprawdzanie stanów systemu przed rozpoczęciem kolejnej akcji i po jej ukończeniu. Tak więc, stany te są podstawą wiedzy modułu dotyczącej kontroli wykonywanego planu. W każdej chwili, akcje aktywne, które zawiodły lub się zakończyły są rozłączane. Następnie niewykonane akcje, których warunki początkowe zostały spełnione zostają aktywowane. Istnieją trzy rodzaje akcji: • Akcje zabudowane – wykonywane bezpośrednio przez moduł reaktywny. • Akcje warunkowe – wpływają na wybór kolejnych akcji • Akcje niezabudowane Moduł wykonujący i monitorujący radzi sobie ze wszystkimi trzema rodzajami akcji, co znaczy, że może wykonywać akcje liniowe, warunkowe, jak również akcje hierarchiczne. Może także wykonywać wiele akcji na raz, a więc planować na raz wiele możliwości. Dobrze sprawdza się w zadaniach, które wymagają bardzo niskiego czasu reakcji oraz wysokiej precyzji. 4 Zakończenie Zaawansowanie systemu hybrydowego leży głównie w umiejętnym sposobie połączenia ze sobą poszczególnych modułów. Efektywna współpraca przekłada się na wysokie wykorzystanie zalet każdego modułu i minimalizację strat jakościowych powodowanych przez wady poszczególnych modułów. Systemy hybrydowe będą się rozwijać w potencjalnie coraz szybszym tempie wraz z pozostałymi zagadnieniami sztucznej inteligencji, a ich zakres zastosowań będzie pukał do drzwi nowych dziedzin życia i techniki. Literatura •
•
„The Cognitive Controller: A Hybrid, Deliberative/Reactive Control Architecture for Autonomous Robots”, Faisal Qureshi, Demetri Terzopoulos, Ross Gillett „Systemy hybrydowe reaktywno‐racjonalne”, ISA, wykład 

Podobne dokumenty