420 likes | 563 Views
ROZWIĄZANIE KONFLIKTU POMIĘDZY ROBOTAMI Z WYKORZYSTANIEM ELEMENTÓW TEORII GIER. plan. Wprowadzenie Definicja problemu – założenia Rozwiązanie konfliktu z wykorzystaniem równowagi niekooperacyjnej Metoda rozwiązania problemu Przykład Wnioski. Wprowadzenie.
E N D
ROZWIĄZANIE KONFLIKTU POMIĘDZY ROBOTAMI Z WYKORZYSTANIEM ELEMENTÓW TEORII GIER
plan • Wprowadzenie • Definicja problemu – założenia • Rozwiązanie konfliktu z wykorzystaniem równowagi niekooperacyjnej • Metoda rozwiązania problemu • Przykład • Wnioski
Wprowadzenie • W środowisku, w którym znajduje się wiele robotów autonomicznych, a każdy z nich posiada ograniczoną wiedzę na temat otoczenia oraz działa niezależnie, starając się zrealizować swoje własne cele, powstają konflikty interesów. Porozumienie może być osiągnięte poprzez wymianę informacji i negocjację. W takim przypadku każdy z zainteresowanych robotów może starać się: wysunąć argumenty przekonujące do wykonania jego celu, zaoferować w zamian cenne informacje lub na przykład zaproponować wykonanie jakiejś czynności, której inny robot nie jest w stanie wykonać. Do tego wszystkiego potrzebna możliwość komunikacji pomiędzy robotami.
Wprowadzenie • Istnieją jednak sytuacje, w których nie ma łączności. Spowodowane to może być na przykład przez: znalezienie się w środowisku uniemożliwiającym kontakt, wysoki koszt utrzymywania łączności lub awarię systemu komunikacji. Dlatego, jeśli nie można sobie pozwolić na oczekiwanie aż łączność zostanie przywrócona lub w ogóle nie ma możliwości kontaktu, powinien istnieć w systemie sterującym robotem algorytm pozwalający podejmować decyzję samodzielnie.
Definicja problemu – założenia • Stan początkowy zawiera skończoną liczbę klocków na stole o nieograniczonej ilości miejsca. • Dwa (lub w ogólnym przypadku więcej) robotów próbuje przebudować stan początkowy, każdy z nich w odrębny sposób (każdy robot chce osiągnąć swoją własną sytuację docelową). • Cel każdego z robotów składa się z podcelów. • Każdy podcel ma swoje preferencje (podcele są mniej lub bardziej istotne dla robotów). • Roboty mają różne możliwości – robot nie musi być w stanie wykonywać wszystkich operacji prowadzących do realizacji jego podcelów. • Roboty nie mogą współpracować (to założenie jest uzasadnione w przypadku środowiska, w którym komunikacja jest zabroniona lub urządzenia służące do komunikacji są zepsute). • Zysk rozumiany jest jako suma preferencji zrealizowanych podleców.
Problem, w którym jest kilka możliwych stanów początkowych (nie jesteśmy w stanie ustalić, który z nich naprawdę występuje) i jeden stan docelowy nazywany jest problemem planowania w obecności niekompletnej informacji
Jako problem odwrotny do niegorozumiemy sytuację, w której jest jeden stan początkowy a wiele stanów docelowych. Odpowiada to problemowi planowania w środowisku wielu robotów, gdzie każdy robot chce uzyskać swój własny cel, co może stanowić źródło konfliktów.
System STRIPS (STanford Research Institute Problem Solver) wykorzystuje do modelowania otoczenia robota klasyczne środowisko zwane Świat Klocków (Blocks World) • (PUT-DOWN x) – położenie klocka na stół • Lista warunków stosowalności (pre): (holding x) • Lista skreśleń (del): (holding x) • Lista dopisków (add): (on-table x), (clear x), (arm-empty). • (STACK x y) – położenie klocka na stos • Lista warunków stosowalności (pre): (holding x), (clear y) • Lista skreśleń (del): (holding x), (clear y) • Lista dopisków (add): (arm-empty)(on x y), (clear x)
Równowaga niekooperacyjna w strategiach czystych • Dla problemu gry pomiędzy dwoma graczami i reprezentacji macierzowej zakładamy, że gracz D1 wybiera wiersze a gracz D2 kolumny macierzy. Obaj gracze starają się minimalizować wskaźnik jakości zdefiniowany odpowiednio macierzami A = {aij} oraz B = {bij}. Rezultatem wyboru pary strategii (i,j) jest zatem para wyników (aij, bij). Równowaga niekooperacyjna lub równowaga Nasha zdefiniowana jest następująco: • Para strategii (io, jo) określa rozwiązanie równowagi niekooperacyjnej (Nasha) w grze dwumacierzowej (A,B) jeśli spełnione są nierówności: dla wszystkich i = 1, 2... n, j = 1, 2 ... m. Definicję tą można rozszerzyć na dowolną liczbę graczy.
Rozwiązanie konfliktu z wykorzystaniem równowagi niekooperacyjnej • Na podstawie nieprecyzyjnego planu oraz równowagi niekooperacyjnej zostanie pokazane, jak otrzymać plan jednoznaczny będący kompromisem dla sytuacji konfliktowej. • Podstawą konstruowania gry będącej ilustracją konfliktu pomiędzy robotami są priorytety osiągania poszczególnych podleców. Zakłada się, że priorytety te mogą reprezentować zyski.
Przykład • ; init ; goal 1 ; goal 2 ; • ; ; ; ; • ; A B C D ; 2/ I 2/ J 3/ K 3/ L ; 3/ I 1/ J 5/K 7/ L ; • ; E F G H ; \ E \ \ F \ \ G \ \ H \; \ F \ \ G \ \ H \ \ E \ ; • ; I J K L ; A /7 B /2 C /3 D /3 ; A /4 B /1 C /2 D /6 ; • ; --------- ; ------------------------------- ; ------------------------------- ; • ; • ; ; goal 3 ; goal 4 ; • ; ; ; ; • ; ; 4/ I 4/ J 1/ K / L ; 1/ I 2/ J 3/ K 4/ L ; • ; ; \ G \ \ H \ \ E \\ F \ ; \H \ \ E \ \ F \ \ G \ ; • ; ; A /3 B /2 C /1 D /5 ; A /3 B /1 C /1 D /3 ; • ; ; ------------------------------- ; ------------------------------- ;
=== Tworzenie macierzy zysków ===================================== • Czas budowania macierzy : 0.19 s • Liczba punktów, w których wprowadzono kary : 2416 • Czas wprowadzania kar : 6.73 s • ::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: • ::: ITERACJA 1 • === Poszukiwanie strategji czystych równowagi Nasha =============== • Liczba graczy : 4 • Liczba akcji poszcególnych graczy : 8 8 8 8 • Liczba wszystkich punktów : 4096 (100 %) • Liczba sprawdzonych puntów : 1680 (41.0156 %) • Liczba puntów równowagi : 120 (2.9297 %) • Czas trwania obliczeń : 11.297 s • === Strategia ===================================================== • Podcele, które zostały wybrane w iteracji: (on E A), (on F D), (on K G), (on L E) • Suma priorytetów zrealizowanych podceów : 22 • ::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: • ::: ITERACJA 2 • === Poszukiwanie strategji czystych równowagi Nasha =============== • Liczba graczy : 4 • Liczba akcji poszcególnych graczy : 2 2 2 2 • Liczba wszystkich punktów : 16 (100 %) • Liczba sprawdzonych puntów : 4 (25 %) • Liczba puntów równowagi : 4 (25 %) • Czas trwania obliczeń : 0.15 s • === Strategia ===================================================== • Podcele, które zostały wybrane w iteracji: (on I F), (on J H), (on G C), (on H B) • Suma priorytetów zrealizowanych podceów : 34 • === Tworzenie macierzy zysków ===================================== • Czas budowania macierzy : 0.3 s • Liczba punktów, w których wprowadzono kary : 2416 • Czas wprowadzania kar : 6.83 s
PLAN KONCOWY • ( ((STACK1 I F)) ((STACK2 J H)) ((STACK3 K G)) ((STACK4 L E)) ) • ( ((PICK-UP1 I)) ((PICK-UP2 J)) ((PICK-UP3 K)) ((PICK-UP4 L)) ) • ( ((STACK1 E A)) ((STACK2 F D)) ((STACK3 G C)) ((STACK4 H B)) ) • ( ((PICK-UP1 E)) ((PICK-UP2 F)) ((PICK-UP3 G)) ((PICK-UP4 H)) ) • ( ((PUT-DOWN1 A)) ((PUT-DOWN2 B)) ((PUT-DOWN3 C)) ((STACK4 D)) ) • ( ((PICK-UP1 A)) ((PICK-UP2 B)) ((PICK-UP3 C)) ((PICK-UP4 D)) )
Transformacja STRIPS do ZPL – heurystyka zwiększająca efektywność poszukiwania rozwiązania
ZPL (problem wielomianowy *): min f'*x subject to: A*x <= b x • Stan początkowy: • clear(A)(0)=1 • clear(D)(0)=1 • on(A,B)(0)=1 • on(D,C)(0)=1 • Pozostałe zmienne dla i=0 to 0 * Chaczijan L.G.: A polynomial algorithm for linear programing. Dokł. Akad. Nauk SSSR, 244, 1979, 1093-1096 (tłum.ang.) uwaga: klasyczna metoda Symplex jest wykładnicza: Dantzig G.B.: Linear Programming and Extensions. Princeton Univ. Press, N.J., 1963
Redukcja do ZPL rozwiązania otrzymane z ZPL (Zadania Programowania Liniowego) są wartościami z przedziału <0,1>, a wartości te odpowiadają stopniu spełnienia warunków w systemie STRIPS ( “0” odpowiada niespełnienie warunku, “1” odpowiada całkowite spełnienie ) Bylander T.: A Linear Programming Heuristic for Optimal Planning. Int. Conf. American Association for Artificial Intelligence, 1997, www.aaai.org
Redukcja do ZPL Zakładamy, że jeśli p jest warunkiem i jeśli planowanie jest podzielone na l etapów, to potrzebujemy l+1 zmiennych dla tego warunku: p(0), p(1), ..., p(l). Jeśli z kolei op będzie operatorem, to potrzebujemy l zmiennych dla każdego operatora: op(0), op(1), ..., op(l-1). Funkcja celu osiąga wartość maksymalną, jeśli wartości warunków definiujących cel w ostatnim etapie planowania są równe 1.
Redukcja do ZPL Przykład w świecie klocków: problem dekompozycji stanu początkowego złożonego z 4 klocków: Załóżmy 2 etapy planowania (dla założonej sytuacji początkowej wystarczą 2 operatory do dekompozycji).
Redukcja do ZPL • Tak więc mamy (16+16+16) zmiennych dla warunków: • on(A,B)(i) clear(A)(i) • on(A,C)(i) clear(B)(i) • on(A,D)(i) clear(C)(i) • on(B,A)(i) clear(D)(i) • on(B,C)(i) • on(B,D)(i) • on(C,A)(i) i = 0, 1, 2. • on(C,B)(i) • on(C,D)(i) • on(D,A)(i) • on(D,B)(i) • on(D,C)(i)
Redukcja do ZPL • Dodatkowo potrzebujemy 24 zmienne dla operatorów (12+12): • move-to-table(A,B)(i) • move-to-table(A,C)(i) • move-to-table(A,D)(i) • move-to-table(B,A)(i) • move-to-table(B,C)(i) • move-to-table(B,D)(i) • move-to-table(C,A)(i) • move-to-table(C,B)(i) • move-to-table(C,D)(i) i = 0, 1. • move-to-table(D,A)(i) • move-to-table(D,B)(i) • move-to-table(D,C)(i)
Redukcja do ZPL Funcja celu definiuje stan decelowy: Max ( clear(A)(2) + clear(B)(2) + clear(C)(2) + clear(D)(2) ) Dla rozwiązanego problemu planowania wartość funkcji celu będzie równa 4 (4 warunki będą prawdziwe). Co najwyżej 1 operator może być zastosowany na każdym etapie: move-to-table (x,y)(1) 1 move-to-table (x,y)(2) 1
Redukcja do ZPL • Operator nie może być zastosowany, • jeśli jego warunki stosowalności nie są prawdziwe: • on(x,y)(i) move-to-table(x,y)(i) • - dla wszystkich 12 operatorów w i-tym etapie; • clear(A)(i) move-ta-table(A,B)(i) + • + move-to-table(A,C)(i) + move-to-table(A,D)(i) • clear(B)(i) move-ta-table(B,A)(i) + • + move-to-table(B,C)(i) + move-to-table(B,D)(i) • clear(C)(i) move-ta-table(C,A)(i) + • + move-to-table(C,B)(i) + move-to-table(C,D)(i) • clear(D)(i) move-ta-table(D,A)(i) + • + move-to-table(D,B)(i) + move-to-table(D,C)(i) • i = 0, 1.
Redukcja do ZPL • Następna grupa ograniczeń opisuje zmiany wartości zmiennych • dla warunków w następnych etapach po zastosowaniu operatorów. • Są to ograniczenia równościowe: • clear (A)(i+1) = clear (A)(i) + • + move-ta-table (B,A)(i) + • + move-to-table (C,A)(i) + • + move-to-table (D,A)(i) • i = 0, 1. • i tak dla wszystkich pozostałych warunków: clear (x)(i+1): x = B, C, D.
Redukcja do ZPL • Potrzebne są jeszcze równania opisujące zmiany warunków typu • on(x,y): • on (A,B)(i+1) = on (A,B)(i) – move-to-table (A,B)(i) • dla każdej kombinacji klocków. • Wreszcie ograniczenia na wartości zmiennych: wartosci te muszą • zawierać się w przedziale: • [ 0, 1 ] • odpowiadającym wartościom prawdy dla danych warunków.
Redukcja do ZPL • Podsumowując (dla „n ” klocków i „l ” kroków) : • liczba zmiennych dla ZPL: l n (2n -1) + n 2 • liczba ograniczeń nierównościowych: l (n2+ n + 1) • liczba ograniczeń równościowych: l (n2 + n) • Przykład (dla 30 klocków i 15 kroków) : • liczba zmiennych dla ZPL: 28 380 • liczba ograniczeń nierównościowych: 13 965 • liczba ograniczeń równościowych: 13 950
Sensor górny A D B B C A B C D A początek cel Wyniki symulacji • Podsumowując (dla 4 klocków i 2 kroków) : • liczba zmiennych dla ZPL: 72 • liczba ograniczeń nierównościowych: 34 • liczba ograniczeń równościowych: 32 Przykład 1:
on(A,B)(i) • on(A,C)(i) • on(A,D)(i) • on(B,A)(i) • on(B,C)(i) • on(B,D)(i) • on(C,A)(i) • on(C,B)(i) • on(C,D)(i) • on(D,A)(i) • on(D,B)(i) • on(D,C)(i) • clear(A)(i) • clear(B)(i) • clear(C)(i) • clear(D)(i) Wyniki symulacji FVAL = - 4.0000 • move-to-table(A,B)(i) • move-to-table(A,C)(i) • move-to-table(A,D)(i) • move-to-table(B,A)(i) • move-to-table(B,C)(i) • move-to-table(B,D)(i) • move-to-table(C,A)(i) • move-to-table(C,B)(i) • move-to-table(C,D)(i) • move-to-table(D,A)(i) • move-to-table(D,B)(i) • move-to-table(D,C)(i)
A D A D C B B C A B C D Wyniki symulacji Zastosowanie systemu logiki trójwartościowej (systemu Kleene’a *) do wyrażenia niepewności co do stanu początkowego W systemie logiki trójwartościowej wartość logiczna stwierdzenia jest odwzorowywana w zbiór trójwartościowy {0, ½, 1}. Stwierdzenia T(a) = 0, T(a) = 1 oraz T(a) = ½ oznaczają odpowiednio, że „a” jest fałszywe, prawdziwe oraz że nic nie można powiedzieć o prawdziwości „a” [4]. Sensor górny Sensor górny Przykład 2: początek 1 lub początek 2 cel * Dougherty, E.R. i Ch.R. Giardina. 1988. Mathematical Methods for Artificial Intelligence and Autonomous Systems. Prentice-Hall International, Inc. USA
on(A,B)(i) • on(A,C)(i) • on(A,D)(i) • on(B,A)(i) • on(B,C)(i) • on(B,D)(i) • on(C,A)(i) • on(C,B)(i) • on(C,D)(i) • on(D,A)(i) • on(D,B)(i) • on(D,C)(i) • clear(A)(i) • clear(B)(i) • clear(C)(i) • clear(D)(i) Wyniki symulacji FVAL = - 4.0000 • move-to-table(A,B)(i) • move-to-table(A,C)(i) • move-to-table(A,D)(i) • move-to-table(B,A)(i) • move-to-table(B,C)(i) • move-to-table(B,D)(i) • move-to-table(C,A)(i) • move-to-table(C,B)(i) • move-to-table(C,D)(i) • move-to-table(D,A)(i) • move-to-table(D,B)(i) • move-to-table(D,C)(i)
Sensor górny A F B G C H D I E J Wyniki symulacji 10 klocków: stan początkowy niepewny Wynik: plan nieimlementowalny
Sensor górny A F B G C H D I E J Wyniki symulacji 10 klocków: stan początkowy niepewny – detekcja klocka po jego odkryciu Operator detekcji (sensing action) *: Weld, D.S., C.r. Anderson i D.E. Smith. 1998. Extending Graphplan to Handle Uncertainty & Sensing Actions. Proc. 15th National Conf. on AI, 897-904
Bylander T.: A Linear Programming Heuristic for Optimal Planning. Int. Conf. American Association for Artificial Intelligence, 1997, www.aaai.org Algorytm zachłanny Algorytm LP
Uwagi o złożoności obliczeniowej Redukcja do ZPL pozwala efektywniej rozwiązać problemy rzeczywistych (dużych) rozmiarów, jednak przy założeniu, że otrzymane rozwiązanie posiada interpretację w świecie klocków. Spełnienie tego założenia redukuje klasę złożoności obliczeniowej problemu planowania. Dzieje się tak dlatego, że: -problem planowania optymalnego (z najmniejszą liczbą operatorów) w świecie klocków jest NP zupełny; -transformacja do zadania programowania liniowego jest wielomianowa - zadanie programowania liniowego jest problemem wielomianowno złożonym (należy do klasy P złożoności obliczeniowej).
Uwagi o złożoności obliczeniowej Programowanie całkowitoliczbowe da w wyniku wartości zmiennych 0 lub 1, co odpowiadałoby by rozwiązaniu problemu planowania bez uzględniania niepewności co do warunków w stanie początkowym problemu. Podejście takie jest jednak nieefektywne, gdyż problem programowania całkowitoliczbowego jest NP-zupełny, w wyniku czego redukowalibyśmy problem NP-zupełny do innego NP-zupełnego, co nie jest postępem z punktu widzenia zwiększania efektywności obliczeniowej.
Uwagi o złożoności obliczeniowej Programowanie liniowe da w wyniku wartości z przedziału [ 0, 1 ] włącznie, co pozwala uwzględniać niepewność co do stopnia prawdy warunków w stanie początkowym problemu, jednak nie zawsze otrzymany wynik daje poprawną interpretację znalezionego planu. Jest to koszt, jaki ponosimy redukując problem planowania do wielomianowego.