• Nie Znaleziono Wyników

Systemy wieloagentowe

W dokumencie Index of /rozprawy2/10282 (Stron 66-74)

Struktura społeczna pszczół

Definicja 2.3: Kolektywna Inteligencja jako chwilowa własność struktury społecznej. Podstawowe oznaczenia:

4. Koncepcja modelu rynku dla potrzeb symulacji NRRAS

4.1. Systemy agentowe

4.1.3. Systemy wieloagentowe

Poczynając od lat 90-tych systemy agentowe (ang. agent-based) zyskały dużą popularność dzięki temu, iż technologia ta wprowadzała nowy paradygmat do analizy koncepcyjnej, projektowania i implementowania systemów informatycznych, a zastosowania systemów agentowych stały się atrakcyjne również w środowiskach rozproszonych [Sycara98]. Możliwe jest, aby system taki składał się z pojedynczego agenta, prawdziwy potencjał tej technologii tkwi jednak w realizacji projektów złożonych z kilku lub większej liczby agentów, którzy się ze sobą komunikują i wchodzą we wzajemne interakcje. Systemy takie nazywane są wieloagentowymi (ang. Multi-Agent System, MAS).

W latach 60-tych i 70-tych większość badaczy w dziedzinie sztucznej inteligencji zajmowała się rozwijaniem teorii i technik dotyczących zachowania i rozumowania pojedynczej jednostki (np. systemy ekspertowe [Lucas91]). W miarę rozwoju sztucznej inteligencji okazało się, iż rzeczywiste problemy są zbyt skomplikowane i złożone by można je było rozwiązać przy pomocy jednego programu. Dodatkowo program taki sam w sobie był ograniczony poprzez zastosowanie uproszczonych modeli. Wnioski te prowadziły do dalszych prac, których efektem było miedzy innymi pojawienie się systemów agentowych. Jednak pojedynczy agent nadal jednak był tworem ograniczonym swoją wiedzą i zasobami obliczeniowymi. Ponieważ wiadomo było, że najpotężniejszymi narzędziami w walce ze złożonością jest modularność oraz abstrakcja, w latach 90-tych badania ukierunkowano [Russel95] na projektowanie systemów składających się z większej liczby agentów. Systemy takie nazywane są wieloagentowymi.

Systemy wieloagentowe oferują ową modularność − jeżeli dziedzina problemu jest złożona, duża i nieprzewidywalna to jedynym sposobem na jej ogarnięcie jest rozwijanie komponentów o określonej funkcjonalności, które zajmują się rozwiązaniem określonych podproblemów. Dekompozycja taka pozwala każdemu agentowi na użycie najodpowiedniejszych metod do rozwiązania podproblemu, za który jest odpowiedzialny. W miarę wzrostu współzależności poszczególnych komponentów systemu agenci muszą coraz ściślej koordynować swoje działania, by zapewnić odpowiedni poziom zarządzania tymi zależnościami.

Rzeczywiste problemy wymagają zastosowania rozproszonych, otwartych systemów. System otwarty to taki system, który jest zdolny do dynamicznej zmiany swojej struktury w zależności od sytuacji. Jedna z cech charakterystycznych dla takich systemów jest to, iż nie można określić z góry wszystkich ich komponentów zaś same komponenty mogą ulegać zmianom w czasie. System może składać się z grupy heterogenicznych agentów, rozwijanych przez różnych ludzi przy wykorzystaniu różnych środowisk. Prawdopodobnie najlepszym przykładem takiego systemu jest Internet, który może być traktowany jako wielkie, rozproszone źródło zasobów informacji z węzłami w sieci implementowanej przez różne organizacje. W otwartym środowisku źródła informacji, linki komunikacyjne mogą się pojawiać i zanikać w sposób nieprzewidywalny. Współcześnie zastosowanie agentów w Internecie ogranicza się do pozyskiwania i filtrowania informacji. W niedalekiej przyszłości jednak agenci będą potrafili zbierać informacje oraz na jej podstawie wnioskować i wykonywać złożone zadania w celu wspierania rozwiązania specyficznego problemu z danej dowolnej dziedziny. Ta zdolność wymaga komunikacji pomiędzy agentami oraz koordynacji działań co w znaczący sposób zwiększa możliwości pojedynczego agenta.

Badania na systemami wieloagentowymi obejmują między innymi zachowanie oraz identyfikację autonomicznych agentów, którzy wchodzą w interakcje pomiędzy sobą oraz

środowiskiem, w jakim są osadzeni. Badanie takich systemów wychodzi poza zakres pojedynczego systemu jakim może być np. system ekspertowy, chociaż z tego powodu, że dochodzi aspekt „socjologiczny” związany z kooperacją wielu agentów oraz możliwości jakie płyną z wykorzystania go w rozwiązywani różnych problemów rzeczywistych. System wieloagentowy można zdefiniować jako sieć luźno ze sobą powiązanych podsystemów rozwiązujących problemy (ang. problem solvers) wchodzących ze sobą w interakcje w celu rozwiązania problemu, który jest poza zasięgiem pojedynczego systemu. Takie podsystemy (zwane agentami) mogą być ze swej natury autonomiczne i heterogeniczne.

Można wyróżnić następujące cechy charakterystyczne systemu wieloagentowego:

• każdy pojedynczy agent nie dysponuje pełną informacją co do tego w jaki sposób problem powinien być lub może być rozwiązany,

• system nie posiada globalnej kontroli, • dane są rozproszone,

• obliczenia wykonywane są w sposób asynchroniczny.

Warto zauważyć, że wszystkie te cechy pojawiają się również w Kolektywnej Inteligencji i jej modelu obliczeniowym [Szuba01c]. Ponadto abstrakcja agenta wydaje się być odpowiednia do enkapsulacji modeli ekonomicznych opisujących zachowanie uczestnika rynku (omówione w kolejnym rozdziale).

Systemy wieloagentowe są zatem coraz powszechniej stosowane ze względu na następujące zalety, które oferują [Sycara98]:

• możliwość rozwiązywania problemów, które są za duże dla pojedynczych systemów ze względu na ograniczoność zasobów oraz niebezpieczeństwo, iż pojedynczy taki system mógł by być mało wydajny;

• możliwość połączenia i zapewnienia współdziałania istniejących systemów, kiedy przepisanie istniejących systemów byłoby zbyt kosztowne i czasochłonne (zwłaszcza, ze każdy system jest dosyć często modernizowany);

• możliwość ich zastosowania do pewnej klasy systemów, które z natury składają się z luźno ze sobą powiązanych autonomicznych komponentów − systemy takie mogą być projektowane w naturalny sposób z zastosowaniem MAS;

• dostarczenie rozwiązań dla w sytuacji gdy informacja jest rozproszona (np. wyszukiwanie informacji w internecie);

• dostarczenie rozwiązań w sytuacji gdy ekspertyza jest rozproszona (np. medycyna); • podniesienie wydajności systemu ze względu na naturalną możliwość zrównoleglenia

• podniesienie stabilności systemu ze względu na to, iż komponenty systemu (agenci) są odnajdywane w sposób dynamiczny − jeżeli jakiś komponent systemu zaczyna działać niestabilnie można odnaleźć inny o tej samej funkcjonalności;

• łatwość rozszerzania systemu − poprzez dodawanie nowych agentów;

• łatwość utrzymania (ang. maintainability) − system taki łatwiej utrzymać ze względu na jego dużą modularność – wszelkie anomalie w zachowanie systemu są lokalne i nie propagują na cały system;

• elastyczność systemu − agenci z różnymi umiejętnościami mogą organizować się w celu rozwiązania „aktualnego problemu”;

• możliwość ponownego użycia − agenci o specyficznej funkcjonalności mogą być wykorzystywani w różnych systemach.

4.2. Modelowanie agenta architektura M-Agenta

Na podstawie rozważań przedstawionych w poprzednim rozdziale można przyjąć, iż niezbędnym elementem każdego modelu rynkowego jest środowisko, w którym osadzeni są uczestnicy rynku. Środowisko dostarcza uczestnikom rynku zasobów, które mogą być nierównomiernie rozproszone i które umożliwiają im przetrwanie. Niektóre modele systemów wieloagentowych [Nwana98] przyjmują, że środowisko dostarcza agentom energii, która jest nieograniczona, może ona być również nierównomiernie rozproszona i zapewniać agentom przetrwanie. Bardziej odpowiednie wydaje się jednak podejście bardziej ogólne, które związane jest z nurtem badań nad systemami agentowymi, który kładzie nacisk na współdziałanie i interakcje wielu agentów osadzonych we wspólnym środowisku [Nwana98][Jennings98]. W podejściu tym środowisko definiowane jest w oparciu o agenta, który w nim działa jako coś co zaopatruje agenta w informacje oraz dostarcza bodźców do jego działania. Agent natomiast może podejmować działania, które mają wpływ na środowisko. Jeszcze bardziej ogólne podejście zaprezentowane jest w pracach M. Kisiel-Dorohinickiego [Kisiel00][Kisiel01], w którym środowisko definiowane jest jako elementy świata agentowego, które nie są agentem. W podejściu tym stan agentów oraz środowiska opisywany jest w kategoriach posiadanych, bądź zawieranych zasobów i informacji, które są kwantowane (występują w porcjach, które są mierzalne). Jako zasoby przyjmowane są wielkości fizyczne określające zdolność agenta do wykonania akcji. Zasoby są wyczerpywalne, przy czym każdy kwant zasobu jest w danej chwili przypisany do konkretnego agenta lub części środowiska. Informacje natomiast stanowią dla agenta bazę podejmowanych decyzji co do wykonywanych akcji i mogą być duplikowane. O ile ilość zasobu przypisana do agenta lub części środowiska jest zawsze dobrze określona to informacja w tym modelu może być niepełna lub niepewna. Przez akcję rozumiana jest

atomiczna (w sensie niepodzielna) czynność lub działanie jakie może być wykonane przez agenta i w danym stanie systemu ma określone skutki: z jednej strony wpływa na stan agenta, z drugiej – na stan środowiska oraz ewentualnie innych agentów. Powyższa koncepcja stanowi punkt wyjścia do konstrukcji wieloagentowego modelu ekonomicznego na potrzeby symulacji NRRAS. Model ten zostanie nazwany EcoMASCI (od ang. Economy Multi Agent System based

on Collective Intelligence)77 przy czym przez model rozumiane jest tutaj możliwie proste odzwierciedlenie rzeczywistości rynkowej czy też „ekonomii”78.

W literaturze opisanych jest wiele podejść do modelowania agentów [Wooldridge95] [Wooldridge96][Müller97][Singh98][Brewka06] jednak nie wydają się one formalizacjami wystarczającymi dla potrzeb modelowania NRRAS w oparciu o system wieloagentowy. Uproszczony model systemu agentowego na bazie, którego zostanie opisany system EcoMASCI zostanie utworzony na bazie koncepcji architektury M-Agenta przedstawionej w pracach K. Cetnarowicza [Cetnarowicz96][Cetnarowicz97abc][Cetnarowicz99][Cetnarowicz02] oraz koncepcji systemu EMAS przedstawionej w pracach M. Kisiel-Dorohinickiego [Kisiel00] [Kisiel01]. Koncepcja ta zakłada obserwację i modelowanie środowiska z punktu widzenia pojedynczego agenta przy czym model otaczającego go świata stanowi dla niego punkt wyjścia do podejmowanych decyzji dotyczących wyboru strategii prowadzącej do najlepszej realizacji określonego celu. Agent ma możliwość adaptacji do zmieniających się warunków poprzez proces uczenia, który polega na obserwację efektów wykonywanych działań, które wpływają na jego zachowanie w przyszłości.

Ogólny schemat działania M-Agenta jest cykliczny i składa się na niego: 1. Obserwacja stanu środowiska.

2. Podjęcie decyzji o najbardziej adekwatnym sposobie działania. 3. Wykonanie operacji zgodnie z podjętą decyzją.

Agent w tym modelu do dyspozycji wiele możliwych sposobów działania natomiast proces podejmowania decyzji ma na celu wybranie najbardziej właściwego, a jest realizowany w następujący sposób:

1. Agent buduje model postrzeganego środowiska (m).

2. Agent wyznacza przewidywane zmiany modelu (m′), jakie mogą być skutkiem poszczególnych sposobów działania (s).

77 Skrót EcoMASCI został wybrany ze względu na to, iż w literaturze powszechnie wykorzystuje się skrót EMAS jako określenie ewolucyjnego systemu wieloagentowego (od ang. Evolutionary Multi Agent System) a skrót EMASCI mógłby sugerować próbę rozszerzenia takiego systemu w oparciu o model obliczeniowy Kolektwynej Inteligencji co byłoby mylące.

78 Ekonomii rozumianej jako zbioru, na który składają się: system ekonomiczny danego kraju, kapitału, uczestników rynku, obszaru na którym oni działają, który może być utożsamiany z terytorium państwa (aczkolwiek niekoniecznie).

3. Agent ocenia przewidywane zmiany, by wybrać najbardziej odpowiedni sposób działania z punktu widzenia bieżącego celu (q).

4. Agent wybiera i wykonuje najlepszą strategię działania. Formalna definicją agenta w tym modelu jest następująca:

ag ≣ (M, Q, S, I, X, L, m, q, s)

gdzie:

M – zbiór możliwych modeli środowiska, wiedza agenta a o środowisku, m ∈ M; Q – zbiór uporządkowany celów agenta agenta, q ∈ Q;

S – zbiór możliwych strategii agenta, s ∈ S;

I – operator obserwacji, m = I(M, V ), V – stan środowiska,

X – operator wykonania strategii, V ′ = X(s, V ), V ′ – stan środowiska przewidywany przez agenta po zastosowaniu strategii s,

L – operator adaptacji (uczenia).

Koncepcja, w której punktem wyjścia jest zasada obserwacji i modelowania środowiska z punktu widzenia pojedynczego agenta wydaje się bardzo dobrze pasować do stworzenia modelu NRRAS, którego genezę stanowi zachowanie pojedynczego człowieka (uczestnika rynku) dążącego do maksymalizacji własnej funkcji użyteczności (która jest miarę „jego interesu”) działającego w strukturze społecznej składającej się z wielu ludzi, którzy się kierują tą samą zasadą.

Przedstawiony w niniejszej pracy model adaptuje zasady konstrukcji systemu wieloagentowego według architektury M-Agenta do stworzenia modelu rynku, w którym zachodzić będą procesy NRRAS. W związku z tym niektóre zaproponowane w architekturze M-Agenta oraz EMAS elementy zostaną pominięte. Model też zostanie uzupełniony o elementy reprezentujące rynkową naturę systemu. Celowym wydaje się zaprezentowanie modelu w sposób dwustopniowy: w pierwszym etapie zostaną wprowadzone podstawowe pojęcia (w oparciu o pojęcia pierwotne przedstawione wcześniej) oraz zaprezentowany zostanie szkielet modelu (przedstawiony na rys. 4.2), który zostanie w kolejnym etapie uszczegółowiony poprzez uściślenie wcześniej wprowadzonych pojęć oraz adaptację modeli zaczerpniętych z teorii mikroekonomii. Głównym zamiarem autora jest stworzenie modelu rynku co znajdzie odzwierciedlenie w przyjmowanych definicjach i decyzjach dotyczących kierunków uszczegóławiania modelu.

W kwestii tworzenia oznaczeń wykorzystano powszechnie panujące reguły:

• symbole rozpoczynające się od małej litery służą do oznaczenia pojedynczych obiektów, wartości lub relacji (np. ag – od ang. agent),

• symbole rozpoczynające się od dużej litery oznaczają przestrzeń lub zbiór (np. Ag dla oznaczenia zbioru agentów),

• wszystkie oznaczenia dotycząc stanu w chwili czasowej t wobec czego zapis ag(t) będzie upraszczany do zapisu ag,

• do wyrażenia konkretnego elementu w zbiorze lub wartości będą używane liczby i tak

ag1 oznaczać będzie pierwszego agenta natomiast w przypadku odniesienia ogólnego,

niekonkretnego np. do i-tego agenta będzie używany indeks dolny: agi.

Rysunek 4.2: Uproszczony schemat budowy systemu wieloagentowego źródło: opracowanie własne. na podstawie pracy M. Kisiel-Dorohinckiego [Kisiel00]

4.3. Podstawowe elementy systemu EcoMASCI

System wieloagentowy EcoMASCI składa się ze zbioru uczestników rynku będących agentami rynkowymi (agents ∈ Ag) oraz środowiska (env), w którym funkcjonują w określonym czasie t:

EcoMASCI ≡ 〈agents, env, t〉

W dalszej części opisane zostały wszystkie elementy wraz z wariantami składające się na system.

4.3.1. Środowisko

Środowisko definiuje przestrzeń, w której działają agenci rynkowi i dostarcza im zasobów niezbędnych do ich przetrwania. Przestrzeń ta jest ograniczona fizycznie oraz czasowo. Podobnie jak w modelu przedstawionym przez M. Kisiela-Dorohinickiego [Kiesiel00] zasób rozumiany jest jako pewna wielkość fizyczna, która jest kwantowalna (występuje w porcjach), wyczerpywalna (dostępna jest ograniczona ilość zasobu) i sposób jej rozkładu w środowisku

może być niejednorodny i dostępny w różny sposób dla agentów. Dodatkowo wprowadza się odtwarzalność zasobu (dostępna ilość zasobu może się zwiększać z upływem czasu) przez środowisko. Zasoby są dostarczane przez środowisko i mogą być ze środowiska pobierane przez agentów. Podobnie jak w modelu M. Kisiela-Dorohinickiego zasób może być przypisany do środowiska lub do agenta. Istnieje jednak zasadnicza różnica nomenklaturowa ze względu na zgodność z modelami ekonomicznym, na których będą oparte działania agenta – w momencie gdy zasób zostanie pobrany ze środowiska i zostanie przypisany do agenta nazywany będzie dobrem. W momencie gdy dobro staje się przedmiotem obrotu pomiędzy agentami nazywane ono będzie towarem79. Z pobraniem dobra przez agenta wiąże się pewien nakład, którego dokładna realizacja zostanie omówiona w dalszej części rozdziału przy okazji omawiania agentów rynkowych.

Dodatkowo środowisko definiuje pewne parametry ekonomiczne związane systemem finansowym: jest to stopa procentowa kredytów cr oraz stopa procentowa lokat dr. Parametry te są wykorzystywane przez agentów przy podejmowaniu decyzji dotyczący akcji wzięcia kredytu lub założenia lokaty (transakcje rynku finansowego). Kolejnym parametrem środowiska jest wysokość podatków oraz sposób ich redystrybucji (parametr ten w symulacji reprezentuje politykę fiskalną rządu – jest to jedyny sposób w jaki działania rządu zostały uwzględnione w ramach symulacji80).

Na podstawie powyższych rozważań można zatem napisać definicję środowiska w sposób formalny przy czym w ogólnie można powiedzieć, iż środowisko jest to zbiór pewnych zasobów oraz informacji.

Definicja 4.1: Środowisko:

env ≡ 〈Res, Inf〉

przy czym:

Res – zbiór zasobów środowiska Inf – zbiór informacji

Reprezentacja taka pozwala na dużą swobodę gdyż zasoby i informacje mogą bezpośrednio reprezentować dane wejściowe czy wyjściowe systemu i w ten sposób mogą być przekazywane agentom. Ponadto może w ławy sposób zostać uszczegółowiona dla potrzeba NRRAS. I tak:

Inf ≡ 〈cr, dr, dr, rs, ri

79 Nazewnictwo takie jest powszechnie przyjęte w opracowaniach ekonomicznych: towar to dobro, które jest przedmiotem obrotu. Dobro jest jest natomiast przedmiotem konsumpcji.

przy czym81:

cr – stopa procentowa kredytu dr – stopa procentowa depozytu

tr – wysokość podatku w % (podatek liniowy)

ra – algorytm definiujący sposób redystrybucji podatków

ri – promień obserwacji świata przez agenta oraz interakcji agentów82

Reprezentacja taka nie narzuca ograniczeń na postać środowiska jednak w praktyce najczęściej wykorzystuje się środowisko o strukturze przestrzennej. Ma to związek ze specyfiką systemów wieloagentowych, które na ogół są rozproszone. W związku z tym definicja 4.1 dla środowiska o strukturze przestrzennej przyjmuje postać trójki gdzie trzecim elementem jest przestrzeń.

W dokumencie Index of /rozprawy2/10282 (Stron 66-74)