El propòsit dels sistemes multiagent (MAS) és coordinar processos independents. Un agent és una entitat informàtica en forma de programa o robot. Un agent es pot considerar autònom perquè és capaç d'adaptar-se quan el seu entorn canvia. Un MAC consisteix en un conjunt de processos informàtics que succeeixen al mateix temps i existeixen al mateix temps, comparteixen recursos comuns i es comuniquen entre ells. El problema clau del MAC és la formalització de la coordinació entre agents.
Definició de sistemes multiagent
MAC és un enfocament de futur per al desenvolupament de programari per a aplicacions en dominis complexos on els components d'aplicacions que interactuen són autònoms i distribuïts, operen en entorns dinàmics i incerts, han de complir algunes regles i lleis organitzatives i es poden unir i abandonar. un sistema multiagent durant el temps d'execució.
Exemples d'aquestes aplicacions són sistemes quegestionar i optimitzar la producció i distribució d'electricitat entre consumidors o sistemes que planifiquen de manera òptima les càrregues en els sistemes de transport. El desenvolupament de sistemes multiagent requereix la creació d'agents, organitzacions i entorns separats.
Els llenguatges de programació proporcionen construccions de programació per implementar agents individuals en termes de conceptes socials i cognitius com ara informació, objectius, opcions, normes, emocions i regles de decisió.
Les organitzacions multiagent pel que fa a conceptes socials i organitzatius tenen rols, dotats de normes, protocols de comunicació, recursos objecte de seguiment. Els llenguatges i marcs de programació desenvolupats s'utilitzen per crear simulacions basades en agents per a moltes indústries de producció contínua: electricitat, metal·lúrgia, sanitat, Internet, transport, gestió del trànsit i jocs seriosos.
MAS es diferencien dels sistemes d'agent únic perquè tenen diversos agents que modelen els objectius i les accions dels altres. En un escenari general, pot haver-hi interacció directa entre agents. Des del punt de vista d'un sol agent, els sistemes multiagent es diferencien més significativament dels sistemes amb un sol agent perquè la dinàmica de l'entorn pot ser determinada per altres agents. A més de la incertesa que pot ser inherent a un domini, altres agents afecten deliberadament el medi ambient de maneres imprevisibles.
Per tant, es pot considerar que tots els MAC tenen entorns dinàmics, que és típic dels modernssistemes multiagent. Hi pot haver qualsevol nombre d'agents amb diferents graus d'heterogeneïtat, amb o sense possibilitat de comunicació directa.
Arquitectura MAS
Els agents han d'estar equipats amb un model cognitiu:
- creences;
- desitjos;
- intencions.
D'una banda llegeix "Creences" sobre l'entorn, fruit dels seus coneixements i percepcions, i de l' altra, un conjunt de "Desigs". L'encreuament d'aquests dos conjunts dóna com a resultat un nou conjunt d'"Intencions" que després es tradueixen directament en accions.
Els agents han de tenir un sistema de comunicació. Hi ha diversos llenguatges especialitzats per a aquest propòsit: Language Query and Manipulation Language (KQML). Recentment, s'ha difós l'estàndard FIPA-ACL, creat per la Fundació FIPA per a Agents Físics Intel·ligents. Aquest darrer principi de construcció de sistemes multiagent es basa en la teoria dels actes de parla.
El problema de l'adaptació és un tema espinós que actualment és objecte de moltes investigacions. Es pot posar un exemple d'alguns virus, tant biològics com informàtics, capaços d'adaptar-se a un entorn mutant.
Finalment, una implementació eficient del MAC, encara que no forma part estrictament de l'arquitectura del sistema, mereix atenció en els nombrosos llenguatges de programació que s'han desenvolupat per a l'estudi de la intel·ligència artificial. En particular, s'esmenta el llenguatge LISP. Aquests elements arquitectònics s'apliquen a un sistema consistent en cognitiusagents.
Categories o models d'agents
La classificació dels agents es basa en dos criteris: agents cognitius o reactius que presenten, d'una banda, un comportament teleonòmic, o un reflex. La distinció que es pot fer entre cognitiu i reactiu és essencialment una representació del món disponible per a l'agent. Si un individu està dotat d'una "representació simbòlica" del món a partir de la qual pot formular raonaments, es parla d'un agent cognitiu, mentre que si només té una "representació subsimbòlica", és a dir, limitada a les seves percepcions, es parla d'un agent reactiu. Aquesta distinció cognitiva i reactiva correspon a dues escoles teòriques de sistemes multiagent.
La primera recolza l'enfocament fonamental dels agents "intel·ligents" per a la cooperació des del punt de vista sociològic. En el segon, s'estudia la possibilitat de l'aparició d'un comportament "intel·ligent" d'un conjunt d'agents no intel·ligents (tipus formiga). La segona diferència entre el comportament conductual i el reflex separa el comportament intencional, la recerca d'objectius explícits, del comportament perceptiu. Així, les tendències dels agents es poden expressar explícitament en agents o, per contra, provenir de l'entorn. Taula que agrupa diferents tipus d'agents:
- Agents cognitius.
- Agents reactius.
- Comportament telenòmic.
- Agents intencionats.
- Agents gestionats.
- Comportament reflex.
- "mòduls" d'agents
- Agents tropicals.
Els agents cognitius són majoritàriament intencionats, és a dir.tenen objectius fixos que estan intentant assolir. Tanmateix, de vegades s'utilitzen agents anomenats mòduls, que tenen una idea del seu "univers" sense objectius concrets. Podrien servir, per exemple, per respondre preguntes d' altres agents de l'"univers".
Els reactius es poden dividir en actuadors i agents tropicals. L'agent instintiu tindrà una missió fixa i desencadenarà un comportament si veu que l'entorn ja no s'adapta al seu propòsit assignat. L'agent tropical només reacciona a l'estat local del medi ambient, per exemple, si hi ha llum, llavors s'executa. La font de motivació en el cas intern dels agents impulsors que tenen una "missió" es refereix només a l'entorn.
Paradigmes organitzatius
Amb el desenvolupament d'aquests sistemes, s'han desenvolupat diversos paradigmes organitzatius. Aquestes estructures de sistemes multiagent estableixen el marc de les relacions i interaccions entre agents.
Jerarquies. En aquest model, els agents són jeràrquics segons una estructura d'arbre en què cada node és un agent i té un enllaç de permís als seus nodes fills. Aquest model destrueix l'objectiu general del sistema.
Holarchy s'acosta a la jerarquia. No hi ha cap relació d'autoritat entre un agent i el seu subgrup.
Una coalició és una aliança temporal d'agents que s'uneixen i cooperen perquè els seus interessos personals es troben. El valor de la coalició ha de ser superior a la suma dels valors individuals dels components de l'agent.
Les congregacions s'assemblen molt a les coalicions iordres. Tanmateix, estan pensats per ser permanents i solen tenir múltiples objectius per assolir. A més, els agents poden entrar i sortir de les congregacions i pertànyer a diverses alhora.
La societat és un conjunt d'agents diversos que interactuen i es comuniquen. Tenen objectius diferents, no tenen el mateix nivell de racionalitat i les mateixes capacitats, però tots obeeixen lleis (normes) comunes.
Els agents de la Federació donen part de la seva autonomia al delegat del seu grup. Els agents del grup només interactuen amb el seu delegat, que al seu torn interactua amb delegats d' altres grups.
Els agents de vendes ofereixen articles que els agents dels compradors poden reclamar. Aquest tipus d'organització permet, per exemple, simular mercats reals i comparar diferents estratègies comercials.
Els agents de l'organització Matrix són jeràrquics. Tanmateix, a diferència de la jerarquia presentada anteriorment, on un agent només està subordinat a uns quants altres agents, els d'una organització matricial poden estar subjectes a diversos altres.
Combinacions: aquesta organització combinada barreja molts dels estils anteriors. Això podria ser, per exemple, una coalició o una jerarquia d'equips.
Intel·ligència artificial
L'objectiu de la ciència cognitiva és entendre la naturalesa i el funcionament de la intel·ligència artificial, que és el que processa la informació interna per fer-la útil. Molts conceptes encaixen en aquesta descripció: humans, ordinadors, robots, sistemes sensorials,la llista és interminable. Un tipus de sistema d'interès particular per als científics cognitius és l'autoagent artificial que actua sobre la informació.
Un agent intel·ligent (IA) és capaç de prendre decisions en funció de la seva experiència i pot triar accions en diferents situacions. Com suggereix el terme "artificial", el tipus d'agents autònoms d'interès no és quelcom creat per la naturalesa. Per tant, un agent artificial és tot allò que és creat per les persones, capaç d'actuar a partir de la informació que percep, de les seves pròpies experiències, decisions i accions.
El camp de la intel·ligència extranatural proporciona les habilitats tècniques per traduir els tipus d'agents desitjats a un llenguatge de programació, programari relacionat i arquitectura adequada (maquinari i programari relacionat) per implementar l'agent al món real o simulat.
Entorn del món de la percepció
Agent és qualsevol cosa que pren l'entorn a través de sensors i actua sobre ell a través d'efectors, cosa que sembla prou senzill. Aquesta definició d'agent cobreix una àmplia gamma de màquines, des de termòstats fins a objectes que poden aprendre un petit repertori de comportaments.
Els sensors són eines que fa servir un agent per recopilar informació sobre el seu món. El teclat i la càmera de vídeo poden funcionar com a sensors si estan associats a l'agent. Al final de la resposta del sistema, els intèrprets són les eines utilitzades per l'agent per influir en l'entorn. Alguns exemples d'efectors sónmonitor, impressora i braç robòtic.
Normalment, l'entorn és el domini o el món de l'agent. Aquests dominis, almenys de moment, haurien de limitar-se a tipus específics de situacions per tal d'evitar les possibilitats il·limitades del món quotidià.
Sistema d'influència autònom
Un Agent Autònom és “un sistema dins i part d'un entorn que percep aquest entorn i actua sobre ell al llarg del temps per dur a terme la seva pròpia agenda i per influir en el que experimenta en el futur”. Aquesta definició de Franklin i Greisser reflecteix totes les funcions bàsiques dels agents intel·ligents, excepte la seva sociabilitat. Això proporciona una bona aproximació de les característiques principals de la gran varietat d'IA en desenvolupament.
Aquests agents senten el seu entorn. Però aquí les dades o percepcions sensorials inclouen no només dades sobre altres objectes, sinó també la influència del propi agent sobre l'estat de coses del medi ambient. Els sensors poden ser orgànics, com els ulls i les orelles i els seus processadors neuronals, o artificials, com els processadors de vídeo i àudio incrustats en un ordinador digital. L'entorn pot ser una àrea molt limitada, com un espai tancat, o molt complex, com una borsa o una col·lecció d'asteroides. Els sensors han de coincidir amb els tipus d'objectes amb què l'agent interactua.
Tipus d'interacció reflex
L'agent reflector té un mecanisme més complex. En lloc de dinàmica directaen relació al medi ambient, busca què ha de fer a la llista de normes. L'agent reflex respon a una percepció determinada amb una resposta programada. Fins i tot si hi ha milers de respostes possibles a una percepció determinada, l'agent té una llista integrada de regles d'acció de la situació per executar aquelles respostes que ja han estat considerades pel programador. La regla d'acció de la situació és bàsicament un imperatiu hipotètic.
Els agents reflexos no són gaire brillants. Simplement no poden gestionar la novetat. L'agent intel·ligent conté les característiques dels seus cosins menys sofisticats, però no és tan limitat. Actua segons l'ordre del dia. Té un conjunt d'objectius que persegueix activament. L'agent basat en l'objectiu té una comprensió de l'estat actual de l'entorn i com funciona normalment aquest entorn. Persegueix estratègies o objectius principals que no es poden assolir immediatament. Això fa que l'agent sigui actiu, no només reactiu.
Utilitat funcional objectiu
En els agents més complexos, s'aplica una mesura de neteja a les diferents accions possibles que es poden realitzar en l'entorn. Aquest planificador complex és un agent basat en serveis. L'agent basat en el servei avaluarà cada escenari per veure com aconsegueix determinats criteris per obtenir un bon resultat. Coses com la probabilitat d'èxit, els recursos necessaris per completar l'escenari, la importància de l'objectiu a assolir, el temps que trigaria, es poden tenir en compte en els càlculs de la funció d'utilitat.
PerquèAtès que un programador normalment no pot predir tots els estats del món que trobarà un agent, el nombre de regles que caldria escriure per a un agent reflex seria astronòmic fins i tot en àrees molt senzilles, com ara programar reunions o organitzar rutes de transport i subministraments.
Bucle de control bàsic
Donada la definició d'agent intel·ligent, considereu el bucle de control bàsic escrit pel teòric d'agents Michael Vuladrich l'any 2000:
- mantingueu la pau;
- actualitzar el model del món intern;
- aconseguir una intenció deliberada;
- utilitzar mitjans/fins per obtenir un pla d'intencions;
- executar el pla;
- acabar el procés.
Aquest patró necessita una mica d'interpretació. L'agent observa el món, això vol dir que, utilitzant els seus sensors, recull percepcions. El sensor pot ser un teclat connectat a un ordinador digital o un processador visual connectat a un robot. Pot ser qualsevol cosa que permeti a l'agent reunir representacions del món. L'actualització del model intern significa que l'agent afegeix una nova percepció a la seva seqüència de percepcions i informació programada sobre el món.
Plateformes de desenvolupament multiagent
AnyLogic és un programari de simulació CORMAS multiagent i multicomponent de codi obert basat en el llenguatge de programació orientat a objectes SmallTalk.
DoMIS és una eina de disseny de sistemes multiagent centrada en el "control operacional de sistemes complexos" i basada en el mètode de disseny B-ADSC.
JACK és un llenguatge de programació i un entorn de desenvolupament per a agents cognitius desenvolupat per Agent Oriented Software com una extensió orientada a agents del llenguatge Java.
GAMA és una plataforma de modelatge de codi obert (LGPL) que ofereix un entorn de modelatge basat en agents espacialment explícit que utilitza dades GIS per descriure els agents i el seu entorn.
JADE (Java Agent DEVELOPMENT) és un marc de desenvolupament multiagent de codi obert basat en el llenguatge Java.
Set models de l'estàndard
En el procés evolutiu de la investigació, hi ha més informació sobre com crear un sistema que sigui fiable i representi un nivell de qualitat superior. La tendència a continuar és complementar o ampliar els mètodes existents que han aconseguit consolidar la presa de decisions dins del desenvolupament.
L'estàndard metodològic permet, d'una manera entenedora i senzilla, crear un MAC, no només utilitzant llenguatge natural, sinó també utilitzant plantilles de descripció que ajuden a l'especificació del sistema.
L'estàndard metodològic ofereix set models de problemes o les seves solucions per construir MAC:
- Un model d'escenari que descriu una empresa o organització.
- El model d'objectius i metes defineix i descriu l'estructura orgànica.
- El model d'agent defineix els humans i els sistemes autònoms.
- El model a seguir associa metes i objectius amb un agent concret.
- El model organitzatiu descriu l'entorn al qual està associat un agent individual.
- El model d'interacció descriu la relació, posant èmfasi en la seva coordinació dels agents.
- El model de disseny defineix l'arquitectura de l'agent i la xarxa.
Exemples d'interacció entre agents
MAS s'utilitzen per simular la interacció entre agents autònoms. L'ús de sistemes multiagent, per exemple, en sociologia permet parametritzar els diferents agents que conformen la comunitat. Afegint restriccions, podeu intentar entendre quin serà el component més eficaç per aconseguir el resultat esperat. Haurien d'experimentar amb escenaris que persones reals no podrien assolir, ja sigui per motius tècnics o ètics.
Distributed IA es va crear per resoldre la complexitat dels grans programes monolítics d'intel·ligència no natural: execució, distribució i control centralitzat. Per resoldre un problema complex, de vegades és més fàcil crear programes (agents) relativament petits en cooperació que un gran programa monolític. L'autonomia permet que el sistema s'adapti dinàmicament als canvis imprevistos de l'entorn.
Els exemples de sistemes multiagent a la indústria del joc són nombrosos i variats. S'utilitzen en videojocs i pel·lícules, inclòs el programari MASSIVE, per exemple per simular el moviment de la multitud a la trilogia del Senyor dels Anells. També podenutilitzat per les empreses, per exemple, per fer un seguiment del comportament dels clients que naveguen per llocs web.
Els MAS també s'utilitzen en el món de les finances. Per exemple, la plataforma MetaTrader 4 permet l'ús d'agents experts en el comerç automatitzat que segueixen les taxes de Forex
Avantatges d'utilitzar el sistema
En la investigació d'IA, la tecnologia de sistemes basats en agents s'ha adoptat com un nou paradigma per conceptualitzar, dissenyar i implementar sistemes de programari. Beneficis de l'enfocament multi-MAS:
- Comparteix recursos i capacitats informàtics a través d'una xarxa d'agents interconnectats.
- Permet la interconnexió i la interoperabilitat de diversos sistemes heretats existents.
- Cobrint diversos camps, com ara el manteniment d'avions, carteres electròniques de llibres, eliminació de mines militars, comunicacions i comunicacions sense fils, planificació logística militar, sistema de gestió de la cadena de subministrament, planificació de missions col·laboratives, gestió de carteres financeres.
En investigació, la tecnologia d'IA per a sistemes basats en agents s'ha adoptat com un nou paradigma per conceptualitzar, dissenyar, implementar i aprenentatge multiagent de sistemes de programari.
Així, MAC és una xarxa poc acoblada d'agents de programari que interactuen per resoldre problemes més enllà de les habilitats o coneixements individuals de cada creador de problemes.