A Unified Cognitive Architecture for Physical Agents

In this paper we describe Icarus, a cognitive architecture for physical agents that integrates ideas from a number of traditions, but that has been especially influenced by results from cognitive psychology. We review Icarus’ commitments to memories and representations, then present its basic processes for performance and learning. We illustrate the architecture’s behavior on a task from in-city driving that requires interaction among its various components. In addition, we discuss Icarus’ consistency with qualitative findings about the nature of human cognition. In closing, we consider the framework’s relation to other cognitive architectures that have been proposed in the literature. Introduction and Motivation A cognitive architecture (Newell, 1990) specifies the infrastructure for an intelligent system that remains constant across different domains and knowledge bases. This infrastructure includes a commitment to formalisms for representing knowledge, memories for storing this domain content, and processes that utilize and acquire the knowledge. Research on cognitive architectures has been closely tied to cognitive modeling, in that they often attempt to explain a wide range of human behavior and, at the very least, desire to support the same broad capabilities as human intelligence. In this paper we describe Icarus, a cognitive architecture that builds on previous work in this area but also has some novel features. Our aim is not to match quantitative data, but rather to reproduce qualitative characteristics of human behavior, and our discussion will focus on such issues. The best method for evaluating a cognitive architecture remains an open question, but it is clear that this should happen at the systems level rather than in terms of isolated phenomena. We will not claim that Icarus accounts for any one result better than other candidates, but we will argue that it models facets of the human cognitive architecture, and the ways they fit together, that have been downplayed by other researchers in this area. Copyright c © 2006, American Association for Artificial Intelligence (www.aaai.org). All rights reserved. A conventional paper on cognitive architectures would first describe the memories and their contents, then discuss the mechanisms that operate over them. However, Icarus’ processes interact with certain memories but not others, suggesting that we organize the text around these processes and the memories on which they depend. Moreover, some modules build on other components, which suggests a natural progression. Therefore, we first discuss Icarus’ most basic mechanism, conceptual inference, along with the memories it inspects and alters. After this, we present the processes for goal selection and skill execution, which operate over the results of inference. Finally, we consider the architecture’s module for problem solving, which builds on both inference and execution, and its associated learning processes, which operate over the results of problem solving. In each case, we discuss the framework’s connection to qualitative results from cognitive psychology. In addition, we illustrate the ideas with examples from the domain of in-city driving, which has played a central role in our research. Briefly, this involves controlling a vehicle in a simulated urban environment with buildings, road segments, street intersections, and other vehicles. This domain, which Langley and Choi (2006) describe at more length, provides a rich setting to study the interplay among different facets of cognition. Beliefs, Concepts, and Inference In order to carry out actions that achieve its goals, an agent must understand its current situation. Icarus includes a module for conceptual inference that is responsible for this cognitive task which operates by matching conceptual structures against percepts and beliefs. This process depends on the contents and representation of elements in short-term and long-term memory. Because Icarus is designed to support intelligent agents that operate in some external environment, it requires information about the state of its surroundings. To this end, it incorporates a perceptual buffer that describes aspects of the environment the agent perceives directly on a given cycle, after which it is updated. Each element or percept in this ephemeral memory corresponds to a particular object and specifies the object’s type, a unique name, and a set of attribute-value pairs that characterize the object on the current time step. Although one could create a stimulus-response agent that operates directly off perceptual information, its behavior would not reflect what we normally mean by the term ‘intelligent’, which requires higher-level cognition. Thus, Icarus also includes a belief memory that contains higher-level inferences about the agent’s situation. Whereas percepts describe attributes of specific objects, beliefs describe relations among objects, such as the relative positions of two buildings. Each element in this belief memory consists of a predicate and a set of symbolic arguments, each of which refers to some object, typically one that appears in the perceptual buffer. Icarus beliefs are instances of generalized concepts that reside in conceptual memory , which contains longterm structures that describe classes of environmental situations. The formalism that expresses these logical concepts is similar to that for Prolog clauses. Like beliefs, Icarus concepts are inherently symbolic and relational structures. Each clause in conceptual memory includes a head that gives the concept’s name and arguments, along with a body that states the conditions under which the clause should match against the contents of short-term memories. The architecture’s most basic activity is conceptual inference. On each cycle, the environmental simulator returns a set of perceived objects, including their types, names, and descriptions in the format described earlier. Icarus deposits this set of elements in the perceptual buffer, where they initiate matching against long-term conceptual definitions. The overall effect is that the system adds to its belief memory all elements that are implied deductively by these percepts and concept definitions. Icarus repeats this process on every cycle, so it constantly updates its beliefs about the environment. The inference module operates in a bottom-up, datadriven manner that starts from descriptions of perceived objects. The architecture matches these percepts against the bodies of primitive concept clauses and adds any supported beliefs (i.e., concept instances) to belief memory. These trigger matching against higher-level concept clauses, which in turn produces additional beliefs. The process continues until Icarus has added to memory all beliefs it can infer in this manner. Although this mechanism reasons over structures similar to Prolog clauses, its operation is closer to the elaboration process in the Soar architecture (Laird et al., 1987). For example, for the in-city driving domain, we provided Icarus with 41 conceptual clauses. On each cycle, the simulator deposits a variety of elements in the perceptual buffer, including percepts for the agent itself (self ), street segments (e.g., segment2), lane lines (e.g., line1), buildings, and other entities. Based on attributes of the object self and one of the segments, the architecture derives the primitive concept instance (in-segment self segment2). Similarly, from self and the object line1, it infers the belief (in-lane self line1). These two elements lead Icarus to deduce two nonprimitive beliefs, (centered-in-lane self segment2 line1) and (aligned-with-lane-in-segment self segment2 line1). Finally, from these two instances and another belief, (steering-wheel-straight self), the system draws an even higher-level inference, (driving-well-in-segment self segment2 line1). Other beliefs that encode relations among perceived entities also follow from the inference process. Icarus’ conceptual inference module incorporates a number of key ideas from the psychological literature: • Concepts are distinct cognitive entities that humans use to describe their environment and goals; moreover, they support both categorization and inference; • The great majority of human categories are grounded in perception, making reference to physical characteristics of objects they describe (Barsalou, 1999); • Many human concepts are relational in nature, in that they describe connections or interactions among objects or events (Kotovsky & Gentner, 1996); • Concepts are organized in a hierarchical manner, with complex categories being defined in terms of simpler structures. Icarus reflects each of these claims at the architectural level, which contrasts with most other architectures’ treatment of concepts and categorization. However, we will not claim our treatment is complete. Icarus currently models concepts as Boolean structures that match in an all-or-none manner, whereas human categories have a graded character (Rosch & Mervis, 1975). Also, retrieval occurs in a purely bottomup fashion, whereas human categorization and inference exhibits top-down priming effects. Both constitute important directions for extending the framework. Goals, Skills, and Execution We have seen that Icarus can utilize its conceptual knowledge to infer and update beliefs about its surroundings, but an intelligent agent must also take action in the environment. To this end, the architecture includes additional memories that concern goals the agent wants to achieve, skills the agent can execute to reach them, and intentions about which skills to pursue. These are linked by a performance mechanism that executes stored skills, thus changing the environment and, hopefully, taking the agent closer to its goals. In particular, Icarus incorporates a goal memory that contains the agent’s top-level objectives. A goal is some concept instance that the agent wants to satisfy. T