Title: Second Generation Expert Systems (motto:
1Second Generation Expert Systems(motto
knowledge is power)
- Dr. Zoltán ISTENES
- ELTE - TTK(University Eötvös Loránd,Budapest,
Hungary) - Department of General Computer Science
- istenes_at_inf.elte.hu
2Presentation Iam
- PhD thesis (1997, Nantes, France) ZoLa a
reflexive language to represent and to
operationalise conceptual models of reasoning - first assistant at the ELTE (teaching
introduction to programming, computer
architectures, lisp language, robotics,
developing second generation expert systems,
artificial intelligence) - interests reasoning mechanisms, reflexivity (
travelling) - I expect not to give a research presentation,
but to give ideas, to discuss and show the
possibilities ( to visit Linz)
3Presentation You are
- Who are you?
- What are your motivations?
- What do you know about Expert Systems?
- What do you want to know about Expert Systems?
- Any questions?
4 Topics
- How the expert knowledge transfer approach
became a model constructing approach? - The use of explicit and implicit knowledge
- The difference between the symbol level and the
knowledge level - The gap between the informal and the formal
representation - The model
- what model to construct,
- how to construct the model,
- how to operationalise the model,
- how to build the prototype ?
- Advantages of the reflexivity
5Objectives
- How the computer programs, systems have evolved
- Why is it important and useful to use knowledge
- Problem solving methods, mechanisms...
- Artificial Intelligence / Expert Systems are not
magic - Knowledge based systems are easy to
- And yes, You can write an Expert System!
6Main ideas
- use more and more explicit knowledge
- Modelling language - knowledge level -
operationalisation - prototyping - reflexivity is necessary
7Plan of the week
- Introduction, the knowledge, traditional
computer programs - I. Gen. Expert Systems
- ...and their limits
- II. Gen. Expert Systems
- and their limits
- reflexivity
8I would like to discuss about
- history, origins, developments, importance,
notions, applications, examples, bibliography,
www, questions, - Information http//www.inf.elte.hu/istenes/linz2
001/
9Plan of the 1. Day
- knowledge (expert systems versus traditional
programs) - expert systems, knowledge based systems
- first generation (classical) expert systems
- expert system shells
- applications
- examples
10Problems, computer, resolution, algorithm, AI
- to resolve a problem, we need knowledge
- how is the knowledge represented
- Reading http//www.inf.elte.hu/istenes/linz2001/
From_Socrates_to_Expert_Systems.html
11Knowledge!What is knowledge?
signs
knowledge
data
information
syntax
semantics
pragmatics
12What is the difference between information and
knowledge?
- information data meaning
- knowledge is an answer All knowledge is an
answer to a question (what, when, how, where,
why?) - knowledge is pragmatic related to the action
- knowledge is context related (problems of
different contexts)
13Example of knowledge
- example
- information on the WEB -gt knowledge ?
- example
- 5
- temperature is 5C
- today the temperature is 5C
- toady its cold, I will take a pullover
present in the mind
action
used
14Required characteristics of knowledge
- formalisable representation in a computer
system - explicit
- exact
- complete
- etc.
15Is there any knowledge in computer programs?
Where?
- traditional programs programmer knows how to
get to the solution -gt algorithm - the problem solving knowledge is coded in the
algorithm
16Data Base Systems
- data base systems (queries) what we are
searching for (where is it, how is it, its
properties) and not how to get it.
17I. generation (Classical)Expert Systems
- Knowledge base
- Inference engine
- Reasoning mechanism
- Knowledge representation
- Knowledge acquisition
18What is an Expert System?
- Collection of the expertise of a human expert, in
a computer system, used to resolve the same
problems the expert can. - An expert simulator
- A symbol manipulator program
19What is the difference between Expert System and
Knowledge Based System?
- expert system
- Underline the importance of a human expert
- old, good sounding name
- not an expert level
- knowledge based system
- Underline the importance of the knowledge
- different types of knowledge
20Knowledge base inference engine
- put knowledge into the system knowledge base
- use a mechanism to exploit this knowledge
inference engine
21How to construct an Expert System?
Knowledgeacquisition
- get an expert of the domain andretrieve his
knowledge... - put this knowledge in a computer...
- use an inference engine to exploit this
knowledge... - ...use the computer toresolve the problem as the
expert does...
representation
Inference mechanisms
22Knowledge acquisition
- the domain expert
- interviews
- co-operation, motivation
- knowledge engineer
- verification of the represented knowledge
- One Expert or an Expert team?
23Knowledge representation
- We want to put the knowledge into a computer
system representation, formalism - What to represent, how to represent?
- domain objects, relations, rules
- level of the formalism
K n o w l e d g e
24Formalisms
- rule, fact,
- frame hierarchy,
- semantic network is a
- object - attribute value
- Hybrid
- Example Production rule formalism for the
domain knowledge representation - fact base set of facts
- goal set of facts
- rule base set of production rules IF ltfactgt
THEN ltfactgt
25Inference enginesHow does it work?
- the inference engine uses the knowledge base to
make inference steps to resolve the problem... - forward chaining data driven
- backward chaining goal driven
- mixed chaining, etc.
26The forward chaining mechanism
- starting from the facts,
- using the rules we get some more internal
statements (facts), - then other statements,
- until we reach the goal.
27The backward chaining mechanism
- using the rules from the goal we get some more
internal subgoals, - to prove the subgoals, we get other subgoals
- until we can prove them with the facts.
- Example of backward chaining mechanism Prolog -
Flex
28Logic used in the Expert Systems
- 0 order no variables
- If raining and no_umbrella Then get_wet
- 1 order predicate with variables
- Socrates is a men. All men are mortal.
- fact (men() is a predicate) men(Socrates)
- rule (X is a variable) IF men(X) THEN
mortal(X) - 2 order logic variable predicates
29Expert System Shells
- What is it?
- What is (can be) provided by a shell?
- Why to use it?
- Examples
What is it? What is (can be) provided by a
shell? Why to use it? Examples
30What is an expert system shell?
- inference engine for a specific formalism
- A higher level language to manipulate the
knowledge
31What is provided by a shell?
- inference engine
- tools for
- knowledge acquisition
- explanation
- verification, incoherence, etc.
- When, why is it useful to use a shell?
- fast, easy development, test for a prototype
32Shell examples / applications
- Clips
- rule based, forward chaining
- http//www.ghgcorp.com/clips/CLIPS.html
- Flex
- Prolog language, Hybrid
- Flops
- forward chaining
- M1
- rule based, backward chaining
- certainty factor, Meta rules, unknown, why?,
show - Many others
33Explanation
- why ltdo you ask this questiongt?
- how ltdid you get this resultgt?
- why not ltan other resultgt?
- what if ltan other answergt?
34M1
The M.1 shell architecture
35Example of M1 rules
- rule-7 if main-component poultry and
- has-turkey no
- then best-color white cf 90 and
- best-color red cf 30.
-
- rule-8 if main-component fish
- then best-color white.
36Example of a CLIPS rule
- (defrule determine-point-surface-state ""
- (or (and (working-state engine does-not-start)
- (spark-state engine irregular-spark))
- (symptom engine low-output))
- (not (repair ?))
- gt
- (bind ?response
- (ask-question "What is the surface state of
the points (normal/burned/contaminated)? " - normal burned contaminated))
- (if (eq ?response burned)
- then (assert (repair "Replace the
points.")) - else (if (eq ?response contaminated)
- then (assert (repair "Clean the
points.")))))
37The MYCIN family tree
Expert system
Expert system shell
Tutorial system
GUIDON2
NEOMYCIN
HERACLES
MYCIN
EMYCIN
GUIDON
38Applications of the expert systems
- diagnostic
- classification
- planning
- monitoring
- etc.
39Other information sources
- Expert system FAQ http//www.cs.cmu.edu/Web/Group
s/AI/html/faqs/ai/expert/part1/faq.html - Java Expert System Shell Jess is a rule engine
and scripting environment written entirely in
Sun's Java language http//herzberg.ca.sandia.go
v/jess/
40Example applications
- Whale watcher http//www.aiinc.ca/demos/whale.htm
l - Graduate Admissions Application Form
http//www.aiinc.ca/demos/grad.html
41Meta knowledge
- knowledge about knowledge
- knowledge about how to use knowledge...
- special cases, priorities, etc.
42Problems, inconveniences,
- knowledge base incompleteness, incoherence
- too many rules example 500 rule OK, 5000 rule
??? - Explication (explanation) chain of used rules?
- MYCIN -gt NEOMYCIN
- Hierarchy is coded in the rules
- implicitly coded control knowledge
- explicit coded control knowledge
- how exactly?
- but why
- deeper knowledge
- Lack of the common sense
- Lack of the intuition (feelings, sentiments)
43What is explicit, what is implicit?
44But where is theknowledge about how to
resolve the problem?
45Conclusions of the 1. Day
- When is it good to use an Expert System, and
when is it not? - How to do better?
- free discussion
46End of the 1. Day
472.Day
- Conceptual model
- Modelling methodologies
- Modelling languages
48Plan of the 2. day
- General context construction the conceptual
model of a knowledge based system - Specific context construction of a conceptual
model of reasoning, constrained by a target
solving behaviour - Modelling, conceptual model
- Modelling approaches
- Modelling languages
49General context
- Construction the conceptual model of a knowledge
based system - A knowledge based system (KBS) is a system witch
manipulate knowledge represented explicitly. - A knowledge acquisition process is necessary for
the construction of a KBS. - In the first KBS the knowledge acquisition is a
simple transcription of the expert knowledge into
a formalisme - production rules...
50Knowledge acquisition is a modellisation
- 4 steps Aussenac-Gilles
- data driven acquisition
- construction of the conceptual model
- instantiation of the conceptual model with the
expert knowledge (model driven acquisition) - operationalisation of the conceptual model
51General approach (MACAO)
the completeconceptual model
schema of theconceptual model
expertise
3. Modeldrivenknowledgeacquisition
1. Data drivenknowledge acquisition
2. Construction of theschema of theconceptual
model
4. Operationalisationof the conceptual model
Documents,catergories of problems, ...
Working code
52The main point is the construction of the
conceptual model
53What is a conceptual model?
- A conceptual model is
- a model abstraction reducing the complexity by
focusing on some aspects - expressed at the conceptual level ignores the
aspects related to the implementation
54Which are the components of a conceptual model?
- A conceptual model is composed of
- conceptual model of the domain model of the
objects and relations of the domain expertise - conceptual model of the reasoning expression of
a problem solving method, abstract description
how to solve the problem (or a problem type) with
the help of a modelling language
not present in the I. gen. expert systems
55Modelling language
- a language proposing constructions to express
knowledge used in the resolution and
manipulations using this knowledge to resolve a
problem
56Why is the modelisation necessary?
- the expert of the domain is unable to propose
directly an abstract description how to proceed
to resolve the problem - the expert proposes
- his expert knowledge and his problem solving
attitude/behaviour face a given situation - informal description
- different types of knowledge are mixed
- incomplete, omissions, contradictions
57Specific context
- Construction of aconceptual model of
reasoning,constrained by atarget solving
behaviour
58What kind of problem solver to construct?
- The aim of (most of ) KBS is to construct a
problem solver which is powerful, robust, able to
explain their resolutions. - It is not necessary to resolve the problem the
same way that the expert does. - Enough to identify and operationalise an
efficient solving method. - More liberty to construct the conceptual model of
reasoning (avoid to modelise at an abstract level
the expert problem solving behaviour) - Instead of constructing the conceptual model by
abstraction it is possible to reuse the
predefined generic problem solving methods. - Suppose the existence of generic structures to
interpret sufficiently any domain knowledge
expertise. - In the conceptual model construction phase, the
domain expert solving behaviour is basically used
as a initial reference to select a generic model,
which is eventually refined afterwards.
59Why reasoning the same way the expert does?
- Construction of a conceptual model of reasoning
constrained by a target solving behaviour, is
necessary for example - base of a communication (share the problem
solving)... - tutorial, pedagogic, education ...
- explanation
60Need for a constructive approach
- Most of the approaches to construct the
conceptual model are interpretative approaches - (selection and adaptation of generic methods)
- In the situation of Construction of a conceptual
model of reasoning constrained by a target
solving behaviour this approach is not adapted - projection of the target expertise on structures
(generic models) - simplifications, normalisations
- Constructive approach
- construction par abstraction from the expert
reasoning
61The existing constructive approaches lack the
followings
- the construction of the conceptual model has to
be done in interaction with the knowledge source - the knowledge source must have tools to
understand the model and the solving
62Modelling approaches
- KADS
- Generic tasks
- MAPCAR
63Two main approaches
- bottom-up the model is realised from a detailed
analyse of the expertise - - create all components, tools
- model close to the expert reasoning
- top-downthe model is realised by selecting from
predefined models then adapting - reuse of models, tools
- - original models
64KADS
- general framework and supports the different
phases of the construction of a KBS - methodology for the construction of ES,
proposition for the result of the knowledge
acquisition model of expertise - objective of the model of expertise model of the
problem solving comportment - the model is independent of the implantation
- modelling primitives for the 4 layers
- informal semantic
- languages to formalise / operationalise /
formalise and operationalise
65The 4 layers of KADS
Knowledge categories
Knowledge types
strategy
Plans, meta-rules
control
task
Goals,control terms, tasks structures
apply
inference
Inference actions, knowledge roles,knowledge
views
use
domain
Concepts,properties, relations
66Generic Task
- The objective is to identify generic reusable
building bricks - Construction with these building blocks
- A building block
- is characterized by its input, output
- has a vocabulary of knowledge types, and a
process to use - a task and a method at the same time
- easy to use
- not adaptable
67MAPCAR
68The project Mapcar
- the approach Mapcar knowledge level
prototyping - the language ZoLa language to represent and to
operationalise
69Prototype
- A prototype is a basis of discussion concrete and
non ambiguous - Permit the study of real resolutions
corresponding to the model, which is necessary
for a non cognitician to judge the correctness of
the model - Can be analysed with reflexive tools, if the
prototype respect the principle of structural
correspondence then the results of the analysis
can be interpretable at the knowledge level, and
can help the modelling
70Knowledge level prototyping
- not a final system but a help to the modelling
- is it used to evaluate and finalise the
conceptual model of reasoning (with a subset of
the expertise) - use of a high level language
- software engineering realisation of a prototype
early in the software life cycle permit to have a
concrete base of discussion between the different
participants of the project, to avoid the errors
due to the misunderstanding of the definitions in
the specifications - prototyping is not the process of incremental
construction of the production rule base - the use of an adapted high level language permit
to manipulate the notions of the conceptual model
at the knowledge level - the prototype has to respect the principle of
the structural correspondence
71Principle of the structural correspondence
- Each component of the model must have an
equivalent explicit in the implemented system,
the prototype reify the model. - Advantages
- the coding phase is simplified the implemented
structures correspond to the notions of the
conceptual model - modification in the model ...
- problem identified in the implementation ...
- analyse (reflexive)... meta system of control,
explication based on the notion of the conceptual
model - in the Mapcar project tools reflexives, analyse
...
72Prototyping at the knowledge level
expertise
abstraction
paper
analyse and refinement
conceptual modelversion 1.
conecptual modelversion i.
conecptual modelfinal version
correspondance model / prototype
prototypeversion 1.
prototypeversion i.
prototypefinal version
modification
operationalising language
73The MAPCAR approach
paperconceptual model
traces ofthe reasoning
modelling
structural correspondence
operationalisation
representation of theconceptual model
knowledge base
analysismodul
implementation of theconceptual model
prototype
74Construction of a conceptual model
expertise
modelling
abstraction
analyse of the model
definition of a modelling language
construction / refinementof the modelling
language
refinement of theoperational kernel
definition of the problem solving method
evaluation of the model
implementation
75Need for a language
- Mona? Model-K? Aide?
- OMOS? Lisa?
- Lisp? C?
- ZoLa!
76What language we need?
- Representation explicit and operationalisation of
the conceptual models - No predefined primitives
- Fast construction and evolution of the prototype
reifying the model - Construction of prototype analysis tools
77Languages with predefined modelling primitives
- Languages to operationalise models of KADS are
limited to the primitives used in the methodology
of KADS (languages Model-K, Omos) - Language Lisa goal, method.
- Language Task goal, case, process, structure,
strategy, module of task. - Language Aide task, object, object class, rule
78Other languages?
- Languages like Lisp, C too much programming
work to implement a prototyping process
79Why a reflexive language?
- Useful in the Modelling to realise dynamic
control of reasoning (the system reason on its
components to determine the next action to
realise, or how to realise this action) - Useful in the Analysisanalysis of the system
permit to get information about the system.
Permit the construction of analysis tools.
80Practical works
- Definition of a conceptual model example using a
language with predefined primitives of modelling - How is it works, how is it executed
- Definition of a conceptual model example using a
language without predefined primitives of
modelling. Definition such a primitives. - How is it works, how is it executed?
81Discussions about
- Granularity of the represented knowledge
- Level of the representation
- Supplementary level of the representation
- Explicit representation
82I know thatI can make mistakes!
83Conclusions of the 2. Day
- Constructive approach
- Prototyping
- Knowledge level manipulation
- Modelling language
84End of the 2. day
853.Day
- The Mapcar language
- The ZoLa language
- The DSTM modelling language
- Reflexivity
86Plan of the 3. Day
- Presentation of the Mapcar language a simple
rule based language to manipulate facts and rules - Presentation of the ZoLa language a language to
represent and operationalise conceptual models of
reasoning ... - Presentation of the modelling DSTM
- Notions of reflexivity...
87The Mapcar language
88Objective of the Mapcar language
- Objective?
- To manipulate the knowledge base!
- How to manipulate?
- With inference rules!
- The knowledge base is represented by facts and
production rules - The inference rules are production rules, using
predefined elementary conditions and actions
89Architecture of the Mapcar language
Inference rules
Knowledge base
Inferenceruleinterpreter
Fact base
Rule base
90Examples of inference rules in Mapcar
- IF
- DECOMPOSE rule (condition-part action-part)
- EXISTE (condition-part fact)
- THEN
- ADD-LITTERAL (fact action-part)
- IF
- DECOMPOSE rule1 (condition-part1
action-part1) - DECOMPOSE rule2 (condition-part2
action-part2) - INCLUDE (condition-part2 action-part1)
- THEN
- ADD-ENTITY rule3 (condition-part1
action-part2)
a simple forward chaining mechanism
a (reflexive) rule to manipulate other rules
91The ZoLa language
92General objectives
- Operationalisation of conceptual models but
with non predefined primitives - Prototyping of the model easy modification of
the components implementing the conceptual model - Analysis tools for the prototype
- Utilisation of structures similar to those
descries the conceptual model - A high level language proposing structures
(knowledge level) to avoid the low level
implementation problems
93Operationalisation
- Construction the primitives of the conceptual
model - Definition of the code operationalising the
primitives - Definition a control on the primitives
- Control imperative (type algorithmic)
- Control dynamic based on a reasoning on the
notions of the model (requires an explicit
representation the notions of the conceptual model
94Prototyping
- Respect the principle of the structural
correspondence (model representation) - Easy, fast prototyping parallel to the
representation (even for a non complete model) - Reusability the parts of the code
95Analysis tools
- Explicit representation of the knowledge to
analyse the knowledge base - Explicit representation of the operations for
the structural reflexivity - Explicit representation of the model for the
conceptual reflexivity - Manipulation the structures coding the knowledge
and the operations
96Architecture of the ZoLa
ZoLa
L1
L2
L3
L4
Strategies
Profiles Operations
Knowledge types Instances
Supplementaryinformation
technical information
conceptual information
information of the system
operationalisation information
conceptual handles
conceptual descriptions
97Conceptual model layers ? ZoLa sub-languages
- One sub-language of ZoLa is not dedicated one
layer of the conceptual model! - All the sub-languages of the ZoLa are (can be)
used to operationalise each layer of a conceptual
model (domain layer, control layer, etc.)
98Architecture of the ZoLa (properties)
ZoLa
L1
L2
L3
L4
Strategies
Profiles Operations
Knowledge types Instances
Supplementaryinformation
Lisplanguage
objectswith fields
information managedby the system
predefined profiles
heritage
conceptual handlesattached to objects L2, L3
operations linked tothe knowledge types
99Architecture of the ZoLa (functionality)
ZoLa
L1
L2
L3
L4
Strategies
Profiles Operations
Knowledge types Instances
Supplementaryinformation
start-up
manipulation
control manipulation (structural reflexivity)
manipulation (conceptual reflexivity)
100Reflexivity in ZoLa
- structural reflexivity
- The L2 operations can manipulate directly the L2
operations - How? Isomorphism between L2 and L3
- Benefit Analysis tools
- conceptual reflexivity
- The L2 operations can analyse the conceptual
information of the L4 - How? Isomorphism between L3 and L4
- Benefit Dynamic control
101Examples of the ZoLa constructions
- L3
- L2
- L1
- L4
- (examples taken directlyfrom a French language
application!)
102L3 types
upper type
- (type 'tache 'l3
- 'preconditions
- 'resultat-a-atteindre
- 'evaluation-du-resultat
- 'resultat-atteint
- 'methodes-associees)
-
- (type 'methode 'l3
- 'preconditions
- 'resultats-possibles
- 'ressources-necessaires
- 'contexte-favorable)
- (type 'methode-operation 'method
- 'est-realisee-par)
- (type 'fait 'l3
- 'valeur)
- (type 'resultat 'l3
- 'valeur)
- (type 't-collection 'l3
- 'liste)
name of the type
fields of the type
103L3 instances
type of the instance
- (instance 't3 'zl3tache
- 'nom 't3
- 'pc '(pc-critere-de-realisation-t3)
- 'preconditions '(f-entree-t3)
- 'resultat-a-atteindre '(r-t3)
- 'evaluation-du-resultat '(o-evaluation-t3)
- 'resultat-atteint 'faux
- 'methodes-associees 'methodes-t3)
- (instance 'm11 'zl3methode-decomposition
- 'nom 'm11
- 'pc '(pc-description-traitement-m11)
- 'preconditions '(f-contexte-1)
- 'resultats-possibles '(r-t1)
- 'ressources-necessaires '(f-ressource-1)
- 'se-decompose-en '(t11 t12 f-entree-t11)
- 'contexte-favorable '(f-favorable-1))
fields and values
104L2 profil and L2 operation(type manipulation)
name of the profil
- (profile 'zl2l-existe
- '(message "Teste existance dans liste une
element") - '(code (lambda (li el) (member (objznom el)
(send 'liste li))))) - (operation
- 'nom 'existe
- 'profile 'zl2l-existe
- 'liee 'zl3t-collection
- 'message "Teste existance dans liste une
element" - 'info '())
LISP code
name of the operation
name of the profil
link to a knowledge type
105L2 profil (type control)
name of the profil
- (profile 'zl2l-si-alors-sinon
- '(message "Je fais si alors sinon ")
- '(parametres ())
- '(condition ())
- '(action ())
- '(sinon ())
- '(code (lambda ()
- (if (appliquer (send 'condition self))
- (appliquer (send 'action self))
- (appliquer (send 'sinon self))
- )
- 't)))
fields of the profil
LISP code
106L2 operation (type control)
- (operation
- 'nom 'selectionner-une-methode-version-utilisa
teur - 'profile 'zl2l-si-alors-sinon
- 'liee '()
- 'info 't
- 'pc '(pc-op-selectionner-une-methode-version-uti
lisateur - pc-evaluation-echec-selectionner-une-methode
- pc-evaluation-reussite-selectionner-une-method
e) - 'parametres '(ensemble-de-methodes methode
tache) - 'condition '(tache-courante-associee-methodes-
connues tache) - 'action '(selectionner-une-methode/methodes
-connues-version- utilisateur
ensemble-de-methodes methode tache) - 'sinon '(selectionner-une-methode-classiqu
e-version-utilisateur
ensemble-de-methodes methode tache))
fields of the profil
L2 operations parameters
107L1 strategy
- (strategie "DSTM Version Controle Algorithmique"
'zl1test-exemple-0) - (de zl1test-exemple-0 ()
- (setq ensemble-de-taches BASE-DE-TACHES)
- (setq tache-courante 'initialise-vide)
- (setq ensemble-de-methodes BASE-DE-METHODES)
- (setq methode-courante 'initialise-vide)
- (while (send 'lancer 'realiser-des-taches
- 'ensemble-de-taches
- 'tache-courante
- 'ensemble-de-methodes
- 'methode-courante
- )
- ) fin while
- )
definitionof a strategy
name of aL2 operation
parametersof the operation
LISP code
108L4 conceptual handles
- (instance 'pc-resolution-souhaitee-t1
- 'zl4l42l421pc-resolution-souhaitee
- 'nom 'pc-resolution-souhaitee-t1
- 'type 'implicite
- 'contrainte 'rapide)
- (instance 'pc-type-de-realisation-t1
- 'zl4l42l421pc-type-de-realisation
- 'nom 'pc-type-de-realisation-t1
- 'type 'saturer)
- (instance 'pc-critere-de-realisation-t1
- 'zl4l42l421pc-critere-de-realisation
- 'critere-de-realisation '(realisation avec
intervention de l'util)) - (instance 'pc-description-traitement-m11
- 'zl4l42l421pc-traitement-operation
- 'nom 'pc-description-traitement-m11
- 'temps-execution '10
- 'pourcentage-reussite '80)
109L4 technical information
automatically generated for the selected
operations
- ? (show-instance info400)
- (instance 'info400 'zl4l41l411t-info
- 'nom 'info400
- 'operation 'verifier-declanchable
- 'type 'zl3but
- 'nb-lancement '42
- 'nb-send '168
- 'tps-cpu '0.16)
110The modellisation of the DSTM
- Dynamic Selection of Task and Methodsa
modellisation example with ZoLa
111The DSTM modelling
- DSTM is a modelling kernel, a modelling language
- DSTM propose modifiable notions task and method
- A task is realised with methods.
- A method is decomposed into sub-tasks or directly
resolve a task. - For each task there is different set of methods
(possible, known, associated), a selection
mechanism chose the best one. - The selection mechanism is explicit and dynamic.
112Notions of the model (conceptual model of the
domain)
- task
- name
- expected-results
- entry-context
- known-methods
- possible-methods
- method (decomposition or realisation)
- name
- entry-context
- results
- resources
- composed-of / realised-by
113High level actions of DSTM (conceptual model of
the reasoning)
- Name of the action (task fields /
method fields) - select the task to achieve (entry context / -
) - identify the possible methods (associated-methods,
- expected-results / results)
- identify the applicable methods ( - /resources,
entry-context) - select a method (caracteristics of the
resolutions / favorable context) - activate the method ( - /
composed-of, realised-by) - evaluate the results of the method
(expected-results / - )
114Algorithmic control for DSTM
start
end
select the task to achieve
identify the possible methods
identify the applicable methods
select a method
activate the method
evaluate the results of the method
115Architecture with an algorithmic control
algorithm
control
DSTM operations
manipulate
tasks and methods
manipulate
domain objects
116Is this control is good enough? Can we do
better?
- The algorithmic control depends on the notions of
the model (tasks and methods). Manipulate more
generic notions! - The control algorithmic is fixed and implicit. No
justification why a high level action is
realised. It is not possible to model Some
tasks must be realised if they are selected, if
one method fails, an other method (for the same
task) must be tried. - It is not possible to define more possibilities
how to realise a DSTM operation. It is not
possible to select how a operation is realised...
117Dynamic control for DSTM
a formalism to describe the dynamic
control (production rules)
- If
- problem resolution context
- one objective O is defined
- one set of means is defined
- one of the means is tried
- the mean is failed
- strategy
- the strategy for objective O is saturate
- Then
- generic-action
- chose a new means for objective O
118Architecture with an dynamic control
inference mechanism
strategic facts
connexionlayer
strategic rules
DSTM operations
tasks and methods
domain objects
119Architecture with an dynamic control (2)
dictionnaries
strategic layer
connexionlayer
DSTM operations
conceptual handles
tasks and methods
conceptual handles
domain objects
120Connexion with conceptual handles
- attached to the DSTM operation
- (instance 'pc-op-selectionner-une-tache/utilisateu
r 'zl4l42l421pc-operation - 'nom 'pc-op-selectionner-une-tache/utilisateur
- 'je-fais '(selectionner une tache a realiser)
- 'je-utilise '(BASE-DE-TACHES tache-courante)
- 'je-reussi '(la tache courante est definie)
- 'je-echoue '(plus de tache a realiser)
- 'critere '(utilisateur expert))
- and to the tasks...
- and to the methods...
121Dictionnary to translate between the layers
strategic act.
- generic actions -gt DSTM operations
- gt (evaluer la mise en oeuvre du moyen)
- (appliquer et evaluer une methode)
- op-comment-choisir-appliquer-une-methode
- op-comment-evaluer-appliquer-une-methode
- ((le moyen mis en oeuvre a reussi)
- (le moyen mis en oeuvre a echoue))
- gt (rechercher le type de realisation de
objectif) - (rechercher le type de realisation d une tache)
- op-comment-choisir-rechercher-type-de-realisation
-une-tache - op-comment-evaluer-rechercher-type-de-realisation
-une-tache - ((saturer objectif)
- (reconsiderer objectif)
- (aucun type de realisation particulier))
- and the results of the DSTM operations -gt generic
actions
DSTM op.
how to chose op.
how to eval. op.
strat. results
122Connexion layer (control algorithmic)
Genericscheduler
Generic action
Results of the action
Translate the results of the action
Translate an action
Connexion layer
no operation
OK
Identify operations
Evaluate the resultsof the action
failed
no operation
Select an operation
OK
failed
Evaluate the resultsof the operation
Activate the operation
Realise the operation
Object system
123Reflexivity
- Get to know yourselfSocrates
124Motivation
- The knowledge based systems lacks
- Evaluate their competences
- Adaptation face to different situations
- Etc.
- A knowledge based system reason on he knowledge
base. - A reflexive analysis is a reasoning on the system
itself. - There is a reflection each time the system
applies on itself. - Reflexivity is not an other simple meta-level
125Different forms of reflexivity, some definitions
- Reflexivity or reflection?
- Static versus dynamic reflexivity?
- Reflexivity versus introspection?
Conceptual reflexivity
Knowledge structure
Structural reflexivity
Representation of theKnowledge structureof the
system
Knowledge structureof the system
Causalconnexion
High level of abstraction
Low level of abstraction
126REFLECT
Meta system
Object model
casual connexion
If theobject system changes,then the object
model changes. (and vice-versa)
Object system
Model
representation
part of the world
127SADE
- A knowledge based, reflexive, supervisor system
- Sylvie KORMAN
128Initial situation
- Rule of passage
- If the robot is in the room ?depart
- ?depart is not the exit
- can chose room ?arrival communicate ?depart
- Then
- move robot to the room ?arrival
- Rule of exit
- If the robot is on the room exit
- Then STOP
- Initial knowledge base
- the robot is in the room p1
- P1 communicate p2
- P2 communicate p1
- P2 communicate p3
- P3 communicate p2
- P3 communicate p4
- P4 communicate p3
- P4 communicate p5
- P5 communicate p4
- P5 communicate exit
129What happens if we start the reasoning?
- Rule of passage ?depart/p1 et ?arrival/p2
- Rule of passage ?depart/p2 et ?arrival/p1
- Rule of passage ?depart/p1 et ?arrival/p2
- Rule of passage ?depart/p2 et ?arrival/p1
-
Loop
Blocked
130SADE supervise the knowledge based system
the supervisorsystem
SADE
supervision
the supervisedsystem
the knowledge based system
131How to supervise (1)
detectionof a symptom
set nextinterruption point
trace on
return
interruption
Base level execution
132How to supervise (2)
Analyse of the trace
Chose a remedy (repair)
set nextinterruption point
return
interruption
Base level execution
133How to supervise (3)
Observe the resultsof the repair
Trace off
return
interruption
Base level execution
134Everyone needs to be supervised
Infinite tower of meta levels
- SADE is a knowledge based system
- SADE needs to be supervised...
SADE II.
a supervisor system
supervision
a supervised systemwho supervise
SADE I.
supervision
the knowledge based system
a supervised system
135Reflexivity in ZoLa
- Isomorphism L2 L3 ( - L4)
- Structural reflexivity simple structures
(profiles and operations) - Conceptual reflexivity L4 (conceptual
handles) - Dynamic reflexivity
- The causal connexion is not managed!
136Conclusions of the 3. Day
- Flexible language...
- Construction of the primitives, reasoning
mechanisms - Papers in the www
- ZoLa a Language to operationalise Conceptual
Models of Reasoning - Dynamic Selection of Tasks and Methods as a
Knowledge Level Reflective activity
137Perspectives
- Learning reflexivity...
- Self improvement...
- Data mining, Genetic algorithms, Agents...
- Let the system to find the best modelling,
resolution... - The generic language, representation,
modelling...
138Conclusions of the week
- Explicit knowledge
- Inference mechanisms
- Multi layer architectures
- AI / ES and the other fields of informatics
- Questions, remarks, free discussion
139This is theEnd...
- Thank You for your attention !
Köszönöm a figyelmet !