Siemens medical Solutions that help Linguistic Variables with Arden Syntax Fuzzy Logical Extensions...

Preview:

Citation preview

Siemens medical Solutions that help

Linguistic Variables with Arden Syntax

Fuzzy Logical Extensions to the Arden Syntax

Sven Tiffe Siemens Medical Solutions Sven.Tiffe@siemens.comBD 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², Sven.Tiffe@siemens.com

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², Sven.Tiffe@siemens.com

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², Sven.Tiffe@siemens.com

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², Sven.Tiffe@siemens.com

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², Sven.Tiffe@siemens.com

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², Sven.Tiffe@siemens.com

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², Sven.Tiffe@siemens.com

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², Sven.Tiffe@siemens.com

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², Sven.Tiffe@siemens.com

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², Sven.Tiffe@siemens.com

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², Sven.Tiffe@siemens.com

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², Sven.Tiffe@siemens.com

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², Sven.Tiffe@siemens.com

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², Sven.Tiffe@siemens.com

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², Sven.Tiffe@siemens.com

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², Sven.Tiffe@siemens.com

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², Sven.Tiffe@siemens.com

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², Sven.Tiffe@siemens.com

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², Sven.Tiffe@siemens.com

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², Sven.Tiffe@siemens.com

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², Sven.Tiffe@siemens.com

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², Sven.Tiffe@siemens.com

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², Sven.Tiffe@siemens.com

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², Sven.Tiffe@siemens.com

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², Sven.Tiffe@siemens.com

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², Sven.Tiffe@siemens.com

Fan control:sample MLMs

Recommended