Celem systemów wieloagentowych (MAS) jest koordynacja niezależnych procesów. Agent to jednostka komputerowa w postaci programu lub robota. Agenta można uznać za autonomicznego, ponieważ jest on w stanie dostosowywać się, gdy zmienia się jego środowisko. MAC składa się z zestawu procesów komputerowych, które zachodzą w tym samym czasie i istnieją w tym samym czasie, dzielą wspólne zasoby i komunikują się ze sobą. Kluczowym problemem w MAC jest sformalizowanie koordynacji pomiędzy agentami.
Definiowanie systemów wieloagentowych
MAC to przyszłościowe podejście do tworzenia oprogramowania dla aplikacji w złożonych domenach, w których współdziałające komponenty aplikacji są autonomiczne i rozproszone, działają w dynamicznych i niepewnych środowiskach, muszą być zgodne z niektórymi zasadami i przepisami organizacyjnymi oraz mogą dołączać i odchodzić system wieloagentowy w czasie wykonywania.
Przykładami takich aplikacji są systemy, którezarządzać i optymalizować produkcję i dystrybucję energii elektrycznej pomiędzy odbiorcami lub systemami, które optymalnie planują obciążenia w systemach transportowych. Rozwój systemów wieloagentowych wymaga stworzenia oddzielnych agentów, organizacji i środowisk.
Języki programowania zapewniają konstrukcje programistyczne do wdrażania poszczególnych agentów w zakresie pojęć społecznych i poznawczych, takich jak informacje, cele, opcje, normy, emocje i reguły decyzyjne.
Organizacje wieloagentowe pod względem koncepcji społecznych i organizacyjnych pełnią role, wyposażone w normy, protokoły komunikacyjne, zasoby podlegające monitorowaniu. Opracowane języki programowania i frameworki służą do tworzenia symulacji opartych na agentach dla wielu branż ciągłej produkcji: energetyki, metalurgii, opieki zdrowotnej, Internetu, transportu, zarządzania ruchem i poważnych gier.
MAS różnią się od systemów z jednym agentem tym, że mają kilku agentów, którzy nawzajem modelują swoje cele i działania. W ogólnym scenariuszu może wystąpić bezpośrednia interakcja między agentami. Z punktu widzenia pojedynczego agenta systemy wieloagentowe najbardziej różnią się od systemów z jednym agentem tym, że dynamika środowiska może być determinowana przez innych agentów. Oprócz niepewności, która może być nieodłączna w domenie, inne czynniki celowo wpływają na środowisko w nieprzewidywalny sposób.
Zatem można uznać, że wszystkie komputery MAC mają dynamiczne środowiska, co jest typowe dla nowoczesnychsystemy wieloagentowe. Może istnieć dowolna liczba agentów o różnym stopniu niejednorodności, z możliwością bezpośredniej komunikacji lub bez niej.
Architektura MAS
Agenci muszą być wyposażeni w model poznawczy:
- przekonania;
- życzenia;
- intencje.
Z jednej strony czyta „Przekonania” na temat środowiska, które są wynikiem jego wiedzy i spostrzeżeń, az drugiej zestaw „Pragnienia”. Przekroczenie tych dwóch zestawów skutkuje powstaniem nowego zestawu „Intencji”, które są następnie bezpośrednio przekładane na działania.
Agenci muszą mieć system komunikacji. Istnieje kilka wyspecjalizowanych języków do tego celu: Language Query and Manipulation Language (KQML). Ostatnio w obiegu pojawił się standard FIPA-ACL, stworzony przez FIPA Foundation for Intelligent Physical Agents. Ta ostatnia zasada budowania systemów wieloagentowych opiera się na teorii aktów mowy.
Problem adaptacji to drażliwy problem, który jest obecnie przedmiotem wielu badań. Można podać przykład niektórych wirusów, zarówno biologicznych, jak i komputerowych, zdolnych do przystosowania się do zmutowanego środowiska.
Wreszcie na uwagę w wielu językach programowania, które zostały opracowane do badań nad sztuczną inteligencją, zasługuje sprawna implementacja MAC, choć nie mówiąc ściśle o architekturze systemu. W szczególności wspomina się o języku LISP. Te elementy architektoniczne są stosowane do systemu składającego się z poznawczychagentów.
Kategorie lub modele agentów
Klasyfikacja agentów opiera się na dwóch kryteriach: agentów poznawczych lub odczynników wykazujących z jednej strony zachowanie teleonomiczne lub odruch. Rozróżnienie, jakie można dokonać między poznawczym a reaktywnym, jest zasadniczo reprezentacją świata dostępnego podmiotowi. Jeśli jednostka jest obdarzona „symboliczną reprezentacją” świata, z której może formułować rozumowanie, wtedy mówi się o podmiocie poznawczym, podczas gdy jeśli ma tylko „pod-symboliczną reprezentację”, to znaczy ograniczoną do swoich percepcji, mówi się o odczynniku reaktywnym. To rozróżnienie poznawcze i reaktywne odpowiada dwóm teoretycznym szkołom systemów wieloagentowych.
Pierwszy z nich wspiera fundamentalne podejście „inteligentnych” agentów do współpracy z socjologicznego punktu widzenia. W drugim badana jest możliwość pojawienia się „inteligentnego” zachowania zestawu nieinteligentnych agentów (typu mrówek). Druga różnica między zachowaniem behawioralnym a odruchem oddziela zachowanie intencjonalne, dążenie do wyraźnych celów, od zachowań percepcyjnych. Zatem tendencje agentów mogą być wyraźnie wyrażone w agentach lub odwrotnie, pochodzić ze środowiska. Tabela grupująca różne typy agentów:
- Agenci kognitywni.
- Środki reaktywne.
- Zachowanie telenomiczne.
- Intencjonalni agenci.
- Zarządzani agenci.
- Zachowanie odruchowe.
- Agenty "moduły".
- Środki tropikalne.
Czynniki poznawcze są w większości celowe, tj.mają ustalone cele, które starają się osiągnąć. Czasami jednak używa się agentów zwanych modułami, które mają wyobrażenie o swoim „wszechświecie” bez określonych celów. Mogą służyć na przykład do odpowiadania na pytania innych agentów we „wszechświecie”.
Odczynniki można podzielić na aktywatory i środki tropikalne. Agent instynktowny będzie miał ustaloną misję i wywoła zachowanie, jeśli zobaczy, że środowisko nie spełnia już swojego wyznaczonego celu. Środek tropikalny reaguje tylko na lokalny stan środowiska, np. jeśli jest światło, to działa. Źródłem motywacji w wewnętrznym przypadku agentów jazdy, którzy mają „misję”, jest tylko otoczenie.
Paradygmaty organizacyjne
Wraz z rozwojem takich systemów opracowano różne paradygmaty organizacyjne. Te struktury systemów wieloagentowych wyznaczają ramy dla relacji i interakcji między agentami.
Hierarchie. W tym modelu agenci są hierarchizowani zgodnie ze strukturą drzewa, w której każdy węzeł jest agentem i ma łącze uprawnień na swoich węzłach podrzędnych. Ten model niszczy ogólne przeznaczenie systemu.
Holarchia zbliża się do hierarchii. Nie ma relacji uprawnień między agentem a jego podgrupą.
Koalicja to tymczasowy sojusz agentów, którzy spotykają się i współpracują, ponieważ spotykają się ich osobiste interesy. Wartość koalicji musi być większa niż suma poszczególnych wartości składników agenta.
Zbory są bardzo podobne do koalicji ipolecenia. Jednak mają być trwałe i zwykle mają wiele celów do osiągnięcia. Ponadto agenci mogą wchodzić i opuszczać zbory oraz należeć do kilku jednocześnie.
Społeczeństwo to zestaw różnorodnych agentów, którzy wchodzą w interakcje i komunikują się. Mają różne cele, nie mają tego samego poziomu racjonalności i tych samych możliwości, ale wszyscy przestrzegają wspólnych praw (norm).
Agenci federacji przekazują część swojej autonomii delegatowi swojej grupy. Agenci grup wchodzą w interakcję tylko ze swoimi delegatami, którzy z kolei wchodzą w interakcję z delegatami z innych grup.
Agenci sprzedaży oferują przedmioty, do których mogą ubiegać się agenci kupujących. Ten rodzaj organizacji umożliwia na przykład symulację rzeczywistych rynków i porównywanie różnych strategii handlowych.
Macierzowi agenci organizacji są hierarchiczni. Jednak w przeciwieństwie do przedstawionej powyżej hierarchii, w której agent jest podporządkowany tylko kilku innym agentom, osoby z jednej organizacji macierzowej mogą podlegać kilku innym.
Kombinacje - ta połączona organizacja łączy wiele powyższych stylów. Może to być na przykład koalicja lub hierarchia zespołów.
Sztuczna inteligencja
Celem nauk kognitywnych jest zrozumienie natury i działania sztucznej inteligencji, czyli tego, co przetwarza informacje wewnętrzne, aby uczynić je celowymi. Wiele pojęć pasuje do tego opisu: ludzie, komputery, roboty, systemy sensoryczne,Lista nie ma końca. Jednym z rodzajów systemu, który jest szczególnie interesujący dla kognitywistów, jest sztuczny agent własny, który działa na informacje.
Inteligentny agent (IA) jest w stanie podejmować decyzje na podstawie swojego doświadczenia i może wybierać działania w różnych sytuacjach. Jak sugeruje termin „sztuczny”, rodzaj autonomicznych podmiotów będących przedmiotem zainteresowania nie jest czymś stworzonym przez naturę. Dlatego sztucznym agentem jest wszystko, co jest tworzone przez ludzi, zdolne do działania w oparciu o informacje, które postrzega, własne doświadczenia, decyzje i działania.
Działa nienaturalnej inteligencji zapewnia umiejętności techniczne do tłumaczenia pożądanych typów agentów na język programowania, powiązane oprogramowanie i odpowiednią architekturę (sprzęt i powiązane oprogramowanie) w celu wdrożenia agenta w świecie rzeczywistym lub symulowanym.
Środowisko świata percepcji
Agent to wszystko, co odbiera otoczenie za pomocą czujników i działa na nie za pomocą efektorów, co brzmi dość prosto. Ta definicja agenta obejmuje szeroki zakres maszyn, od termostatów po obiekty, które faktycznie mogą nauczyć się niewielkiego repertuaru zachowań.
Czujniki to narzędzia używane przez agentów do zbierania informacji o ich świecie. Klawiatura i kamera mogą działać jako czujniki, jeśli są powiązane z agentem. Pod koniec odpowiedzi systemu performerzy są narzędziami używanymi przez agenta do wpływania na środowisko. Przykładami efektorów sąmonitor, drukarka i ramię robota.
Zazwyczaj środowisko to domena lub świat agenta. Domeny te, przynajmniej na razie, powinny ograniczać się do określonych typów sytuacji, aby uniknąć nieograniczonych możliwości codziennego świata.
Autonomiczny system wpływów
Agent autonomiczny to „system w środowisku i część środowiska, który postrzega to środowisko i działa na nie w czasie, aby realizować swój własny program i wpływać na to, czego doświadcza w przyszłości”. Ta definicja Franklina i Greissara odzwierciedla wszystkie podstawowe funkcje inteligentnych agentów, z wyjątkiem ich towarzyskości. Zapewnia to dobre przybliżenie głównych cech szerokiej gamy opracowywanych AI.
Tacy agenci czują swoje otoczenie. Ale tutaj dane zmysłowe lub percepcje obejmują nie tylko dane o innych obiektach, ale także wpływ samego podmiotu na stan rzeczy w środowisku. Czujniki mogą być organiczne, takie jak oczy i uszy oraz ich procesory neuronowe, lub sztuczne, takie jak procesory wideo i audio wbudowane w komputer cyfrowy. Środowisko może być bardzo ograniczonym obszarem, jak zamknięta przestrzeń, lub bardzo złożonym, jak giełda lub zbiór asteroid. Czujniki muszą być zgodne z typami obiektów, z którymi współpracuje agent.
Rodzaj interakcji odruchowej
Środek odbijający ma bardziej złożony mechanizm. Zamiast bezpośredniej dynamikiw odniesieniu do środowiska szuka tego, co musi zrobić w liście reguł. Środek odruchowy odpowiada na daną percepcję zaprogramowaną reakcją. Nawet jeśli istnieją tysiące możliwych odpowiedzi na daną percepcję, agent ma wbudowaną listę reguł działania sytuacji, aby wykonać te odpowiedzi, które zostały już uwzględnione przez programistę. Zasada działania sytuacji jest w zasadzie hipotetycznym imperatywem.
Środki odruchowe naprawdę nie są zbyt jasne. Po prostu nie radzą sobie z nowością. Inteligentny agent zawiera cechy swoich mniej wyrafinowanych kuzynów, ale nie jest tak ograniczony. Działa zgodnie z agendą. Ma zestaw celów, które aktywnie realizuje. Agent oparty na celu ma wiedzę na temat bieżącego stanu środowiska i sposobu, w jaki to środowisko zwykle działa. Realizuje główne strategie lub cele, których nie można osiągnąć natychmiast. Dzięki temu agent jest aktywny, a nie tylko reaktywny.
Docelowe narzędzie funkcjonalne
W przypadku bardziej złożonych agentów do różnych możliwych działań, które można wykonać w środowisku, stosuje się środki porządkowe. Ten złożony program planujący jest agentem opartym na usługach. Agent oparty na usługach oceni każdy scenariusz, aby zobaczyć, jak dobrze spełnia określone kryteria uzyskania dobrego wyniku. Rzeczy takie jak prawdopodobieństwo sukcesu, zasoby potrzebne do ukończenia scenariusza, ważność celu, który ma zostać osiągnięty, czas potrzebny, mogą być uwzględnione w obliczeniach funkcji użyteczności.
PonieważPonieważ programista zazwyczaj nie może przewidzieć wszystkich stanów świata, z jakimi spotka się agent, liczba reguł, które trzeba by napisać dla agenta refleksyjnego, byłaby astronomiczna, nawet w bardzo prostych dziedzinach, takich jak planowanie spotkań lub organizowanie tras transportowych i dostaw.
Podstawowa pętla sterowania
Biorąc pod uwagę definicję inteligentnego agenta, rozważ podstawową pętlę sterowania napisaną przez teoretyka agentów Michaela Vuladricha w 2000 roku:
- zachowaj spokój;
- aktualizacja wewnętrznego modelu świata;
- osiągnij celowy zamiar;
- użyj środków/zakończeń, aby uzyskać plan intencji;
- wykonaj plan;
- zakończ proces.
Ten wzór wymaga pewnej interpretacji. Agent obserwuje świat – oznacza to, że za pomocą swoich sensorów zbiera spostrzeżenia. Czujnik może być klawiaturą podłączoną do komputera cyfrowego lub procesorem obrazu dołączonym do robota. Może to być wszystko, co pozwala agentowi gromadzić reprezentacje świata. Aktualizacja modelu wewnętrznego oznacza, że agent dodaje nową percepcję do swojej sekwencji percepcji i zaprogramowanych informacji o świecie.
Platformy programistyczne dla wielu agentów
AnyLogic to wieloagentowe i wielokomponentowe oprogramowanie symulacyjne CORMAS typu open source oparte na obiektowym języku programowania SmallTalk.
DoMIS to wieloagentowe narzędzie do projektowania systemów skoncentrowane na „operacyjnej kontroli złożonych systemów” i oparte na metodzie projektowania B-ADSC.
JACK to język programowania i środowisko programistyczne dla agentów kognitywnych opracowane przez Agent Oriented Software jako zorientowane na agenta rozszerzenie języka Java.
GAMA to platforma modelowania typu open source (LGPL), która oferuje przestrzennie wyraźne środowisko modelowania oparte na agentach, wykorzystujące dane GIS do opisywania agentów i ich środowiska.
JADE (Java Agent DEVELOPMENT) to wieloagentowa platforma programistyczna typu open source oparta na języku Java.
Siedem standardowych modeli
W ewolucyjnym procesie badań jest więcej wkładu w tworzenie systemu, który jest niezawodny i reprezentuje wyższy poziom jakości. Trendem do kontynuacji jest uzupełnianie lub rozszerzanie istniejących metod, którym udało się skonsolidować podejmowanie decyzji w ramach rozwoju.
Standard metodologiczny pozwala w zrozumiały i prosty sposób stworzyć MAC, nie tylko przy użyciu języka naturalnego, ale także przy użyciu szablonów opisów, które pomagają w specyfikacji systemu.
Standard metodologiczny oferuje siedem modeli problemów lub ich rozwiązań do budowania MAC:
- Model scenariusza opisujący firmę lub organizację.
- Model celów i zadań definiuje i opisuje strukturę organiczną.
- Model agenta definiuje ludzi i systemy autonomiczne.
- Wzór do naśladowania wiąże cele i zadania z konkretnym agentem.
- Model organizacyjny opisuje środowisko, z którym powiązany jest pojedynczy agent.
- Model interakcji opisuje relacje, podkreślając ich koordynację agentów.
- Model projektowy definiuje architekturę agenta i sieci.
Przykłady interakcji między agentami
MAS są używane do symulowania interakcji między autonomicznymi agentami. Zastosowanie systemów wieloagentowych, na przykład w socjologii, umożliwia parametryzację różnych agentów tworzących społeczność. Dodając ograniczenia, możesz spróbować zrozumieć, jaki będzie najskuteczniejszy element, aby osiągnąć oczekiwany rezultat. Powinni eksperymentować ze scenariuszami, których nie mogliby osiągnąć prawdziwi ludzie, ani z przyczyn technicznych, ani etycznych.
Rozproszona IA została stworzona w celu rozwiązania złożoności dużych, monolitycznych programów inteligencji nienaturalnej - wykonywania, dystrybucji i scentralizowanej kontroli. Aby rozwiązać złożony problem, czasami łatwiej jest stworzyć we współpracy stosunkowo małe programy (agentów) niż jeden duży, monolityczny program. Autonomia pozwala systemowi na dynamiczne dostosowywanie się do nieprzewidzianych zmian w środowisku.
Przykłady systemów wieloagentowych w branży gier są liczne i zróżnicowane. Wykorzystywane są w grach wideo i filmach, w tym w oprogramowaniu MASSIVE, na przykład do symulacji ruchu tłumu w trylogii Władca Pierścieni. Mogą teżwykorzystywane przez firmy np. do śledzenia zachowań klientów przeglądających strony internetowe.
MAS są również używane w świecie finansów. Na przykład platforma MetaTrader 4 umożliwia korzystanie z agentów ekspertów w automatycznym handlu, którzy przestrzegają kursów Forex
Zalety korzystania z systemu
W badaniach IA technologia systemów opartych na agentach została przyjęta jako nowy paradygmat konceptualizacji, projektowania i wdrażania systemów oprogramowania. Korzyści z podejścia multi-MAS:
- Udostępnia zasoby i możliwości obliczeniowe w sieci połączonych agentów.
- Umożliwia wzajemne połączenie i współdziałanie wielu istniejących starszych systemów.
- Obejmujący różne dziedziny, w tym konserwację samolotów, e-portfele, usuwanie min wojskowych, komunikację i komunikację bezprzewodową, planowanie logistyki wojskowej, system zarządzania łańcuchem dostaw, wspólne planowanie misji, zarządzanie portfelem finansowym.
W badaniach technologia IA dla systemów opartych na agentach została przyjęta jako nowy paradygmat konceptualizacji, projektowania, wdrażania i wieloagentowego uczenia się systemów oprogramowania.
Tak więc MAC to luźno powiązana sieć agentów oprogramowania, które współdziałają w celu rozwiązywania problemów wykraczających poza indywidualne umiejętności lub wiedzę każdego twórcy problemów.