You are on page 1of 67

“Expert” Knowledge Module

We need Medical Expertise?


Can we represent expert knowledge?

2 Hour Tutorial for Biomedical Computing Interest Group


(BCIG)
Biomedical Informatics Tutorial (BCIG-BITs)
December 2002
Gary Berg-Cross
Knowledge Strategies
Gary.Berg-Cross@tma.osd.mil
Expert System Structure
Separating thecould
In theory we KB &take
IE was quite significant,
the knowledge perhaps
base & use different inference
themechanisms,
most significant
or takeearly contribution
the inference of expert
mechanism systems.
& use different KBs.

User
Knowledge Interface
Base

Inference
Engine
Explanation
Facility
Blackboard
Language/Shell
Environment
One Definition of Expert System
• A computing system capable of representing and
reasoning about some knowledge rich domain,
which usually requires a human expert, with a
view toward solving problems and/or giving
advice.
– the level of performance makes it “expert”
– Some also require it to be capable of explaining its
reasoning.
– Does not have a psychological model of how the
expert thinks, but a model of the expert’s model of
the domain.
Categories of Expert Systems
Category Problem Addressed
Prediction Inferring likely consequences of given situations
Diagnosis Inferring system malfunctions from
observations, a type of interpretation
Design Configuring objects under constraints, such as
med orders
Planning Developing plans to achieve goals (care plans)
Monitoring Comparing observations to plans, flagging
exceptions
Debugging Prescribing remedies for malfunctions
(treatment)
Repair Administer a prescribed remedy
Instruction Diagnosing, debugging, and correcting student
performance
Control Interpreting, predicting, repairing, and
monitoring system behavior
Knowledge in a Knowledge Base
• Knowledge specific to the domain + facts specific to the problem
being solved
• A medical KB is defined in HANDBOOK of MEDICAL INFORMATICS as:
– “a systematically organized collection of medical knowledge that is accessible
electronically and interpretable by the computer.”
• They note “a medical KB usually:
– includes a lexicon (vocabulary of allowed terms) and
– specifies relationships between terms in the lexicon. “
• For example, in a diagnostic KB, terms might include:
– patient findings (e.g., fever or pleural friction rub),
– disease names (e.g., nephrolithiasis or lupus cerebritis) and
– diagnostic procedure names (e.g., abdominal auscultation or chest computed
tomography).
• Knowledge Representation is the key issue
– Aim is usually to present the knowledge in as "declarative" a fashion as possible
Traditional Feature Comparisons:
E/KBS versus ANN
E/KBS Neural Networks
• Symbolic • Numeric
• Logical • Associative
• Mechanical • Biological
• Serial • Parallel
• Rule Based • Example Based
• Needs “Rules” • Finds “Rules”
• Much Programming • Little Programming
• Requires Reprogramming • Adaptive System
• Needs an Expert • Needs a Database
But much of this too simple, KBS are not really “logical” and can use examples etc.
Processing Comparisons
INPUT(Type)
OUTPUT
(Procedural) Conventional Processing
Data Input
Procedures applied to data Data
1, 2, 3, etc. Output

(Logical) Expert/KB System


Facts Decision
Inference Engine &
(A is True) Recommend
Knowledge (Rules)

(Statistical) Neural Networks


Pattern
Patterns Network Algorithm Identifies
recognized
Patterns
Medical Expert and KB systems
• are designed to give expert-level, problem-specific advice in
the areas of :
– medical data interpretation,
– patient monitoring,
– disease diagnosis,
– treatment selection,
– prognosis, and
– patient management.
• Research in medical expert and knowledge-based systems
and the development of such systems has been most
significant to the broad realm of quality assurance and cost
containment in medicine.
One Distinction Between an Expert System
and a Knowledge-Based System
• To be classified as an ‘expert system’ the system
must be able to explain the reasoning process.
• This is often accomplished by displaying the rules
that were applied to reach a conclusion.
Some Basic Concepts
• Knowledge representation deals with the formal modeling of
expert knowledge in a computer program.
– Important questions in this respect concern the given degree of
structuralization of the medical domain under consideration, the necessity to
include vagueness of medical terms and uncertainty of medical conclusions
into the chosen formal representation, as well as the extent and completion
of the respective knowledge domain.
• Reasoning mechanisms are inference methods which draw
medical conclusions from given patient data by means of the
stored medical knowledge.
– Most important is the selection of the appropriate formal approach with
respect to the given medical domain.
– One differentiates methods to infer logical conclusions (e.g., propositional
and predicate logic, three-valued logic, fuzzy logic, non-monotonic logic)
and to combine medical evidence (e.g., Bayes theorem, certainty factors,
Dempster-Shafer theory of evidence).
Assertional Knowledge
• It might be a detailed description of a complex domain
like a disease, a linguistic structure, etc.
• This type of knowledge is used to describe a given
clinical situation usually in an object structure.
• This is done by associating the different elements or
objects characterizing the context inside the same
framework with the consideration of the relationships
between these objects.
– Example: an exhaustive description of a specific disease
organized following: the set of its symptoms, its possible
treatments, medicines, etc.
Alternative KB Approaches
• Rule-based approach
– Events trigger firing of rules (condition/action pattern)
– e.g. Arden Syntax and Medical Logic Modules (MLM)
• Case & Model-based approach
– Create a model (template) of clinical guidelines
– e.g. PRODIGY, EON, PROforma, GLIF
But AI is a broad field - a tree representation
Knowledge-base may really include many things
Heuristics
Hypothesis Rules

Facts Objects

Knowledge-
base
Processes Attributes

Events
Relationships
Definitions
KBS architecture and components

User Interface
may employ:
KBS Editor
question &
General
answer Knowledge-Base
user
menu-driven Inference Engine
Case Specific
Knowledge-Base
natural
language, or
Explanation System
GUI styles

Knowledge Acquisition
Module
Knowledge representation formalisms
& Inference

KR Inference
* Logic Resolution principle
* Production rules backward (top-down, goal directed)
forward (bottom-up, data-driven)
* Semantic nets &
Frames Inheritance & advanced reasoning
A Representation: First-Order Logic
• Constants: Mr_Smith, Dr._Jones, anemia
• Variables: X, Y
• Functions: Address(X), Age(Y)
• Predicates: Diagnosis(X, anemia); Male(Y); Patient(Z)
• Negation: ¬Male(X); ¬Name(X, Smith)
• Connectors:
– Conjunction (AND): Patient(X) ∧ Male(X)
– Disjunction (OR): Doctor(X) ∨ Nurse(X)
– Logical implication: Female(X) ⇒ ¬Male(X)
• Quantifiers:
– Universal quantifier: ∀X (Patient(X) ∨ Doctor(X))
– Existential quantifier: ∃Y (Patient(Y) ∧ Name(Y, Jones))

From Yuval Shahar, “Frame-Based Representations and Description Logics”


Temporal Reasoning and Planning in Medicine
Alternatives Ways of Modeling
• X has Diabetes:
– Diabetes (x)
– Has_Diagnosis (x, “Diabetes”)
– Has (x, “Diagnosis”, “Diabetes”)
• Trade off between efficiency and expressiveness
– Has (x, y, “Diabetes”)
Relationship Of this K to a DB
• Representing patient X has Diabetes in a table:
– Diabetes (x)
• A table called Diabetes with column (s) identifying
patient x and a column of the value of Diabetes (x)
– Has_Diagnosis (x, “Diabetes”)
• A table called Diagnosis with column (s) identifying
patient x, and diagnosis y and a column of the value of
Has_Diagnosis (x, y)
– Has (x, “Diagnosis”, “Diabetes”)
• A table called observation with column (s) identifying
patient x, observation type y and observation value z
and a column of the value of Has (x, y, z)
“Production” Rule sets
‹ Experts typically form sets of rules to apply to a given
problem
‹ Set of rules reflects the skill of the expert on a topic; use
different rule sets to reflect problem-solving competence
of expert
‹ Need a strategy to know when to apply them ie use meta
rules
‹ Rule sets often represented in a tree-like structure with
most general, strategic rules at the top of the tree; most
specific rules at leaf nodes
‹ Adopts a top-down approach to problem-solving, where
rule sets only used when appropriate;
‹ reflects
human approach divide and conquer
‹ eases modular development
‹ each module may use different representation and reasoning
techniques (say for body system)
Rules & Decision Tree Example
Q1: Test is
Depth First not included included
Q2: the
Panel cost Q3: the panel
is cost is

2K 3K 4K >=6K <5K

c3: 10% c2: 70%


chance chance
Q3: the Q3: the Q3: the Rule 7 Rule 8
cost is Cost is cost is

< >=x <y


Easy to find a
c1: 30% c2: 70% c1: 30% c2: 70% c1: 30% c2: 70% recipe to turn
chance chance chance chance chance chance this into a rule
Rule 1 Rule 2 Rule3 Rule 4 Rule5 Rule6 representation.

21
Examples of Rule Based Expert Systems
MYCIN - begun in 1972
• Consultation system assist internists in diagnosis and treatment of
infectious diseases: meningitis & bacterial septicemia
• When patient shows signs of infectious disease, culture of blood and
urine set to lab (>24hrs) to determine bacterial species
• Classified as a "production- rule" system, depth-first, backward
chaining.
• Given patient data (incomplete & inaccurate) MYCIN gives interim
indication of organisms that are most likely cause of infection &
drugs to control disease
– Uses certainty factors to handle incomplete and uncertain information, included
the "how" and "why" capabilities that are now considered essential, defining
characteristics of Expert Systems.
• Drug interactions & already prescribed drugs taken into account
• Able to provide explanation of diagnosis (limited)
– Thoroughly documented in Buchanan and Shortliffe Rule Based Expert
Systems, Addison- Wesley, Reading, Mass., 1984.
Top-level goal rule
IF there is an organism which
requires therapy, and
consideration has been given
to the possibility of additional
organisms requiring therapy

THEN compile a list of possible


therapies, and determine the
best therapy in this list.
THERAPY rule
IF the identity of the organism
is Pseudomonas
THEN I recommend therapy from
among the following drugs:
1 - COLISTIN (.98)
2 - POLYMYXIN (.96)
3 - GENTAMICIN(.96)
4 - CARBENICILLIN (.65)
5 - SULFISOXAZOLE (.64)
THERAPY rule

• The number with each drug is the akin to the


probability that a Pseudomonas will be sensitive to
the named drug.
• To select the actual therapy, the drugs on the list are
screened for contra-indications and to minimize the
number of drugs administered, while maximizing
sensitivity.
Typical RB Exercise:
Write Rules by Diagnosis
• Write rules for patients with the following
diagnoses (one at a time):
– diabetes mellitus
– heart failure
– myocardial infarction
– benign prostatic hyperplasia

K Engineer compares notes and leads discussion on integration.


Evaluation of MYCIN

• In 1974, an initial study of MYCIN was conducted


where five experts approved 72% of MYCIN's
recommendations on 15 actual cases.
• The system was improved and in 1979 MYCIN was
again compared to experts.
MYCIN’s Performance Compared to
Human Experts
MYCIN 52 Actual 46
Therapy
Faculty-1 50 Faculty-4 44
Faculty-2 48 Resident 36
Inf. Dis 48 Faculty-5 34
fellow
Faculty-3 46 Student 24
Ratings by 8 experts on 10 cases
Perfect score = 80
MYCIN is not currently in use:
• Knowledge base is incomplete, does not cover a full
spectrum of infectious diseases.
• computing power was not available in most hospital
wards.
• MYCIN's development lead to the development of
"EMYCIN" - for "Empty MYCIN".
– To demonstrate this capability, they developed "EMYCIN",
the first shell.
– The developers of MYCIN believed that the programming
approaches they used in MYCIN could be applied to other
domains.
What makes an ES feasible ?
1 The need justifies cost.
2 The (human) expertise* is not available in all
situations where it is needed.
3 The problem may be solved using symbolic
reasoning techniques.
4 The domain is well structured and does not require
common sense reasoning.
5 The problem may not be (better) solved using other
(traditional) computing methods.
6 Cooperative and articulate experts exist.
7 The problem is of proper size and scope. This is
relative to resources and evolving technology.
Life Cycle for Developing Expert
Systems

• Problem Definition
• Knowledge Acquisition
• Knowledge Representation
• Prototype system
• Operational system
• Knowledge base maintenance
Problem Definition
• The essential problem is selecting an appropriate
domain:
– the problem must require some type of specialized
knowledge, if there are human "experts" this criteria
is probably satisfied
– must not be overly large: define the problem fairly
narrowly.
– in business organizations, it should a problem that is
handled often enough that an investment is expected
to have some payoff: the once every 5 years sort of
problem going to payoff.
Knowledge Acquisition

• " the transfer and transformation of potential


problem-solving expertise from some knowledge
source to a program.”
- Buchanan 1983.

• machine learning - building capabilities into the


system that allow it to learn from what it is doing.
– the problem of induction - how many instances must be
observed before it can be added to the knowledge base
as "true"
Knowledge Acquisition (cont.)

• knowledge elicitation - extract the


knowledge from the human expert, through
some means
– direct - interaction with the human expert
interviews, protocol analysis, direct
observation, etc.
– indirect - utilize statistical techniques to analyze
of data and draw conclusions about the
structure of the data.
Knowledge Representation

• A method to represent the knowledge you are


eliciting and/or learning.
• Several major methods –rules, bayes nets, frames
• Strengths and weaknesses for each.
• None is completely dominant.
• Trent is to build heterogeneous systems, that ‘s what
experts are.
Knowledge Representation
• A method to represent the knowledge about the
domain
• Three major symbolic methods:
– rules
– semantic objects
– logic
• Although a shell contains a way to represent
knowledge, shell selection should be influenced
by the matching the representation to the
knowledge in the domain.
• Knowledge must be coordinated, so that the
knowledge base is consistent.
Prototype system
• Typically use an "incremental" development
approach to an expert system.
– Build an initial prototype and adjust and expand
– Allow the expert to interact with the prototype to
get feedback
• Reevaluate if the project should be continued,
if major redesign (knowledge representation)
is necessary, or to go ahead.
Build Operational System & Knowledge base
maintenance
• Once The actual system is built
– New rules can be continually added and old ones
refined/ removed.
• This is a tricky process, but there does not
seem to be much literature on it.
• One characteristic of an Expert system should
be maintainability, so the ability to
add/change/delete rules is essential.
Medical Knowledge (Adjusting to Situations)
Biochemical lab rules
Go from simple, modular to confusing complications

From “Toward Situated Knowledge Acquisition”


Tim Menzies,
Int. J of Human Computer Studies, 1998
Disadvantages of Production Knowledge
Difficult to maintain for Very Large-KB
- One reason is addition of new, contradictory knowledge. Consider
Rule 1. IF it is raining
THEN not (weather is sunny)
Rule 2. IF location is Florida
THEN not (weather is cloudy)
Rule 3. IF it is late afternoon
THEN weather is sunny or weather is cloudy
FACTS: it is late afternoon location is Florida
Conclude?????
Maintenance is to ADD Rule 4. IF it is late afternoon AND location is
Florida
THEN it is raining
Some observe that RB development never ends….KE is a continuous
process…..
KBS as real-world problem solvers

- Problem-solving power does not lie with smart reasoning


techniques nor clever search algorithms but
domain dependent real-world knowledge
- Real-world problems do not have a well-defined
solutions in literature
- Expertise not laid down in algorithms but are domain
dependent rules-of-thumb or heuristics (cause-and-effect)
- KBS allow this knowledge to be represented in
computer & solution explained
• These are not “logical”
A Semantic Network – beyond the ERA
model for real world problems
• A directed graph of vertices (V)and edges (E)
where Vi are concepts and Ei,j are relations
Focus is on
•categories of objects
AKA Mamal •relations between those obje

Person
27 years IS-A 5 Days
Duration
Age
Jim Has
Disease
Patient
Diagnosis Mumps
Semantic Networks:
Arity of Relations
• Unary relations
– Person(Jim): IS-A link
• Binary relations
– Age(Jim, 27 years): Age link
• N-ary relations
– Disease(Jim, Mumps, 5 days): By creating a reified
disease-relation object with several cases (patient,
diagnosis, duration)
Frames
(Minksy, 1975)
• A type of Semantic network
– Both can be used to represent logic systems
– Used to graphically represent taxonomies of
objects and their properties
• Concepts have roles, or properties, (also
known in OOLs as slots), such as age
• Frames encapsulate more meaningful
chunks of knowledge (e.g., birthday party)
Representing Knowledge in Frames
1. Frame Architecture
- A record-like data structure for representing stereotypical
knowledge about some concept or object (or a class of objects)
- A frame name represents a stereotypical situation/object/process
- Attributes or properties of the object also called slot
- Values for attributes called fillers, facets provide additional
control over fillers.

Frame Name: Object 1


Class: Object 2

Properties: Property 1 Value 1


Property 2 Value 2

… ...
Types of Frames
(1) Class Frame
- Represents general characteristics of common objects
- Define properties that are common to all objects within class
- Static & dynamic property
Static: describes an object feature whose value does not change
Dynamic: feature whose value is likely to change during operation

Frame Name: Bird


Class: Animal

Properties: Color Unknown


Eats Worms
No._Wings 2
Flies True
Hungry Unknown
Activity Unknown
Subclass Frame
- Represents subsets of higher level classes or categories
- Creates complex frame structures
- Class relationships

Class Bird

Subclass Robins Canaries Sparrows

Bird1 Bird2 Tweety Bird3 Bird4

Instance
A Quick Ontological View
Anything

AbstractObjects Events

Representational
Sets Numbers
Objects
Places Processes

Physical
Intervals
Objects
Sentences Measurements

Categories Moments Things Stuff

Animals Agents
Times Weights
Humans
Medical Entities Dictionary (MED) Structure
Multiple hierarchy
Synonyms
Translations
Medical Semantic links
Entity
Attributes
60,000 concepts
Substance Laboratory
Specimen Event

Chemical Anatomic Plasma Diagnostic


Substance Specimen Procedure
n ce

Ha
s ta d
Plasma Subample Laboratory Laboratory

sS
S Test Procedure

pe
Carbo- Bioactive

cim
hydrate Substance

en
Plasma CHEM-7
Glucose Part of
Glucose Measured
Substance
1. Generalizations ---- “Kind of” relationship

Bird

“Kind of” links

Robins Canaries Sparrows

2. Aggregation ---- “Part of” relationship


Bird
“Part of” links

Wings Feather Eyes

3. Association ---- “Semantic” relationship


Bird owns
“Semantic” links

Nest Food
(3) Instance Frame
- Represents specific instance of a class frame
- Inherits properties & values from the class
- Able to change values of properties & add new
properties
Frame Name: Tweety
Class: Bird

Properties: Colour Yellow


Eats Worms
No._Wings 1
Flies False
Hungry Unknown
Activity Unknown
Lives Cage
3. Frame Inheritance
- Instance frame inherits Bird
information from its subclass Class Animal
frame and also its class. Color Unknown
- Inheritance of behavior, facet Eats Worms
-Ease coding & modification No._Wings 2
Of information Flies True
Hungry Unknown
Activity Unknown
Penguin
Canary
Class Bird
Class Bird
Color Black-white
Color Unknown
Eats Fish
Eats Worms
No._Wings 2
No._Wings 2
Flies False
Flies True
Hungry Unknown
Hungry Unknown
Activity Unknown
Activity Unknown
Lives South_pole
A Frame Representation-types and
instances and defaults….

Mammals
Legs: 4

AKA AKA AKA

Humans Lions Bats


Legs: 2 Legs: 2
IS-A IS-A IS-A

Jim John Bibi


Age:27 Age:16
Implications of Inheritance
• Determination of properties of instances
involves a search of the semantic-network
graph
• Default reasoning is enabled
– high-level nodes can have values that are
inherited by many lower-level nodes unless these
values are overridden
– Exceptions imply a nonmonotonic logic
• Multiple inheritance is possible, but might be
ambiguous when conflicts occur
- Exception handling
- Frame has property value unique to itself must be explicitly encoded
-Multiple inheritance
- It is natural to discuss objects as they relate to different worlds
- An instance can inherit information from different parent
- Frame structure takes form of a network

Men Employee
Age Unknown Phone Unknown
Weight Unknown Salary Unknown

Jack
Age 30
Weight 78kg
Phone 123456
Salary 12345
4. Facets
- Provide additional control over property values & operation of
the system
- Constraint on property values
limit a numeric property value to a range
restrict data type to Boolean, string or numeric
- Instruction to a property how to obtain value or make reaction to
changed value
- Types of facets
- Type: defines the type of value that can be associated with the property
- Default: defines a default value
- Documentation: provides a documentation of the property
- Constraint: defines the allowable values
- Minimum cardinality: establishes the minimum number of values a
property can have
- Maximum cardinality:
- If-needed: specifies action to be taken if the property’s value is needed
- If-changed: ……... changed
6. Rule interaction
- Hybrid system: combine frames and rules for KR
- Pattern matching, variables are used for locating matching
conditions among all frames, ?X, ?Age

Humans

Jack Lucy Bob


Legs 1 Legs 2 Legs 2
Age 35 Age 30 Age 33
Sex Male Sex Female Sex Male
Residence Belfast Residence Belfast Residence Dublin
Sports Swim Sports Hiking Sports Hiking
Likes Unknown Likes Unknown Likes Unknown

Frame ?X Frame: JACK Frame: Lucy


instance-of HUMANS instance-of HUMANS instance-of HUMANS
WITH Residence = Belfast Residence = Belfast Residence = Belfast
WITH Age = ?Age Age = 35 Age = 30
Populating a frame :Example

• Frame: patient
– Attribute1: Patient Name.
– Associated action: if the name is unknown
then create a new folder if not, take the
already existing folder.
– Attribute2: current date.
– Associated action: if the patient is known
then calculate the time interval from the last
visit.
• Etc.
Advantages of Frames
• Classes and instances organize a flat
knowledge base (unlike FOL) by introducing
structure on an epistemological level
– E.g., specialization of subclasses through
restriction of a range of values for a property
• Simple; easy to understand
• Inheritance is captured in a natural, modular
fashion
• Efficient inference (e.g., for validation) by
following links, compared to standard logics
Problems with Frames
• Negation cannot be represented
– Jim does not have pneumonia
• Disjunction cannot be represented naturally
– Jim has Mumps or Rubella
• Qualification is not a part of the language
– All of Jim’s diseases are infectious
=> Thus, procedural attachments are often added
• The semantics of the links are often not well
defined [“What’s in a Link,” Woods, 1975]
Rule-based Frame-based
Rule 1 Frame - Boiler
IF Boiler pressure < 50 Temperature
AND Boiler water level < 3 Water level
THEN Add water to boiler Condition

Rule 2 IF Boiler:Temperature>300
IF Boiler temperature > 300 AND Boiler:Water_level >5
AND Boiler water level > 5 THEN Boiler:Condition = normal
THEN Boiler condition normal

- Disadvantages:
Departures from prototypes
Accommodation of new situations
Detailing heuristic knowledge
7. Summarizing Advantages & Disadvantages
(Frames vs. Rules)

Features Rule-based Frame-based


Organization of facts scattered in KB related facts collected and
knowledge (but easy to add) represented within a single frame

Inheritance no inheritance Yes-a frame trade-mark

Inference process general rules & PM general rules & pattern matching
can be slow PM fast

Objects Facets & Message-Passing


communication
The Advanced Course: Description
Logics
• A subset of FOL designed to focus on
categories and their definitions in terms of
existing relations
• More expressive than semantic networks
• Major inference tasks:
– Subsumption (is category C1 a subset of C2?)
– Classification (Does Object O belong to C?)
Critical Factors in M-DDS Failures
(after Berner, Luger and Stubblefield)
– Impossibility of developing an adequate database
– Lack of an effective set of decision rules (no end)
– Lack of “deep” (causal) knowledge of the domain (i.e.
systems do not understand physiology)
- Lack of robustness & flexibility. If the knowledge base is
unable to deal with a problem or query not contained
within it, it is unable to resolve or adapt a strategy.
- Unable to provide deep explanations
- Problems in verification
- DSS, in general (unless allied in a hybrid to a CBR, classifier
or neural networks) do not learn from their experience
Arden Syntax and Medical Logic Module

• EMYCIN has been used successfully to develop other systems.


But has been overtaken by other approaches such as Medical
Logic Modules.
– An industry standard maintained by Health Level 7 Org
• Organize decision knowledge as a collection of procedural rules
(MLMs) that can be triggered by events
• Each MLM designed to model knowledge required to make a
single medical decision such as:
– Contraindication alerts, management suggestions, data interpretations,
treatment protocols, and diagnosis scores
• Complex things such as guidelines represented as a collection of
MLMs
Summary

• There are multiple representation formalisms


• Frames are a type of semantic networks
• A fundamental tradeoff exists in all
formalisms [Levesque and Brachman, 1984],
between:
– 1. Expressive power of a representation language
– 2. computational tractability of inference with it
References
• Yuval Shahar, “Frame-Based Representations and Description Logics” Temporal Reasoning and Planning in Medicine
http://www.ise.bgu.ac.il/courses/trp/1,

You might also like