



















































Study with the several resources on Docsity
Earn points by helping other students or get them with a premium plan
Prepare for your exams
Study with the several resources on Docsity
Earn points to download
Earn points by helping other students or get them with a premium plan
Community
Ask the community for help and clear up your study doubts
Discover the best universities in your country according to Docsity users
Free resources
Download our free guides on studying techniques, anxiety management strategies, and thesis advice from Docsity tutors
An introduction to computational logic for healthcare informatics, covering rules, constraint-based reasoning, satisfiability checking, ontologies, and logic and probability. Topics include propositional and predicate logic, logic programs, temporal constraints in medical workflows, and limitations and approaches to combining probabilities with logic.
Typology: Lecture notes
1 / 59
This page cannot be seen from the preview
Don't miss anything!
Rules and Constraint-Based ReasoningRules Satisfiability Checking Ontologies Logic and Probability
an Informal Survey
Terrance Swift
Johns Hopkins School of Health Sciences Informatics Medical Decision Logic, Inc CENTRIA, Universidade Nova de Lisboa
April 21, 2010
Rules and Constraint-Based ReasoningRules Satisfiability Checking Ontologies Logic and Probability
◮ (^) to survey how formal logic and logic programming have been used for knowledge representation and reasoning for a variety of medical applications ◮ (^) to sketch the current state of logic programming systems, focusing on open-source systems ◮ (^) to indicate how some current research directions in logic programming may be relevant to areas such as adaptive workflow management for healthcare or for dynamic decision support.
... a little learning is a dangerous thing, and so is writing your learning objectives before your talk :-)
Rules and Constraint-Based Reasoning^ Rules Satisfiability Checking Ontologies Logic and Probability
◮ (^) Computer Science has been highly successful in some areas, such as medical imaging or genetic sequence analysis. ◮ (^) It has been less successful in other areas such as clinical decision support, or adaptive workflow management. ◮ (^) For these areas background knowledge is complex, multi-paradigm, and diffuse ◮ (^) Can computational logic help? What advantages does it offer?
Rules and Constraint-Based Reasoning^ Rules Satisfiability Checking Ontologies Logic and Probability
◮ (^) Some concepts in formal logic ◮ (^) Propositional logic; predicate logic; derivations ◮ (^) As little as possible and as informal as possible ◮ (^) Uses of different brands of logic programming ◮ (^) Rule based systems with constraints ◮ (^) Answer Set Programming ◮ (^) Formal ontologies and their reasoners ◮ (^) Uncertainty: where we are now ◮ (^) Different kinds of uncertainty ◮ (^) Combining probabilities with rules ◮ (^) Combining probabilities with Answer Set Programs ◮ (^) Putting it mostly together ◮ (^) Open source systems: XSB, YAP, Ciao and others
Rules and Constraint-Based Reasoning^ Rules Satisfiability Checking Ontologies Logic and Probability
◮ (^) Has the same connectives as propositional logic ◮ (^) Also represents individuals, functions, relations, and the existence or universality of statements ◮ (^) e.g. affects(Drug,TumorType) can be used to make lots of similar statements about different drugs and tumors ◮ (^) The logic can make inferences about the individuals (or functions) within the relation ◮ (^) Maps well to relational databases
Rules and Constraint-Based Reasoning^ Rules Satisfiability Checking Ontologies Logic and Probability
A universal statement: ”if any patient has breast cancer, Doxorubicin and Tamoxifen are indicated”
∀P.breast cancer (P) implies ( indicated(doxorubicin, P) and indicated(tamoxifen, P) )
An existential statement: ”if fever persists with elevated white blood cell count, there is an underlying infection”
Rules and Constraint-Based Reasoning^ Rules Satisfiability Checking Ontologies Logic and Probability
◮ (^) In Logic ◮ (^) Knowledge is encoded in axioms ◮ (^) A set of axioms is a theory ◮ (^) In a logic program ◮ (^) Knowledge is encoded in rules ◮ (^) A program is a set of rules ◮ (^) So what is the difference?
Rules and Constraint-Based Reasoning^ Rules Satisfiability Checking Ontologies Logic and Probability
◮ (^) Given a logic and a theory, a derivation procedure indicates sets of statements entailed by the theory ◮ (^) Such statements range from the mundane This Sudoku has no solution with 9 in the top left box ... ◮ (^) To the profound an abelian group has a composition series iff it is finite... ◮ (^) To the interesting When a patient enters the protocol, she will always leave the protocol if at any time her white blood count is critical for 5 successive days ◮ (^) Running a logic program is the same as performing a derivation procedure on the program ◮ (^) Different types of derivation differ most critically in their abstract complexity (cf. [Pap94]) – in how big a problem you can reliably solve ◮ (^) Less complex derivation methods lean toward theTerrance Swift Computational Logic for Healthcare Informatics
Rules and Constraint-Based Reasoning^ Rules Satisfiability Checking Logic and ProbabilityOntologies
move(1,X,Y, ) :- write(’Move top disk from ’),write(X), write(’ to ’), write(Y), nl. move(N,X,Y,Z) :- N>1, M is N-1, move(M,X,Z,Y), move(1,X,Y, ), move(M,Z,Y,X).
Rules and Constraint-Based Reasoning^ Rules Satisfiability Checking Logic and ProbabilityOntologies
◮ (^) All rule examples here are in Prolog, a logic programming paradigm ◮ (^) It could also be written in a business rules language such as Jess, Drools, or ILOG-Jrules ◮ (^) It could be written in an object logic such as Flora-2 or Silk ◮ (^) It could also be written in a functional language such as Haskell, ML, or Lisp (or even Python or Ruby) ◮ (^) Currently, rule systems based on Prolog (e.g. XSB) ◮ (^) are usually faster and more scalable than busines rule systems [LFWK09] ◮ (^) offer completeness for various types of programs, ◮ (^) offer sophisticated types of non-monotonic reasoning ◮ (^) offer constraint-based reasoning ◮ (^) are less used than the business rules systems (?)
Rules and Constraint-Based Reasoning^ Rules Satisfiability Checking Logic and ProbabilityOntologies
(Adaptive) Medical Workflows [Spy00, GRH+04, ALP+05, LPQ+07, MvdAP07] ◮ (^) A given patient may be treated with one first protocol or according to one guideline, and then another ◮ (^) Sample rule: ETOPOSID must be dropped when a patient has had a critical blood status for the last five days,and ETOPOSID can only be given again once the blood status becomes normal again (leukocyte count > 1000 ) ◮ (^) A single research protocol might contain a hundred or more such rules. ◮ (^) Event then it would not (fully) model ◮ (^) background knowledge (e.g. chemical structure of Etoposid) ◮ (^) factors outside the protocol or guideline (e.g. co-morbidity) ◮ Terrance Swift^ Computational Logic for Healthcare Informatics
Rules and Constraint-Based ReasoningRules Satisfiability Checking Logic and ProbabilityOntologies
◮ (^) As the above example illustrates, you don’t get too far with rules for medicine before time elements become very complex. ◮ (^) A Phase II study example: Patients will start adjuvant TMZ 28 days (+/- 10 days) post the completion of Radiation Therapy and comcomitant TMZ. Temozolomide will be administered orally once a day for 5 consecutive days every 28 days [ea05] ◮ (^) There are many different types of temporal reasoning: temporal constraints (e.g. [Mei96, SV98]) are relatively easy to understand and have low complexity (compared to other types of temporal reasoning).
Rules and Constraint-Based ReasoningRules Satisfiability Checking Logic and ProbabilityOntologies
Input to temporal constraint solver may be ◮ (^) a study table (e.g. in mdlogix’s Clinical Research Management System, CRMS) ◮ (^) a workflow rule like
WHEN critical-blood-status(P) VALID-TIME [now - (5,day),now] AN in-further-workflow(Drug-Administration[drug = Etoposid],P) THEN drop(Drug-Administration[drug = Etoposid],P) Unless normal-blood-status VALID-TIME now
◮ (^) this is an extension of the syntax of F-logic rules [KLW95, YKZ03] ◮ (^) Temporal constraints may be incrementally added by application of a particular rule ◮ Terrance Swift Computational Logic for Healthcare Informatics
Rules and Constraint-Based ReasoningRules Satisfiability Checking Logic and ProbabilityOntologies
How constraints might look to a temporal constraint solver: arc(adjuvant tmz,adjuvant tmz 1,[before([28,28])]), arc(adjuvant tmz 1, cycles 1 3 5 1, [contains, started by]), arc(adjuvant tmz 1, cycles 2 4 6 1, [contains]), arc(within 10 days cycles 1 3 5 1, cycles 1 3 5 1, [before([1,10])]), arc(within 3 days cycles 1 3 5 1, cycles 1 3 5 1, [before([1, 3])]), arc(within 10 days cycles 2 4 6 1, cycles 2 4 6 1, [before([1,10])]), arc(within 10 days cycles 2 4 6 1, cycles 2 4 6 1, [before([1, 3])]), arc(within 3 days cycles 1 3 5 1, within 3 days cycles 1 3 5 delay cycle 1, [before([0,7])]), arc(within 3 days cycles 2 4 6 1, within 3 days cycles 2 4 6 delay cycle 1, [before([0,7])]),