Blog

Multi agent systems

Using autonomous agents to perform business operations is becoming a trend in the modern business world, as it requires less human effort and the easiness of handling multiple scenarios at the same time. To do that, a system should be able to handle multiple agents simultaneously. Those are called Multi Agent Systems. In multi agent systems, an individual agent should have a way to be aware of the other agents’ behaviour and the change of the environment. Some of these autonomous agents are developed with prior knowledge about the environment it is acting upon, while some of them are developed to learn based on the previous decisions they have taken.


To be compatible with the modern world business requirements, we have been building an agent based negotiation platform that is capable of handling multiple users who are accessing the system at the same time. Users can login to the system and chat with the system to negotiate over a package they preferred. In our system we are having autonomous agents who are capable to continue the negotiation process to sell the property. An agent is created when a user login to the system, so that there is a dedicated agent for each and every user. There is a special autonomous agent who is capable of monitoring and managing the behaviour of all the other negotiation agents that exist in the system at a particular time. In this process there are certain things that we have implemented to monitor the real time demand, demand based on the date ranges and the demand based on the product requirements of the customers. Based on those data, agent takes the decision how he should respond to the customer and continue the negotiation. And the meantime, agent is learning about the customer and his likenesses over certain things like his food preference, his travel preference, his hobbies etc. Through that, agent learns what are the areas he should focus on while negotiating and how to take more personalize decisions for a particular customer.

The main technologies we have used to implement the autonomous agents are JADE and Jason. We have used the JADE as the main agent container and registered both JADE and Jason agents in that container. To do the communication between JADE and Jason agents, a contract-net protocol was defined. The negotiation agent is capable of selecting an action among a set of actions, that is suitable to a given state of its environment. Sometimes the decision that  is made by the agent might not be the optimal decision. In Order to optimize the agent’s decisions,Reinforcement Learning is used in our system. In reinforcement learning agent receives rewards based on the decision he makes and he tries to maximize his reward in each and every attempt of negotiation. Therefore, with the experience, the agent learns what are the optimal decisions he should take to negotiate with a customer and tries to maximize the profit.

0 comments on Multi agent systems