Agent (programa)
En informàtica es defineix com agent, un programa informàtic capaç d'un determinat comportament (ben especificat) independent i dinàmic (és a dir autònom). Això vol dir que, en funció dels diferents estats, es produeix una situació de processament específic sense que es doni cap altre senyal d'inici des de l'exterior o sense que es produeixi cap intervenció de control extern durant el procés.
Definició i fonaments
[modifica]Segons Michael Wooldridge[1] no hi ha una definició universalment acceptada d'agent. Tot i que hi ha un acord general que un agent ha de ser autosuficient (autònom), hi ha pocs acords més enllà d'això. Wooldridge encara intenta definir-ho: “Un agent és un sistema informàtic que es troba en un entorn determinat i que és capaç de dur a terme accions independents en aquest entorn per tal d'assolir els seus objectius (determinats). “ La directriu VDI: VDI/VDE 2653[2] dona la següent definició: “Un agent tècnic és una unitat definible (material i/o programa) amb objectius definits. Un agent tècnic s'esforça per assolir aquests objectius mitjançant un comportament independent i, per tant, interactua amb el seu entorn i altres agents.“
La investigació sobre intel·ligència artificial defineix el programa emprat com un agent si té les següents propietats, que descriuen el grau d'autonomia del programa:
autònom
- funciona independentment de la intervenció de l'usuari
cognitiu
- és capaç d'aprendre i aprèn a partir de decisions preses prèviament o Observacions
comunicatiu
- comunica les seves condicions com un efecte sobre el seu entorn
modalment adaptatiu
- canvia la seva pròpia configuració (paràmetres i/o estructura) en funció dels seus propis estats i dels estats de l'entorn
actiu
- duu a terme accions per iniciativa pròpia
reactiu
- reacciona als canvis de l'entorn
robust
- compensa les pertorbacions externes i internes
social
- es comunica amb altres agents
No es poden descartar intervencions externes simultànies que limiten l'autonomia o modifiquen els criteris de presa de decisions.
Si, a part de les propietats esmentades anteriorment, s'afegeix la possibilitat de canviar automàticament el lloc d'execució (migrar ), es parla d'un agent mòbil. Per fer-ho, necessita habilitats que li permetin adaptar-se a altres infraestructures fins a cert punt. Vegeu Migració (tecnologia de la informació), que descriu aquests mecanismes per part d'un ésser humà.Els agents intel·ligents es caracteritzen pel coneixement, la capacitat d'aprendre, el raonament i la capacitat de canviar el comportament.
Una xarxa d'un subconjunt d'agents autònoms que es poden comunicar entre ells s'anomena població . Aquesta comunicació està influenciada per la densitat i distribució dels agents, així com la seva agrupació i la variació temporal d'aquests paràmetres.
Missió
[modifica]Els agents tenen grans oportunitats d'ús en les àrees de comerç electrònic, recerca d'informació, simulació, realització de tasques rutinàries i en sistemes autònoms. Però les tasques complexes, per exemple en les negociacions automatitzades, també les poden dur a terme agents de programari. En l'àmbit de la simulació hi ha l'especialitat de simulació multiagent o Simulació de grup amb productes de programari propis. Aquest últim s'utilitza sovint en el sector del joc, però també com a aplicació de la "intel·ligència artificial" en el món laboral.
Implementacions
[modifica]Hi ha nombroses implementacions de plataformes d'agents en entorns científics. Aquests solen tenir un enfocament específic, per exemple comportament intel·ligent, seguretat, migració eficient.
Una visió detallada dels sistemes actuals, que es finança com a projecte (Coordination Action ) com a part del sisè programa marc de recerca de la Comissió Europea, és AgentLink.org.[3]
Entre altres coses, hi ha l'extens marc d'agent basat en Java JADE .
Tipus d'agents
[modifica]Els tipus d'agent difereixen en l'arquitectura de l'agent (no s'ha de confondre amb l'arquitectura en què s'executa el programa d'entorn). Una arquitectura d'agent és la manera com es defineix i gestiona el comportament de l'agent. En principi, hi ha una gran varietat de termes, però és possible dividir-los en tres àrees àmpliament reconegudes:
Agents reactius
[modifica]En principi, els agents reactius (o subcognitius) no tenen coneixements propis, sinó que només actuen directament a partir de les seves percepcions i sense un procés de presa de decisions.
Els tipus d'agent següents apareixen amb més freqüència en aquest context:
Agent simplement reactiu
- És el tipus més senzill. L'agent rep la informació del sensor i selecciona una acció basant-se en les regles de condició-acció.
Agent observador
- Representa una extensió de l'agent reactiu simple. Aquest tipus d'agent ja té memòria i recull informació sobre l'entorn i el que provocarien les accions d'un. Les regles de condició-acció s'apliquen llavors a aquesta imatge general i ja no només a la informació pura del sensor.
Agent adaptatiu
[modifica]Els agents adaptatius gestionen un model del seu propi procés i estructura de paràmetres. Aquests es poden adaptar a la seva pròpia història i a les condicions externes identificades o mesurades. Això permet un control adaptatiu i així, per exemple, una execució òptima en termes de recursos.[4][5][6]
Agent cognitiu
[modifica]Els agents cognitius gestionen un model del seu entorn en la seva pròpia estructura de dades.[7][8][9] Això fa possible la planificació d'accions i, finalment, l'acció específica. Una subclasse coneguda és la definició d'agent als agents BDI especificant creences, desitjos i intencions .
Els tipus d'agent següents apareixen amb més freqüència en aquest context:
Agent basat en objectius
- L'agent té un objectiu que està intentant assolir i, a partir de la informació del sensor i del seu coneixement de les conseqüències de les seves accions, decideix quina acció l'acostarà més al seu objectiu. Com que l'objectiu no sempre es pot aconseguir en un sol pas, l'agent és capaç de planificar.
Agent basat en utilitats
- Com a desenvolupament posterior de l'agent basat en objectius, l'agent basat en beneficis també té un objectiu. Tots els estats possibles i impossibles s'assignen a un nombre real, que representa el benefici per a l'agent. Ell mateix té el valor -∞. Això vol dir que en situacions en què es poden assolir diversos objectius, és capaç de decidir quines accions tenen un major benefici o quins objectius són més desitjables. Això és especialment interessant quan no es pot dir amb certesa si es pot assolir un objectiu. L'agent pot utilitzar-lo per realitzar una avaluació de riscos i no només seguirà el seu objectiu principal.
Referències
[modifica]- ↑ Wooldridge: Intelligent Agents: The Key Concepts. 2002, S. 5.
- ↑ VDI-Richtlinie 2653 Blatt 1: Agentensysteme in der Automatisierungstechnik - Grundlagen, 2010
- ↑ Arxivat [Date missing], at www.agentlink.org Error: unknown archive URL
- ↑ Adaptive Agents (PDF; 1,0 MB)
- ↑ Arxivat [Date missing], at www.iscid.org Error: unknown archive URL
- ↑ Adaptive Agents and Multi-Agent Systems Arxivat 2012-01-31 a Wayback Machine. (PDF; 216 kB)
- ↑ Cognitive Agents Arxivat 2022-01-25 a Wayback Machine. (PDF; 309 kB)
- ↑ Arxivat [Date missing], at www.pst.ifi.lmu.de Error: unknown archive URL
- ↑ Arxivat [Date missing], at ai.eecs.umich.edu Error: unknown archive URL
Bibliografia
[modifica]- Rolf Grütter: Agents de programari a la web . A: Informatik Spektrum, 2006, número 1
- Michael Wooldridge
Enllaços externs
[modifica]- Agents en tecnologia de l'automatització (ed. Peter Göhner en col·laboració amb el comitè tècnic de GMA 5.15 “Agent systems” )
- Plataforma de desenvolupament d'agents Java
- Revista AI: Aplicacions d'agents de programari Arxivat 2016-03-04 a Wayback Machine. amb alguns articles gratuïts, PDF