-*- Mode:Text; Fonts:(CPTFONT CPTFONTB) -*- ;1;;CHAINING (FORWARD/BACKWARD)* "Chaining" refers to the dynamic sequence of rules that become "active" during the execution of a 1rule-based expert system*. Rules become active as the conditions they require become satisfied, or true. "Forward chaining" is sometimes called "data-driven". A forward-chaining expert system starts with an initial set of data, and executes every rule that applies to the data to draw additional conclusions ("knowledge"). If any of the executed rules provide additional knowledge, more rules can then be activated, and so on, until no further information can be derived (no more rules can be satisfied). "Backward chaining" is sometimes called "goal-driven". Given an initial goal, in the form of a conclusion that the user wishes to prove or derive, and (sometimes) an initial set of data, a backward-chaining expert system tries to establish a sequence of rules that will bring the system closer to the goal. For example, given the following set of rules in a simple expert system: RULE-01 : IF AGE IS GREATER THAN 65 THEN IS 'RETIRED' RULE-02 : IF IS 'RETIRED' THEN IS 'ELIGIBLE-FOR-MEDICARE' If a FORWARD-CHAINING system starts with initial information that the in question is over 65 years of age, this system would execute RULE-01 and conclude that the is retired. Subsequently, RULE-02 would be checked and executed, and the system would conclude that the is eligible for Medicare. A BACKWARD-CHAINING system might be asked by the user whether a particular person is eligible for Medicare. The system would note that RULE-02 is one way to "prove" that the person might be eligible. If the data does not include the fact that the person is retired, RULE-02 cannot be satisfied, but the system notes that RULE-01 might provide the missing piece of information. Now the system is waiting to satisfy both rules. 1 *It might ask the user, "Is the person's age greater than 65?" If the user says "yes", the system could then execute RULE-01 and then RULE-02 (just as in forward-chaining), and satisfy its initial goal, to prove whether the person is eligible for Medicare. Note that some expert systems combine both techniques as appropriate. ;1;;DOMAIN* The 1DOMAIN* of an 1expert system* is the field of knowledge or human expertise that the system applies to. For example, an expert system used to advise an insurance adjustor might be said to "operate in the domain of insurance claims knowledge". An expert system can be written in such a way that its domain can be expanded as needed: for example, a medical expert system that "knows about" cancer may be enhanced with knowledge about immune-deficiency diseases, thus expanding its domain. ;1;;GARBAGE COLLECTION* The computer programs used for Artificial Intelligence applications, often written in languages such as LISP and Prolog, may have to operate on very large amounts of data. They may construct very large databases of knowledge and control information. Historically this has been a problem that limited the size and scope of AI research and applications, since these programs did not execute efficiently on conventional computers with fixed or limited memory. To overcome these limitations, many implementations of LISP (and some Prologs) offer a feature known as "garbage collection", or GC. This feature provides a way to use large portions of memory dynamically without worrying about reclaiming the storage for later use. A garbage collector usually runs on the computer in the background, looking for memory that is no longer in use, and returning it to the central pool where it can be used later for another purpose. 1;;;EXPERT SYSTEMS* 1. The class of computer programs which provide (or illustrate, or emulate) human-like expertise or knowledge. Some prefer the term "advisory systems". 2. A 2rule-based* computer program, one1 *whose algorithm does not follow a fixed programmed sequence, but rather a processing sequence determined by the (approximately natural-language) rules input to the system. These rules comprise its1 knowledge base*. Not all expert systems are rule-based, and not all rule-based systems are necessarily expert systems. Related terms include: inference engine,1 *domain, chaining. ;1;;HEURISTICS* ;1;;INFERENCE ENGINE* ;1;;INFERENCE PARADIGM* ;1;;KNOWLEDGE REPRESENTATION* ;1;;KNOWLEDGE VALIDATION* ;1;;META-KNOWLEDGE* ;1;;REAL-TIME* ;1;;TRUTH MAINTENANCE* ;1;;STATIC PROBLEM