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.
Short Algernon Reference Manual (for Algernon version 1.3.0) 1994
Benjamin J. Kuipers and J. M. Crawford, unpublished. Unpublished manuscript.