A High Performance Relational Algebraic Processor for Large Knowledge Bases

The principal requirement for knowledge-based systems is the ability to perform pattern-directed search over large numbers of variously-sized objects. The precise interpretation of the word ’object’ depends upon the knowledge representation formalism being used. Examples of objects range from simple numbers or variables, through tuples or logic clauses, to quite large objects such as relations, semantic nets or procedures. Objects are conceptually held in some form of associative (i.e. content-addressable) store. Pattern-directed search of this store is a process of recognition or selection, which in general results in a set of objects being discovered to match the search criteria. The output from a search operation may be called the responder set. AI-related processing consists, implicitly or explicitly, of further operations on responder sets. Amongst these operations, set intersection and transitive closure occur so frequently that they have been proposed, along with pattern-directed search, as prime candidates for hardware support for AI (Fahlman et al 1983). Furthermore, set intersection is one of a family of relational algebraic operations which is central to all database-like computation. Finally, transitive closure is just one of a family of graph-manipulation operations (other examples are shortest-path and activation-propagation) which find a use throughout Computer Science.