siemens medical solutions that help linguistic variables with arden syntax fuzzy logical extensions...

28
ens medical Solutions that help Linguistic Variables with Arden Syntax Fuzzy Logical Extensions to the Arden Syntax Sven Tiffe Siemens Medical Solutions [email protected] BD XPL² Henkestr. 127 D-91052 Erlangen Germany

Upload: logan-waddell

Post on 27-Mar-2015

219 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Siemens medical Solutions that help Linguistic Variables with Arden Syntax Fuzzy Logical Extensions to the Arden Syntax Sven TiffeSiemens Medical Solutions

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

Page 2: Siemens medical Solutions that help Linguistic Variables with Arden Syntax Fuzzy Logical Extensions to the Arden Syntax Sven TiffeSiemens Medical Solutions

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

Page 3: Siemens medical Solutions that help Linguistic Variables with Arden Syntax Fuzzy Logical Extensions to the Arden Syntax Sven TiffeSiemens Medical Solutions

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

Page 4: Siemens medical Solutions that help Linguistic Variables with Arden Syntax Fuzzy Logical Extensions to the Arden Syntax Sven TiffeSiemens Medical Solutions

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

Page 5: Siemens medical Solutions that help Linguistic Variables with Arden Syntax Fuzzy Logical Extensions to the Arden Syntax Sven TiffeSiemens Medical Solutions

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

Page 6: Siemens medical Solutions that help Linguistic Variables with Arden Syntax Fuzzy Logical Extensions to the Arden Syntax Sven TiffeSiemens Medical Solutions

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:

Page 7: Siemens medical Solutions that help Linguistic Variables with Arden Syntax Fuzzy Logical Extensions to the Arden Syntax Sven TiffeSiemens Medical Solutions

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

Page 8: Siemens medical Solutions that help Linguistic Variables with Arden Syntax Fuzzy Logical Extensions to the Arden Syntax Sven TiffeSiemens Medical Solutions

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)”

Page 9: Siemens medical Solutions that help Linguistic Variables with Arden Syntax Fuzzy Logical Extensions to the Arden Syntax Sven TiffeSiemens Medical Solutions

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’;

Page 10: Siemens medical Solutions that help Linguistic Variables with Arden Syntax Fuzzy Logical Extensions to the Arden Syntax Sven TiffeSiemens Medical Solutions

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>

Page 11: Siemens medical Solutions that help Linguistic Variables with Arden Syntax Fuzzy Logical Extensions to the Arden Syntax Sven TiffeSiemens Medical Solutions

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; … …

Page 12: Siemens medical Solutions that help Linguistic Variables with Arden Syntax Fuzzy Logical Extensions to the Arden Syntax Sven TiffeSiemens Medical Solutions

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

Page 13: Siemens medical Solutions that help Linguistic Variables with Arden Syntax Fuzzy Logical Extensions to the Arden Syntax Sven TiffeSiemens Medical Solutions

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.

Page 14: Siemens medical Solutions that help Linguistic Variables with Arden Syntax Fuzzy Logical Extensions to the Arden Syntax Sven TiffeSiemens Medical Solutions

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

Page 15: Siemens medical Solutions that help Linguistic Variables with Arden Syntax Fuzzy Logical Extensions to the Arden Syntax Sven TiffeSiemens Medical Solutions

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

Page 16: Siemens medical Solutions that help Linguistic Variables with Arden Syntax Fuzzy Logical Extensions to the Arden Syntax Sven TiffeSiemens Medical Solutions

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

Page 17: Siemens medical Solutions that help Linguistic Variables with Arden Syntax Fuzzy Logical Extensions to the Arden Syntax Sven TiffeSiemens Medical Solutions

Siemens medical Solutions that help

Backup slides

Page 18: Siemens medical Solutions that help Linguistic Variables with Arden Syntax Fuzzy Logical Extensions to the Arden Syntax Sven TiffeSiemens Medical Solutions

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

Page 19: Siemens medical Solutions that help Linguistic Variables with Arden Syntax Fuzzy Logical Extensions to the Arden Syntax Sven TiffeSiemens Medical Solutions

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

Page 20: Siemens medical Solutions that help Linguistic Variables with Arden Syntax Fuzzy Logical Extensions to the Arden Syntax Sven TiffeSiemens Medical Solutions

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

Page 21: Siemens medical Solutions that help Linguistic Variables with Arden Syntax Fuzzy Logical Extensions to the Arden Syntax Sven TiffeSiemens Medical Solutions

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

Page 22: Siemens medical Solutions that help Linguistic Variables with Arden Syntax Fuzzy Logical Extensions to the Arden Syntax Sven TiffeSiemens Medical Solutions

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

Page 23: Siemens medical Solutions that help Linguistic Variables with Arden Syntax Fuzzy Logical Extensions to the Arden Syntax Sven TiffeSiemens Medical Solutions

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

Page 24: Siemens medical Solutions that help Linguistic Variables with Arden Syntax Fuzzy Logical Extensions to the Arden Syntax Sven TiffeSiemens Medical Solutions

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

Page 25: Siemens medical Solutions that help Linguistic Variables with Arden Syntax Fuzzy Logical Extensions to the Arden Syntax Sven TiffeSiemens Medical Solutions

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

Page 26: Siemens medical Solutions that help Linguistic Variables with Arden Syntax Fuzzy Logical Extensions to the Arden Syntax Sven TiffeSiemens Medical Solutions

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

Page 27: Siemens medical Solutions that help Linguistic Variables with Arden Syntax Fuzzy Logical Extensions to the Arden Syntax Sven TiffeSiemens Medical Solutions

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

Page 28: Siemens medical Solutions that help Linguistic Variables with Arden Syntax Fuzzy Logical Extensions to the Arden Syntax Sven TiffeSiemens Medical Solutions

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