February 8, 2013 by Ozgur Ozden
Before we look into details of the hardware and software intelligent agents, we need to explain the meaning of an “Agent”. Currently we do not have a precise definition of an agent but Wooldridge and Jennings (1995) gives two different definition of an agent as weak and strong notion of Agency.
Weak notion is the common definition of an agent that we can describe as:
- Autonomy: Agent runs or operates without the help or direction from humans or others
- Social Interaction: Agents interact with each others via specific designed agent-communication software.
- Reactivity: Agents aware of their surroundings by a GUI or help from the other agents.
- Pro-activeness: Agents not only aware of the surroundings but also take the necessary measures to achieve its goals.
They claim that this weak notion is very common among the scientist and used extensively so this spread almost destroyed the real definition of an agent. So he suggests additional definition called stronger notion of agency which is more used in the Artificial Intelligence (AI) Field. Wooldridge and Jennings (1995) explains that “in addition to having the properties identified above, is either conceptualised or implemented using concepts that are more usually applied to humans.” is more stronger notion of agency. So they add the following points
- mobility: the ability to move around an electronic environment
- veracity: an agent will not knowingly communicate false information
- benevolence: agents do not have conflicting goals and every agent will therefore always try to do what is asked of it
- rationality: an agent will act in order to achieve its goals insofar as its beliefs permit
- learning/adaptation: agents improve performance over time
Main purpose of AI is to design and create agent softwares. We can assume that this program will be executed on a computing device called architecture. This architecture can be a ordinary computer, handheld device or a custom made computer. But together with the program they form agents;
Agents = Architecture + Program
In a broad sense we can divide agents into two distinct categories as Hardware agents and Software agents. As Brookshear (2012, pp.462) explained “Examples of hardware agents are pressure/temperature/heat/range sensors, microphones, cameras, air-soil sampling devices” On the other hand, examples of software agents can be considered as interactive video games, networks, electronic commerce, workflow management, network management, air-traffic control, business process re-engineering, data mining, information retrieval/management, education, personal digital assistants (PDAs), e-mail, digital libraries, command and control, smart databases, scheduling/diary management etc….
◗ E-commerce: Transaction made may need to collect data from remote sources such as stock exchange, foreign currency, prıduct information. Perhaps may be an agent can search the net for the items you have looking for and auction for you with the amount of money you have set.
◗ Personal assistance: are the mobile agents capable of performing tasks in the network on behalf of their owners such as arranging meetings, booking, following certain news, shopping, scheduling appointments etc…
◗ Searching and filtering: An agent may collect information from a network, organize and save for future use.
◗ Interface agents: Agents can be in contact with databases Depending on the changes on the database agent can run different softwares or call different agents to collaborate.
◗ Customer service: A lot of companies and web sites are using automated agents to serve their customers.
Software agents are human designed technologies to support the development of complex, distributed, and heterogeneous information systems. As Nwana (1996) described agent researchers continued to add new definitions of an agents to the literature as “knowbots (knowledge-based robots), softbots (software robot), taskbots (task-based robots), userbots, robots, personal agents, autonomous agents and personal assistants.” Agents need to learn from their environment, they must be cooperative, autonomous. Nwana (1996) explains these properties with a very good illustration as given below.
If we compare these two hardware and software intelligent agents we can identify the following common points.
- Both are very reliable
- Both can be used together to reach a common goal
- Both can adopt to their environment
- Both of them can solve difficult problems very fast and efficiently
- Both can learn from other agents
- Both can run without or very little human intervention
On the other hand there are differences between hardware and software intelligent agents.
- Different types of procedural knowledge is needed to design these agents.
- Again different expertise needed to maintain/preserve these two.
- later better learns from its environment and adopts itself
Finally what i think is that even hardware and software intelligent agents look different and separated from each other today, each of them getting better in their own circle of field and once they complete their own development their path may cross and may be used together as one single agent.
1- Software Agents: An Overview , 1995, [Online] Accessed: http://www.sce.carleton.ca/netmanage/docs/AgentsOverview/ao.htm [February 7, 2013]
2- Wooldridge M, Jennings N. Intelligent agents: theory and practice. The Knowledge Engineering Review, 10(2), 115-152, 1995.
3- Nwana HS, Wooldridge M. Software Agent Technologies. BT Technology Journal, vol. 4, 1996.
4-Brookshear, J.G. (2011) Computer Science An Overview. 11th ed. New York: Addison-Wesley.