Scopul sistemelor multi-agent (MAS) este de a coordona procese independente. Un agent este o entitate computerizată sub forma unui program sau a unui robot. Un agent poate fi considerat autonom deoarece este capabil să se adapteze atunci când mediul său se schimbă. Un MAC constă dintr-un set de procese computerizate care se întâmplă în același timp și există în același timp, împărtășesc resurse comune și comunică între ele. Problema cheie în MAC este formalizarea coordonării între agenți.
Definirea sistemelor multi-agent
MAC este o abordare de perspectivă a dezvoltării de software pentru aplicații din domenii complexe în care componentele aplicațiilor care interacționează sunt autonome și distribuite, funcționează în medii dinamice și incerte, trebuie să respecte unele reguli și legi organizaționale și se pot alătura și părăsi un sistem cu mai mulți agenți în timpul rulării.
Exemple de astfel de aplicații sunt sistemele caregestionează și optimizează producția și distribuția de energie electrică între consumatori sau sisteme care planifică optim încărcăturile în sistemele de transport. Dezvoltarea sistemelor multi-agenți necesită crearea de agenți, organizații și medii separate.
Limbajele de programare oferă constructe de programare pentru implementarea agenților individuali în termeni de concepte sociale și cognitive, cum ar fi informații, obiective, opțiuni, norme, emoții și reguli de decizie.
Organizațiile multi-agenți din punct de vedere al conceptelor sociale și organizaționale au roluri, dotate cu norme, protocoale de comunicare, resurse care sunt supuse monitorizării. Limbajele și cadrele de programare dezvoltate sunt folosite pentru a crea simulări bazate pe agenți pentru multe industrii de producție continuă: electricitate, metalurgie, asistență medicală, internet, transport, managementul traficului și jocuri serioase.
MAS diferă de sistemele cu un singur agent prin faptul că au mai mulți agenți care modelează obiectivele și acțiunile celuil alt. Într-un scenariu general, poate exista o interacțiune directă între agenți. Din punctul de vedere al unui singur agent, sistemele cu mai mulți agenți diferă cel mai semnificativ de sistemele cu un singur agent prin aceea că dinamica mediului poate fi determinată de alți agenți. Pe lângă incertitudinea care poate fi inerentă unui domeniu, alți agenți influențează în mod deliberat mediul în moduri imprevizibile.
Astfel, toate MAC-urile pot fi considerate ca având medii dinamice, ceea ce este tipic pentru modernulsisteme multi-agent. Poate exista orice număr de agenți cu diferite grade de eterogenitate, cu sau fără posibilitatea de comunicare directă.
Arhitectura MAS
Agenții trebuie să fie echipați cu un model cognitiv:
- credințe;
- dorințe;
- intenții.
Pe de o parte, citește „Credințele” despre mediu, care sunt rezultatul cunoștințelor și percepțiilor sale, iar pe de altă parte, un set de „Dorințe”. Încrucișarea acestor două seturi are ca rezultat un nou set de „Intenții”, care sunt apoi traduse direct în acțiuni.
Agenții trebuie să aibă un sistem de comunicare. Există mai multe limbi specializate în acest scop: Language Query and Manipulation Language (KQML). Recent, a fost vehiculat standardul FIPA-ACL, creat de Fundația FIPA pentru agenți fizici inteligenți. Acest ultim principiu al construirii sistemelor multi-agenți se bazează pe teoria actelor de vorbire.
Problema adaptării este o problemă spinoasă care face în prezent obiectul multor cercetări. Se poate da un exemplu al unor viruși, atât biologici, cât și informatici, capabili să se adapteze la un mediu mutant.
În sfârșit, o implementare eficientă a MAC, deși nu face parte strict vorbind din arhitectura sistemului, merită atenție în numeroasele limbaje de programare care au fost dezvoltate pentru studiul inteligenței artificiale. În special, este menționat limbajul LISP. Aceste elemente arhitecturale sunt aplicate unui sistem format din cognitiveagenți.
Categorii sau modele de agenți
Clasificarea agenților se bazează pe două criterii: agenți cognitivi sau reactivi care prezintă, pe de o parte, comportament teleonomic sau un reflex. Distincția care se poate face între cognitiv și reactiv este în esență o reprezentare a lumii disponibilă agentului. Dacă un individ este înzestrat cu o „reprezentare simbolică” a lumii din care să poată formula raționament, atunci se vorbește de un agent cognitiv, în timp ce dacă are doar o „reprezentare sub-simbolică”, adică limitată la percepțiile sale, se vorbeste de un agent reactiv. Această distincție cognitivă și reactivă corespunde două școli teoretice de sisteme multi-agenți.
Prima susține abordarea fundamentală a agenților „inteligenti” pentru cooperare din punct de vedere sociologic. În al doilea, se studiază posibilitatea apariției unui comportament „inteligent” al unui set de agenți neinteligenti (tip furnică). A doua diferență între comportamentul comportamental și reflex separă comportamentul intenționat, urmărirea unor scopuri explicite, de comportamentul perceptiv. Astfel, tendințele agenților pot fi exprimate explicit în agenți sau, dimpotrivă, provin din mediu. Tabel care grupează diferite tipuri de agenți:
- Agenți cognitivi.
- Agenți reactivi.
- Comportament telenomic.
- Agenți intenționați.
- Agenți gestionați.
- Comportament reflex.
- „module” de agenți.
- Agenți tropicali.
Agenții cognitivi sunt în mare parte intenționați, adicăau obiective fixe pe care încearcă să le atingă. Cu toate acestea, uneori sunt folosiți agenți numiți module, care au o idee despre „universul” lor fără scopuri specifice. Acestea ar putea servi, de exemplu, pentru a răspunde la întrebările altor agenți din „univers”.
Reactivii pot fi împărțiți în actuatori și agenți tropicali. Agentul instinctiv va avea o misiune fixă și va declanșa un comportament dacă vede că mediul nu se mai potrivește scopului atribuit. Agentul tropical reacționează numai la starea locală a mediului, de exemplu, dacă există lumină, atunci rulează. Sursa motivației în cazul intern al agenților de conducere care au o „misiune” se referă doar la mediu.
Paradigma organizațională
Odată cu dezvoltarea unor astfel de sisteme, au fost dezvoltate diverse paradigme organizaționale. Aceste structuri ale sistemelor multi-agenți stabilesc cadrul pentru relațiile și interacțiunile dintre agenți.
Ierarhii. În acest model, agenții sunt ierarhici conform unei structuri arborescente în care fiecare nod este un agent și are o legătură de permisiune pe nodurile sale fii. Acest model distruge scopul general al sistemului.
Holarhia se apropie de ierarhie. Nu există nicio relație de autoritate între un agent și subgrupul său.
O coaliție este o alianță temporară de agenți care se unesc și cooperează pentru că interesele lor personale se întâlnesc. Valoarea coaliției trebuie să fie mai mare decât suma valorilor individuale ale componentelor agentului.
Congregațiile sunt foarte asemănătoare coalițiilor șicomenzi. Cu toate acestea, ele sunt menite să fie permanente și, de obicei, au mai multe obiective de atins. În plus, agenții pot intra și părăsi congregații și aparțin mai multor în același timp.
Societatea este un set de agenți diverși care interacționează și comunică. Au scopuri diferite, nu au același nivel de raționalitate și aceleași capacități, dar toți se supun legilor (normelor) comune.
Agenții federației acordă o parte din autonomie delegatului grupului lor. Agenții de grup interacționează numai cu delegatul lor, care la rândul său interacționează cu delegații din alte grupuri.
Agenții de vânzări oferă articole pe care agenții cumpărătorilor le pot revendica. Acest tip de organizație face posibilă, de exemplu, simularea piețelor reale și compararea diferitelor strategii de tranzacționare.
Agenții organizației Matrix sunt ierarhici. Cu toate acestea, spre deosebire de ierarhia prezentată mai sus, în care un agent este subordonat doar câțiva alți agenți, cei dintr-o organizație matricială pot fi supuși altora.
Combinații - Această organizație combinată combină multe dintre stilurile de mai sus. Aceasta ar putea fi, de exemplu, o coaliție sau o ierarhie de echipe.
Inteligenta artificiala
Scopul științei cognitive este de a înțelege natura și funcționarea inteligenței artificiale, care este cea care procesează informațiile interne pentru a le face cu scop. Multe concepte se potrivesc acestei descrieri: oameni, computere, roboți, sisteme senzoriale,lista este nesfârșită. Un tip de sistem de interes deosebit pentru oamenii de știință cognitiv este auto-agentul artificial care acționează asupra informației.
Un agent inteligent (IA) este capabil să ia decizii pe baza experienței sale și poate alege acțiuni în diferite situații. După cum sugerează termenul „artificial”, tipul de agenți autonomi de interes nu este ceva creat de natură. Prin urmare, un agent artificial este tot ceea ce este creat de oameni, capabil să acționeze pe baza informațiilor pe care le percepe, a propriilor experiențe, decizii și acțiuni.
Domeniul inteligenței extra-naturale oferă abilitățile tehnice pentru a traduce tipurile dorite de agenți într-un limbaj de programare, software aferent și arhitectură adecvată (hardware și software asociat) pentru a implementa agentul în lumea reală sau simulată.
Mediul lumii percepției
Agent este orice ia în mediul înconjurător prin intermediul senzorilor și acționează asupra acestuia prin efectori, ceea ce sună destul de simplu. Această definiție a unui agent acoperă o gamă largă de mașini, de la termostate la obiecte care pot învăța de fapt un mic repertoriu de comportament.
Senzorii sunt instrumente folosite de un agent pentru a colecta informații despre lumea lor. Tastatura și camera video pot funcționa ca senzori dacă sunt asociate cu agentul. La sfârșitul răspunsului sistemului, performanții sunt instrumentele folosite de agent pentru a influența mediul. Exemple de efectori suntmonitor, imprimantă și braț robotic.
De obicei, mediul este domeniul sau lumea agentului. Aceste domenii, cel puțin pentru moment, ar trebui limitate la anumite tipuri de situații pentru a evita posibilitățile nelimitate ale lumii de zi cu zi.
Sistem de influență autonom
Un agent autonom este „un sistem în interiorul și o parte a unui mediu care percepe acel mediu și acționează asupra acestuia în timp pentru a-și îndeplini propria agendă și pentru a influența ceea ce experimentează în viitor”. Această definiție a lui Franklin și Greisser reflectă toate funcțiile de bază ale agenților inteligenți, cu excepția sociabilității lor. Aceasta oferă o bună aproximare a principalelor caracteristici ale varietatii mari de IA în dezvoltare.
Acești agenți își simt mediul. Dar aici datele sau percepțiile senzoriale includ nu numai date despre alte obiecte, ci și influența agentului însuși asupra stării de lucruri din mediu. Senzorii pot fi organici, cum ar fi ochii și urechile și procesoarele lor neuronale, sau artificiali, cum ar fi procesoarele video și audio încorporate într-un computer digital. Mediul poate fi o zonă foarte limitată, ca un spațiu închis, sau foarte complex, precum o bursă sau o colecție de asteroizi. Senzorii trebuie să se potrivească cu tipurile de obiecte cu care agentul interacționează.
Tip reflex de interacțiune
Agentul reflector are un mecanism mai complex. În loc de dinamică directăîn raport cu mediul, el caută ce trebuie să facă în lista de reguli. Agentul reflex răspunde la o anumită percepție cu un răspuns programat. Chiar dacă există mii de răspunsuri posibile la o anumită percepție, agentul are o listă încorporată de reguli de acțiune a situației pentru a executa acele răspunsuri care au fost deja luate în considerare de programator. Regula de acțiune în situație este practic un imperativ ipotetic.
Agenții reflex nu sunt într-adevăr foarte strălucitori. Pur și simplu nu pot face față noutății. Agentul inteligent conține caracteristicile verilor săi mai puțin sofisticați, dar nu este la fel de limitat. El acționează conform ordinii de zi. Are un set de obiective pe care le urmărește activ. Agentul bazat pe țintă înțelege starea actuală a mediului și cum funcționează de obicei acel mediu. El urmărește strategii sau obiective majore care nu pot fi atinse imediat. Acest lucru face ca agentul să fie activ, nu doar reactiv.
Target functional utility
La agenții mai complexi, se aplică o măsură de menaj diferitelor acțiuni posibile care pot fi efectuate în mediu. Acest planificator complex este un agent bazat pe servicii. Agentul bazat pe servicii va evalua fiecare scenariu pentru a vedea cât de bine îndeplinește anumite criterii pentru a obține un rezultat bun. Lucruri precum probabilitatea de succes, resursele necesare pentru a finaliza scenariul, importanța obiectivului care trebuie atins, timpul necesar, toate pot fi luate în considerare în calculele funcției de utilitate.
Pentru căDeoarece un programator nu poate prezice în mod obișnuit toate stările lumii pe care le va întâlni un agent, numărul de reguli care ar trebui scris pentru un agent reflex ar fi astronomic chiar și în domenii foarte simple, cum ar fi programarea întâlnirilor sau organizarea rutelor de transport și a proviziilor.
Bucla de control de bază
Având în vedere definiția unui agent inteligent, luați în considerare bucla de control de bază scrisă de teoreticianul agentului Michael Vuladrich în 2000:
- pastreaza-te;
- actualizează modelul mondial intern;
- realizarea unei intenții deliberate;
- utilizați mijloace/scopuri pentru a obține un plan pentru intenții;
- execută planul;
- termină procesul.
Acest model are nevoie de o interpretare. Agentul observă lumea - asta înseamnă că el, folosind senzorii săi, colectează percepții. Senzorul poate fi o tastatură atașată la un computer digital sau un procesor vizual atașat la un robot. Poate fi orice care îi permite agentului să adune reprezentări ale lumii. Actualizarea modelului intern înseamnă că agentul adaugă o nouă percepție secvenței sale de percepții și informații programate despre lume.
Platforme de dezvoltare cu mai mulți agenți
AnyLogic este un software de simulare CORMAS, cu sursă deschisă, multi-agenți și mai multe componente, bazat pe limbajul de programare orientat pe obiecte SmallTalk.
DoMIS este un instrument de proiectare a sistemelor multi-agent, axat pe „controlul operațional al sistemelor complexe” și bazat pe metoda de proiectare B-ADSC.
JACK este un limbaj de programare și un mediu de dezvoltare pentru agenți cognitivi dezvoltat de Agent Oriented Software ca o extensie orientată către agenți a limbajului Java.
GAMA este o platformă de modelare cu sursă deschisă (LGPL) care oferă un mediu de modelare bazat pe agenți, explicit spațial, folosind date GIS pentru a descrie agenții și mediul lor.
JADE (Java Agent DEVELOPMENT) este un cadru de dezvoltare open source multi-agen bazat pe limbajul Java.
Șapte modele ale standardului
În procesul evolutiv al cercetării, există mai multe informații despre cum să creați un sistem care este fiabil și reprezintă un nivel mai în alt de calitate. Tendința de a continua este de a completa sau extinde metodele existente care au reușit să consolideze procesul decizional în cadrul dezvoltării.
Standardul metodologic permite, într-un mod simplu și ușor de înțeles, crearea unui MAC, nu numai folosind limbajul natural, ci și folosind șabloane de descriere care ajută la specificarea sistemului.
Standardul metodologic oferă șapte modele de probleme sau soluțiile acestora pentru construirea MAC:
- Un model de scenariu care descrie o companie sau o organizație.
- Modelul de scopuri și obiective definește și descrie structura organică.
- Modelul agent definește oamenii și sistemele autonome.
- Modelul asociază scopurile și obiectivele cu un anumit agent.
- Modelul organizațional descrie mediul la care este asociat un agent individual.
- Modelul de interacțiune descrie relația, subliniind coordonarea agenților.
- Modelul de proiectare definește agentul și arhitectura rețelei.
Exemple de interacțiune între agenți
MAS sunt folosite pentru a simula interacțiunea dintre agenți autonomi. Utilizarea sistemelor multi-agenți, de exemplu, în sociologie face posibilă parametrizarea diferiților agenți care alcătuiesc comunitatea. Adăugând constrângeri, puteți încerca să înțelegeți care va fi cea mai eficientă componentă pentru a obține rezultatul așteptat. Ar trebui să experimenteze scenarii care nu ar fi realizabile de oameni reali, fie din motive tehnice sau etice.
Distributed IA a fost creat pentru a rezolva complexitatea programelor mari monolitice de inteligență nenaturală - execuție, distribuție și control centralizat. Pentru a rezolva o problemă complexă, uneori este mai ușor să creați programe (agenți) relativ mici în cooperare decât un program monolitic mare. Autonomia permite sistemului să se adapteze dinamic la schimbările neprevăzute ale mediului.
Exemplele de sisteme multi-agenți din industria jocurilor de noroc sunt numeroase și variate. Sunt folosite în jocuri video și filme, inclusiv în software-ul MASSIVE, de exemplu pentru a simula mișcarea mulțimilor în trilogia Stăpânul Inelelor. Ei pot, de asemeneautilizat de companii, de exemplu, pentru a urmări comportamentul clienților care navighează pe site-uri web.
MAS sunt folosite și în lumea finanțelor. De exemplu, platforma MetaTrader 4 permite utilizarea agenților experți în tranzacționarea automată care urmează ratele Forex
Beneficiile utilizării sistemului
În cercetarea IA, tehnologia sistemelor bazate pe agenți a fost adoptată ca o nouă paradigmă pentru conceptualizarea, proiectarea și implementarea sistemelor software. Beneficiile abordării multi-MAS:
- Partajează resursele și capabilitățile de calcul printr-o rețea de agenți interconectați.
- Permite interconectarea și interoperabilitatea mai multor sisteme vechi existente.
- Acoperind diverse domenii, inclusiv întreținerea aeronavelor, portofele electronice pentru cărți, eliminarea minelor militare, comunicații și comunicații fără fir, planificare logistică militară, sistem de management al lanțului de aprovizionare, planificare colaborativă a misiunilor, management al portofoliului financiar.
În cercetare, tehnologia IA pentru sistemele bazate pe agenți a fost adoptată ca o nouă paradigmă pentru conceptualizarea, proiectarea, implementarea și învățarea multi-agenți a sistemelor software.
Astfel, MAC este o rețea slab cuplată de agenți software care interacționează pentru a rezolva probleme dincolo de capacitatea sau cunoștințele individuale ale fiecărui producător de probleme.