FACTOID # 33: Kenyan women work 35% longer than their menfolk.
 
 Home   Encyclopedia   Statistics   Countries A-Z   Flags   Maps   Education   Forum   FAQ   About 
 
WHAT'S NEW
RECENT ARTICLES
More Recent Articles »
 

FACTS & STATISTICS    Simple view

  1. Select countries to view: (hold down Control key and click to select several)

     

     

    Compare:

     

     

  1. Select fact or statistic: (* = graphable)

     

     

     

  2. (OPTIONAL) Compare to statistic: (both need to be graphable)

     

     

     

  3. View result as:

     

       
(OR) SEARCH ALL encyclopedia, stats & forums:   

Encyclopedia > Software agent

In computer science, a software agent is an abstraction, a logical model that describes software that acts for a user or other program in a relationship of agency[1]. Such "action on behalf of" implies the authority to decide when (and if) action is appropriate. The idea is that agents are not strictly invoked for a task, but activate themselves.   Computer science is the study of the theoretical foundations of information and computation and their implementation and application in computer systems. ...


Related and derived concepts include intelligent agents (in particular exhibiting some aspect of Artificial Intelligence, such as learning and reasoning), autonomous agents (capable of modifying the way in which they achieve their objectives) , distributed agents (being executed on physically distinct machines), multi-agent systems (distributed agents that do not have the capabilities to achieve an objective alone and thus must communicate) , mobile agents (agents that can relocate their execution onto different processors) and more.

Contents


Definition

The term "agent" describes a software abstraction, an idea, or a concept, similar to OOP terms such as methods, functions, and objects. The concept of an agent provides a convenient and powerful way to describe a complex software entity that is capable of acting with a certain degree of autonomy in order to accomplish tasks on behalf of its user. But unlike objects, which are defined in terms of methods and attributes, an agent is defined in terms of its behavior. Object-oriented programming (OOP) is a computer programming paradigm in which a software system is modeled as a set of objects that interact with each other. ...

Nwana's Category of Software Agent
Enlarge
Nwana's Category of Software Agent

Various authors have proposed different definitions of agents, these commonly include concepts such as Image File history File links Ch1-Nwanna. ... Image File history File links Ch1-Nwanna. ...

  • persistence (code is not executed on demand but runs continuously and decides for itself when it should perform some activity)
  • autonomy (agents have capabilities of task selection, prioritization, goal-directed behaviour, decision-making without human intervention)
  • social ability (agents are able to engage other components through some sort of communication and coordination, they may collaborate on a task)
  • reactivity (agents perceive the context in which they operate and react to it appropriately).

The Agent concept is most useful as a tool to analyze systems, not as a prescription. The concepts mentioned above often relate well to the way we naturally think about complex tasks and thus agents can be useful to model such tasks


Intelligent agents

The design of intelligent agents (or intelligent software agents) is a branch of artificial intelligence research. Simple reflex agent Learning agent In computer science, an intelligent agent (IA) is a software agent that exhibits some form of artificial intelligence. ... Simple reflex agent Learning agent In computer science, an intelligent agent (IA) is a software agent that exhibits some form of artificial intelligence. ... Hondas intelligent humanoid robot AI redirects here. ...


Capabilities of intelligent agents include: Simple reflex agent Learning agent In computer science, an intelligent agent (IA) is a software agent that exhibits some form of artificial intelligence. ...

  • ability to adapt
Adaptation implies sensing the environment and reconfiguring in response. This can be achieved through the choice of alternative problem-solving-rules or algorithms, or through the discovery of problem solving strategies. Adaptation may also include other aspects of an agent's internal construction, such as recruiting processor or storage resources.
  • ability to learn
Learning may proceed through trial-and-error, then it implies a capability of introspection and analysis of behaviour and success. Alternatively, learning may proceed by example and generalization, then it implies a capacity to abstract and generalize.

Autonomous agents

Some software agents are claimed to be autonomous being self-contained and capable of making independent decisions and taking actions to satisfy internal goals based upon their perceived environment. Such claims are controversial. All software agents in important applications are closely supervised by people who start them up, monitor and continually modify their behavior, and shut them down when necessary. There is a hardware solution to this problem in supervision: the Popek and Goldberg virtualization requirements, which in principle prevent the execution of critical instructions without the entering a suitable mode (such as System or Super-user mode). An autonomous agent is a system situated in, and part of, an environment, which senses that environment, and acts on it, over time, in pursuit of its own agenda. ... The Popek and Goldberg virtualization requirements are a set of sufficient conditions for a computer architecture to efficiently support system virtualization. ...


Distributed agents

Since agents are well suited to include their required resources in their description, they can be designed to be very loosely coupled and it becomes easy to have them executed as independent threads and on distributed processors. Thus they become distributed agents and the considerations of distributed computing apply. Agent code is particularly easy to implement in a distributed fashion and should scale well. Distributed computing is decentralised and parallel computing, using two or more computers communicating over a network to accomplish a common objective or task. ...


Multi-agent systems

When several agents (inter)act they may form a multi-agent system a.k.a. multiple agent system. Characteristically such agents will not have all data or all methods available to achieve an objective (this can be referred to as "limited viewpoint") and thus will have to collaborate with other agents. Also, there may be little or no global control and thus such systems are sometimes referred to as swarm systems. As with distributed agents, data is decentralized and execution is asynchronous. Earlier, related fields include Distributed Artificial Intelligence (DAI) and distributed problem solving (DPS). In computer science, a multi-agent system (MAS) is a system composed of several agents, capable of reaching goals that are difficult to achieve by an individual system. ... A multiple agent system (MAS) is a distributed parallel computer system built of many very simple components, each using a simple algorithm, and each communicating with other components. ... Swarm intelligence (SI) is an artificial intelligence technique based around the study of collective behaviour in decentralised, self-organised, systems. ... Distributed artificial intelligence (DAI) was a subfield of Artificial intelligence research dedicated to the development of distributed solutions for complex problems regarded as requiring intelligence. ...


Mobile agents

Agent code that moves itself, including its execution state, on to another processor, to continue execution there. This is also referred to as mobile code. In computer science, a mobile agent is a composition of computer software and data which is able to migrate (move) from one computer to another autonomously and continue its execution on the destination computer. ...


Fuzzy agents

An agent employing fuzzy logic. In computer science a fuzzy agent is a software agent that implements fuzzy logic. ...


What is not an agent ...

It is not useful to prescribe what is, and what is not an agent. However contrasting the term with related concepts may help clarify its meaning:


Distinguishing agents from programs

Fanklin & Graesser (1996) discuss four key notions that distinguish agents from arbitrary programs: reaction to the environment, autonomy, goal-orientation and persistence. The terms computer program, software program, applications program, system software, or just program are used to refer to either an executable program by both lay people and computer programmers or the collection of source code from which an executable program is created (eg, compiled). ...


Distinguishing agents from objects

  • Agents are more autonomous than objects,
  • Agents have flexible behaviour: reactive, proactive, social.
  • Agents have at least one thread of control but may have more.
(Wooldridge, 2002)

In strictly mathematical branches of computer science the term object is used in a purely mathematical sense to refer to any thing. While this interpretation is useful in the discussion of abstract theory, it is not concrete enough to serve as a primitive datatype in the discussion of more concrete...

Distinguishing agents from expert systems

  • Expert systems are not coupled to their environment;
  • Expert systems are not designed for reactive, proactive behaviour.
  • Expert systems do not consider social ability
(Wooldridge, 2002)

An expert system is a class of computer programs developed by researchers in artificial intelligence during the 1970s and applied commercially throughout the 1980s. ...

History

The concept of an agent can be traced back to Hewitt's Actor Model (Hewitt, 1977) - A Self-contained, interactive and concurrently-executing object, possessing internal state and communication capability.


To be more academic, software agent systems are a direct evolution from Multi-Agent Systems (MAS). MAS evolved from (DAI), Distributed Problem Solving (DPS) and Parallel AI (PAI), thus inheriting all characteristics (good and bad) from DAI and AI. // Ai (as a word, proper name and acronym) can refer to many things. ...


John Sculley’s 1987 “Knowledge Navigator” video portrayed an image of relationship between end-users and agents. Being an ideal first, this field experienced a series of unsuccessful top-down implementation, instead of piece-to-piece, bottom-up approach. Range of agent types is now broad (from 1990) WWW, Search engines,…etc. John Sculley (born April 6, 1939) was president of PepsiCo during the 1970s and early 1980s until he became CEO of Apple Computer on April 8, 1983. ... Knowledge Navigator 1987 prototype The Knowledge Navigator is a concept described by former Apple Computer CEO John Sculley in his 1987 book, Odyssey. ...


Examples

Buyer agents (shopping bots)

These bots help Internet surfers find products and services they are searching for. For example, when a person surfs for an item on eBay, at the bottom of the page there is a list of similar products that other customers who did the same search looked at. This is because it is assumed the user tastes are relatively similar and they will be interested in the same products. This technology is known as collaborative filtering. Collaborative filtering (CF) is the method of making automatic predictions (filtering) about the interests of a user by collecting taste information from many users (collaborating). ...


User agents (personal agents)

These agents are meant to carry out tasks automatically for the user. For example, some bots sort emails according to the user's order of preference, assemble customized news reports (e.g. newshub), or fill out webpage forms with the user's stored information.


Monitoring-and-surveillance (predictive) agents

These agents are used to observe and report on equipment, usually computer systems. For example, the agents keep track of company inventory levels, observe competitors' prices and relay them back to the company, watch stock manipulation by insider trading and rumors, etc.


Data mining agents

This agent uses information technology to find trends and patterns in an abundance of information from many different sources. The user can sort through this information in order to find whatever information they are seeking. An example of this class of bot would be a data mining agent that detects market conditions and changes and relays them back to a user/company so that the user/company can make decisions accordingly. For example, the agent may detect a decline in the construction industry for an economy; based on this relayed information construction companies will be able to make intelligent decisions regarding the hiring/firing of employees or the purchase/lease of equipment in order to best suit their firm.


Other examples

Some other examples of current Intelligent agents include some spam filters, game bots, and server monitoring tools. Search engine indexing bots also qualify as intelligent agents. More examples can be found at BotSpot. Simple reflex agent Learning agent In computer science, an intelligent agent (IA) is a software agent that exhibits some form of artificial intelligence. ... A typical spam advertisement Spam by e-mail is one type of spamming that involves sending identical or nearly identical messages to thousands (or millions) of recipients. ... A bot, most prominently in the first person shooter PC game types (FPS), is a roBOTic computer controlled entity that simulates an online or LAN multiplayer human deathmatch, team deathmatch opponent or a cooperative human player. ... A search engine is a program designed to help find information stored on a computer system such as the World Wide Web, inside a corporate or proprietary network or a personal computer. ...

  • User agent - for browsing the World Wide Web
  • Mail transfer agent - For serving E-mail, such as Microsoft Outlook. Why? It communicates with the POP3 mail server, without users having to understand POP3 command protocols. It even has rule sets that filter mail for the user, thus sparing them the trouble of having to do it themselves.

A user agent is the client application used with a particular network protocol; the phrase is most commonly used in reference to those which access the World Wide Web. ... A mail transfer agent or MTA (also called a mail server, or a mail exchange server in the context of the Domain Name System) is a computer program or software agent that transfers electronic mail messages from one computer to another. ... In computing, local e-mail clients use the Post Office Protocol version 3 (POP3), an application-layer Internet standard protocol, to retrieve e-mail from a remote server over a TCP/IP connection. ... The Simple Network Management Protocol (SNMP) forms part of the internet protocol suite as defined by the Internet Engineering Task Force. ... On the Semantic Web, the DARPA agent markup language (DAML) aims to enable the next generation of the web — a web that moves from simply displaying content to one that actually understands the meaning of the content. ... OWL is an acronym for Web Ontology Language, a markup language for publishing and sharing data using ontologies on the Internet. ... In Unix and other computer multitasking operating systems, a daemon is a computer program that runs in the background, rather than under the direct control of a user; they are usually instantiated as processes. ... A Unix-like operating system is one that behaves in a manner similar to a Unix system, while not necessarily conforming to or being certified to any version of the Single UNIX Specification. ... BSD redirects here; for other uses see BSD (disambiguation). ... CTSS, which stood for the Compatible Time-Sharing System, was one of the first time-sharing operating systems; it was developed at Project MAC at MIT. CTSS was first published, as well as operated in a time-sharing environment, in 1961; in addition, it was the system with the first... Maxwells demon is a character in an 1867 thought experiment by the Scottish physicist James Clerk Maxwell, meant to raise questions about the second law of thermodynamics. ... Httpd can mean several things: The Apache HTTP Server. ... Hypertext Transfer Protocol (HTTP) is the method used to transfer or convey information on the World Wide Web. ... The World Wide Web (WWW or simply the Web) is a global information space which people can read-from and write-to via a large number of different Internet-connected devices (e. ... A Management agent is a software agent that runs on a managed node (example: a router) and provides an interface to manage it. ... Crowd simulation is the process of simulating the movement of a large number of objects or characters, now often appearing in 3D computer graphics for film. ... To meet Wikipedias quality standards, this article or section may require cleanup. ...

Design issues

Interesting issues to consider in the development of agent-based systems include

  • how tasks are scheduled and how synchronization of tasks is achieved
  • how tasks are prioritized by agents
  • how agents can collaborate, or recruit resources,
  • how agents can be re-instantiated in different environments, and how their internal state can be stored,
  • how the environment will be probed and how a change of environment leads to behavioral changes of the agents
  • how messaging and communication can be achieved,
  • what hierarchies of agents are useful (e.g. task execution agents, scheduling agents, resource providers ...).

For software agents to work together efficiently they must share semantics of their data elements. This can be done by having computer systems publish their metadata. In the main, semantics (from the Greek and in greek letters σημαντικός or in latin letters semantikós, or significant meaning, derived from sema, sign) is the study of meaning, in some sense of that term. ... Metadata (Greek: meta- + Latin: data information), literally data about data, are information about another set of data. ...


The definition of agent processing can be approached from two interrelated directions:

  • internal state processing and ontologies for representing knowledge
  • interaction protocols - standards for specifying communication of tasks

Agent systems are used to model real world systems with concurrency or parallel processing. Wikiquote has a collection of quotations related to: Edsger Dijkstra In computer science, concurrency is a property of systems which consist of computations that execute overlapped in time, and which may permit the sharing of common resources between those overlapped computations. ...

  • Agent Machinery - Engines of various kinds, which support the varying degrees of intelligence
  • Agent Content - Data employed by the machinery in Reasoning and Learning
  • Agent Access - Methods to enable the machinery to perceive content and perform actions as outcomes of Reasoning
  • Agent Security - Concerns related to distributed computing, augmented by a few special concerns related to agents

The agent uses its access methods to go out into local and remote databases to forage for content. These access methods may include setting up news stream delivery to the agent, or retrieval from bulletin boards, or using a spider to walk the Web. The content that is retrieved in this way is probably already partially filtered – by the selection of the newsfeed or the databases that are searched. The agent next may use its detailed searching or language-processing machinery to extract keywords or signatures from the body of the content that has been received or retrieved. This abstracted content (or event) is then passed to the agent’s Reasoning or inferencing machinery in order to decide what to do with the new content. This process combines the event content with the rule-based or knowledge content provided by the user. If this process finds a good hit or match in the new content, the agent may use another piece of its machinery to do a more detailed search on the content. Finally, the agent may decide to take an action based on the new content; for example, to notify the user that an important event has occurred. This action is verified by a security function and then given the authority of the user. The agent makes use of a user-access method to deliver that message to the user. If the user confirms that the event is important by acting quickly on the notification, the agent may also employ its learning machinery to increase its weighting for this kind of event.


External links

Footnotes

  1.   - From the Latin agere (to do): an agreement to act on one's behalf.

References

  • Wooldridge, Michael (2002) Introduction To Multi-Agent Systems. John Wiley & Sons

Further reading

  • Artificial Intelligence: A Modern Approach (2nd Edition) by Stuart J. Russell & Peter Norvig, (2002) Prentice Hall, ISBN 0137903952
  • Carl Hewitt and Jeff Inman. DAI Betwixt and Between: From "Intelligent Agents" to Open Systems Science IEEE Transactions on Systems, Man, and Cybernetics. Nov./Dec. 1991.
  • Hyacinth S. Nwana, Divine T. Ndumu: An Introduction to Agent Technology, Software Agents and Soft Computing 1997: 3-26.
  • Chyi-Ren Dow, Chi-Ming Lin, and Chen-Ming Lin, Network Agent Application, Mobile Computing Laboratory, Dept. of IECS, Feng Chia University, Taiwan, R. O. C., 2005.
  • Padgham, L. & Winikoff, M. Developing Intelligent Agent Systems (2004) John Wiley & Sons, ISBN 0470861207

See also


  Results from FactBites:
 
Estate Agent Software (519 words)
We offer a holiday rentals package that can be integrated as part of your Estate Agent Software, or as a standalone website....
Our latest version of our Estate Agent Software has been carefully developed to provide a powerful, yet easy to use property sales management tool.
The Estate Agent System automatically sends weekly emails to all your registered clients with a personalised list of properties matching their requirements.
Software agent - Wikipedia, the free encyclopedia (1884 words)
The design of intelligent agents (or intelligent software agents) is a branch of artificial intelligence research.
Some software agents are claimed to be autonomous being self-contained and capable of making independent decisions and taking actions to satisfy internal goals based upon their perceived environment.
For example, the agent may detect a decline in the construction industry for an economy; based on this relayed information construction companies will be able to make intelligent decisions regarding the hiring/firing of employees or the purchase/lease of equipment in order to best suit their firm.
  More results at FactBites »


 

COMMENTARY     


Share your thoughts, questions and commentary here
Your name
Your comments
Please enter the 5-letter protection code

Want to know more?
Search encyclopedia, statistics and forums:

 


Lesson Plans | Student Area | Student FAQ | Reviews | Press Releases |  Feeds | Contact
The Wikipedia article included on this page is licensed under the GFDL.
Images may be subject to relevant owners' copyright.
All other elements are (c) copyright NationMaster.com 2003-5. All Rights Reserved.
Usage implies agreement with terms.