Blog

Archive for the ‘complex AI systems’ tag

Feb 15, 2016

The Many Uses of Multi-Agent Intelligent Systems

Posted by in categories: complex systems, disruptive technology, driverless cars, energy, innovation, robotics/AI, software

In professional cycling, it’s well known that a pack of 40 or 50 riders can ride faster and more efficiently than a single rider or small group. As such, you’ll often see cycling teams with different goals in a race work together to chase down a breakaway before the finish line.

This analogy is one way to think about collaborative multi-agent intelligent systems, which are poised to change the technology landscape for individuals, businesses, and governments, says Dr. Mehdi Dastani, a computer scientist at Utrecht University. The proliferation of these multi-agent systems could lead to significant systemic changes across society in the next decade.

Image credit: ResearchGate

Image credit: ResearchGate

“Multi-agent systems are basically a kind of distributed system with sets of software. A set can be very large. They are autonomous, they make their own decisions, they can perceive their environment, “Dastani said. “They can perceive other agents and they can communicate, collaborate or compete to get certain resources. A multi-agent system can be conceived as a set of individual softwares that interact.”

As a simple example of multi-agent systems, Dastani cited Internet mail servers, which connect with each other and exchange messages and packets of information. On a larger scale, he noted eBay’s online auctions, which use multi-agent systems to allow one to find an item they want to buy, enter their maximum price and then, if needed, up the bid on the buyer’s behalf as the auction closes. Driverless cars are another great example of a multi-agent system, where many softwares must communicate to make complicated decisions.

Dastani noted that multi-agent systems dovetail nicely with today’s artificial intelligence. In the early days of AI, intelligence was a property of one single entity of software that could, for example, understand human language or perceive visual inputs to make its decisions, interact, or perform an action. As multi-agent systems have been developed, those single agents interact and receive information from other agents that they may lack, which allows them to collectively create greater functionality and more intelligent behavior.

“When we consider (global) trade, we basically define a kind of interaction in terms of action. This way of interacting among individuals might make their market more efficient. Their products might get to market for a better price, as the amount of time (to produce them) might be reduced,” Dastani said. “When we get into multi-agent systems, we consider intelligence as sort of an emergent phenomena that can be very functional and have properties like optimal global decision or situations of state.”

Other potential applications of multi-agent systems include designs for energy-efficient appliances, such as a washing machine that can contact an energy provider so that it operates during off-peak hours or a factory that wants to flatten out its peak energy use, he said. Municipal entities can also use multi-agent systems for planning, such as simulating traffic patterns to improve traffic efficiency.

Looking to the future, Dastani notes the parallels between multi-agent systems and Software as a Service (SaaS) computing, which could shed light on how multi-agent systems might evolve. Just as SaaS combines various applications for on-demand use, multi-agent systems can combine functionalities of various software to provide more complex solutions. The key to those more complex interactions, he added, is to develop a system that will govern the interactions of multi-agent systems and overcome the inefficiencies that can be created on the path toward functionality.

“The idea is the optimal interaction that we can design or we can have. Nevertheless, that doesn’t mean that multi-agent systems are by definition, efficient,” Dastani said. “We can have many processes that communicate, make an enormous number of messages and use a huge amount of resources and they still can not have a sort of interesting functionality. The whole idea is, how can we understand and analyze the interactions? How can we decide which interaction is better than the other interactions or more efficient or more productive?”