In artificial intelligence, an intelligent agent (IA) refers to an autonomous entity which acts, directing its activity towards achieving goals (i.e. it is an agent), upon an environment using observation through sensors and consequent actuators (i.e. it is intelligent). Intelligent agents may also learn or use knowledge to achieve their goals. They may be very simple or very complex. A reflex machine, such as a thermostat, is considered an example of an intelligent agent. Intelligent agents are often described schematically as an abstract functional system similar to a computer program. Researchers such as consider goal-directed behavior to be the essence of intelligence; a normative agent can be labeled with a term borrowed from economics, “rational agent”. In this rational-action paradigm, an AI possesses an internal “model” of its environment. This model encapsulates all the agent’s beliefs about the world. The agent also has an “objective function” that encapsulates all the AI’s goals. Such an agent is designed to create and execute whatever plan will, upon completion, maximize the expected value of the objective function. A reinforcement learning agent can have a “reward function” that allows the programmers to shape the AI’s desired behavior, and an evolutionary algorithm’s behavior is shaped by a “fitness function”. Abstract descriptions of intelligent agents are sometimes called abstract intelligent agents (AIA) to distinguish them from their real world implementations as computer systems, biological systems, or organizations. Some autonomous intelligent agents are designed to function in the absence of human intervention. Intelligent agents in artificial intelligence are closely related to agents in economics, and versions of the intelligent agent paradigm are studied in cognitive science, ethics, the philosophy of practical reason, as well as in many interdisciplinary socio-cognitive modeling and computer social simulations. Intelligent agents are also closely related to software agents (an autonomous computer program that carries out tasks on behalf of users). In computer science, an intelligent agent is a software agent that has some intelligence, for example, autonomous programs used for operator assistance or data mining (sometimes referred to as bots) are also called “intelligent agents”.