Back

Explore Courses Blog Tutorials Interview Questions
0 votes
2 views
in AI and Deep Learning by (50.2k points)

I'm architecting a Multi-Agent System (MAS) framework to describe Beliefs-Desires-Intents (BDI) agents in Haskell (i.e. agents are concurrent, communicating monadic actions).

I searched on the web thoroughly but I wasn't able to find any reference on similar works, apart from a technical report of unfinished work, Specifying and Controlling Agents in Haskell.

Do you know about any existing implementation or research paper dealing with BDI agents that can be defined in Haskell or in any other functional language, please? My aim is to find possible related works, everything that could manage a system of concurrent intelligent agents written in a functional language. I don't need anything specific, I just want to find out whether my work has something in common with existing approaches.

edit: I managed to find a reference to Clojure, a Lisp dialect that supports a form of agent programming very close to the actor model, but it's not meant to directly support BDI agents (one should implement another layer on top of it to get the BDI part done I guess).

1 Answer

0 votes
by (108k points)

Haskell uses the software transactional memory for concurrency feature that could be a slightly lower level model however that several contend is more flexible (and it will model actors fairly well).

This is generally what I’d suggest for single-machine concurrency and similarity in Haskell.

If you really need multi-machine concurrency (making your application distributed), then the player model starts becoming more compelling. There exists a project called Cloud Haskell specifically organized around this:

Cloud Haskell

Their website has a number of fundamental tutorials showing how to use agents in that framework.

You can refer to this link, for better understanding of Suitability of Haskell for Multi-Agent Systems: https://pdfs.semanticscholar.org/5687/8eef4306a46a39a2eababe0ff1294a5ad53b.pdf

Browse Categories

...