Masinprojekteerimine * A.Kalja * Arvutitehnika instituut 4.3 Xpert - an inductive expert system...

27
Masinprojekteerimine * A.Kalja * Arvutitehnika instituut Xpert - an inductive expert system she (full course) troduction nductive knowledge syntheses eneral description of Xpert subsystem pert menu and corresponding actions rking with system in expert mode pecification of the attributes dding examples hanges in expert knowledge base ecision tree rivation mechanism xpertsystem and computat. model connect he types of of attributes and actions oining expert knowledge bases pertsystem and computat. model cooperat odes of cooperations he concept expert ditional information he structure of expert knowledge file estrictions rror messages

Transcript of Masinprojekteerimine * A.Kalja * Arvutitehnika instituut 4.3 Xpert - an inductive expert system...

Page 1: Masinprojekteerimine * A.Kalja * Arvutitehnika instituut 4.3 Xpert - an inductive expert system shell (full course) 1. Introduction 1.1 Inductive knowledge.

Masinprojekteerimine * A.Kalja * Arvutitehnika instituut

4.3 Xpert - an inductive expert system shell(full course)

1. Introduction1.1 Inductive knowledge syntheses1.2 General description of Xpert subsystem1.3 Xpert menu and corresponding actions2. Working with system in expert mode2.1 Specification of the attributes 2.2 Adding examples2.3 Changes in expert knowledge base2.4 Decision tree3. Derivation mechanism3.1 Expertsystem and computat. model connections3.2 The types of of attributes and actions 3.3 Joining expert knowledge bases4. Expertsystem and computat. model cooperation4.1 Modes of cooperations4.2 The concept expert5. Additional information5.1 The structure of expert knowledge file5.2 Restrictions5.3 Error messages

Page 2: Masinprojekteerimine * A.Kalja * Arvutitehnika instituut 4.3 Xpert - an inductive expert system shell (full course) 1. Introduction 1.1 Inductive knowledge.

Masinprojekteerimine * A.Kalja * Arvutitehnika instituut

Knowledgebase

Inferenceengine User

Architecture of expert system

Structuredinformation

Unstructuredinformation

Conventional calculations

Expert-systems

Human thinkingprocess

Expertsystem as a bridge

Expert systems

Page 3: Masinprojekteerimine * A.Kalja * Arvutitehnika instituut 4.3 Xpert - an inductive expert system shell (full course) 1. Introduction 1.1 Inductive knowledge.

Masinprojekteerimine * A.Kalja * Arvutitehnika instituut

Deductive ja inductivelearning

Deductive learning: Rules are given, which are correct in general case. Derivation of the situation or behavior, what is right for the individual case.

If … Then …If … Then …Kui … Siis ...Kui … Siis ...

If the shop is located in the old downIf the shop is located in the old down Then you have problems with transportThen you have problems with transport

Inductive learning: A set of examples are givenabout typical situations or decisions. The general rule is found using these examples.

Rules depends *from the algorithm of of the inference engine

*from the amount of examples

If the algorithm is “effective” and the number ofexamples is “informative”, then the result isa “good” rule.

Page 4: Masinprojekteerimine * A.Kalja * Arvutitehnika instituut 4.3 Xpert - an inductive expert system shell (full course) 1. Introduction 1.1 Inductive knowledge.

Masinprojekteerimine * A.Kalja * Arvutitehnika instituut

Page 5: Masinprojekteerimine * A.Kalja * Arvutitehnika instituut 4.3 Xpert - an inductive expert system shell (full course) 1. Introduction 1.1 Inductive knowledge.

Masinprojekteerimine * A.Kalja * Arvutitehnika instituut

Expert System Shell Xpert

To build an expert system means to create an expertknowledge base i.e. to specify a number of examplesabout how the expert system will behave in solving problems of the given domain. If a problem can bedescribed by means of the attributes A,B,C,…,RESULT, then the examples have the following meaning:

IF A=a1 AND B=b1 AND C=c1 AND … THEN RESULT=r1IF A=a2 AND B=b2 AND C=c2 AND … THEN TULEMUS=r2etc.

Example:If the road is dry and the visibility is more than 100 m,the advisable speed is not more than 90 km/h;If the road is dry and the visibility is less than 100 m,then-not more than 80 km/h;If the road is wet and the visibility is more than 100 m,then-not more than 90 km/h;If the road is wet and the visibility is less than 100 m,then-not more than 70 km/h;If the road is sleety, then-not more than 50 km/h.

Page 6: Masinprojekteerimine * A.Kalja * Arvutitehnika instituut 4.3 Xpert - an inductive expert system shell (full course) 1. Introduction 1.1 Inductive knowledge.

Masinprojekteerimine * A.Kalja * Arvutitehnika instituut

Basic concepts

Attribute - a factor or feature of the problem under consideration. It has a name, values and it can also have a related text. An attribute can also express a solution of a problem, e.g. "Accept the candidate for the job". In this case the attribute is called a result attribute.

Example – a condition with a certain conclusion. The conclusion can be a decision, a diagnosis, a piece of advice, etc. Each example describesa particular situation. If in a certain situation there are some factors with no influence to the conclusion, then the appropriate example has special don't care values (“-") corresponding to these attributes.

Expert knowledge base – For describing a problem, usually a set of examples is needed. This set of examples is called expert knowledge base.

Page 7: Masinprojekteerimine * A.Kalja * Arvutitehnika instituut 4.3 Xpert - an inductive expert system shell (full course) 1. Introduction 1.1 Inductive knowledge.

Masinprojekteerimine * A.Kalja * Arvutitehnika instituut

Page 8: Masinprojekteerimine * A.Kalja * Arvutitehnika instituut 4.3 Xpert - an inductive expert system shell (full course) 1. Introduction 1.1 Inductive knowledge.
Page 9: Masinprojekteerimine * A.Kalja * Arvutitehnika instituut 4.3 Xpert - an inductive expert system shell (full course) 1. Introduction 1.1 Inductive knowledge.

Masinprojekteerimine * A.Kalja * Arvutitehnika instituut

Page 10: Masinprojekteerimine * A.Kalja * Arvutitehnika instituut 4.3 Xpert - an inductive expert system shell (full course) 1. Introduction 1.1 Inductive knowledge.
Page 11: Masinprojekteerimine * A.Kalja * Arvutitehnika instituut 4.3 Xpert - an inductive expert system shell (full course) 1. Introduction 1.1 Inductive knowledge.
Page 12: Masinprojekteerimine * A.Kalja * Arvutitehnika instituut 4.3 Xpert - an inductive expert system shell (full course) 1. Introduction 1.1 Inductive knowledge.
Page 13: Masinprojekteerimine * A.Kalja * Arvutitehnika instituut 4.3 Xpert - an inductive expert system shell (full course) 1. Introduction 1.1 Inductive knowledge.
Page 14: Masinprojekteerimine * A.Kalja * Arvutitehnika instituut 4.3 Xpert - an inductive expert system shell (full course) 1. Introduction 1.1 Inductive knowledge.

Masinprojekteerimine * A.Kalja * Arvutitehnika instituut

Page 15: Masinprojekteerimine * A.Kalja * Arvutitehnika instituut 4.3 Xpert - an inductive expert system shell (full course) 1. Introduction 1.1 Inductive knowledge.
Page 16: Masinprojekteerimine * A.Kalja * Arvutitehnika instituut 4.3 Xpert - an inductive expert system shell (full course) 1. Introduction 1.1 Inductive knowledge.
Page 17: Masinprojekteerimine * A.Kalja * Arvutitehnika instituut 4.3 Xpert - an inductive expert system shell (full course) 1. Introduction 1.1 Inductive knowledge.
Page 18: Masinprojekteerimine * A.Kalja * Arvutitehnika instituut 4.3 Xpert - an inductive expert system shell (full course) 1. Introduction 1.1 Inductive knowledge.
Page 19: Masinprojekteerimine * A.Kalja * Arvutitehnika instituut 4.3 Xpert - an inductive expert system shell (full course) 1. Introduction 1.1 Inductive knowledge.

Masinprojekteerimine * A.Kalja * Arvutitehnika instituut

Cooperation between Expertsystem and Solver

road visibility ? < RESULT

1 dry over 100 m speed=[km/h] speed<=90 correct speed2 dry over 100 m speed=[km/h] speed>90 wrong speed3 dry less than 100m speed=[km/h] speed<=80 correct speed4 dry less than 100m speed=[km/h] speed>80 wrong speed

...

There exists 4 types of attributes:- choice attribute- RESULT attribute- message attribute- comparison attribute

Chaining expert knowledge bases.

RESULT attribute can have a value#<name_of_expert_KB>#road2.exp

Page 20: Masinprojekteerimine * A.Kalja * Arvutitehnika instituut 4.3 Xpert - an inductive expert system shell (full course) 1. Introduction 1.1 Inductive knowledge.

Masinprojekteerimine * A.Kalja * Arvutitehnika instituut

Optimization of expert knowledge

Example:

HEIGTH HAIREYESResult1 short blond blue +2 tall blond brown -3 tall red blue +4 short dark blue -5 tall dark blue -6 tall blond blue +7 tall dark brown -8 short blond brown -

Page 21: Masinprojekteerimine * A.Kalja * Arvutitehnika instituut 4.3 Xpert - an inductive expert system shell (full course) 1. Introduction 1.1 Inductive knowledge.

Masinprojekteerimine * A.Kalja * Arvutitehnika instituut

HEIGTH

HAIR HAIR

short tall

EYES

blond dark blond red dark

EYES- + -

blue brown brown blue

+ +- -

HAIR

blond red dark

EYES +

+

blue brown

-

-

Page 22: Masinprojekteerimine * A.Kalja * Arvutitehnika instituut 4.3 Xpert - an inductive expert system shell (full course) 1. Introduction 1.1 Inductive knowledge.

Masinprojekteerimine * A.Kalja * Arvutitehnika instituut

Algoritm ID3 (Iterative Dichotomizer 3)Ross Quinlan 1979

Let we have a set of examples and a set of attributes.

The informative value of the set of the examples (about result attribute) is:

Io=-Σ pilog2pi , where pi is proportion of theresult of I class.

We can find the informative value of the attributeI1= Σ qnin , where qn is proportion of the

examples with value n.

Algorithm selects an attribute whose valueis the maximum of the following subtraction:

Io-I1

Page 23: Masinprojekteerimine * A.Kalja * Arvutitehnika instituut 4.3 Xpert - an inductive expert system shell (full course) 1. Introduction 1.1 Inductive knowledge.

Masinprojekteerimine * A.Kalja * Arvutitehnika instituut

Example: knowledge base with 8 examples

I0=-3/8log23/8-5/8log25/8=0.954I(heigth=tall)= -2/5log22/5-3/5log23/5=0.971I(heigth=short)= -1/3log21/3-2/3log22/3=0.918

Iheigth=5/8*0.971+3/8*0.918=0.951

I0-Iheigth =0.954-0.951= 0.003

Ihair=3/8*0+1/8*0+4/8*1=0.5

I0-Ihair =0.954-0.5= 0.454

I0-Ieyes=0.954-0.607= 0.347

hair

blond red dark

eyes + -

blue brown

Max! – derivationalstem is hair

+ -

Page 24: Masinprojekteerimine * A.Kalja * Arvutitehnika instituut 4.3 Xpert - an inductive expert system shell (full course) 1. Introduction 1.1 Inductive knowledge.

Masinprojekteerimine * A.Kalja * Arvutitehnika instituut

Fail XTREE.$$$

Expert knowledge base name:

HAIR:

blond -> EYES:

blue -> RESULT:+

brown -> RESULT:-

red -> RESULT:+

dark -> RESULT:-

End of tree

Page 25: Masinprojekteerimine * A.Kalja * Arvutitehnika instituut 4.3 Xpert - an inductive expert system shell (full course) 1. Introduction 1.1 Inductive knowledge.

Masinprojekteerimine * A.Kalja * Arvutitehnika instituut

HEIGT HAIR EYESResult1 short blond blue +2 tall blond brown -3 tall red blue +4 - dark blue -5 tall blond blue +6 tall dark brown -7 short blond brown -

HEIGTH HAIR EYESHEALTH Result1 - - - sick -2 short blond blue okey +3 tall blond brown okey -4 tall red blue - +5 - dark blue okey -6 tall blond blue okey +7 tall dark brown okey -8 short blond brown okey -

Clashing examples:1 4

Save with clashes? (Y/N)

Optimization of expert knowledge

Page 26: Masinprojekteerimine * A.Kalja * Arvutitehnika instituut 4.3 Xpert - an inductive expert system shell (full course) 1. Introduction 1.1 Inductive knowledge.

Masinprojekteerimine * A.Kalja * Arvutitehnika instituut

Xpert and Solver interface

Solver Xpert

I

calculations ?results

IIcalculations

results

Concept expert:ex_base textresult undefinedex_base -> result {modexp}

Page 27: Masinprojekteerimine * A.Kalja * Arvutitehnika instituut 4.3 Xpert - an inductive expert system shell (full course) 1. Introduction 1.1 Inductive knowledge.

Masinprojekteerimine * A.Kalja * Arvutitehnika instituut

ROAD.EXP

ROAD RESULTglazed frost 0.1trampled snow 0.2slushy snow 0.3frozen snow 0.4splash 0.3wet and dusty 0.4wet asphalt 0.5dry gravel 0.6dry asphalt 0.7

!mi speed!mi react_timeacceleration=-9.81*fr_factorROAD expert ex_base=‘ROAD’ result=fr_factorR move [km/h]=speed t=react_timeA movea v1=0 v0=R.v a=accelerationBr_distance=R.s+A.s?Br_distance