RuleBased Expert Systems Expert Systems Acknowledge that computers
Rule-Based Expert Systems
Expert Systems § Acknowledge that computers do not posses general knowledge (common sense) § Attempt to train computer in a “limited domain” § Experts have deep, often complex knowledge, but generally for a limited domain
Can A Computer Do What an Expert Does? § Limited domain § The system has a finite, and relatively small number of things it needs to “know” about. § The processing might be complex, but computers are good at that. § Can the expert knowledge be extracted? § § § Knowledge Engineers do the extracting Experts provide their knowledge Programmers encoded the knowledge into an “expert system. ”
Some History § In the early to mid 1980’s the desire to build “expert systems” was very high in the US and elsewhere. § Japanese 5 th generation computing project § AI researchers aggressively recruited by industry § Expert systems were considered by many to be “the next big thing. ”
Overstatement of Capabilities § The results of several expert systems were oversold. § Prospector didn’t really discover millions of dollars worth of Molybdenum. § The originators of the system never made this claim, but despite their efforts to stop it, the story is repeated to this day.
Frequently Cited Examples of Expert Systems § MYCIN § Infectious blood disease diagnosis § Dendral § Analyzed mass-spectra (chemistry) § PROSPECTOR § Geological analysis § R 1 § Configure a VAX computer
Expert knowledge can be difficult to extract § Experts often do not really know how they do things themselves. Although the expert can perform the tasks, he/she does not necessarily have access to the mechanism used. § Experts have reasons to be uncooperative in the process of disseminating their expertise. § Experts often disagree on both processes and conclusions. § The process might require judgment that is not easily codified.
Rule-based Expert Systems § Sets of IF-THEN rules are established to codify expert knowledge. § If <antecedent> then <consequent> § Antecedents can be combined using logical operators § If <a> and <b> or <c> then <consequent> § IF “ 3 enemy stones in a row” AND NOT “ 3 friendly stones in a row” Then “place a stone in the row with 3 enemy stones. ”
Knowledge Engineers § Tasked with working with the expert to extract expertise and codify in a set of rules. § Has training in the development of expert systems, but not necessarily in the application domain. § Know the capabilities of the technology and knows how to apply it.
Expert System Shells § Separate the mechanisms for making inference from the rule base § Facilitate the entry of rules by nonprogrammers § Provide reuse for what would otherwise be redundant code across expert systems
Expert System Components § Inference Engine § Forward or Backward-chaining § Conflict resolution algorithms § Rule-base § IF-THEN rules § Database § Current state on which IF-THEN rules are applied. § Explanation Facilities § An important advantage rule-based expert systems hold over other types of AI
Inference Engines § Forward-chaining § Submit current data to all rules § Rules make conclusions, which in turn, generate new data § “Inference Chains” result from initial data and the data generated in conclusions. § Backward-chaining § Try to prove a conclusion by working backwards from ways to prove it.
Forward-chaining Example (A, B, E, and D are given) § § § If Y and D then Z If X and B and E then Y If A then X If C then L If L and M then N A X B C Y L Z D E Example from Negnevitsky
Backward Chaining § Prolog uses backward chaining § Work backward from the goal. § Check rules that can provided the desired goal.
Backward Chaining Example § § § If Y and D then Z If X and B and E then Y If A then X If C then L If L and M then N A B C D E X B Y E D Z
Forward or Backward Chaining? § What do experts use? § Are we trying to prove a particular hypothesis? § Backward chaining § Are we trying to find all possible conclusions? § Forward chaining § What does the rule set look like? § Could be either one or a combination of both.
Conflict Resolution § What happens when two rules provide conflicting conclusions? § If it has feathers then it is a bird § If it can’t fly then it is not a bird § What if has feathers, but can’t fly?
Conflict Resolution Methods § Use rule-order as an implied priority § The first rule to provide an answer is used. § Assign a priority to each rule, the rule with the higher priority is sustained. § Longest Matching Strategy uses the rule with the most specific information. § If it cannot fly and has feathers then it is a bird. § Certainty-based conflict resolution § Measures of certainty are provided for data and rules. Most certain rule is sustained.
Frame-based Expert Systems § Frame § Marvin Minsky (1975) § Frame-based Expert Systems utilize frames to encapsulate data and methods about an entity. § Frames are similar to objects, but the data types and processing methods are quite different.
Frames § A frame is a data structure with typical knowledge about a particular object or concept [Negnevitsky]. § Frame is a collection of attributes called “slots” § Example slots for a truck § Engine size § Number of wheels § Slots consists of attribute/value pairs called facets § Value/18 § Default Value/4 § Range/[3 -18] § User Query/”Enter the number of wheels: ”
Demons § Slots or facets can contain procedures that are executed with the data is accessed or changed § When_Changed demon is executed when new information is placed in a slot. § Might include forward chaining or backward chaining rules § When_Needed demon is executed when information is read from a slot § Might include code to read sensors or try to prove a goal
Inheritance § Frames can inherit from other frames. § Frame implicitly contains all the slots contained in the inherited frame unless the frame overrides the slot with its own definition. § Inheritance is established with the “IS-A” relationship § In frames, inheritance is principally used to provide default values, rather than structure and methods.
Other Frame Relationships § Aggregation (a-part-of) § An engine is a-part-of a car § A spark plug is a-part-of an engine § Association (Other semantic relationships) § Examples § Ownership (computer has-owner Joe) § Uses (dentist uses drill) § Location (Joe is-near the. Desk)
No Limits on Relationships § Frame can employ multiple inheritance § Frame can have any number of relationships § Relationships can be of any type that is useful.
Interactions of Frames and Rules § Different frame-based systems use different mechanisms. § Rules are often invoked by demons. Some systems allow different rule sets to be applied to different frames
Why Use Frames? § In large systems, frames can provide the system the capability to find relevant information quickly. § Making inferences from the most relevant information can provide greater efficiency and allow searches to be constrained. § Relationships between frames can be provided at a relatively low cost.
Advantages of Expert Systems § Provide an explanation capability § What rules fired to provide the conclusion? § Why other conclusions were not made. § For simple domains, the rule-base might be simple and easy to verify and validate. § The system might use a method similar to what the expert uses. § Expert system shells provide a means to build simple systems without programming
Disadvantages of Expert Systems § When the number of rules is large, the effect of § § adding new rules can be difficult to assess. Expert knowledge is not usually easily codified into rules. Expert often lack access to their own analysis mechanisms. Validation/Verification of large systems is very difficult. Track record does not seem to contain many successes. Relatively high-risk to implement.
- Slides: 28