Sì, ci sono differenze. Per agenti molto semplici, attori e agenti potrebbero essere la stessa cosa. Tuttavia, per "agenti autonomi" uno, o, almeno, I, di solito assume qualcosa del tipo, per esempio, un modello di intenzione-desiderio-Belief, in cui l'agente modella internamente un'astrazione dell'ambiente in cui si trova, e gli agenti con cui interagisce, in modo che possa fare piani su come interagire con quell'ambiente per raggiungere i suoi obiettivi.
Mentre un attore può sicuramente avere tutto questo, un singolo agente potrebbe anche essere composto da più attori, agendo congiuntamente per gestire diverse parti del framework BDI. Un attore è, per tutti gli effetti, un'unità di pianificazione. Se i tuoi agenti sono essenzialmente lineari e a thread singolo, si adattano. Se eseguono parallelamente il lavoro internamente, desideri più attori per ciascun agente.
Quindi, cosa hanno in comune attori e agenti?
Entrambi comunicano trasmettendo messaggi.
Entrambi (di solito) hanno uno stato interno, anche se implicito nello stato di esecuzione.
Entrambi si aspettano che non condividano lo stato con altri attori/agenti.
Entrambi dovrebbero essere programmati indipendentemente da altri attori/agenti.
Che agenti hanno più degli attori?
Agenzia di solito seguono modelli che determinano il comportamento di un agente - come, ad esempio, BDI - e gli attori di solito non lo fanno. Gli agenti reattivi, tuttavia, sono simili agli attori in questo senso.
Gli agenti possono disporre di più di un'unità interna di pianificazione. Gli agenti che non lo sono, tuttavia, sono simili agli attori in questo senso.
Che attori hanno più degli agenti?
- Nulla di ciò che posso pensare, sebbene gli attori di Scala possano condividere lo stato.
fonte
2009-07-21 20:59:04
Non sarei assolutamente d'accordo con l'equiparazione del BDI e degli agenti autonomi. BDI è semplicemente una possibile architettura per una classe di agenti.Esistono architetture di agenti con modelli ambientali espliciti che non sono BDI, ad es. agenti di riflesso in ambienti parzialmente osservabili Credo che la seconda parte della risposta abbia un valore. Un attore non è un agente nello stesso modo in cui un thread non è un agente. Tuttavia entrambi possono essere utilizzati al fine di realizzare l'obiettivo di creare un agente autonomo. Caso in questione, gli agenti di JADE si collocano in cima ai thread Java. Grazie per il tuo aiuto. – DuncanACoulter
Ah, vedo che stavi aggiornando la tua risposta mentre stavo scrivendo il mio commento ... Penso che la tua nuova risposta risolva bene la mia domanda. – DuncanACoulter
Scusa, non avevo intenzione di equiparare agenti autonomi con BDI. Intendevo solo usare BDI come esempio. Non sono del tutto sicuro di come riformulare la mia risposta, ma l'ho migliorata un po '. –