Lo scopo dei sistemi multi-agente (MAS) è quello di coordinare processi indipendenti. Un agente è un'entità informatica sotto forma di programma o robot. Un agente può essere considerato autonomo perché è in grado di adattarsi quando il suo ambiente cambia. Un MAC è costituito da un insieme di processi informatici che si verificano contemporaneamente ed esistono allo stesso tempo, condividono risorse comuni e comunicano tra loro. Il problema chiave nel MAC è la formalizzazione del coordinamento tra gli agenti.
Definizione di sistemi multi-agente
MAC è un approccio lungimirante allo sviluppo di software per applicazioni in domini complessi in cui i componenti applicativi interagenti sono autonomi e distribuiti, operano in ambienti dinamici e incerti, devono rispettare alcune regole e leggi organizzative e possono aderire e abbandonare un sistema multi-agente durante il runtime.
Esempi di tali applicazioni sono sistemi chegestire e ottimizzare la produzione e la distribuzione di energia elettrica tra consumatori o sistemi che pianificano in modo ottimale i carichi nei sistemi di trasporto. Lo sviluppo di sistemi multi-agente richiede la creazione di agenti, organizzazioni e ambienti separati.
I linguaggi di programmazione forniscono costrutti di programmazione per implementare i singoli agenti in termini di concetti sociali e cognitivi come informazioni, obiettivi, opzioni, norme, emozioni e regole decisionali.
Le organizzazioni multi-agente in termini di concetti sociali e organizzativi hanno ruoli, dotati di norme, protocolli di comunicazione, risorse soggette a monitoraggio. I linguaggi di programmazione e i framework sviluppati vengono utilizzati per creare simulazioni basate su agenti per molti settori di produzione continua: elettricità, metallurgia, sanità, Internet, trasporti, gestione del traffico e giochi seri.
MAS differiscono dai sistemi a agente singolo in quanto hanno diversi agenti che modellano gli obiettivi e le azioni reciproci. In uno scenario generale, potrebbe esserci un'interazione diretta tra gli agenti. Dal punto di vista di un singolo agente, i sistemi multi-agente differiscono in modo più significativo dai sistemi con un singolo agente in quanto la dinamica dell'ambiente può essere determinata da altri agenti. Oltre all'incertezza che può essere inerente a un dominio, altri agenti influenzano deliberatamente l'ambiente in modi imprevedibili.
Quindi, tutti i MAC possono essere considerati come dotati di ambienti dinamici, tipico del modernosistemi multi-agente. Ci può essere un numero qualsiasi di agenti con vari gradi di eterogeneità, con o senza possibilità di comunicazione diretta.
Architettura MAS
Gli agenti devono essere dotati di un modello cognitivo:
- credenze;
- auguri;
- intenzioni.
Da un lato legge "Credenze" sull'ambiente, che sono il risultato delle sue conoscenze e percezioni, e dall' altro, un insieme di "Desideri". Incrociando questi due set si ottiene un nuovo set di "Intenzioni" che vengono poi tradotte direttamente in azioni.
Gli agenti devono disporre di un sistema di comunicazione. Esistono diversi linguaggi specializzati per questo scopo: Language Query and Manipulation Language (KQML). Recentemente è stato diffuso lo standard FIPA-ACL, creato dalla FIPA Foundation for Intelligent Physical Agents. Quest'ultimo principio di costruzione di sistemi multi-agente si basa sulla teoria degli atti linguistici.
Il problema dell'adattamento è una questione spinosa che è attualmente oggetto di molte ricerche. Si può fare un esempio di alcuni virus, sia biologici che informatici, in grado di adattarsi a un ambiente mutante.
Infine, un'efficiente implementazione del MAC, anche se non in senso stretto parte dell'architettura del sistema, merita attenzione nei tanti linguaggi di programmazione che sono stati sviluppati per lo studio dell'intelligenza artificiale. In particolare viene menzionata la lingua LISP. Questi elementi architettonici sono applicati ad un sistema costituito da cognitiviagenti.
Categorie o modelli di agenti
La classificazione degli agenti si basa su due criteri: agenti cognitivi o reagenti che esibiscono, da un lato, un comportamento teleonomico o un riflesso. La distinzione che si può fare tra cognitivo e reattivo è essenzialmente una rappresentazione del mondo a disposizione dell'agente. Se un individuo è dotato di una "rappresentazione simbolica" del mondo da cui poter formulare ragionamenti, allora si parla di agente cognitivo, mentre se ha solo una "rappresentazione sub-simbolica", cioè limitata alle sue percezioni, si parla di un agente reattivo. Questa distinzione cognitiva e reattiva corrisponde a due scuole teoriche di sistemi multi-agente.
Il primo sostiene l'approccio fondamentale degli agenti "intelligenti" per la cooperazione da un punto di vista sociologico. Nella seconda si studia la possibilità dell'emergere di comportamenti "intelligenti" di un insieme di agenti non intelligenti (tipo formica). La seconda differenza tra comportamento comportamentale e riflesso separa il comportamento intenzionale, il perseguimento di obiettivi espliciti, dal comportamento percettivo. Pertanto, le tendenze degli agenti possono essere espresse esplicitamente negli agenti o, al contrario, provenire dall'ambiente. Tabella che raggruppa diversi tipi di agenti:
- Agenti cognitivi.
- Agenti reattivi.
- Comportamento telematico.
- Agenti intenzionali.
- Agenti gestiti.
- Comportamento riflesso.
- I "moduli" degli agenti.
- Agenti tropicali.
Gli agenti cognitivi sono per lo più intenzionali, ad es.hanno obiettivi fissi che stanno cercando di raggiungere. Tuttavia, a volte vengono utilizzati agenti chiamati moduli, che hanno un'idea del loro "universo" senza obiettivi specifici. Potrebbero servire, ad esempio, per rispondere alle domande di altri agenti nell'"universo".
I reagenti possono essere suddivisi in attuatori e agenti tropicali. L'agente istintivo avrà una missione fissa e attiverà un comportamento se vede che l'ambiente non si adatta più allo scopo assegnato. L'agente tropicale reagisce solo allo stato locale dell'ambiente, ad esempio se c'è luce, allora funziona. La fonte della motivazione nel caso interno degli agenti pulsionali che hanno una "missione" si riferisce solo all'ambiente.
Paradigmi organizzativi
Con lo sviluppo di tali sistemi, sono stati sviluppati vari paradigmi organizzativi. Queste strutture di sistemi multi-agente definiscono la struttura per le relazioni e le interazioni tra agenti.
Gerarchie. In questo modello, gli agenti sono gerarchici secondo una struttura ad albero in cui ogni nodo è un agente e dispone di un collegamento di autorizzazione sui suoi nodi figlio. Questo modello distrugge lo scopo generale del sistema.
Holarchy si avvicina alla gerarchia. Non esiste alcuna relazione di autorità tra un agente e il suo sottogruppo.
Una coalizione è un'alleanza temporanea di agenti che si uniscono e cooperano perché i loro interessi personali si incontrano. Il valore della coalizione deve essere maggiore della somma dei singoli valori dei componenti dell'agente.
Le congregazioni sono molto simili alle coalizioni ecomandi. Tuttavia, sono pensati per essere permanenti e di solito hanno più obiettivi da raggiungere. Inoltre, gli agenti possono entrare e uscire dalle congregazioni e appartenere a più congregazioni contemporaneamente.
La società è un insieme di agenti diversi che interagiscono e comunicano. Hanno obiettivi diversi, non hanno lo stesso livello di razionalità e le stesse capacità, ma obbediscono tutti a leggi (norme) comuni.
Gli agenti della Federazione danno parte della loro autonomia al delegato del loro gruppo. Gli agenti del gruppo interagiscono solo con il loro delegato, che a sua volta interagisce con i delegati di altri gruppi.
Gli agenti di vendita offrono articoli che gli agenti degli acquirenti possono richiedere. Questo tipo di organizzazione consente, ad esempio, di simulare mercati reali e confrontare diverse strategie di trading.
Gli agenti dell'organizzazione Matrix sono gerarchici. Tuttavia, a differenza della gerarchia presentata sopra, dove un agente è subordinato solo a pochi altri agenti, quelli in un'organizzazione a matrice possono essere soggetti a molti altri.
Combinazioni - Questa organizzazione combinata mescola molti degli stili di cui sopra. Potrebbe trattarsi, ad esempio, di una coalizione o di una gerarchia di squadre.
Intelligenza artificiale
L'obiettivo della scienza cognitiva è comprendere la natura e il funzionamento dell'intelligenza artificiale, che è ciò che elabora le informazioni interne per renderle mirate. Molti concetti si adattano a questa descrizione: esseri umani, computer, robot, sistemi sensoriali,la lista è infinita. Un tipo di sistema di particolare interesse per gli scienziati cognitivi è l'auto-agente artificiale che agisce sulle informazioni.
Un agente intelligente (IA) è in grado di prendere decisioni in base alla sua esperienza e può scegliere azioni in diverse situazioni. Come suggerisce il termine "artificiale", il tipo di agenti autonomi di interesse non è qualcosa creato dalla natura. Pertanto, un agente artificiale è tutto ciò che viene creato dalle persone, in grado di agire sulla base delle informazioni che percepisce, delle proprie esperienze, decisioni e azioni.
Il campo dell'intelligenza extra-naturale fornisce le competenze tecniche per tradurre i tipi desiderati di agenti in un linguaggio di programmazione, relativo software e un'architettura appropriata (hardware e relativo software) per implementare l'agente nel mondo reale o simulato.
Ambiente del mondo della percezione
Agente è tutto ciò che assorbe l'ambiente attraverso sensori e agisce su di esso tramite effettori, il che sembra abbastanza semplice. Questa definizione di agente copre un'ampia gamma di macchine, dai termostati agli oggetti che possono effettivamente apprendere un piccolo repertorio di comportamenti.
I sensori sono strumenti utilizzati da un agente per raccogliere informazioni sul proprio mondo. La tastiera e la videocamera possono funzionare come sensori se associati all'agente. Al termine della risposta del sistema, gli esecutori sono gli strumenti utilizzati dall'agente per influenzare l'ambiente. Esempi di effettori sonomonitor, stampante e braccio robotico.
Di solito l'ambiente è il dominio o il mondo dell'agente. Questi domini, almeno per ora, dovrebbero essere limitati a specifici tipi di situazioni per evitare le possibilità illimitate del mondo di tutti i giorni.
Sistema di influenza autonomo
Un Agente Autonomo è “un sistema dentro e parte di un ambiente che percepisce quell'ambiente e agisce su di esso nel tempo per portare a termine la propria agenda e per influenzare ciò che sperimenta in futuro”. Questa definizione di Franklin e Greisser riflette tutte le funzioni di base degli agenti intelligenti, ad eccezione della loro socialità. Ciò fornisce una buona approssimazione delle caratteristiche principali dell'ampia varietà di IA in fase di sviluppo.
Tali agenti sentono il loro ambiente. Ma qui i dati o le percezioni sensoriali includono non solo dati su altri oggetti, ma anche l'influenza dell'agente stesso sullo stato delle cose nell'ambiente. I sensori possono essere organici, come occhi e orecchie e i loro processori neurali, o artificiali, come processori video e audio incorporati in un computer digitale. L'ambiente può essere un'area molto limitata, come uno spazio chiuso, o molto complesso, come un mercato azionario o una collezione di asteroidi. I sensori devono corrispondere ai tipi di oggetti con cui interagisce l'agente.
Tipo di interazione riflessa
L'agente riflettore ha un meccanismo più complesso. Invece di dinamica direttain relazione all'ambiente, cerca nell'elenco delle regole ciò che deve fare. L'agente riflesso risponde a una data percezione con una risposta programmata. Anche se ci sono migliaia di possibili risposte a una determinata percezione, l'agente ha un elenco integrato di regole di azione della situazione per eseguire quelle risposte che sono già state considerate dal programmatore. La regola dell'azione della situazione è fondamentalmente un imperativo ipotetico.
Gli agenti riflessi non sono davvero molto luminosi. Non riescono a gestire la novità. L'agente intelligente contiene le caratteristiche dei suoi cugini meno sofisticati, ma non è così limitato. Agisce secondo l'ordine del giorno. Ha una serie di obiettivi che persegue attivamente. L'agente basato sulla destinazione ha una comprensione dello stato corrente dell'ambiente e del suo funzionamento tipico. Persegue grandi strategie o obiettivi che non possono essere raggiunti immediatamente. Questo rende l'agente attivo, non solo reattivo.
Utilità funzionale di destinazione
Negli agenti più complessi, una misura di pulizia viene applicata alle varie possibili azioni che possono essere eseguite nell'ambiente. Questo programmatore complesso è un agente basato sui servizi. L'agente basato sul servizio valuterà ogni scenario per vedere quanto bene raggiunge determinati criteri per ottenere un buon risultato. Cose come la probabilità di successo, le risorse necessarie per completare lo scenario, l'importanza dell'obiettivo da raggiungere, il tempo necessario, possono essere tutti presi in considerazione nei calcoli delle funzioni di utilità.
PerchéDal momento che un programmatore in genere non può prevedere tutti gli stati del mondo che un agente incontrerà, il numero di regole che dovrebbero essere scritte per un agente riflesso sarebbe astronomico anche in aree molto semplici come la pianificazione di riunioni o l'organizzazione di percorsi di trasporto e rifornimenti.
Ciclo di controllo di base
Data la definizione di agente intelligente, considera il ciclo di controllo di base scritto dal teorico degli agenti Michael Vuladrich nel 2000:
- mantieni la pace;
- aggiorna il modello del mondo interno;
- raggiungere un intento deliberato;
- usa mezzi/fini per ottenere un progetto per le intenzioni;
- esegui il piano;
- termina il processo.
Questo schema necessita di qualche interpretazione. L'agente osserva il mondo: ciò significa che, usando i suoi sensori, raccoglie percezioni. Il sensore può essere una tastiera collegata a un computer digitale o un processore visivo collegato a un robot. Può essere qualsiasi cosa che consenta all'agente di raccogliere rappresentazioni del mondo. Aggiornare il modello interno significa che l'agente aggiunge una nuova percezione alla sua sequenza di percezioni e informazioni programmate sul mondo.
Piattaforme di sviluppo multi-agente
AnyLogic è un software di simulazione CORMAS multi-agente e multi-componente open source basato sul linguaggio di programmazione orientato agli oggetti SmallTalk.
DoMIS è uno strumento di progettazione di sistemi multi-agente incentrato sul "controllo operativo di sistemi complessi" e basato sul metodo di progettazione B-ADSC.
JACK è un linguaggio di programmazione e un ambiente di sviluppo per agenti cognitivi sviluppato da Agent Oriented Software come estensione orientata agli agenti del linguaggio Java.
GAMA è una piattaforma di modellazione open source (LGPL) che offre un ambiente di modellazione basato su agenti spazialmente esplicito che utilizza i dati GIS per descrivere gli agenti e il loro ambiente.
JADE (Java Agent DEVELOPMENT) è un framework di sviluppo multi-agente open source basato sul linguaggio Java.
Sette modelli dello standard
Nel processo evolutivo della ricerca, ci sono più input su come creare un sistema che sia affidabile e rappresenti un livello di qualità superiore. La tendenza a continuare è quella di integrare o espandere i metodi esistenti che sono riusciti a consolidare il processo decisionale all'interno dello sviluppo.
Lo standard metodologico consente, in modo comprensibile e semplice, di creare un MAC, non solo utilizzando il linguaggio naturale, ma anche utilizzando modelli di descrizione che aiutano nella specifica del sistema.
Lo standard metodologico offre sette modelli di problemi o le loro soluzioni per la creazione di MAC:
- Un modello di scenario che descrive un'azienda o un'organizzazione.
- Il modello degli obiettivi e degli obiettivi definisce e descrive la struttura organica.
- Il modello dell'agente definisce gli esseri umani e i sistemi autonomi.
- Il modello di ruolo associa obiettivi e obiettivi con un particolare agente.
- Il modello organizzativo descrive l'ambiente a cui è associato un singolo agente.
- Il modello di interazione descrive la relazione, enfatizzando la coordinazione degli agenti.
- Il modello di progettazione definisce l'agente e l'architettura di rete.
Esempi di interazione tra agenti
MAS sono usati per simulare l'interazione tra agenti autonomi. L'uso di sistemi multi-agente, ad esempio, in sociologia permette di parametrizzare i vari agenti che compongono la comunità. Aggiungendo vincoli, puoi provare a capire quale sarà la componente più efficace per ottenere il risultato atteso. Dovrebbero sperimentare scenari che non sarebbero realizzabili da persone reali, né per ragioni tecniche né etiche.
Distributed IA è stato creato per risolvere la complessità dei grandi programmi monolitici di intelligenza non naturale: esecuzione, distribuzione e controllo centralizzato. Per risolvere un problema complesso, a volte è più facile creare programmi (agenti) relativamente piccoli in cooperazione rispetto a un grande programma monolitico. L'autonomia consente al sistema di adattarsi dinamicamente a cambiamenti imprevisti nell'ambiente.
Gli esempi di sistemi multi-agente nell'industria dei giochi sono numerosi e vari. Sono utilizzati nei videogiochi e nei film, incluso il software MASSIVE, ad esempio per simulare il movimento della folla nella trilogia del Signore degli Anelli. Potrebbero ancheutilizzato dalle aziende, ad esempio, per tracciare il comportamento dei clienti che navigano sui siti web.
MAS sono utilizzati anche nel mondo della finanza. Ad esempio, la piattaforma MetaTrader 4 consente l'utilizzo di agenti esperti nel trading automatizzato che seguono le tariffe Forex
Vantaggi dell'utilizzo del sistema
Nella ricerca sull'IA, la tecnologia dei sistemi basati su agenti è stata adottata come un nuovo paradigma per concettualizzare, progettare e implementare sistemi software. Vantaggi dell'approccio multi-MAS:
- Condivide risorse e capacità di elaborazione attraverso una rete di agenti interconnessi.
- Consente l'interconnessione e l'interoperabilità di più sistemi legacy esistenti.
- Copre vari settori tra cui manutenzione aeronautica, portafogli elettronici di libri, sminamento militare, comunicazioni e comunicazioni wireless, pianificazione della logistica militare, sistema di gestione della catena di approvvigionamento, pianificazione della missione collaborativa, gestione del portafoglio finanziario.
Nella ricerca, la tecnologia IA per sistemi basati su agenti è stata adottata come un nuovo paradigma per la concettualizzazione, la progettazione, l'implementazione e l'apprendimento multi-agente di sistemi software.
Quindi, MAC è una rete di agenti software liberamente accoppiati che interagiscono per risolvere problemi al di là delle capacità o delle conoscenze individuali di ciascun creatore di problemi.