Sistem multi-agent

De la Wikipedia, enciclopedia liberă.
Salt la navigare Salt la căutare

Un sistem cu mai mulți agenți sau ( sistem cu mai mulți agenți ) este un set de agenți situați într-un anumit mediu și care interacționează între ei printr-o organizație adecvată. Adică, un agent este o entitate caracterizată prin faptul că este, cel puțin parțial, autonom , fie că este un program de calculator, un robot , o ființă umană și așa mai departe.

Subiectul cercetărilor de lungă durată în inteligența artificială , sistemele de agenți multipli constituie o tipologie interesantă de modelare a societății și, în acest sens, au domenii vaste de aplicare, extinzându-se la științele umane și sociale ( economie , sociologie etc.).

Originea și aspectele tehnice

Origine

Sistemele multi-agent pot fi văzute ca o răscruce a diferitelor discipline:

Cele cinci probleme ale sistemelor multi-agent

Există cinci probleme majore cu construirea sistemelor multi-agent.

  • În primul rând, problema acțiunii: cum poate un set de agenți să acționeze simultan într-un mediu fragmentat și cum interacționează acel mediu ca răspuns la agenți? Problemele implicate aici sunt, printre altele, aceea a reprezentării mediului prin intermediul agenților, a colaborării dintre agenți și a planificării activității unei multiplicități de agenți.
  • Mai mult, trebuie să luăm în considerare problema agentului și relația acestuia cu lumea externă, care este reprezentată de modelul cognitiv disponibil agentului. Fiecare individ dintr-o companie formată din mai mulți agenți trebuie să poată implementa acțiunile cele mai potrivite obiectivelor sale. Această atitudine decizională este legată de o stare mentală care reflectă percepțiile , reprezentările, credințele agentului și un anumit număr de parametri „psihici” ( dorințe , tendințe ...). Problema în cauză acoperă, de asemenea, noțiunea de obligații ale agentului față de un agent terț.
  • Sistemele de agenți multipli necesită, de asemenea, studiul naturii interacțiunilor, ca sursă de oportunități, pe de o parte, și a constrângerilor, pe de altă parte. Problema interacțiunii se referă la metodele de interacțiune (care limbaj ? Care suport?), Analiza și concepția formelor de interacțiune dintre agenți. Noțiunile de colaborare și cooperare (considerate colaborare + coordonarea acțiunilor + soluționarea conflictelor) sunt probleme fundamentale în acest domeniu. Dacă aplicați simpla cunoaștere a sistemelor cu un singur agent la cele cu mai mulți agenți, veți avea agenți interesați de sine , care nu vor coopera în niciun fel, prin urmare obiectivul sistemului va fi atins minim.
  • Problema adaptării poate fi menționată mai jos, în ceea ce privește adaptarea sau învățarea individuală, pe de o parte, și adaptarea colectivă sau evoluția, pe de altă parte.
  • În cele din urmă, problema realizării și implementării efective a sistemelor multi-agent rămâne de discutat, prin structurarea limbajelor de programare în mai multe tipuri, variind de la un limbaj de tip L5 sau limbaj de formalizare și specificare, până la un limbaj de tip L1, care este cea a implementării efective. Între cele două clase, există limbaje pentru comunicarea între agenți, descrierea legilor mediului și reprezentarea cunoștințelor.

Arhitectura sistemelor multi-agent

Cu referire la cele cinci probleme anterioare, este posibil să schițăm elementele arhitecturii unui sistem de agenți multipli după cum urmează.

  • Agenții trebuie să fie echipați cu o varietate de sisteme de decizie și planificare. Cercetarea operațională sau teoria deciziei este o disciplină dedicată complet studiului acestui subiect. În categoria interacțiunilor cu mediul înconjurător, o altă problemă recurentă a sistemelor de agenți este aceea de căutare a căilor (împreună cu cel mai cunoscut algoritm al său, algoritmul A * ).
  • Agenții au nevoie, de asemenea, de un model cognitiv: aici există diferite modele, inclusiv unul dintre cele mai clasice este modelul BDI (Credințe-Dorințe-Intenții, adică Credință-Vreau-Intenții). Se consideră, pe de o parte, setul de credințe ( Credințe ) ale agentului asupra mediului în care operează, care sunt rezultatul cunoștințelor și percepțiilor sale, iar pe de altă parte un set de obiective ( Dorințe ). Prin intersectarea acestor două seturi, se obține un nou set de intenții ( Intentions ), care ulterior poate fi tradus direct în acțiuni.
  • În plus, agenților trebuie să li se asigure și un sistem de comunicații . Multe limbaje specializate au apărut în acest scop: Knowledge Query and Manipulation Language ( KQML ) și, mai recent, standardul FIPA-ACL (ACL înseamnă Agent Communication Language ) creat de Fundația pentru agenți fizici inteligenți FIPA . Acest standard se bazează în special pe teoria actelor de vorbire , dezvoltată de John Searle .
  • Problema adaptării este un subiect spinos care face în prezent obiectul multor cercetări. Cu toate acestea, am putea cita exemplul unor viruși, nu numai pe computer, ci și biologici , capabili să se adapteze la mediul lor ca urmare a mutațiilor .
  • În cele din urmă, implementarea efectivă a unui sistem multi-agent, dacă nu face parte, în mod corect, din arhitectura sistemului, merită evocată prin exemplul oferit de numeroasele limbaje de programare dezvoltate în scopuri de cercetare în domeniul artificial. inteligență . Gândiți-vă în special la limbajul LISP .

Categorii de agenți

Este posibil să se introducă o clasificare a agenților în conformitate cu două criterii: agenți cognitivi sau reactivi pe de o parte, comportament teleonomic sau reflex pe de altă parte.

Distincția dintre cognitiv și reactiv se referă în esență la reprezentarea lumii disponibile agentului. Dacă agentul individual este înzestrat cu o reprezentare simbolică a lumii din care este capabil să formuleze raționamente, va vorbi despre un agent cognitiv, în timp ce dacă are doar o reprezentare subsimbolică , adică limitată la percepții, va vorbi despre reactiv agent. Această distincție corespunde a două școli de gândire legate de sistemele multi-agenți: prima susține o abordare bazată pe seturi de agenți „ inteligenți ” colaborativi, dintr-o perspectivă mai sociologică; al doilea studiază posibilitatea apariției unui comportament „inteligent” al unui set de agenți neinteligenți (cum ar fi cel al furnicilor simulat de așa-numita colonie de furnici ).

A doua distincție între comportamentul teleonomic sau reflex împarte comportamentele intenționate (urmărirea scopurilor explicite) de comportamentele legate de percepții. Tendințele agenților pot fi exprimate în mod explicit în cadrul agenților sau dimpotrivă provin din mediu. Este posibil să construim un tabel care să grupeze diferitele tipuri de agenți (compilat de Ferber, vezi bibliografia):

Categorii de agenți
Agenți cognitivi Agenți reactivi
Comportamentul teleonomic Agenți intenționați Agenți impulsivi
Comportament reflex Agenți „modulari” Agenți tropici

Agenții cognitivi sunt adesea intenționați , adică au scopuri fixe pe care încearcă să le atingă. De asemenea, este posibil să găsim uneori așa-numiții agenți modulari care, chiar dacă posedă o reprezentare a universului lor, nu au însă scopuri precise. Astfel de agenți ar putea fi folosiți, de exemplu, pentru a răspunde la întrebările prezentate de alți agenți despre acest univers. La rândul lor, agenții reactivi pot fi împărțiți în agenți impulsivi și tropici . Un agent impulsiv va avea o misiune bine definită (de exemplu, să se asigure că un rezervor rămâne întotdeauna suficient de plin) și se va comporta în consecință dacă percepe că mediul nu mai răspunde scopului care i-a fost încredințat (nivelul de rezervorul este prea jos). Agentul tropical, la rândul său, reacționează numai la starea locală a mediului (există foc, eu fug). Sursa motivației este în primul caz internă (agenți impulsivi care au o „misiune”), în al doilea caz este legată exclusiv de mediu.

Aplicații

În domeniul cercetării

În general, există trei tipuri de utilizare: simularea fenomenelor complexe, rezolvarea problemelor și proiectarea programelor.

Sistemele multi-agent sunt utilizate pentru a simula interacțiunile existente între agenții autonomi. Încercăm să determinăm evoluția sistemului pentru a prezice organizarea rezultată. De exemplu, în sociologie , diferiții agenți care alcătuiesc o anumită comunitate pot fi modelați. Prin dezvoltarea constrângerilor, este posibil să încercați să înțelegeți care va fi cea mai eficientă combinație pentru a obține rezultatul scontat (de exemplu, construirea unui pod). Factorul important este comportamentul întregului, cu siguranță nu comportamentul individual. Aplicațiile existente s-au referit la fizica particulelor (agent = particulă elementară ), chimie (agent = moleculă ), biologie celulară (agent = celulă ), etologie (agent = animal ), sociologie și etnologie (agent = ființă umană). Autonomia permite în aceste cazuri să simuleze comportamentul exact al fiecărei entități.

Inteligența artificială distribuită a fost creată pentru a rezolva problemele de complexitate ale programelor mari de inteligență artificială monobloc: prin urmare, execuția nu este concentrată, ci distribuită, dar controlul rămâne centralizat. În schimb, în ​​mai multe sisteme de agenți, fiecare agent are control total asupra comportamentului său. Pentru a rezolva o problemă complexă, uneori este de fapt mai ușor să concepeți programe relativ mici (agenții) care interacționează cu un singur program monobloc mare. Autonomia permite sistemului să se adapteze dinamic la schimbările neașteptate care au loc în mediu.

În același timp, ingineria software a evoluat în direcția componentelor din ce în ce mai autonome. Sistemele cu mai mulți agenți pot fi văzute ca o legătură între ingineria software și inteligența artificială distribuită , cu contribuția semnificativă a sistemelor distribuite . În raport cu un obiect , un agent poate lua inițiative, poate refuza să respecte o cerere, se poate mișca etc.: autonomia permite proiectantului să se concentreze asupra laturii de înțelegere umană a software - ului .

Metafora jocurilor video

Un sistem cu mai mulți agenți poate fi reprezentat ca una dintre acele comunități virtuale care se găsesc din ce în ce mai mult în jocurile video de astăzi. Să luăm în considerare exemplul unui joc care simulează viața unei familii. Sistemul multi-agent poate fi descompus în mai multe dimensiuni. În primul rând, veți avea un mediu cu propria sa valoare. Se poate presupune că este format din casa cu o grădină în care locuiește familia. În plus, sistemul poate avea un set de obiecte pasive asupra cărora agenții pot interveni: acestea sunt toate obiectele care mobilează casa, dar și produsele alimentare. Evident, un sistem multi-agent este compus din agenți; aceștia din urmă, activi și autonomi, interacționează cu anturajul lor (mediul, obiectele și alți agenți) și corespund membrilor familiei (fără a uita câinele). Din nou, este dezvoltat un set de relații între obiecte și agenți, care definește o organizație. De exemplu, va fi posibil să se exprime legăturile familiale dintre diferiți indivizi, dar și să se contureze relațiile de proprietate (care obiect aparține cui?). În cele din urmă, un set de operatori este integrat în sistem care permite agenților să acționeze asupra obiectelor sau asupra altor agenți (copilul poate mânca un iaurt sau se poate plimba cu câinele sau poate vorbi cu sora sa) și senzori care permit agenților să învețe despre schimbările de mediu și alți agenți (iaurtul a căzut la pământ, tata mi-a cerut să las câinele să iasă). Deci, iată ce se poate numi un sistem multi-agent. În informatică, agentul va fi un program autonom care posedă un set de cunoștințe și acționează conform propriilor reguli.

Bibliografie

Trei lucrări, în limba engleză, care se referă la subiect sunt:

  • ( EN ) Michael Wooldridge, An Introduction to MultiAgent Systems , John Wiley & Sons , Inc., 2001, ISBN 0-471-49691-X .
  • ( EN ) Gerhard Weiss, ed., Multiagent Systems, A Modern Approach to Distributed Artificial Intelligence , MIT Press, 1999, ISBN 0-262-23203-0 .
  • ( EN ) Jacques Ferber, Multi-Agent Systems: An Introduction to Artificial Intelligence , Addison-Wesley, 1999, ISBN 0-201-36048-9 .

O altă lucrare, de această dată în franceză, care este o bună introducere (precum și un sprijin util pentru redactarea acestui articol), este următoarea:

  • ( FR ) Jacques Ferber, Les systèmes multi-agents: Vers une intelligence collective , InterEditions, 1995, ISBN 2-7296-0665-3 .

Elemente conexe

Controlul autorității Tezaur BNCF 63794 · LCCN (EN) sh2009010910 · GND (DE) 4389058-1