Next: Bugs and Problems Up: Short Algernon User's Manual Previous: The Built-In Knowledge-Base

Reader contributions are solicited to expand this section.

• Algernon is not Prolog. Despite the superficial similarities, there are several important differences in the inference algorithms used. See section 2.3 for a brief description of the inference algorithms used in Algernon.
• Avoid using the non-monotonic special forms. They are essential in some cases, but we currently do not have a good theory of non-monotonic reasoning so it is difficult to predict their behavior without knowledge of the Algernon inference algorithms.
• It is a good idea to create a taxonomy and link your frames and slots into it. Setting up a taxonomy in Algernon can be a slow process so it is often a good idea to set up the taxonomy and then take a ``snapshot'' of the knowledge-base (see section 3).
• In general it is a good idea to name frames for sets with plurals (e.g., people) to distinguish them from frames for individuals.
• It is also a good idea to maintain some convention for choosing the names for slots. In the background knowledge-base I have tried to choose slot names so that (r f1 f2) can be read as ``f1 r f2'' or ``A(n) r of f1 is f2'' (depending on whether r is a verb or a noun).
• In general all rules should be associated with frames (instead of slots). There are two important exceptions to this rule. First, some rules are associated with slots because they allow Algernon to conclude isa relations (and thus access rules). For example, it would do little good to associate the rule:

with the set people. The second exception are rules associated with sets of slots (e.g., rules for partial orders).

• In the current implementation :taxonomy and :slot do not get along well. One can define sets of slots using :taxonomy, but all slots should be created and defined using :slot, and should be linked to the taxonomy by asserting explicit isa links.

Next: Bugs and Problems Up: Short Algernon User's Manual Previous: The Built-In Knowledge-Base

Micheal S. Hewett
Tue Oct 29 11:15:33 CST 1996