modélisation et représentation des connaissances systèmes ......système informatique...
TRANSCRIPT
Modélisation et Représentationdes Connaissances
Systèmes de connaissancesAIR2 - Université Paris 13
https://perso.limsi.fr/hamon/Teaching/P13/MRC-2019-2020/
Thierry [email protected]
LIMSI-CNRS &Institut Galilée - Université Paris 13
Janvier – février 2020
1/100
Systèmes de connaissances
Systèmes de connaissances
2/100
Systèmes de connaissances
Introduction
Objectif affiché :remplacer les experts humains d’un domaine ou les aider dansleurs expertisesDomaines d’application : nombreux et variésPrincipe :On dispose de connaissances sur un domaine et d’un moteurd’inférences. À partir d’informations contextuelles factuelles,on infère de nouvelles connaissances sur le problème considéré.
3/100
Systèmes de connaissances
Introduction
Problème considérédéfini à partir d’un état initialpour atteindre un état finalen passant par un ensemble d’états intermédiaires
à explorerà partir desquels il faut faire des choix en fonction deconnaissances plus ou moins disponibles ou complètes
Trop de possibilités pour pouvoir choisir au hasard sous peinede ne pas résoudre le problème
4/100
Systèmes de connaissances
Problématique des SBC(Stefik 1995)
Comment procéder pour qu’un système informatiques’appuyant sur des connaissances puisse résoudre desproblèmes dans un domaine donnéTâche principale d’un SBCExploiter les connaissances d’un domaine pour aider àrésoudre un type de problèmeType de problème :
classificationreconnaissancediagnosticconfigurationplanification...
5/100
Systèmes de connaissances
Types de système de connaissancesSystème expert (SE)Système informatique permettant de résoudre les problèmes
dans un domaine d’application déterminéà l’aide d’une base de connaissances établie à partir del’expertise humaine
Système à base de connaissances (SBC)Système informatique fonctionnant avec une base deconnaissances sur un sujet donné
SE et SBCLes SE peuvent être considérés comme un cas particulier desSBC
Tout système informatique utilise de la connaissanceMais dans un système à base de connaissances, celle-ci estreprésentée de façon explicite
6/100
Systèmes de connaissances
IntroductionUn système expert est composé de :
la base de connaissances :base de faits :
code la connaissance sur l’étude en coursEvolution de son état en cours d’expertise (mémoire de travail)
base de règles :code la connaissance sur le domaineFixe pour plusieurs expertisesRègle : SI condition ALORS action
le moteur d’inférences :composés des algorithmes utilisés pour la déduction :
chaînage avantchaînage arrièrecalcul des faits déductiblescalcul de questionchaînage mixte
7/100
Systèmes de connaissances
Caractéristiquesles connaissances sur le domaine peuvent être représentées demanière
finie (booléen, symbole, nombre)incertaine ou floue→ la programmation de l’expertise est déclarative
indépendance entre moteur d’inférences et base deconnaissances systèmes experts essentiels→ séparation du procédural et du déclaratifjustification du raisonnementrecherche sur un but précis ou pasdonnées monotones ou pasinterrogation de l’utilisateur
8/100
Systèmes de connaissances
Brève histoire des systèmes de connaissances
avant 1965: Moteur de recherche généraux (GPS)1975: Première génération de systèmes à base de règles(MYCIN, XCON)1985: Emergence des méthodes d’acquisition desconnaissances (SBC)1995: Maturité des méthodes d’acquisition des connaissances(Common KADS)2005: Ingénierie des ontologies (Ontologies, Web Sémantique)
9/100
Systèmes de connaissances
Evolution des logiciels de SE
Langages de
traditionnel
programmation
Langages de
et spécifiques
4ème génération
Shell de
expert
système
Avant 1980 années 1980 années 1990
faible
Faci
lité
d’u
tili
sati
on
élevée
Traduction de https://www.slideshare.net/ramaslide/expert-systems-from-rk
10/100
Systèmes de connaissances
Quelques systèmes expertsSpécifiques
Dendral (1965): détermination de composés chimiques à partirde données spectrométriquesMycin (1970) expertise en bactériologie (diagnostic ettraitement)Prospector (1978) évaluation géologique de sites (probabilitéde présence de gisements)
GénérateursGuruSNARKE-MycinCLIPS (NASA)Nexpert Object (Neuron Data)
11/100
Systèmes de connaissances
Principe de réalisation
Trouver un expert ou plusieurs (c’est plus fiable) sur ledomaine visé par l’expertiseChoisir un générateur de systèmes experts etdéterminer les contraintes sur la représentation desconnaissances (variables ? valeurs floues ? etc.) en fonctiondes possibilitésInterroger l’expert en lui demandant d’exprimer les valeursclés de ses analyses et les règles d’inférences (réalisé parl’ingénieur cogniticien)Construire la base de règles
12/100
Systèmes de connaissances
Résolution de problèmes
Pour résoudre un problèmeun être humain raisonne sur des concepts abstraits modélisantles objets de l’univers du problème,en tire des conclusionsqu’il interprète ensuite dans cet univers informatique
Simulation d’un tel comportement pour un système
13/100
Systèmes de connaissances
Résolution de problèmesPar un système informatique :
Abstraction associant des structures aux éléments du domaineet du problème considéréReprésentation des structures en machine sous formed’expressions symboliques à l’aide d’un langage dereprésentation des connaissancesCombinaison des expressions symboliques pour produire, parapplications de règles d’inférence, de nouvelles expressionsInterprétation des expressions symboliques dans l’univers duproblème considéré et apport d’éléments de solution auproblème considéré
14/100
Systèmes de connaissances
Principes généraux
DéclarativitéSéparation connaissances / mécanismes d’exploitation(contrôle)
BC (faits + règles) / moteurConnaissances déclaratives / connaissances procédurales
Hautes capacités de performance, du niveau de l’expertRaisonnement symbolique
15/100
Systèmes de connaissances
Principes généraux
Souplesse et modularitéConception aiséeAdaptation à l’utilisateur – EvolutivitéIntelligibilitéCapacité à expliquer le raisonnement produit (via des traces)
Pourquoi ? Comment ? Pourquoi pas ?Justification de résultats intermédiaires
Représentation lisible par une personne du domaine
16/100
Systèmes de connaissances
Séparation des connaissances des traitements
Distinction entreConnaissance déclarativeMécanismes d’exploitation des connaissances permettantd’inférer de nouvelles connaissances
Remarque importante :Un langage de programmation n’est pas un système à base deconnaissancesLes programmes utilisent conjointement les données etmécanismes chargés de les exploiter
17/100
Systèmes de connaissances
Raisonnement
Processus cognitif permettantd’obtenir de nouveaux résultatsde vérifier la réalité d’un fait
en faisant appel soit à desdifférentes « lois »expériences
quel que soit le domaine d’application
18/100
Systèmes de connaissances
Objectif des raisonnements
On conduit des raisonnements pour des objectifs différents,qui peuvent se combiner
Prise de décisionTest d’une argumentationConduite d’une démonstration de théorème, de la”confirmation” d’une hypothèse
On dit quel’individu effectue des inférencesle mécanisme d’élaboration de ces inférences s’appelleraisonnement
19/100
Systèmes de connaissances
Types de raisonnement
Inductifétablit ce qui est, en généralisant d’un échantillon à une classeentière de phénomènespart d’un ou de plusieurs faits particuliers pour en tirer unprincipe, une loi, une idée généralel’induction généralise
Déductifpart d’une idée générale, d’un principe, d’une loi pour en tirerune conséquence particulièreprocède par nécessité (la conclusion est nécessairementprésente dans les prémisses)la déduction infère une conclusion à partir d’une prémissesupposée vraie
20/100
Systèmes de connaissances
Types de raisonnementAbductif
porte sur ce qui peut êtredésigne une forme de raisonnement qui permet d’expliquer unphénomène ou une observation à partir de certains faits,événement ou loisen observant un ou plusieurs faits A1, A2, A3, etc., dont onconnait une cause possible et la plus vraisemblable B,On prend B comme hypothèse pour affirmer qu’elle estprobablement la cause de A1, A2, A3, etc. en particulierL’abduction infère la plausibilité d’une hypothèse à partir d’unconstat
AnalogiqueConsiste en la mise en correspondance d’une situationantérieure et d’une situation nouvelle qui lui ressemble, afin dedéduire la nature ou des aspects de cette situation nouvelle
21/100
Systèmes de connaissances
Abduction - ExempleHeuristiqueSi A donc Bor, B est vrai-------------------Donc, A devient plus croyableRaisonnement de Christophe Colomb sur l’énoncé (Polya, 1989)La terre doit être proche puisqu’on voit des oiseaux
Ce raisonnement fait appelPremièrement, à un constat d’observation
« On voit des oiseaux »puis à un savoir commun
« Si on est près d’une terre, alors on voit des oiseaux »d’où l’hypothèse plausible :
« La terre doit être proche »→ son énonciation accompagnée de sa justification
22/100
Systèmes de connaissances
Induction Déduction AbductionConsidérons un sac qui contient des haricots et quelques haricotsautour du sac.(Pierce)
Plusieurs situations sont envisageablesInduction
Supposons qu’un certain nombre de haricots qui ont été tirés de ce sacsoient tous blancsDonc, par généralisation inductive, « tous les haricots du sac sont blancs »
DéductionSupposons que l’on sache que tous les haricots dans ce sac sont blancs ;or, je tire un haricot du sac ;Par déduction, je puis affirmer que « cet haricot est (nécessairement)blanc »
AbductionSupposons que je sache que tous les haricots dans ce sac sont blancs ;or, voici un haricot blanc à côté du sac, qui est percé ;par abduction, je peux en inférer que « cet haricot vient du sac » est uneproposition plausible
23/100
Systèmes de connaissances
Induction, Déduction, Abduction
Induction Déduction Abduction(modus ponens)
⊢ ce n-ième exemplaire d’haricotqui vient du sac est encore blancpour i = 1, . . . , n
⊢ (∀x)[haricot−du−sac(x) ⇒blanc(x)]
⊢ (∀x)[haricot−du−sac(x) ⇒blanc(x)]
⊢ Ceci est un haricot tire du sac ⊢ Ceci est un haricot blanc
hline ⊢ ∀x[haricot(x) ⇒blanc(x)]
⊢ Ceci est blanc il est plausible que ce haricot vi-enne du sac
24/100
Systèmes de connaissances
Induction, Déduction, AbductionInduction Déduction Abduction
(modus ponens)⊢ pi & qi ⊢ p ⇒ q ⊢ p ⇒ qpour i = 1, . . . , n ⊢ p ⊢ q⊢ p ⇒ q ⊢ q plausible(p)
Induction: Trouver un loi par généralisation de corrélationparticulièreDéduction: Déduire une conclusion à partir de la loi et d’uneproposition considérée comme vraieAbduction: Poser la plausibilité d’une hypothèse à partird’une loi et de constats
25/100
Systèmes de connaissances
Modus Ponensp → qpq
Exemples :
S'il pleut je n'irai pas marcher au parcIl pleutJe n'irai pas marcher au parc
S'il ne pleut pas j'irai marcher au parcIl ne pleut pasJ'irai marcher au parc
26/100
Systèmes de connaissances
Syllogisme
Validité = Vérité
Un syllogisme bien formé ne garantit pas la véracité de laconclusionExemples :
Raisonnement valide sur la forme avec une conclusion fausseLes chats sont des oiseaux.Les oiseaux pondent des oeufsDonc les chats pondent des oeufs
27/100
Systèmes de connaissances
Syllogisme
Raisonnement non valide mais avec une conclusion vraieLes chats sont des mammifèresLes chiens sont des mammifèresLes chiens ont des poilsDonc les chats ont des poilsSi on remplace chats par dauphins, le raisonnement n’est pasvalide: les poils ne sont pas une caractéristique des mammifères.
Raisonnement valide avec une conclusion vraieLes mammifères sont des animauxLes chats sont des mammifères.Donc les chats sont des animaux
28/100
Systèmes de connaissances
Modus Tollensp → q¬q¬p
Exemple :
S'il pleut je n'irai pas marcherJe vais marcher au parcIl ne pleut pas
Si Alex travaille sérieusement, il réussira son examenIl n'a pas réussi son examenAlex n'a pas travaillé sérieusement
29/100
Systèmes de connaissances
Raisonnement par induction
Pi & Qi pour i = 1, ..., nP → Q
Si P est vraie pour a,b,c de a, b, c, ..., x Alors Q est vraiepour tout élément de l’ensemble
30/100
Systèmes de connaissances
Raisonnement par induction
Tous les corbeaux que je vois sont noirs, je n’ai jamaisrencontré de corbeaux d’une autre couleur
J’en ”induis” la loi générale que tous les corbeaux sont noirs.Mais il ne s’agit que d’une quasi-certitude, car le premiercontre-exemple (voir par exemple un corbeau blanc), mettraen cause la loi précédemment établie qui s’avèrera fausse
31/100
Systèmes de connaissances
Déduction vs Induction
32/100
Systèmes de connaissances
Raisonnement par abduction
Q est vraieP → Q est vraieP plausible
Le raisonnement par abduction n’aboutit pas à une vérité,mais apporte une hypothèse probable qu’il y a lieud’explorer et de vérifier
33/100
Systèmes de connaissances
Raisonnement par abduction
Face à une série de symptômes(A1, A2, A3, etc.)
le médecin peut diagnostiquer une maladie(B)
dont il est reconnu qu’elle peut provoquer chacun de cessymptômes
34/100
Systèmes de connaissances
Raisonnement par analogie
Procède à une comparaison avant d’aboutir à une conclusionLes A’ sont à B’ ce que sont les A sont à BA’ est similaire à A équivalent B’ est similaire à B
Exemple :relation entre silice (SiO2) et silicium (Si)similaire àrelation entre dioxyde de carbone (CO2) et carbone (C)
35/100
Systèmes de connaissances
Raisonnement par analogie
Exemple (Benjamin Franklin)La foudre et l’étincelle électrique se ressemblent, elles ont lamême couleur, la même odeur, le même comportement sur lescorps organisés.L’étincelle électrique est attirée par les pointes.Franklin a supposé que la foudre était une décharge électriqueet que la foudre était attirée par les pointes comme le courantélectrique, ce qui conduisit à l’invention du paratonnerre
36/100
Systèmes de connaissances
Raisonnement de sens communFondé sur l’expérience de l’expert, sur la notion de bonjugement plus que sur la logiqueIntroduction des heuristiques
Exemple : Archimède (Eurêka)
Une heuristique est une règle qu’on a intérêt à utiliser en général,parce qu’on sait qu’elle conduit souvent à la solution, bien qu’onn’ait aucune certitude sur sa validité dans tous les cas.
37/100
Systèmes de connaissances
Raisonnement de sens commun
HeuristiqueEn informatique, l’heuristique est une méthode de résolutionde problèmes, non fondée sur un modèle formel et quin’aboutit pas nécessairement à une solution.Elle procède par évaluations successives et hypothèsesprovisoires
38/100
Systèmes de connaissances
Architecture d’un système expert
39/100
Systèmes de connaissances
Architecture d’un système expert
Base de règlesModèle de la connaissance de l’expert du domaine considérésous forme de règles codées dans le langage utilisé par lesystèmeBase de faitsInformations connues sur le problème traité
40/100
Systèmes de connaissances
Règles de productionSi condition alors conclusion (ou action)
Si le spectre possède 2 pics aux masses m1 et m2 tels quem1 + m2 = m + 28et m1 - 28 est un pic élevéet m2 - 28 est un pic élevéet au moins m1 ou m2 est élevé
alors la molécule contient un groupe CétoneQuand les conclusions sont :
des faits, le système est dit analytiquedes actions, système est dit synthétique
41/100
Systèmes de connaissances
Cycle de vie
42/100
Systèmes de connaissances
Distribution des rôlesInformaticienConstruction du moteur d’inférences et de l’interfaceutilisateurIngénieur de la connaissance (cogniticien)Consultation des experts du domaine, ressources textuelles,BD, etc.Conception, construction et débogage de la BCExperts du domaineConnaissance du domaine en terme de relation entre faits etévénements (pas de connaissance procédurale)UtilisateurInformation sur le problème individuel à résoudre mais pas surle domaine (il ne connaît pas quelles informations sont utiles)
43/100
Systèmes de connaissances
DENDRAL 1965
Dendritic Algorithm (DENDRAL)Edward Feigenbaum, Bruce Buchanan, Joshua Lederberg (prixNobel en génétique) & Carl Djerassi Stanford University inCaliforniaPluridiscplinarité : informatique médecine et chimie
Considéré comme le premier SE carAutomatise le processus de prise de décision et la résolution deproblème par les chimistes
44/100
Systèmes de connaissances
DENDRAL 1965
ObjectifIdentification d’un matériau à partir de spectrométrie de masseet de résonnance magnétique nucléaireAide aux chimistes organiques pour l’identification demolécules organiques inconnues, en analysant leurs spectres demasse et l’utilisation des connaissances en chimie
Ecrit en LISP
45/100
Systèmes de connaissances
DENDRALhttp://www.slideshare.net/nikhilaniljilhawar/presentation1-25195033
Comporte deux sous-programmesHeuristic Dendral : système de performanceProduit un ensemble de structures chimiques possibles pouvantêtre responsables de la production des donnéesMeta Dendral : système d’apprentissagePropose un ensemble de règles de spectrométrie de masse quicorrèlent les caractéristiques de structure avec les processusproduisant le spectre de masse
Fondé surParadigme : planifier, engendrer et testerAcquisition de connaissances
46/100
Systèmes de connaissances
DENDRAL
47/100
Systèmes de connaissances
Expert ConfigurerXCON 1982
Développer par DEC pour la configuration d’ordinateursOffre au client un large choix de composants lors de l’achatd’équipements informatiques, de sorte que le client parvienneà un système sur mesureEn fonction de la demande du client, la configuration peutconduire au remplacement ou à l’ajout de composantsProblème
Changements rapides des composantsConfiguration d’un ordinateur requièrent des compétences etdes efforts
Ecrit en OPS5Utilisation du chaînage avant
48/100
Systèmes de connaissances
PROSPECTOR
Développé par Artificial Intelligence Center du StanfordResearch Institute pour le U.S. Geological SurveyR. Duda, P. E.Hart, N.J. Nilsson, R. Reboh, J. Slocum, andG. Sutherland and John Gasching (1974-1983)Aide aux géologues pour l’exploration minièreA prédit l’existence d’un gisement de molybdène jusqu’alorsinconnu dans l’État de Washington
49/100
Systèmes de connaissances
PROSPECTOR
50/100
Systèmes de connaissances
PROSPECTOR
51/100
Systèmes de connaissances
MYCIN
52/100
Systèmes de connaissances
MYCINEquipe de StanfordShortliffe 1975, 1976Nom MYCIN :Suffixe commun à plusieurs agents antimicrobiensCaractéristiques :Système d’aide à la décisionDomaine d’applicationMédecine : infections bactériennes du sangTâches (à partir de données incomplètes)
Déterminer l’importance de l’infectionDéterminer l’organisme responsableIdentifier les médicaments possiblesChoisir le meilleur traitement
53/100
Systèmes de connaissances
MYCIN
Processus de sélection d’une thérapeutiqueDécomposition en 4 étapes
1 L’infection demande-t-elle un traitement ?2 Si oui, déterminer l’organisme (ou la liste) responsable3 Sélectionner des médicaments potentiellement utilisables4 Sélectionner le meilleur traitement pour le cas considéré
54/100
Systèmes de connaissances
Architecture de MYCIN
55/100
Systèmes de connaissances
MYCIN : Base de connaissances
56/100
Systèmes de connaissances
Deux règles de MYCINDiagnostic
Si le site de la culture est le sanget l’organisme est à gram négatifet l’organisme est de forme bâtonnetet le patient est un hôte à risque
alors il est plausible (degré 0.6) quel’organisme soit le pseudomonas aerugina
Traitement médicalSi l’organisme est bacteroïde
et le site de la culture était stérilealors la thérapie recommandée doit être choisie parmi les
prescriptions suivantes :chloramphénicol, climdamycine, tétracycline,lindomycine, gentamycine
57/100
Systèmes de connaissances
Les performances de MYCINComment valider un SBC ? Quels critères ?
par rapport à l’expertsavoir traiter 90 % des problèmes ou aussi les problèmes gravestaux de réussite absoluévaluation du raisonnement suivi et des résultats
MYCIN : technique utilisée pour valider une nouvelle thérapiePour 10 cas : 8 experts et Mycin → solution du cas
1 Chaque expert évalue toutes les prescriptions (note /80)2 Le collège évalue toutes les prescriptions (note /8)3 Le collège signale les solutions inadmissibles
MYCIN : meilleurs résultats sur les 10 prescriptionsEt pourtant MYCIN n’a jamais pu être implémenté de manièreopérationnelle : POURQUOI ?
58/100
Systèmes de connaissances
Les performances de MYCIN
59/100
Systèmes de connaissances
Limites de MYCIN
Une stratégie de résolution impliciteDes capacités auto-explicatives assez pauvresDe grandes difficultés pour l’acquisition des connaissancesLe raisonnement est dépendant de l’ordre des règlesUne maintenance de la BC assez difficileUne dégradation brusque des compétences aux bornes dudomaineDes connaissances de surfaceAbsence de généricité des systèmes construits
60/100
Systèmes de connaissances
Dépasser les limitesExprimer les connaissances stratégiquesMYCIN → Neo MYCIN : méta-règles explicitant la stratégieExemple :Si une observation doit toujours être expliquée et elle n’est pasexpliquée pour le « différentiel »Alors évoquer des hypothèses qui peuvent l’expliquer
Chaque méta-règle décrit une sous-tâcheEtablir le diagnostic
1 identifier le problème→ (informations initiales et plaintes somatiques)
2 établir espace des hypothèses→ (établir différentiel, grouper et différencier, explorer etraffiner)
3 effectuer les analyses
61/100
Systèmes de connaissances
Mieux modéliser le raisonnement
Connaissances stratégiquesExpriment comment une tâche va être effectuéeUtilisent des connaissances du domaine
Connaissances du domaineConcepts manipulés et leurs relations« Ce qui est vrai » dans le domaine pour la tâche considérée
Modèle conceptuelModèle explicitant la manière dont le système
Résout le problèmeUtilise les connaissances
MC = Connaissances stratégiques + Connaissances dudomaine
62/100
Systèmes de connaissances
Le « knowledge level » de Newell - 1982Un niveau au dessus du niveau symbolique
But = décrire un système informatiqueDifférencier connaissances et représentationsDescription du comportement observé du système à l’aide deconnaissancesIndépendamment de leur formalisation
Agent rationneldispose de connaissancesdoit atteindre des butssait effectuer des actionsest rationnelchoisit (avec ses connaissances) l’action suivante qui va le mener leplus directement au but
Application à la construction de SBCsystème = agent rationnel interagissant avec son environnementdescriptions plus structurées que ce que propose Newell.
63/100
Systèmes de connaissances
Systèmes experts de seconde génération
Deux caractéristiques essentiellesCaractère hétérogène de ces systèmes combinant
différents types de connaissancesdifférents types de représentationsdifférentes méthodes de résolution de problèmes
Volonté de décrire et concevoir ces systèmes à un meilleurniveau d’abstraction
le «knowledge level»
64/100
Systèmes de connaissances
SE Whale Watcher
Déterminez l’espèce de baleine que vous avez observé lors devotre dernier voyage au CanadaLien non accessible car devenu commercialhttp://www.aiinc.ca/demos/whale.shtml
65/100
Systèmes de connaissances
SE en médecine
Systèmes de rappels et d’alertesAssistant Médical
permet, à partir d’un mot, d’un concept, d’une association desymptômes, de visualiser toutes les hypothèses diagnostiquespossibles, chacune documentée par une fiche accessible d’unsimple clic.
Outil d’aide au diagnostic d’OrphanetUtilisation
en ligne, en accès direct et gratuit.Le moteur d’Orphanet permet, de son côté, une recherche demaladie rare par signes et symptômes.
66/100
Systèmes de connaissances
Watson
installation is a 10-rack supercomputer with a total of 2880 processorthreads (90 Power7 CPUs clocked at 3.5GHz, each with eight cores,and each core with four threads). There is 16TB of RAM, and theentire thing is embarrassingly parallel — it can process 500 gigabytesof data per second.
67/100
Systèmes de connaissances
Architecture d’un système expert
Deux parties indépendantes :une base de connaissancesun moteur d’inférences
Deux éléments supplémentaires possiblesMéta-règlesAgendas
68/100
Systèmes de connaissances
Architecture d’un système expert
Base de connaissancesreprésentant l’expertise du domainecomposée de
base de règlesmodélise la connaissance du domaine considéréFixe, ne change pas au cours de l exécutionbase de faitsensemble de faits décrivant le problème précis que l’on proposeau système de traiterévolue
69/100
Systèmes de connaissances
Architecture d’un système expert
Moteur d’inférencesles algorithmes gérant cette connaissancecapable
de raisonner à partir des informations contenues dans la basede connaissancede faire des déductions
70/100
Systèmes de connaissances
La base de règlesElle rassemble la connaissance et le savoir-faire de l’expertElle n’évolue donc pas au cours d’une session de travailUne règle est de la forme :Si <conjonction de conditions> alors <conclusion>où les conclusions sont de la forme <Fait> = <valeur>
Une base de règlesensemble de règlessa signification logique est la conjonction de la signification logiquede chacune des règlesOn peut coder facilementsi A ou B alors Cou si A alors B et C
Il n’en est pas de même desi A alors B ou C
71/100
Systèmes de connaissances
Métarègle et métaconnaissanceRègle sur la manière d’utiliser les règlesFinalitéGuider le moteur d’inférences sur
la stratégie de résolutionla maintenance de la base
ExempleUne métarègle de MYCINsi le patient est un hôte à risque
et s'il existe des règles mentionnant des pseudo-moniasdans une prémisse
et s'il existe des règles mentionnant des klebsiellasdans une prémisse
alors il est probable qu'il faille utiliser les premièresavant les secondes
72/100
Systèmes de connaissances
Agenda
Moyen pour gérer la notion de plans et de planificationListe de tâches que le système peut effectuer avec les raisonsqui poussent le système à penser qu’une tâche donnée estintéressanteLe système peut donc choisir la tâche la plus intéressantepour poursuivre la résolution
73/100
Systèmes de connaissances
Moteur d’inférence
Mécanisme permettant d’inférer des connaissances nouvelles àpartir de la base de connaissances du systèmePartie créative du système à partir des faits et des règles ilengendre de nouveaux faits afin de réaliser la résolutioneffective du problème
74/100
Systèmes de connaissances
Le cycle de production
75/100
Systèmes de connaissances
Techniques de résolution : ChaînageChaînage avantExemple : démonstration classique (déductive)Chaînage arrièreExemple : mécanisme de résolution des clauses de HornChaînage mixteRégime de contrôle
IrrévocableArrêt dès que l’ensemble des règles sélectionnable est videRévocable - À tentativesUtilisation du retour arrière pour remettre en cause les règlesprécédemment déclenchées
MonotonieMonotoneAjout de faitsNon monotoneRetrancher des faits de la base
76/100
Systèmes de connaissances
Chaînage avant
Mécanisme très simplePour déduire un fait particulier, on déclenche les règles dontles prémisses sont connues jusqu’à ce que
le fait à déduire soit également connuou qu’aucune règle ne soit plus déclenchable
Plus précisémentBF: une base de faitsBR: une base de règles (ne comportant que des faits booléenspositifs)F: le fait que l’on cherche à établirL’algorithme calcule si F peut être déduit ou non de la base deconnaissances.
77/100
Systèmes de connaissances
Algorithme du chaînage avant
Donnée : BF, BR, FDébut
Phase de filtrage => Détermination des règles applicablesTant que (ensemble de règles applicables n'est pas vide ET que le
problème n'est pas résolu) FairePhase de choix => Résolution des conflitsAppliquer la règle choisie (exécution)Modifier (éventuellement) l'ensemble des règles applicables
Fin faireFin
Pas d’indication sur comment choisir une règle applicableC’est à ce niveau que la métaconnaissance du domaineintervient et permet de définir une stratégie de choix
78/100
Systèmes de connaissances
Chaînage avant : remarquesAlgorithme
Peut être très pénalisant pour certaines basesS’arrête toujours
Si utilisation de règles avec conclusions pouvant être des faits négatifsPour tout fait F, il peut se produire 4 situations :
F ∈ BF : le fait est établi¬ F ∈ BF : la négation du fait est établieni F, ni ¬ F ne sont dans BF : le système ne déduit rien à propos du fait.C’est une troisième valeur de vérité qui apparaît naturellement et dontl’interprétation peut être diverse selon les casF et ¬ F ∈ BF : la base est incohérente. On peut prévoir un faitBase_incohérente et une méta-règle de la forme : si il existe un fait quiappartient, ainsi que sa négation, à BF alors Base_incohérente
Le fait à établir peut ne pas être connu.Une étape de saturation de la base de connaissances consiste alors àdéduire tous les faits déductibles
79/100
Systèmes de connaissances
Exemple
Les faitsF1 : animal a des plumesF2 : animal a un long couF3 : animal a de longues pattesLes règlesREGLE r1
SI animal vole ET animal pond des oeufsALORS animal est un oiseau
REGLE r2SI animal a des plumes ALORS animal est un oiseau
REGLE r3SI animal est un oiseau ET animal a un long cou
ET animal a de longues pattesALORS animal est une autruche
80/100
Systèmes de connaissances
Chaînage avant
81/100
Systèmes de connaissances
Chaînage avant : exemple
Soit BF = B,C, Fait = H et
BR composée des règles :
R1 : Si B et D et E alors FR2 : Si G et D alors AR3 : Si C et F alors AR4 : Si B alors XR5 : Si D alors ER6 : Si X et A alors HR7 : Si C alors DR8 : Si X et C alors AR9 : Si X et B alors D
L’algorithme précédent appliqué à ces paramètres prouve que H sedéduit de la base de connaissances.
82/100
Systèmes de connaissances
Chaînage avant : exempleB CIntial facts
B C XR4
B C DR7First cycle
of deduction
B CX D
R7B CX A
R8B CX D
R9B CD X
R4B CD E
R5
Second cycleof deduction
B CX D
E
R5B CX DA
R8B CX D
R9B CX AH
R6Third cycleof deduction
B C XD E F
R1Forth cycleof deduction
B C XD E F
A
R3Fifth cycle
of deduction
B C XD E FA H
R6Sixth cycleof deduction
83/100
Systèmes de connaissances
Chaînage arrièrePrincipe
Le moteur recherche les règles concluant sur le but à vérifier, ets’assure que ces règles sont déclenchablesLa règle est déclenchable si ses prémisses sont vérifiéesSi parmi les règles sélectionnées, une règle est déclenchable, alors lebut est vérifiéSi ce n’est pas le cas, alors les prémisses à vérifier deviennent denouveaux buts, appelés sous-buts, et le processus est réitéré
Principales conditions d’arrêtL’ensemble des sous-buts est vide (succès)= tous les sous-buts ont été vérifiés et le problème est résoluImpasse ou échec :Soit un des sous - buts n’est pas vérifiable avec la règle courante etil faut choisir une nouvelle règle pour le vérifier, et si cela n’est paspossible, alors il y a échec.
84/100
Systèmes de connaissances
Chaînage arrière
DébutPhase de filtrageSi l'ensemble des règles sélectionnées est vide
Alors questionner l'utilisateurSinon
Tant que (le but n'est pas résolu ET qu'il reste des règlessélectionnées) Faire
Phase de choixAjouter les sous-buts (partie gauche de la règle choisie)Si un sous-but n'est pas résolu
Alors mettre le sous-but en but à résoudreFin faire
Fin
85/100
Systèmes de connaissances
Chaînage arrière : exemple
Décrit par un arbre dont les noeuds sont étiquetés soit par un fait,soit par un des deux mots et, ouBF = B,C,DFait = H
BR composée des règles :
R1 : Si B et D et E alors FR2 : Si G et D alors AR3 : Si C et F alors AR4 : Si B alors XR5 : Si D alors ER6 : Si X et A alors HR7 : Si C alors DR8 : Si X et C alors AR9 : Si X et B alors D
86/100
Systèmes de connaissances
Chaînage arrière : exempleH
and
X Aor
Bin FB and and useless
Gfailure
uselessC
in FBF
and
Bin FB
D E
or
Cin FB
useless Din FB
87/100
Systèmes de connaissances
Chaînage arrière : remarquesL’algorithme de chaînage arrière peut boucler
Si les faits déjà examinés ne peuvent pas être mémorisés (parexemple parce qu’ils sont trop nombreux)
Enrichir de l’algorithme de chaînage arrièreTenir compte du caractère demandable ou non d’un faitDans ce cas, lorsqu’un fait demandable n’a pas encore étéétabli, le système le demandera à l’utilisateur avant d’essayerde le déduire d’autres faits connus
Mais pour que ce mécanisme soit efficace(ce qui implique entre autres qu’il n’agace pas l’utilisateur enposant des questions stupides)il faut que le moteur d’inférences soit capable de déterminerquelles sont les questions pertinentes Et ce problème est loind’être simple
88/100
Systèmes de connaissances
Exemple
Considérons par exemple la base de règles suivanteSi B et C alors ASi D et E alors ASi F et G alors ASi I et J alors GSi J alors non E
On suppose que les faits B, D, F et I sont les seuls faitsdemandables
89/100
Systèmes de connaissances
ExempleLa mémoire de travail est initialisée avec l’information J qui est vraiLa question posée au système est :
A est-il vrai ?Quelles sont les questions pertinentes à poser à l’utilisateur ?
B est-il vrai ? n’est pas un question pertinenteEn effet, aucune règle ne conclut sur le fait C qui n’est pas non plusdemandable. Comme le fait B ne peut être utilisé que conjointement à C,la valeur de vérité de B n’apportera aucune information sur celle de Ala question D est-il vrai ? n’est pas non plus pertinenteEn effet, comme on sait que J est vrai, que cela implique que E est fauxet que D n’est utilisé que conjointement à E, la valeur de vérité de D estinutile pour connaître celle de Ala question F est-il vrai ? est pertinenteEn effet, le fait G est encore déductible. Mais si la réponse à cettequestion est NON, la question I est-il vrai ? n’est plus pertinente car lavaleur de G ne sert plus à rien
90/100
Systèmes de connaissances
Chaînage mixte
L’algorithme de chaînage mixte combine les algorithmes deChaînage avantChaînage arrière
PrincipeDonnées : F (à déduire)DEBUT
TANT QUE (F n'est pas déduit mais peut encore l'être) FAIRESaturer la base de faits par chaînage AVANT (c'est-à-dire,
déduire tout ce qui peut être déduit)Chercher quels sont les faits encore éventuellement déductiblesDéterminer une question pertinente à poser à l'utilisateur et
ajouter sa réponse à la base de faitsFIN DU TANT QUE
FIN
91/100
Systèmes de connaissances
ExempleFaitsF1 : animal a des plumesF2 : animal a un long couF3 : animal a de longues pattes
RèglesR1SI animal vole ET animal pond des oeufs
ALORS animal est un oiseauR2SI animal a des plumes ALORS animal est un oiseauR3SI animal est un oiseau
ET animal a un long couET animal a de longues pattes
ALORS animal est une autruche
92/100
Systèmes de connaissances
Example
Initial goal Selectionof rule r3
3 new goals Selection of new rulesor direct checking
Is the animalan ostrich?
Is the animalan bird?
Has the animala long neck?
Has the animallong legs?
ANDr3
AND
Does the animalfly?
Has the animalfeathers?
r1OR
r2
failure
ok
ok
ok
93/100
Systèmes de connaissances
Les différents régimes de contrôle
Le raisonnement du moteur d’inférences est une succession decycle de base
Monotone versus non monotoneRévocable versus irrévocable
94/100
Systèmes de connaissances
Régime de contrôle : monotone
Le moteur ne fait qu’ajouter des faits à la base de faitsPas de retrait de connaissancesTout est affirmé rien n’est remis en cause ultérieurement
La plupart des diagnostics médicaux appellent unfonctionnement monotone
En effet, à moins d’une maladie foudroyante les symptômes dupatient avant la consultation du médecin sont les mêmesqu’après la consultation
95/100
Systèmes de connaissances
Régime de contrôle : non monotoneLe moteur peut, par exemple en cas de retour arrière,retrancher de la base des faits qui pourraient se révélercontradictoiresExemple
« Les métaux à température normale sont solides sauf lemercure ».
Les métaux sont solides par défaut.Un raisonnement d’aide au diagnostic dans lequel toutesconclusions peuvent être remise en cause est un raisonnementnon monotoneDans un système non monotone, le raisonnement estintimement lié à l’ordre d’application des règles
96/100
Systèmes de connaissances
Le régime de contrôle : révocable
Possibilité de revenir sur la valeur des faits, pour permettre lechaînage arrièreOn doit pouvoir maintenir un arbre des états dépendant del’ordre des règles appliquées.La recherche peut s’orienter en largeur ou bien en profondeur,selon que l’on considère l’ensemble des règles qui peuvents’appliquer à un moment donné, ou sinon, l’ensemble desrègles que l’on peut appliquer successivement depuis unesituation donnée.Utile pour établir des plans d’actions (robot) réclamant desactions irréversibles (percer un trou)
97/100
Systèmes de connaissances
Le régime de contrôle : irrévocableLes faits obtenus changent l’état courant de manière définitive
Pas de retour en arrière possible (système de ”backtrack”)Chaque règle ne peut s’appliquer qu’une seule fois.
Par conséquentLes concepts de recherche en largeur ou en profondeur ne sontpas pertinents dans ce régime, car on ne stocke pas l’espace derecherche, seulement l’état courant de la base de faits
Le régime irrévocable convient quandLa plupart des chemins mènent à la solution (c’est le cas de lalogique monotone), ce qui est rareEn pratique, on a souvent affaire à des systèmes qui doiventêtre modélisés en logique non monotone
98/100
Systèmes de connaissances
Sources des transparents
Transparents de Sylvie DesprésTransparents de J-C RoutierTransparents de A. Mille
99/100
Systèmes de connaissances
Conclusion
Systèmes utilisant des connaissancesRaisonnement symbolique et déclarativité des connaissances
Séparation des connaissances des traitementsPlusieurs types de raisonnement
Gestion de différents types de connaissances et dereprésentationsDifférentes méthodes de résolution de problèmes
100/100