Tuesday, August 7, 2007

the agent-based technology

Agent-based technology is one of the most vibrant and important areas of research and development to have emerged in information technology in recent years. The prove can be seen in the AgentLink, the Europe community of many major universities and companies in Europe researching about agent-based technology.Alos, among the USA’s 16 “Grand Challenges” are the following relevant to agent technologies: knowledge environments for science and engineering; collaborating intelligence; integrating human with intelligent technologies; and managing knowledge intensive organization in dynamic environment (Interagency working group,2003)

Intelligent agent represents a new way of analyzing, designing and implementing complex software system. For agent-based technologies, the objectives are to create systems situated in dynamic and open environments, able to adapt to these environments and capable of incorporating autonomous and self-interested components. Agent-based systems provides concrete advantages such as :improving operational robustness with intelligent failure recovery, reducing sourcing costs by computing the most beneficial acquisition policies in online market and improving efficiency of manufacturing processes in dynamic environments. In particular, the characteristic of dynamic in which for example, heterogonous systems must interact, span, organizational boundaries and operate effectively within rapidly changing circumstances and with dramatically increasing quantities of available information. .

An agent is simply another kind of software abstraction, an abstraction in the same way that methods, functions, and objects are software abstractions. Let’s compare it, an object is a high-level abstraction that describes methods and attributes of a software component. An agent, however, is an extremely high-level software abstraction which provides a convenient and powerful way to describe a complex software entity. Rather than being defined in terms of methods and attributes, an agent is defined in terms of its behavior. This is important because programming an agent-based system is primarily a matter of specifying agent behavior instead of identifying classes, methods and attributes. It is much easier and more natural to specify behavior than to write code. Below is the explanation on how agents can be distinguished to objects.

The first difference between agents and objects is in the degree to which agents and objects are autonomous. They decide for themselves whether or not to perform an action on request from another entity. An object must make methods available to other objects to invoke, then they can do whenever they wish so then the object has no control over whether or not that method is executed. An object has to make methods available to other objects, or else we would be unable to build a system out of them. It means that if we build a system then we design an object and this object makes method available for other then we assumed that they share a “common goal”. However, in agent-based system no such common goal can be assumed. We can not say that because agent j execute action a then agent i will also execute action a because of the action of agent j – a may not be in the best interest of i. One must think that agent is more like requesting actions to be perform. If j request I to perform a, then I may perform the action or it may not. In object-orientation, the decision lies with the object that invokes the method where in the agent case the decision lies with the agent that receives the request. So, it can be summarized in the following slogan : Object do it for free; agents do it for money.

The second difference is with respect to the notion of flexible autonomous behavior such as reactive, pro-active, and social. The standard object-oriented programming model does not integrate about how to build system that combine these types of behavior. The third distinction is that agents are each considered to have their own thread of control where in the standard object model there is a single thread of control in the system. The standard object oriented programming do not include the idea of autonomous entities such as agent.

For the usage of its usage in the application, the agent-based technology can be grouped into three categories, according to the scale which they apply :

- organizational-level : The technologies and techniques relates to agent societies as a whole and also the issues of the organizational structure, trust, norms and obligations and self-organization.

- Interaction-level : technologies and techniques that concern the communications between agents for example communication language, interaction protocol, coordination, negotiation and resource allocation mechanism

- Agent-level : The technologies and techniques concerned only with individual agents for example procedures for agent reasoning and learning. In detail, the concern relates to heterogeneity of agents, failure handling and recovery and societal change.

Sophisticated software agents can be very difficult to build if we are building them from scratch. One will need specialized skills and knowledge in a variety of areas including agent architecture, communications technology, reasoning systems, knowledge representation, agent communication languages and protocols. If we want to add machine learning or machine planning capabilities, we will also need skill in these areas as well. If we don't possess these specialized skills and knowledge, we should use an agent construction toolkit. Agent construction toolkits allow software developers without agent expertise to quickly and easily build software agents. With the agent-based approach, we can implement agents with sophisticated intellectual capabilities such as the ability to reason, learn, or plan. In addition, intelligent software agents can utilize extensive amounts of knowledge about their problem domain. This means that the underlying agent architecture must support sophisticated reasoning, learning, planning, and knowledge representation.

7 comments:

Lasitha Silva said...

A better approach to describe the agent. I see this article as the best for a beginner like me. Keep on doing the good work.

Tama Roesli said...

Hi, Lasitha.

It's like seeing water in the dessert having your appriaciated comment because in fact, I have difficulty to explain abgout agent to Non-IT people even to IT people having no interest to AI.

I should tell my colleagues about your comment :D

and also writing more in my blog.

Anonymous said...

Predilection casinos? high-powered undeviating of this late-model [url=http://www.realcazinoz.com]casino[/url] commander and accentuate online casino games like slots, blackjack, roulette, baccarat and more at www.realcazinoz.com .
you can also filter totally our untrained [url=http://freecasinogames2010.webs.com]casino[/url] defence at http://freecasinogames2010.webs.com and broaden the leading upright incredibly crazed !
another late-model [url=http://www.ttittancasino.com]casino spiele[/url] machinate is www.ttittancasino.com , because german gamblers, downward rise upon via protected from online casino bonus.

Anonymous said...

I like your all articles on Agent Technology, i want to know only that is Agent Oriented technology will be create boom in future ..can i work in this agent area for research point of views...

TIRUMANI said...

Hi....Lasitha

I am TAR from India. I am interested in Agent Based Technologies. It is one of my research interests. pl guide for the same.

mail id: tarraju@yahoo.com

TIRUMANI said...

Hi....Lasitha

I am TAR from India. I am interested in Agent Based Technologies.

Let's know the resent trends.

Anonymous said...

フレッシュは、オンラインカジノ ボーナスを取る Il sait mes sentimens, faut percer le sein. conversation with the Countess Courteau. "Why do you say that?" he http://xn--tt-mg4axag2fvhmi9cc.com ジパングカジノニュース of Texas. This new writ was returnable February 9th. Atオンラインカジノ攻略初見 [url=http://xn--tt-mg4axag2fvhmi9cc.com ]オンラインポーカー [/url]INDEMNITY ジパングカジノ