Second Generation Expert Systems (motto: - PowerPoint PPT Presentation

About This Presentation
Title:

Second Generation Expert Systems (motto:

Description:

PhD thesis (1997, Nantes, France): 'ZoLa a reflexive language to represent and ... GUIDON. HERACLES. Expert system shell. Tutorial system. 2001. 03. 12-22. 38 ... – PowerPoint PPT presentation

Number of Views:174
Avg rating:3.0/5.0
Slides: 140
Provided by: istene
Category:

less

Transcript and Presenter's Notes

Title: Second Generation Expert Systems (motto:


1
Second 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

2
Presentation 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)

3
Presentation 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

5
Objectives
  • 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!

6
Main ideas
  • use more and more explicit knowledge
  • Modelling language - knowledge level -
    operationalisation - prototyping
  • reflexivity is necessary

7
Plan of the week
  • Introduction, the knowledge, traditional
    computer programs
  • I. Gen. Expert Systems
  • ...and their limits
  • II. Gen. Expert Systems
  • and their limits
  • reflexivity

8
I would like to discuss about
  • history, origins, developments, importance,
    notions, applications, examples, bibliography,
    www, questions,
  • Information http//www.inf.elte.hu/istenes/linz2
    001/

9
Plan 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

10
Problems, 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

11
Knowledge!What is knowledge?
signs
knowledge
data
information
syntax
semantics
pragmatics
12
What 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)

13
Example 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
14
Required characteristics of knowledge
  • formalisable representation in a computer
    system
  • explicit
  • exact
  • complete
  • etc.

15
Is 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

16
Data 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.

17
I. generation (Classical)Expert Systems
  • Knowledge base
  • Inference engine
  • Reasoning mechanism
  • Knowledge representation
  • Knowledge acquisition

18
What 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

19
What 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

20
Knowledge base inference engine
  • put knowledge into the system knowledge base
  • use a mechanism to exploit this knowledge
    inference engine

21
How 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
22
Knowledge acquisition
  • the domain expert
  • interviews
  • co-operation, motivation
  • knowledge engineer
  • verification of the represented knowledge
  • One Expert or an Expert team?

23
Knowledge 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
24
Formalisms
  • 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

25
Inference 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.

26
The 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.

27
The 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

28
Logic 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

29
Expert 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
30
What is an expert system shell?
  • inference engine for a specific formalism
  • A higher level language to manipulate the
    knowledge

31
What 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

32
Shell 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

33
Explanation
  • why ltdo you ask this questiongt?
  • how ltdid you get this resultgt?
  • why not ltan other resultgt?
  • what if ltan other answergt?

34
M1
The M.1 shell architecture
35
Example 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.

36
Example 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.")))))

37
The MYCIN family tree
Expert system
Expert system shell
Tutorial system
GUIDON2
NEOMYCIN
HERACLES
MYCIN
EMYCIN
GUIDON
38
Applications of the expert systems
  • diagnostic
  • classification
  • planning
  • monitoring
  • etc.

39
Other 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/

40
Example applications
  • Whale watcher http//www.aiinc.ca/demos/whale.htm
    l
  • Graduate Admissions Application Form
    http//www.aiinc.ca/demos/grad.html

41
Meta knowledge
  • knowledge about knowledge
  • knowledge about how to use knowledge...
  • special cases, priorities, etc.

42
Problems, 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)

43
What is explicit, what is implicit?
44
But where is theknowledge about how to
resolve the problem?
45
Conclusions of the 1. Day
  • When is it good to use an Expert System, and
    when is it not?
  • How to do better?
  • free discussion

46
End of the 1. Day
47
2.Day
  • Conceptual model
  • Modelling methodologies
  • Modelling languages

48
Plan 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

49
General 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...

50
Knowledge 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

51
General 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
52
The main point is the construction of the
conceptual model
53
What 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

54
Which 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
55
Modelling language
  • a language proposing constructions to express
    knowledge used in the resolution and
    manipulations using this knowledge to resolve a
    problem

56
Why 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

57
Specific context
  • Construction of aconceptual model of
    reasoning,constrained by atarget solving
    behaviour

58
What 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.

59
Why 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

60
Need 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

61
The 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

62
Modelling approaches
  • KADS
  • Generic tasks
  • MAPCAR

63
Two 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

64
KADS
  • 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

65
The 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
66
Generic 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

67
MAPCAR
68
The project Mapcar
  • the approach Mapcar knowledge level
    prototyping
  • the language ZoLa language to represent and to
    operationalise

69
Prototype
  • 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

70
Knowledge 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

71
Principle 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
    ...

72
Prototyping 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
73
The MAPCAR approach
paperconceptual model
traces ofthe reasoning
modelling
structural correspondence
operationalisation
representation of theconceptual model
knowledge base
analysismodul
implementation of theconceptual model
prototype
74
Construction 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
75
Need for a language
  • Mona? Model-K? Aide?
  • OMOS? Lisa?
  • Lisp? C?
  • ZoLa!

76
What 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

77
Languages 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

78
Other languages?
  • Languages like Lisp, C too much programming
    work to implement a prototyping process

79
Why 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.

80
Practical 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?

81
Discussions about
  • Granularity of the represented knowledge
  • Level of the representation
  • Supplementary level of the representation
  • Explicit representation

82
I know thatI can make mistakes!
83
Conclusions of the 2. Day
  • Constructive approach
  • Prototyping
  • Knowledge level manipulation
  • Modelling language

84
End of the 2. day
85
3.Day
  • The Mapcar language
  • The ZoLa language
  • The DSTM modelling language
  • Reflexivity

86
Plan 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...

87
The Mapcar language
88
Objective 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

89
Architecture of the Mapcar language
Inference rules
Knowledge base
Inferenceruleinterpreter
Fact base
Rule base
90
Examples 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
91
The ZoLa language
92
General 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

93
Operationalisation
  • 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

94
Prototyping
  • 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

95
Analysis 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

96
Architecture 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
97
Conceptual 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.)

98
Architecture 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
99
Architecture 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)
100
Reflexivity 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

101
Examples of the ZoLa constructions
  • L3
  • L2
  • L1
  • L4
  • (examples taken directlyfrom a French language
    application!)

102
L3 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
103
L3 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
104
L2 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
105
L2 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
106
L2 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
107
L1 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
108
L4 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)

109
L4 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)

110
The modellisation of the DSTM
  • Dynamic Selection of Task and Methodsa
    modellisation example with ZoLa

111
The 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.

112
Notions 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
  • context
  • result
  • fact

113
High 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 / - )

114
Algorithmic 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
115
Architecture with an algorithmic control
algorithm
control
DSTM operations
manipulate
tasks and methods
manipulate
domain objects
116
Is 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...

117
Dynamic 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

118
Architecture with an dynamic control
inference mechanism
strategic facts
connexionlayer
strategic rules
DSTM operations
tasks and methods
domain objects
119
Architecture with an dynamic control (2)
dictionnaries
strategic layer
connexionlayer
DSTM operations
conceptual handles
tasks and methods
conceptual handles
domain objects
120
Connexion 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...

121
Dictionnary 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
122
Connexion 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
123
Reflexivity
  • Get to know yourselfSocrates

124
Motivation
  • 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

125
Different 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
126
REFLECT
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
127
SADE
  • A knowledge based, reflexive, supervisor system
  • Sylvie KORMAN

128
Initial 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

129
What 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
130
SADE supervise the knowledge based system
the supervisorsystem
SADE
supervision
the supervisedsystem
the knowledge based system
131
How to supervise (1)
detectionof a symptom
set nextinterruption point
trace on
return
interruption
Base level execution
132
How to supervise (2)
Analyse of the trace
Chose a remedy (repair)
set nextinterruption point
return
interruption
Base level execution
133
How to supervise (3)
Observe the resultsof the repair
Trace off
return
interruption
Base level execution
134
Everyone 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
135
Reflexivity 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!

136
Conclusions 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

137
Perspectives
  • Learning reflexivity...
  • Self improvement...
  • Data mining, Genetic algorithms, Agents...
  • Let the system to find the best modelling,
    resolution...
  • The generic language, representation,
    modelling...

138
Conclusions of the week
  • Explicit knowledge
  • Inference mechanisms
  • Multi layer architectures
  • AI / ES and the other fields of informatics
  • Questions, remarks, free discussion

139
This is theEnd...
  • Thank You for your attention !

Köszönöm a figyelmet !
Write a Comment
User Comments (0)
About PowerShow.com