Upload
logan-waddell
View
219
Download
0
Tags:
Embed Size (px)
Citation preview
Siemens medical Solutions that help
Linguistic Variables with Arden Syntax
Fuzzy Logical Extensions to the Arden Syntax
Sven Tiffe Siemens Medical Solutions [email protected] XPL²Henkestr. 127D-91052 ErlangenGermany
2
© 2
001
Sie
men
s M
edic
al S
olut
ions
Siemens medical Solutions that help Sven Tiffe, MED BD XPL², [email protected]
Proposed extensions – so far
Extensions based on fuzzy theoretical concepts Comparison operators:
fuzzy comparison by one or two additional parameters (binary orternary operators)
Truth values: gradual transition from false to true Data types: additional attribute “fuzziness” to measure fuzzy
context of data creation Arden operators: every operator is can handle data with
“fuzziness” or fuzzy truth values
3
© 2
001
Sie
men
s M
edic
al S
olut
ions
Siemens medical Solutions that help Sven Tiffe, MED BD XPL², [email protected]
Capabilities – so far
Fuzzily defined selection criteria and conditions by fuzzy comparison operators
Processing of measured “fuzziness” Fuzzy if-then statements Fuzzy logical operators Aggregation operators Defuzzification
Fuzzy sets for fuzzy comparisons have to be defined each time they are used
4
© 2
001
Sie
men
s M
edic
al S
olut
ions
Siemens medical Solutions that help Sven Tiffe, MED BD XPL², [email protected]
Concept of Linguistic Variables
Description of the relationship between abstract concepts (terms) and (numeric) data Name of linguistic variable Values (terms) described by fuzzy set Example: “temperature”
Independent from terminology
(1) pronounced hypothermia(2) deep hypothermia(3) moderate hypothermia(4) slight hypothermia(5) normal(6) subfebrile(7) moderate fever(8) high fever
5
© 2
001
Sie
men
s M
edic
al S
olut
ions
Siemens medical Solutions that help Sven Tiffe, MED BD XPL², [email protected]
Usage
Fuzzy control systems Evaluation in TOSCA project in addition to a commercial
fuzzy control system
Usable as linguistic expressions in algorithms, e.g.: if temperature is ’subfebrile’ then
if weight is ’normal’ and blood_pressure is ’increased’ then
Auh
tors
: G
. Z
ahlm
ann,
Sie
men
s, a
nd M
. S
cher
f, G
SF
6
© 2
001
Sie
men
s M
edic
al S
olut
ions
Siemens medical Solutions that help Sven Tiffe, MED BD XPL², [email protected]
Representation using fuzzy comparisons
“temperature is normal” could be defined as:
The fuzzy set has to be (re)defined for every usage.
temp_sf := temp is within 36.8 fuzzified by 0.8 to 37.1 fuzzified by 0.5;
temp_sf := temp is ‘normal;
temp := liguistic variable ‘temperature’;
Define linguistic variable separately:
And compare to term instead compare to numeric values:
7
© 2
001
Sie
men
s M
edic
al S
olut
ions
Siemens medical Solutions that help Sven Tiffe, MED BD XPL², [email protected]
Representation as MLM
Each linguistic variable represented by one MLM Slots in knowledge category:
type: linguistic variable values: single terms of LV as Arden terms input: input value(s) for this variable
• numerical data from read statement
• linguistic variable as result from other MLMs
defuzzification: method for defuzzification (optional) range: range of valid (numerical) input/output value unit: natural language unit of (numeric) data as Arden term sets: fuzzy sets for every single term
8
© 2
001
Sie
men
s M
edic
al S
olut
ions
Siemens medical Solutions that help Sven Tiffe, MED BD XPL², [email protected]
Example linguistic variable
1.0
0.0
m(x)
mmHg0 10 20 30 40
normal increased
Linguistic variable “Intraocular Pressure (IOP)”
9
© 2
001
Sie
men
s M
edic
al S
olut
ions
Siemens medical Solutions that help Sven Tiffe, MED BD XPL², [email protected]
Usage – declaration
Input variables are initialized: input slot gets executed in these MLMs
Output variables are not initialized
CDR
diff_lr
IOP
le
normotens_glauco
:= init linguistic variable 'LV_CDR';
:= init linguistic variable 'LV_diff_lr';
:= init linguistic variable 'LV_IOP';
:= init linguistic variable 'LV_le';
:= linguistic variable 'LV_ normotens_glauco’;
10
© 2
001
Sie
men
s M
edic
al S
olut
ions
Siemens medical Solutions that help Sven Tiffe, MED BD XPL², [email protected]
Usage – evaluation, value assignment
Comparison between linguistic variable and term<id> IS <term>returns a fuzzy truth value
Assign term to a linguistic variable (with optional weight)SET <id> TO <term> (WITH <number>) Value is influenced by “fuzziness” of code block (condition)
if (CDR is ‘normal' and diff_lr is 'normal' and IOP is 'normal‘
and le is ‘centered’) then
set normotens_glauco to ‘nowith 1.0;
endif;
Get numerical value by defuzzificationDEFUZZIFY <id>
11
© 2
001
Sie
men
s M
edic
al S
olut
ions
Siemens medical Solutions that help Sven Tiffe, MED BD XPL², [email protected]
Example: Rule block in DIADEM project
knowledge: type: data-driven;; data: (CDR, diff_lr, IOP, le) := argument; if CDR is null then /* if module not used with arguments */ CDR := init linguistic variable 'LV_CDR'; diff_lr := init linguistic variable 'LV_diff_lr'; IOP := init linguistic variable 'LV_IOP'; le := init linguistic variable 'LV_le'; endif; normotens_glauco := linguistic variable 'LV_normotens_glauco'; ;; evoke: /* direct call */;; logic: if (CDR is 'normal' AND diff_lr is 'normal' AND IOP is 'normal' AND le is 'centered') then set normotens_glauco to 'no' with 1.0; endif; if (CDR is 'normal' AND diff_lr is 'normal' AND IOP is 'normal' AND le is 'tempinferior') then set normotens_glauco to 'yes' with 0.398; endif; if (CDR is 'normal' AND diff_lr is 'normal' AND IOP is 'normal' AND le is 'tempsuperior') then set normotens_glauco to 'yes' with 0.398; endif; … …
12
© 2
001
Sie
men
s M
edic
al S
olut
ions
Siemens medical Solutions that help Sven Tiffe, MED BD XPL², [email protected]
Evaluation
CADIAG-II/RHEUMA: expert system with large knowledge base (about 3000 MLMs); using basically fuzzy comparisons and logical operators, but is based (and thus extendable) on linguistic variables
TOSCA: fuzzy control rule set for glaucoma screening, 17 linguistic variables and 11 production rule blocks; using linguistic variables
Hypertension guideline (University Pierre & Marie Curi, Medical School, Paris); using fuzzy comparisons [1]
[1] MC Jaulent, et.al., Modeling uncertainty in computerized guidelines using fuzzy logic, proceedings of AMIA symposium 2001
13
© 2
001
Sie
men
s M
edic
al S
olut
ions
Siemens medical Solutions that help Sven Tiffe, MED BD XPL², [email protected]
Conclusion – Linguistic Variables
Pluses Formalization of relationship between terms and data Centralized definition Arden knowledge bases describe relationship between data
and linguistic concepts, independently from terminology No need to define fuzzy sets in each MLM, where the fuzzy
set (term) is used
Minuses Additional data type – how shall Arden operators handle
these variable? (similar problem to usage of “object” variables) So far, no additional operator uses these values.
14
© 2
001
Sie
men
s M
edic
al S
olut
ions
Siemens medical Solutions that help Sven Tiffe, MED BD XPL², [email protected]
Summary
Integration fuzzy theoretical concepts Fuzzy comparison operators (applying concept of fuzzy sets) Fuzzy truth values Linguistic variables
Not a fuzzy mathematical framework – only slight modifications to the programming language
Yes, it runs! Evaluation
Large knowledge bases in different projects (CADIAG, DIADEM)
Small knowledge bases or single rules have still to be defined
15
© 2
001
Sie
men
s M
edic
al S
olut
ions
Siemens medical Solutions that help Sven Tiffe, MED BD XPL², [email protected]
Summary, cont.
Other uncertainty models “Fuzzy logic” is not the only model to represent uncertainty
(probabilistic approaches, Demster-Shafer, neuronal nets) But: fuzzy logical extensions are easy embeddable in a
procedural and rule based environment like Arden
Additional data attribute “uncertainty” has to be handled by every operator Linguistic variables result in an entirely new data type
• Extension of every single operator
• Do not modify operators and ignore these data types
Similar problem: introduction of object oriented data types
16
© 2
001
Sie
men
s M
edic
al S
olut
ions
Siemens medical Solutions that help Sven Tiffe, MED BD XPL², [email protected]
Outlook
Context dependent linguistic variables Crisp fuzzy set selection by selection criteria (e.g., sex,
pregnancy) Two-dimensional fuzzy sets
• fuzzy sets are dependent on fuzzily defined patient age range
Results of evaluation
Siemens medical Solutions that help
Backup slides
18
© 2
001
Sie
men
s M
edic
al S
olut
ions
Siemens medical Solutions that help Sven Tiffe, MED BD XPL², [email protected]
Example: fuzzy fan control
Production rules: If temperature is cool set speed to slow If temperature is moderate set speed to medium If temperature is hot set speed to fast
Linguistic variables:
1.0
0.0
m(x)
°C10 20 30 40
cool hot
Linguistic variable “temperature”
moderate1.0
0.0
m(x)
RPM1000 2000 3000 4000
Linguistic variable “speed”
slow medium fast
19
© 2
001
Sie
men
s M
edic
al S
olut
ions
Siemens medical Solutions that help Sven Tiffe, MED BD XPL², [email protected]
Fan control: input fuzzification
Assume, measured temperature is 28°C
Temperature is cool: 0.00 Temperature is moderate: 0.40 Temperature is hot: 0.60
1.0
0.0
m(x)
°C10 20 30 40
cool hot
Linguistic variable “temperature”
moderate
20
© 2
001
Sie
men
s M
edic
al S
olut
ions
Siemens medical Solutions that help Sven Tiffe, MED BD XPL², [email protected]
Fan control: production rules
If temperature is cool set speed to slow
As temperature is definitely not cool, speed has not value slow
1.0
0.0
m(x)
°C10 20 30 40
cool hot
Linguistic variable “temperature”
moderate1.0
0.0
m(x)
RPM1000 2000 3000 4000
Linguistic variable “speed”
slow medium fast
21
© 2
001
Sie
men
s M
edic
al S
olut
ions
Siemens medical Solutions that help Sven Tiffe, MED BD XPL², [email protected]
Fan control: production rules
If temperature is moderate set speed to medium
Speed is set to medium by a degree of 0.40
1.0
0.0
m(x)
°C10 20 30 40
cool hot
Linguistic variable “temperature”
moderate1.0
0.0
m(x)
RPM1000 2000 3000 4000
Linguistic variable “speed”
slow medium fast
22
© 2
001
Sie
men
s M
edic
al S
olut
ions
Siemens medical Solutions that help Sven Tiffe, MED BD XPL², [email protected]
Fan control: production rules
If temperature is hot set speed to fast
Speed is set to fast by a degree of 0.60
1.0
0.0
m(x)
°C10 20 30 40
cool hot
Linguistic variable “temperature”
moderate1.0
0.0
m(x)
RPM1000 2000 3000 4000
Linguistic variable “speed”
slow medium fast
23
© 2
001
Sie
men
s M
edic
al S
olut
ions
Siemens medical Solutions that help Sven Tiffe, MED BD XPL², [email protected]
Fan control: output value
The output variable “speed” has the value (0.0, 0.4, 0.6)
In order to control the fan speed, the linguistic variable has to be defuzzified
1.0
0.0
m(x)
RPM1000 2000 3000 4000
Linguistic variable “speed”
slow medium fast
24
© 2
001
Sie
men
s M
edic
al S
olut
ions
Siemens medical Solutions that help Sven Tiffe, MED BD XPL², [email protected]
Fan control: defuzzification Center of Gravity:
2600,1 RPM Center of Maximum:
2600 RPM Mean of Maximum:
3000 RPM
The examples have been computed using fuzzyTECH® 5.51
25
© 2
001
Sie
men
s M
edic
al S
olut
ions
Siemens medical Solutions that help Sven Tiffe, MED BD XPL², [email protected]
Fan control: sample MLMs
26
© 2
001
Sie
men
s M
edic
al S
olut
ions
Siemens medical Solutions that help Sven Tiffe, MED BD XPL², [email protected]
Fan control:sample MLMs
27
© 2
001
Sie
men
s M
edic
al S
olut
ions
Siemens medical Solutions that help Sven Tiffe, MED BD XPL², [email protected]
Fan control:sample MLMs
28
© 2
001
Sie
men
s M
edic
al S
olut
ions
Siemens medical Solutions that help Sven Tiffe, MED BD XPL², [email protected]
Fan control:sample MLMs