Declarative Programming PROLOG (+ Bayesian Nets) Second part of Cmput325 Fall 2004 R Greiner + B Price 1 Declarative Programming Motivation Warm Fuzzies What is Logic? ... Logic Programming? Mechanics of Prolog Terms, Substitution, Unification, Horn Clauses, Proof process Example: List Processing Theoretical Foundations Semantics Logic / Theorem Proving … Resolution Other Issues Search Strategies Declarative/Procedural, ... “Impure'' Operators” --- NOT, ! Utilities ? Constraint Programming ? Bayesian Belief Nets 2 2004 … 1990 … 1980 3 Story … MD sees patient … perhaps MENINGITIS! Performs standard tests Calls Infection Disease (medical) expert Dialogue: Expert asks for info re: patient Fever, Organism Morphology, Gram Stain, Spinal Fluid, … Doctor's answers: DIRECT : from direct measurement, Lab tests Qualitative: Has HIGH fever Vague: Portal of Entry was GastroIntestinal (w/certainty 0.6) Unknown: don’t know identity of organism? 4 Story … con’t MD can ask questions: Why ask about portal of entry? Expert answers: If further questioned, … point to definitive study Expert provides DIAGNOSIS trying to show infecting organism is ENTEROBACTERICAE this information is crucial in that decision. organism was one of {E.coli, Enterobacteria } suggest TREATMENT: Give GENTAMICIN Happily ever after... 5 The Catch … Expert System 6 Expert System An EXPERT SYSTEM is a computer program that exhibits Expert Level performance in solving complex problems. Reasons with Facts about the World: Combines General Facts/Rules (about Diseases, ...) with Specific Facts (about Patient) to Produce new Conclusion (diagnosis) 7 Medical Expert Systems MYCIN Glaucoma Kidney Ventricle Movement ONCOCIN Ventilator Management ALVEN Erratic Heartbeat VM Present lllness Program Digitalis advisor Internal Medicine CASNET Blood Infections CADUCEUS … Cancer Treatment Protocols 8 Other Domains Medicine Chemistry Instruction Job-Shop Management Financial Planning Computer Diagnosis, Configuration VLSI Design Molecular Genetics Signal Analysis Structural Mechanics Mathematics … 9 “Declarative Programming'' 1 2 Give Gentamycin? Is true? Knowledge Base --- -- --- ---- --- - -- --- - --- ------ -- --- -Facts about the world -- ---- --- ---- ----- - ----- -- ----- -- --- - - Proof Procedure Yes … No 10 Advantages of Framework store “truths” ask for other truths Simply Information is Modular Easy to Build Easy to Modify (Extend, Debug) Capable of Explanation Declarative Re-use same info for different tasks 11 Computers Manipulate SYMBOLS Numbers 3, 5, ... Addition, Multiplication, ... Propositions “D1 is an inverter'' “Inverters flip bits'' ... Deduction, ... 12 Simple Deduction Socrates is a man. If Socrates is a man, Then Socrates is mortal. Socrates is mortal. In general… 13 Example of Deduction (Goal) Socrates is Mortal R1 (New Goal) Socrates is a Man RULES R1: If Socrates is a Man, Then Socrates is Mortal o o FACTS o o F1: Socrates is a Man. o 14 Example of Deduction, #2 R2 Plato is Mortal Plato is a Cat R1 Plato is a Man R3 Plato purrs RULES R1: If Plato is a Man, Then Plato is Mortal R2: If Plato is a Cat Then Plato is Mortal. R3: If Plato purrs, Then Plato is a Cat. FACTS o o F3: Plato purrs. o o o 15 Example of Deduction, #3 Aristotle is a man R9 Aristotle is a Human RULES R2: If Plato is a Cat Then Plato is Mortal. o R9: If Aristotle is a human and Aristotle is male, Then Aristotle is a man o Aristotle is male FACTS o o F3: Aristotle is male. o F8: Aristotle is a human o 16 Oversimplified Proof Process If Goal i = FACT 1. then DONE Else … YES Goal i = “Then Part” of Rule R 2. then Goal i+1 “If Part” of R else DONE NO 17 Just Manipulating Symbols Consider claim This is Belgium. Conclusion is wrong! based on “proof” Today is Tuesday. If Today is Tuesday Then This is Belgium. This is Belgium Conclusion is ONLY AS TRUE as PREMISES If Premises true, then Conclusion is. Not fault of PROOF process GIGO… 18 19 Rules R1: if (1) You have a Parking Permit & This space is Permit-Parkable, then You can park at this space. (2) R2: if (1) This space is a Parking Space & Permit-Sign at this space & (3) Current date is Acceptable, then This space is Permit-Parkable. (2) R3: if (1) Current time is 7am-Midnight & This space is Permit-Parkable, then You can park at this space. (2) R4: if (1) R5: if (1) Current month is Dec-Mar, then Current date is Acceptable. Current month is in Apr-Nov & (2) Current day of month is ≤ 15 then Current date is Acceptable. 20 Facts This space is a Parking Space. You live near this space. You have a Parking Permit. Current month is in Apr-Nov. Current day is Tuesday. Current day of month is ≤ 15. Permit-Sign at this space. You own a car. Your car is >5 years old. Current time is 3am. You have $18.00. ... 21 Inference Graph You can park at this space R1 You have a Parking Permit This space is Permit-Parkable R2 … Parking Space Current date is Acceptable R5 Permit-Sign … …Apr-Nov … ≤ 15 22 Additional Rules R1: if (1) R2: if (1) You have a Parking Permit & (2) This space is Permit-Parkable, then You can park at this space. This space is a Parking Space & (2) Permit-Sign at this space & (3) Current date is Acceptable, then This space is Permit-Parkable. R7: if (1) R8: if (1) You live near this space & (2) You own a car & (3) You apply for a permit, then You have a Parking Permit. You can park at this space then You can take a car. R3: if (1) Current time is 7am-Midnight & This space is Permit-Parkable, then You can park at this space. (2) R4: if (1) R5: if (1) Current month is Dec-Mar, then Current date is Acceptable. Current month is in Apr-Nov & (2) Current day of month is ≤ 15 then Current date is Acceptable. 23 Inference Graph You can take a car R8 You can park at this space R1 You have a Parking Permit This space is Permit-Parkable R2 R7 … Parking Space … live near … … apply for permit Current date is Acceptable R5 Permit-Sign … …own a car …Apr-Nov … ≤ 15 24 Mycin: What is the suspected portal of entry of ORGANISM-1 into this sterile site? Doctor: WHY Mycin: [ie, why is it important to determine the … site?] [3.0] … to determine which organism(s) to cover … It has already been established that 3.1] site of culture is blood 3.2] organism stain is gram positive Therefore, if 3.3] portal of entry is g.i. 3.4] locus of infection is Pelvis or Abdomen, Then strongly suggestive evidence (0.9) that therapy should cover enterobacteriaceae. [Rule 095] ... 25 Mycin: What is the suspected portal of entry of ORGANISM-1 into this sterile site? Doctor: WHY Mycin: [ie, why is it important to determine the … site?] [3.0] … to determine which organism(s) to cover … If has already been established that 3.1] site of culture is blood 3.2] organism stain is gram positive Therefore, if 3.3] portal of entry is g.i. 3.4] locus of infection is Pelvis or Abdomen, Then strongly suggestive evidence (0.9) that therapy should cover enterobacteriaceae. [Rule 095] ... 26 Advantage of Rule Transparency Explain reasoning Support / Credability Helpful when… building/extending system modifying system 27 Issues Faster Computation User Interaction Focus of Attention “Human Engineering” Variables Control of Search Which (sub)goal? Which rule? 28 Variables You can park at RL RA RB X = SpaceA X = SpaceB RA: if …, then Can park @ SpaceA. o o o (1) X RB: if X = ParkingLot-L …, RL: if (1) …, then Can park @ SpaceB. then Can park @ Lot-L. o o o o o o (1) 29 Control of Search FACTS F1: F2: F3: RULES f( Abe, Bob ) f( Bob, Charles ) f( Charles, Dave ) R1: R2: a( x, y ) & a( y, z ) a( x, z ) f( x, y ) a ( x, y ) a(Abe, Dave) R1 a(Abe, y1) R1 a(Abe, y2) R1 a(Abe, y3) R2 a( y1, Dave) f(Abe, Dave) R2 a(y2, y1) f(Abe, y1) R2 a(y3, y2) f(Abe, y2) 30 Research Issues Better Decision Making “Deeper Knowledge” Coping with Uncertainty Better Explanation First Principles “Meta” Acquiring the Knowledge … from expert … from data 31