Robot and Agent
This process has several aspects:
Robotics is a field where many AI technologies are integrated. An intelligent robot may have the capapability of perceiving, learning, reasoning, language using, and so on. Some people even claim that AI is a branch of robotics, rather than the other way around. At the current time, the focus of robotics is action, as well as the other issues that are directly related to it.
Since a robot needs to directly interact to its environment, it usually has to make response in real time within an uncertain, dynamic environment.
Representative applications for mobile robots include service robots (mail delivery, cleaning), security, agriculture, mining, waste remediation and disposal, underwater exploration, and planetary exploration, such as NASA's Sojourner Rover on Mars (see NASA robot links).
Different approaches have been explored in building robots.
Planning-based robots are top-down, and require the robot to perform a sequence of processing sense-plan-act steps (e.g., "combine the sensory data into a map of the world, then use the planner to find a path in the map, and finally send steps of the plan to the robot's wheels"). This process may be repeated at different levels of detail. Example: the planning assignment. Problem: response time, flexibility and reliability (given the uncertainty in the environment).
Reactive robots achieves rapid real-time responses by embedding the robot's controller in a collection of preprogrammed, concurrent condition-action rules (e.g., "if bumped, stop", "if stopped, back up"). Subsumption architecture provides a layered approach to assembling reactive rules into complete control systems from the bottom up. Rules, and layers of rules, are added incrementally; lower layers can function independently of the higher ones, and higher ones utilize the outputs of the lower ones, but do not override them. For example, "avoid-collision" at the lowest level, and "move-to-light" at a higher level, when combined, result in a robust light-chasing behavior; the higher-level rule never overrides the lower-level one, thus guaranteeing collision avoidance. See the Section 7.3.1 of the textbook for a short description of such a design. While robust, these systems are limited by their lack of internal state; they are incapable of using internal representations and learning new behaviors.
Hybrid systems attempt a compromise between bottom-up and top-down by employing a reactive system for low-level control and a planner for high-level decision making. Often called "three-layer architectures", they separate the control system into three communicating but independent parts: (a) the planner, (b) the reactive system, and (c) the intermediate module, which reconciles the different time-scales and representations used by the other two and any conflicts between their outputs. Issue: complexity and efficiency.
Representative projects:
Roughly speaking, an "agent" is like a software version of a robot ("softbots") which perceives its environment, and takes actions according to given goals. Similar to the situation of robots, in agents various AI technology can be integrated. To a large extent, the term "agent" is used as a metaphor, which is different from the "tool" metaphor for traditional computer software. See Section 7.4 of the textbook for agent-based problem-solving.
Among the various definitions and interpretations, some common focuses can be recognized. Within this field, people are often building systems that are autonomous, adaptive, and cooperative.
Autonomous: Unlike traditional programs, which run at user's requests, an agent is supposed to be "long-lived" by running all the time in the background, as a server. Autonomy refers to the principle that agents can operate on their own without the need for human guidance. Hence agents have individual internal states and goals, and they act in such a manner as to meet its goals on behalf of its user. A key element of their autonomy is their proactiveness, i.e. their ability to take the initiative rather than acting simply in response to their environment.
Adaptive: In the agent context, being adaptive usually means the agent can change its behavior according to changes in the environment, as well as to the personal preference and habits of the user.
Cooperative: Agents need to be able to communicate with the user, the system, and other agents as required. For many applications, a multiple-agent system is needed, in which each agent has incomplete information or capabilities for solving the problem and, thus, has a limited viewpoint; there is no system global control; data are decentralized; and computation is asynchronous. (Further reading on multi-agent systems).
Typically, agents are used as resource managers (to simplify distributed computing) or personal assistants (to provide personalized information service). Applications: email handling, news filtering, meeting scheduling, entertainment (books, music, movie) recommending. Example: software agent projects at MIT.
Further readings: AgentWeb, AAAI topic.