Automated System Design and Configuration Research

Configuration covers the creation of a final product or system by adding and/or adjusting components. Finding the right set of components and their adjustments define the configuration of a system. At Daxtron Labs, we have developed a modular system development algorithm called CEMA.

CEMA – Condensed End-Means Analysis

In CEMA systems are defined by three elements: resources, modules, and problems.

  • Resources are anything that can be required or produced by a process. "Water" and "Electricity" and "Knowledge" can all be resources.
  • Modules are described by what resources they require and what resources they produce in return. Modules can be physical things, people filling roles, actions, or anything that produces an output or result.
  • Problems are defined by a list of resources that are available and a list of resources desired.

CEMA constructs systems to solve problems by using a model called "consuming producers." The pieces it uses are called "modules." Modules consume some set of products and produce some other set of products. CEMA's goal is to produce a set of products from an initial set of resources using an available set of modules. To achieve this goal CEMA rapidly searches the space of possible solutions, focusing on resources that are needed and modules that can produce them. The key to this process is that it is very generic in nature; resources can be anything, including:

Information

Features, attributes, or states

Signals

Chemicals

Physical forces

 

Modules can be any conceptual objects, such as:

Personas Systems Software
Processes Hardware Specifications
Databases Departments  

CEMA is able to work at mixed levels of abstraction. A module can encapsulate how lower-level events satisfy higher-level goals. It is also able to integrate multiple relation types. Since the core of CEMA is the development of complete plan definitions, the system automatically generalizes and makes plausible substitutions in a completely flexible and natural manner.

Part of CEMA is the ability to quickly recognize and evaluate a potential solution. This ability is the key for exploiting any search driven process like genetic algorithms or heuristic search. Daxtron Labs has developed such just such a quick Solution Coherence evaluation function/method of the CEMA representation. This function allows CEMA to quickly detect promising paths.

CEMA is able to define a list or sequence of modules that can transform what is available into what is desired with no unmet requirements by modules or problem statements. Once a problem is solved, they can in turn be used as modules, since module specification and problem specification use the same language. So as CEMA solves problems, it can build up a library of new modules from the solved problems, and thus can solve bigger problems.

The CEMA representation can utilize either deterministic search processes like traditional heuristic search methods, or it can use non-deterministic methods like genetic programming. One of our ongoing projects is to integrate CEMA with the PANDOR machine language genetic programming system.

EURISKO / Cyc

EURISKO by Doug Lenat is a program that showed impressive performance in numerous domains using "learning by discovery." EURISKO not only learned new domain-specific definitions of concepts but also new heuristics that guided its search for new concepts. EURISKO learns about solving specific problems and also about learning in general. EURISKO has access to information about itself and modifies itself to perform better over time. EURISKO explores possible configurations of concepts and ranks them as to "interestingness." The program was the champion of a naval war game tournament for two years, designed several innovative 3-D very large-scale integrated circuits, and was applied successfully to several other domains.

EURISKO showed it was possible for Artificial Intelligence systems to:

  • Make significant contributions to little-explored domains
  • Automate discovery by using simulation
  • Use heuristic search for domains too large to explore manually
  • Be applicable to domains where no human experts yet exist
  • Create novel plans and system capable of beating numerous adversaries

EURISKO relied on a representation where syntax mirrors semantics, and therefore achieved a great deal by syntactic exploration and mutation. However, not being limited by common sense ultimately became its biggest weakness. Other problems with EURISKO included its large size, long running time, and its lack of specific direction. EURISKO no longer exists in usable form. The early success of Eurisko helped inspire the development of both genetic programming and CEMA.

Lenat went to work for the Microelectronics Computing Consortium to head the Cyc (pronounced “psych”) project, the world’s largest and most complete general knowledge base and commonsense reasoning engine. MCC’s Cyc project has now become Cycorp, and has announced both the intent to release an open access version of Cyc called OpenCyc, and to support the semantic web initiative. If made available, OpenCyc can be used to improve the CEMA module definition and compilation process.

COSMOS by Daimler-Benz AG

Daimler-Benz independently developed a resource-centric configuration tool called COSMOS. The COSMOS system focuses on a description of modules that detail the quantities of different resources required or consumed. The system various algorithms determine how to create a complete system: one where all resources have positive values. (See: Using Resource Balancing to Configure Modular Systems )

Elements that differentiate CEMA from COSMOS:

  • CEMA’s module definition can allow for conditional use based on preconditions (e.g. a object must be at a certain location to be effective). COSMOS lacks this capability.
  • COSMOS algorithms (and any other algorithm) can be utilized by CEMA, while COSMOS uses a fixed deterministic search process.
  • COSMOS is optimized for the configuration of technical systems (complex equipment and networks), while CEMA is designed to be more open-ended.

Some other groups interested in configuration research:

  • University of New Hampshire Constraint Computation Center
  • Helmuth Ritzer worked on COSMOS configuration systems for Daimler-Benz AG

Papers on the Web about Resource-based Configuration:

  • An Algorithm for Resource--based Configuration
  • Configuration Based on Simplified Functional Models (1994)
  • What Is Still To Do In Order To Solve Configuration Problems In Practice?
  • New Aspects and Applications of Resource-based Configuration (1996)
  • Case-Based Search Techniques for Solving Configuration Problems (1997)
  • Approximating Cost Functions in Resource-Based Configuration (1998)
  • A Two-Phase Search Method for Solving Configuration Problems (1997)
  • Using Resource Balancing to Configure Modular Systems