Toward an Abstract Machine Architecture for Intelligence

Toward an Abstract Machine Architecture for Intelligence

Toward an Abstract Machine Architecture for Intelligence Randolph M. Jones and Robert E. Wray Soar Technology, Inc. 3600 Green Court, Suite 600 Ann Arbor, MI 48105 [email protected] , [email protected] Abstract are to continue building such systems with even a Our research defines a uniform framework for analyzing a modicum of frugality, efficiency, and robustness, we must representative sampling of existing architectures and engineer higher-level languages for intelligent agent frameworks for knowledge-intensive intelligent agents. We systems, as our colleagues in software engineering have use this framework to build abstract definitions of done for non-agent programming. representational and functional components that are common However, in the design of such high-level languages, we across architectures. Defining these abstract components should also pay attention to the lessons of software essentially allows us to describe a target abstract machine engineering. Although the high-level languages should be architecture for knowledge-intensive intelligent systems. This powerful and programmer-friendly, they also need to map abstract layer should provide a useful tool for comparing and well to the underlying architecture. Standard computing evaluating architectures, as well as for building higher-level languages and tools that reduce the expense of developing architectures share a number of similarities, and the knowledge-intensive agents. development of the Java framework has demonstrated the utility of abstracting across the implementation differences in various computers to define a virtual machine , or an Architectures for Intelligent Systems abstract machine layer that provides a uniform interface to various particular computing platforms. Our current work follows a strong analogy between This paper outlines initial work on a similar abstract intelligent agent architectures and the system engineering machine layer for intelligent agent architectures, and of “standard” architectures (e.g., von Neumann machines) ultimately their high-level languages and development for computation. The basic insight is that cognitive tools. We have approached this task by first analyzing a architectures today provide various instantiations of sampling of agent architectures to identify the particular “virtual machines” for intelligent systems. Like standard architectural components that define them and to find computing architectures, they provide fundamental abstractions across the various particular implementations computational pieces that are generally fine-grained, of functional components. We have also undertaken this comprehensive, and (in most cases) efficient. Additionally, analysis by developing a uniform view of how intelligent cognitive architectures, like their von Neumann agent architectures bring various types of knowledge to counterparts, generally provide a low-level programming bear on decision making and behavior. Our goal is to language that allows direct access to architectural formalize a set of abstract components that can be used to components. These programming languages are akin to define an abstract machine layer for intelligent systems. assembly languages for other computing platforms, although the computational models they support are generally quite distinct from their more standard and Focus on cognitive architectures procedural counterparts, which we outline in this paper. These low-level programming languages have sufficed For the purposes of this research, we are interested in the for intelligent agent research programs, as well as deployed development of knowledge-intensive agents. We use this models of “light” agents that do not contain copious term primarily in order to distinguish this type of agent amount of code. However, there has been increasing from the popular notion of light agents (which are often interest in building very large, knowledge-intensive developed and used in the multi-agent systems intelligent agent systems (eg., Jones et al. 1999). The community). One defining (and desirable) characteristic of difficulty in attempting to build and maintain such systems light agents is that each individual agent is fairly simple, in “assembly language” should be painfully obvious. If we having very specific, narrow goals and constrained interactive abilities. Examples of light agents include brokers and matchmakers for E-commerce applications. Copyright © 2004, American Association for Artificial Intelligence Light agents solve complex problems through the emergent (www.aaai.org). All rights reserved. interactions of large groups of the simple agents (the formation of a market via the interaction of a group of light minimized. Least-commitment requires conflict-resolution agents). solutions that are mediated in the context, rather than a However, in many cases individual computer programs fixed procedure, such as the rule selection techniques used must address complex reasoning tasks on their own, in typical rule-based systems (Forgy 1981). Less requiring agents that encode a lot of knowledge about a obviously, least commitment also requires weak problem, and have a broad range of capabilities for solving encapsulation . Strong typing and encapsulation result them. Problems most appropriate for knowledge-intensive from design-time decisions about the appropriate objects agents are characterized by a complex variety of interacting for an agent to consider when making decisions. In the goals and a comparatively large number of modes of long run, the agent must have the flexibility to decide for interaction with the environment. In response to this level itself which of its knowledge is applicable to a local of complexity, knowledge-intensive agents generally decision. require explicit representations of beliefs, goals, and intentions, but these must further be structured into sophisticated relational (and often hierarchical), structured Traditional Least Control Logic Commitment Fixed Decision representations of situational awareness. In addition, such Start agents generally must be capable of mixed levels of Process commitment and interaction, generating appropriate Decisions combinations of purposeful and reactive behaviors. local and Take best The performance and reasoning requirements of these static action for problems drive the types of primitive computational context elements that are best suited for the development of such agents. Cognitive architectures reflect explicit attempts to support the required primitive computational elements for Figure 1: Least commitment in comparison to knowledge-intensive agents. For example, human behavior traditional control logic. models that perform in complex and dynamic environments Cognitive architectures also generally provide explicit require autonomy and flexibility in execution. Existing mechanisms for relating parallel processing (for example, at cognitive architectures directly provide and support non- the level of memory retrieval, pattern matching, or analysis linear control constructs that aim to address such of courses of action) to serial processing (where behavior capabilities. Such control constructs include productions systems must ultimately generate a serial set of (Newell 1973) and other efficient, relational pattern commitments to action). In essence, cognitive matchers; rapid context switching for interruptibility and architectures define processes to support knowledge-driven pursuit of simultaneous goals; and varying amounts of commitments to courses of action, mixed with appropriate parallelism in pattern matching, reasoning, and behavior. reactive context switching when necessary. Other important computational elements supported by Knowledge in cognitive architectures normally is cognitive architectures include structured relational encoded associatively , as opposed to sequentially or representations of situational awareness; automated belief functionally , as is standard practice in procedural maintenance; least-commitment planning and execution computing architectures. Each cognitive architecture (Weld 1994), and architectural support for learning. includes some mechanism for associative retrieval of Least commitment is a fundamental requirement for potential courses of action, and then a conflict resolution autonomous, flexible, adaptable behavior, but results in mechanism for choosing between the candidates. We argue sharp contrasts with traditional software engineering. Least (and research into cognitive architectures seems to commitment refers to the postponement of a decision until confirm) that associatively represented knowledge is a the decision actually needs to be acted upon. Least fundamental key to capturing the types of mixed-initiative commitment allows agents to make context-sensitive commitment to action that are expected of artifacts with decisions about behavior and resource allocations, and also human-like intelligence. to be flexible about adapting those decisions in the face of A final reason to focus on cognitive architectures is that a changing environment or assumptions. Weld contrasts they generally attempt to provide at least some account of least commitment mechanisms, in which control decisions all aspects of intelligent behavior, and provide explicit are made at every decision opportunity, with traditional structures and processes for modeling them. This breadth control logic, in which control decisions are hard-coded particularly includes learning and long-term adaptation to when the program

View Full Text

Details

  • File Type
    pdf
  • Upload Time
    -
  • Content Languages
    English
  • Upload User
    Anonymous/Not logged-in
  • File Pages
    7 Page
  • File Size
    -

Download

Channel Download Status
Express Download Enable

Copyright

We respect the copyrights and intellectual property rights of all users. All uploaded documents are either original works of the uploader or authorized works of the rightful owners.

  • Not to be reproduced or distributed without explicit permission.
  • Not used for commercial purposes outside of approved use cases.
  • Not used to infringe on the rights of the original creators.
  • If you believe any content infringes your copyright, please contact us immediately.

Support

For help with questions, suggestions, or problems, please contact us