next up previous
Next: Genetic Algorithms and Truss Up: Domain Knowledge for Genetic Previous: Introduction

Design and Search

Casting design as a search problem, a formulation with a well-established heritage in artificial intelligence research, a design process searches through a state space of possible structures for one or more structures that perform a specified function. Points in the state space represent candidate designs, and one or more of these points defines a goal state representing a design that meets specifications.

In search there is a tradeoff between flexibility -- applicability in different domains, and speed -- the number of candidate designs searched through before finding the correct one. Current design systems tend to depend on domain-specific knowledge and favor speed over flexibility. Such knowledge-based systems therefore do not perform well when domain knowledge is scarce but perform extremely well on the domains they were designed for. At the other extreme are enumerative or exhaustive search algorithms that trade flexibility for speed. They perform about equally well (or badly) across a wide variety of domains, but are usually prohibitively slow.

In between these extremes of random and/or exhaustive search and no search, every other search algorithm makes assumptions of varying kinds about search spaces. These assumptions correspond to knowledge about the space and may be correct, incorrect, or misleading, implicit or explicit, and known or unknown, when used for searching a particular space. This knowledge is exploited to guide exploration, speeding up search by generating a search bias manifested in the set of generated solutions.

Genetic algorithms belong to a class of algorithms, called blind search algorithms, which make the assumption that there is enough knowledge to compare two solutions and tell which is better [Rawlins, 1991]. They make do with little domain knowledge, make few assumptions about the search space, and use domain-independent operators for generating candidate points in a state space.

A hybrid system that combines the best aspects of knowledge-based systems (speed) with the robustness of genetic algorithm search (domain-independence) would therefore be more useful, especially in engineering domains where domain knowledge is available but where such knowledge is usually not enough to solve a problem to optimality. Engineers use heuristics (rules of thumb) to help solve design problems. This knowledge is usually relatively easy to capture or encode, and helps to cut down the search space size. In this context, we describe a system that uses domain knowledge to guide a genetic algorithm that looks for feasible solutions in the domain of structural design and optimization of trusses. These solutions can then be improved through post processing by an engineer.


next up previous
Next: Genetic Algorithms and Truss Up: Domain Knowledge for Genetic Previous: Introduction

Sushil J. Louis
Wed Jun 25 13:42:33 PDT 1997