Agent

An agent performs a specific task, work tasks, on behalf of another.  An agent could be a person or a thing such as a machine that takes an active role or produces a specified effect.

A computer program that acts for a user or other program or platform in a relationship of agency to perform some action is an agent, a software agent. 

An agent is a software program designed to automate tasks by mimicking human decision making processes. Agents are good at handling repetitive workflows, process data/information, and interacting with other agents or software applications to improve efficiency and reduce manual effort.

An agent is an entity capable of sensing the state of its environment and acting upon it based on a set of specified rules and perhaps a model. Remember that an agent performs specific tasks on behalf of another in order to achieve some agreed upon goal established by the principal that employs the agent and the agent which will act in behalf of the principle.

A computer software agent could have intelligence, could understand machine readable knowledge for some area of knowledge represented using some knowledge representation approach, might have the capabilities to process logic, might be able to understand a model, and might otherwise be able to amplify the intelligence of a human in order to complete some task within some workflow or otherwise augment the capabilities of humans.

The main difference between a software agent and an ordinary software program is that a software agent is autonomous; that is, it must operate without direct intervention of humans or others. Intelligent software agents are engineered using specific principles.

The functionality of an intelligent software agent can be classified into groups, or categories. Such agents tend to fit into one of the following groups:

  • Reactive agent: A reactive agent is capable of maintaining an ongoing interaction with the environment and responding in a timely fashion to changes that occur in it.
  • Proactive agent: A proactive agent is capable of taking the initiative; not driven solely by events, but capable of generating goals and acting rationally to achieve them.
  • Deliberative agent: A deliberative agent symbolically represents knowledge and makes use of mental notions such as beliefs, intentions, desires, choices and so on. This is implemented using a belief-desire-intension model.
  • Hybrid agent: A hybrid agent is one that mixes some of all the different architectures.

The sophistication offered by intelligent software agents can be grouped. The following tend to be the groups, or categories, of sophistication in order of least to most sophisticated:
  • Generic agent: An agent is anything that perceives an environment through sensors and acts or reacts upon the environment through effectors. 
  • Simple reflex agent: A simple reflex agent looks up what it should do from a list of rules in response to its perception to the environment.
  • Model-based reflex agent: A model-based reflex agent is the same thing as a simple reflex agent except that a model-based reflex agent has a model of how the environment evolves.
  • Goal-based agent: A goal-based agent has a goal or set of goals that it actively pursues in accordance with an agenda (so this type of agent is proactive, not just reactive). A goal-based agent has a representation of the current state of the environment and how that environment works.  The agent pursues policies or goals that may not be immediately attainable. And so, goal-based agents do not live merely in the moment. These agents consider different scenarios before acting on their environments, to see which action will probably attain a goal. This consideration of different scenarios is called search and planning.
  • Utility-based agent: A utility-based agent is a more sophisticated type of goal-based agent that also rates each possible scenario to see how well it achieves certain criteria with regard to production of the good outcome, therefore it is more adaptive.  A utility measure is applied to the different possible actions that can be performed in the environment. The utility-based agent will rate each scenario to see how well it achieves certain criteria with regard to the production of a good outcome. Things like the probability of success, the resources needed to execute the scenario, the importance of the goal to be achieved, the time it will take, might all be factored in to the utility function calculations.
Agents are trusted to act in a certain specific capacity. There is no trustworthiness without an explanation. Agents cannot act in a black box and be trustworthy. If an agent does not have a theory by which the agent acts, an agent cannot understand if it is operating as expected.

Enterprises are beginning to invest in intelligent software agents. Obvious first choices for these intelligent software agents are such things as improving worker productivity. But, you can build all the intelligent agents you want; if your data and information are trapped in spreadsheets and siloed databases those agents are not going to be able to do much for your enterprise. Your data and information needs to be connected to create productive intelligent software agents.

Intelligence is the ability to acquire and apply skills and knowledge within a specific area of knowledge.  Skills are recognized patterns of actions and behaviors. Knowledge is facts and information.  Crystalized intelligence is memory.  Fluid intelligence is about processes and mechanisms for working with intelligence.

Additional Information:

Comments

Popular posts from this blog

Overview

Knowledge Representation Approach

Area of Knowledge