- There are many different definitions from various areas, such as software engineering, classical logics, logic programming, robotic:
- Genesereth/Ketchpel: A program is a software agent if it communicates correctly in an agent language, such as ACL (Agent Communication Language) or KQML (Knowledge Query and Manipulation Language).
- BDI (Belief, Desire and Intentions) agents are described by their believes, desires, and intentions. This complies with three modalities of a complex modal logic, which can be found in the data structures of the system.
- Kowalski follows a traditional approach of logic based agents and uses logic programming for the implementation of agents.
- Shoham‘s definition is more focused: A hard- or software is an agent if one analyses it with the help of mental terms.
- Wooldridge/Jennings consider hard- or software an agent if it is:
- autonomous (independently follows its goals)
- social (is cooperating with a human or other agents)
- pro-active (takes initiative) und
- reactive (perceives its environment and reacts to changes).
- An agent is a computer system capable of autonomous action in some environment in order to meet its design objectives.
- Autonomous entities that perceive their environment and act upon it.
- Autonomy is the ability to control their own behavior and act without human intervention.
- Agents pursue goals in a such a way as to optimize some given performance measure
- They operate flexibly and rationally in a variety of circumstances
- Does NOT include omniscience, omnipotence, or perfection