Autonomous agent

There are a number of attributes that autonomous agents usually have. Agents are computer programs. They can sense or measure their environment in some way. They can react to their environment. They can be autonomous and show initiate. They can be goal-oriented. There are some attributes that agents may have. They may be continuous in operation, usually for a temporary length of time. They may be flexible, adaptive or learn. They may be communicative with/or be sociable with other agents. They may be mobile either in the real world, in some virtual world or be able to relocate themselves in a network of computers. They may have a personality and display: emotions, bias, interests, expertise, or opinion. They may negotiate with other agents for goods, services or information. They may try to change their environment. They may take on goals from other agents(by delegation) or may assign goals to other agents.

Attribute categories for agents are: Responsive, goal-oriented, takes imitative, social, adaptive, mobile, displays personality Some examples of categories of agents are as follows: (Franklin & Graesser, 1996)

Task-bot	KidSim agent is a task oriented agent. Reason-bot	Hayes-Roth agent is able to reason about perceptions and actions. Dela-bot	IBM agent is able to take a goal or task delegated by some other agent or human. Social-bot	Wooldridge-Jennings agent communicates with other agents. Info-bot 	SodaBot agent communicates with other agents and negotiates about the exchange of information.

Surprise causes Adaptation

A surprise is a state generated in an agent when it recognizes that some situation is different than expected. An expected situation is a situation for which a well defined response is (pre)defined or available by way of a [realtime] calculation or lookup(query). A situation is a pattern of internal and external states. if event fits known pattern =>  it causes  =>  known response/no response it event fits no known pattern => it causes => surprise surprise => causes => a search or the generation of a new response

Links
Simple example of an Agent Program