Algernon
Access-Limited Logic is a language for representing knowledge in the computer, and a method for drawing conclusions and answering questions from that knowledge. Previous languages and methods faced an apparently unsolvable conflict between three important values: (1) having a clear and precise meaning; (2) being computationally efficient; and (3) being able to draw all correct conclusions eventually. Part of the efficiency problem is that, out of a vast amount of knowledge, it is hard to find the right facts and rules to bring together. Like humans, access-limited logic uses the connections between related concepts to focus its search for useful information. Although it is possible to miss connections between concepts that lack an available ``access path,'' this method gives us values (1) and (2): clarity and efficiency. As for value (3), known as ``completeness'', for a language expressive enough for common-sense knowledge, it is impossible to draw all correct conclusions efficiently. However, we have shown that access-limited logic has the property of ``Socratic completeness'': if a wise tutor asks the right series of questions, any correct conclusion can be found (and each question will be answered efficiently). Furthermore, for most common-sense knowledge, the series of questions to ask can usually be found efficiently. In addition to our theoretical work on Access-Limited Logic, we have implemented a system named Algernon that embodies its principles. Algernon has been used for the graduate expert systems course at UT, for research toward at least four doctoral dissertations, and as a research tool at UT, MCC, and Stanford University. MCC, in turn, has distributed Algernon to its shareholders.
Download:
TAR
Short Algernon Reference Manual (for Algernon version 1.3.0) 1994
Benjamin J. Kuipers and J. M. Crawford, unpublished. Unpublished manuscript.