Vous êtes sur la page 1sur 43

1

La Logique Formelle
Pr. F. BENABBOU FSBM
2020

Master DSBD/S1
Faculté des Sciences Ben M’SIK
Pr. Faouzia Benabbou (faouzia.benabbou@univh2c.ma)
Département de mathématiques et Informatique
Faculté des Sciences Ben M’Sik
2

Pr. F. BENABBOU FSBM


2020

Plan
• Introduction
• Logique formelle et inférence
▫ Représentation des connaissances et inférence LP-LPO
▫ ProLog
• Les Systèmes experts
• Techniques de représentation et de résolution de problèmes
• Système à base d’agents, Système multi-agents (JADE)
• Introduction à l’apprentissage Automatique
3

Système Expert à base de règles de production


4

Les Systèmes expert


• En 1965, une équipe de l'université de Stanford travaillait sur la
résolution d'un problème de chimie pour lequel on ne connaît pas de
solution algorithmique
• L'idée fut d'introduire la connaissance des experts dans les ordinateurs
en les rendant intelligents.
• A partir des années 1980, on a vu un développement énorme de SE
avec les systèmes à base de connaissances et l' ingénierie de la
connaissance.
5

Définition
• Les Systèmes Experts (SE) sont des systèmes informatiques, qui
sont dotés de connaissance et d’outils pour se comporter
comme des experts humains accomplissant une tâche
intellectuelle dans un domaine précis.
6

Les Systèmes expert


• On peut souligner les points suivants :
▫ les systèmes experts sont généralement conçus pour résoudre des
problèmes de classification ou de décision (diagnostic médical,
prescription thérapeutique, ...)
▫ les systèmes experts sont des outils de l'intelligence artificielle, c'est-à-dire
qu'on ne les utilise que lorsqu’aucune méthode algorithmique exacte n'est
disponible ou praticable
▫ un système expert n'est concevable que pour les domaines dans lesquels il
existe des experts humains.
7

Type de SE
• Plusieurs systèmes ont vu le jour, notamment:
▫ les systèmes à base de connaissances qui fondent leurs inférences sur les
connaissances qui y sont encodées,
▫ les systèmes de raisonnement à base de cas qui s' appuie sur l' historique
des cas déjà résolus,
▫ les systèmes à base de contraintes,
▫ etc.
8

Domaine d’application des SE


• Les systèmes experts sont utilisés dans divers domaines d' applications tels
que :
▫ La médecine : diagnostic médical, classification radiographique
▫ L' informatique : composante de systèmes tutoriels intelligents, maintenance
électronique
▫ Le marketing : sélection d' hôtel
▫ L' industrie : surveillance, diagnostiques de pannes, gestion d'incidents
▫ La géologie : aide à la prospection géologique et minière
▫ Etc.
9

Architecture générale d'un système expert


10

Les Faits
• Elles représentent les connaissances sémantiques qui n’ont
besoin d’être démontrées, cela peut être des :
▫ définition de concepts, lien entre concepts (ontologies)
▫ déclarations de choses connues qui ne changeront pas dans le
domaine.
• Exemple:
mere(alia,samir). tiger :- mammal, carnivore,
mere(alia,ghita). verify(has_tawny_color),
pere(med,samir). verify(has_black_stripes).
pere(med,ghita).
11

Les Règles
• Il s'agit de connaissances stratégiques qui permettent de produire une
solution, d'atteindre un but ou encore d'inférer
• Permettent de formaliser l’expertise humaine
• Ce sont des connaissances procédurales qui constituent la base de
règles.
• Les bases de règles et de faits constituent la base de connaissances sur
laquelle on peut réaliser des inférences (déduction)
12

Base de connaissance
• La base de connaissances contient toute l'information dont un expert
humain aurait besoin pour réalise son travail, ceci dans un domaine
donné.
• Comme déjà vu, la base de connaissances est divisée en deux :
1) Les faits spécifiques du domaine
2) Les principes plus généraux, des règles, des heuristiques de résolution de
problèmes qui représentent les modes de raisonnement propres au
domaine considéré.
13

La base de règle BDR


• Une règle est de la forme suivante: « si Prémisses alors conclusion »
• Les prémisses sont les conditions de déclenchement de la règle et la
conclusion c’est l ’action ou assertion à ajouter à la BDF.
• Père(ali,ahmed) et frere(ahmed, ghita) nous conduit à père(ali, ghita),
• Exemple de BDR: système de conseils de voyage
14

Exemple de SE
• DENDRAL est e premier SE conçu qui permettait d'identifier les
constituants chimiques d'un matériau à partir de spectrométrie de
masse et de résonance magnétique nucléaire.
• MYCIN (Stanford): médecine, enseignement.(500 règles)
• PROSPECTOR (SRI inter): géologie, 1600 règles
• LITHO (Schlmberger-France): géologie , 500 règles
• TOM (Cognitech-INRA 1984) agronomie, maladies de la salade, 200
règles
15

Moteur d’inférence

• Moteur d’inférence : Le MI est le programme qui contrôle le


raisonnement, etexploite la BDR pour déduire de nouveaux faits.
• Le Moteur d’Inférences Un moteur d'inférence est un algorithme
d'exploration d'un espace d‘états (recherche)
• Vu que les règles de la base de connaissances peuvent contenir des
variables, le moteur d’inférence utilise un algorithme d’unification
16

Moteur d’inférence
• Le Moteur d’Inférences enchaîne des cycles comportant chacun deux phases
▫ Phase d’évaluation : constituer l’ensemble des règles déclenchables (génération de
conflits)
▫ Phase d’exécution : déclencher la(es) règle(s) retenue(s) dans la résolution de
conflits
Phase d’évaluation :
• étape de sélection des Faits et règles
déclenchables
• étape de filtrage qui compare les
prémisses de chaque règle aux faits
• étape de résolution de conflit : choix de la
règle selon une stratégie
Phase d’exécution :
• déclencher la ou les règles retenues dans
la résolution de conflits
• Ajouter les fait établis
17

Moteur d’inférence
1. Tout d’abord il faut choisir l’ensemble des règles déclenchantes
2. sélection des faits de BF et des règles qui méritent d’être comparés.
3. Le Filtrage compare les prémisses de chaque règle de la BR avec les faits de la
BF.
4. Puis il faut résoudre le conflit en choisissant la ou les règles à déclencher
selon la stratégie.
5. Ensuite il faut mettre à jour la BF et effectuer l’action.
18

Pr. F. BENABBOU FSBM


2020

Exemple : arbre généalogique en prolog


homme(albert).
homme(marc). Faits
homme(charles).
femme(sara).
pere(albert, marc).
pere(albert, charles).
pere(albert, sara). Moteur d’inférence : Prolog
enfant(X, Y) :- pere(Y, X). Règles
fils(X, Y) :- enfant(X, Y), homme(X).
fille(X, Y) :- enfant(X, Y), femme(X).
frere-ou-soeur(X, Y) :- pere(Z, X), pere(Z, Y), X\=Y.
19

Exemple
• homme(albert).
• homme(marc).
• homme(charles).
• femme(sara).
• pere(albert, marc). fils(marc,X)
• pere(albert, charles).
• pere(albert, sara). Enfant(marc, Y), homme(marc).
• enfant(X, Y) :- pere(Y, X).
• fils(X, Y) :- enfant(X, Y), homme(X).
pere(Y, marc)
• fille(X, Y) :- enfant(X, Y), femme(X).
• frere-ou-soeur(X, Y) :- pere(Z, X), pere(Z, Y), X\=Y. unification
pere(albert, marc).
true
20

Exemple
• Exemple en Prolog :
hors_doeuvre(artichauts).
hors_doeuvre(salade).
viande(poulet).
viande(veau).
poisson(loup).
poisson(merlon).
plat(X):-viande(X);poisson(X).
hors_doeuvre(X)plat(Y)  repas(X,Y)
repas(X,Y):-hors_doeuvre(X),plat(Y). viande(X)poisson(X)  plat(X)
21

Schéma de base pour réaliser un MI


• Un MI nécessite la sélection d’un ensemble de critères:
▫ 1/Critère de monotonie
▫ 2/ Régime de contrôle
▫ 3/Mode d’invocation des règles
22
MI / Critère de monotonie

Critère de monotonie
• Un moteur d’inférence MI peut être :
 monotone: En régime monotone, le MI ne fait qu’ajouter des faits à la BDF et ne
supprime jamais un fait déjà établi
 non monotone : En régime non monotone le MI peut en cas de retour arrière par
exemple on peut retirer de la BDF un fait précédemment ajouté
23
MI / Régime de contrôle

Régime de contrôle
• Le régime de contrôle d’un MI peut être:
 irrévocable
 Le déclenchement d’une règle n’est pas remis en cause
 L’application d’une règle dans un cycle du MI n’est jamais remise en cause et on
n’opère pas de backtracking, s’il n’y a plus de règles à appliquer le MI s’arrête et
signale un échec sans faire retour en arrière
 par tentative
 Ce régime peut remettre en cause des règles déjà appliquées si elles n’ont pas
abouti, et faire un backtracking en retirant aussi les faits qui en étaient déduits
24
MI / Mode d’invocation des règles

Mode d’invocation des règles


 MI à approche de chainage avant
 MI à approche de chainage arrière
 MI à approche de chainage mixte
25
MI/Méthode d’invocation des règles

Chaînage avant
• La recherche consiste à partir d’un état initial obtenir un état
terminal par application des règles de la base BR.
• Le MI compare la partie prémisse des règles aux éléments de la
BDF.
• Lorsque la partie prémisse est satisfaite, la règle est tirée et la
conclusion est rangée dans la BDF.
• Le chaînage avant est basé sur le modus ponens : SI (A ⇒ B et A)
alors B.
• Le déclenchement d’une règle n’est pas remis en cause (irrévocabilité)
• Les faits établis dans la BF le demeurent par la suite (monotonie)
26
MI/Méthode d’invocation des règles/chaînage avant

Chaînage avant
• Deux stratégies de recherche
 En profondeur d’abord : dans ce cas on développe les règles d’un niveau à un autre à
chaque fois qu’on déclenche une règle et on ne revient aux règles restantes que si on
épuise toutes les règles en profondeur
 En largeur d’abord : dans ce cas on développe toutes les règles d’un même niveau l’un
après l’autre avant de passer au niveau suivant
27
MI / Méthode d’invocation des règles/chaînage avant

Recherche en profondeur d’abord


• On explore chaque branche jusqu’au
bout avant de passer à la suivante.
• On privilégie les règles qui contiennent
en prémisse un fait qui vient d’être
établi.
• Chaque fait établi par tirage d’une règle
est immédiatement rangée dans la BDF,
• On considère tout de suite de
nouvelles BDF pour déterminer les
nouvelles règles valides.
28
MI/Méthode d’invocation des règles/chaînage avant

Recherche largueur d’abord


• Le graphe est balayé niveau par niveau.
• Le MI trie toutes les règles, de même profondeur, satisfaites.
• Il adjoint leurs conclusions à la BDF.
• Il les utilise pour tirer d’autres règles.
• Il n’a y pas de résolution de conflit.
29
MI/Méthode d’invocation des règles/chaînage avant

Chaînage avant
Activer toutes les règles de la base
Tant qu'il existe des règles actives déclenchables
Choisir R une de ces règles //résolution de conflits ou non
Si la conclusion de R ne contredit pas la base de faits
alors
appliquer la conclusion de R et désactiver R
sinon base inconsistante Stop
fin Si
fin Tant que
30
MI/Méthode d’invocation des règles/chaînage avant

Chaînage avant
• La désactivation des règles assure la terminaison de l'algorithme.
• Pour le problème du choix de la règle déclenchable à activer, différentes
stratégies sont possibles :
▫ dans l'ordre de l'écriture de la base
▫ au hasard
▫ En utilisant une heuristique
▫ à partir de coefficients de priorité sur les règles
▫ règle dont la condition utilise les faits les plus récemment déduits
▫ à partir de règles de contrôle (méta-règles)
31
MI/Méthode d’invocation des règles/chaînage avant

Chaînage avant
• Deux types:
▫ En profondeur d’abord : MI déclenche une règle après l’autre, losque la règle
est déclenchée, les faits conclusion de la règle sont immédiatement rangés
dans la base de faits
▫ En largeur d’abord : le MI cherche à déclencher toutes les règles possibles d'un
état donné de la base de faits avant d'adjoindre leurs faits conclusion dans la
base de fait.
32
MI/Méthode d’invocation des règles/chaînage avant

Exemple
• Recherche chainage avant en profondeur d’abord d’abord, monotone avec régime irrévocable
Soit la BDF= {A, C, D, E, G, H, L}
soit la BDR:
R1: k, L, M → I R4: A, B → Q R7: J, M → R
R2: I, J, L → Q R5: L, N, O, P → Q R8: F, H → B
R3: C, D, E →B R6: C, H → R R9: G →F
Établissons Q:
Niveau 0 BDF0 = {A, C, D, E, G, H, L}
 R3
Niveau 1 BDF1 = {A, C, D, E, G, H, L, B}
 R4
Niveau 2 BDF2 = {A, C, D, E, G, H, L, B, Q}

Succès
33
MI/Méthode d’invocation des règles/chaînage avant

Chaînage avant
• Recherche chainage avant, largeur d ’abord monotone avec régime irrévocable
Soit la BDF= {A, C, D, E, G, H, L}
soit la BDR:
R1: k, L, M → I R4: A, B → Q R7: J, M → R
R2: I, J, L → Q R5: L, N, O, P → Q R8: F, H → B
R3: C, D, E →B R6: C, H → R R9: G →F
Établissons Q:
Niveau 0 BDF0 = {A, C, D, E, G, H, L}
 R3 R6 R9
Niveau 1 BDF1 = {A, C, D, E, G, H, L, R, F, B}
 R4
Niveau 2 BDF2 = {A, C, D, E, G, H, L, R,F, B, Q}

Succès
34
MI/Méthode d’invocation des règles/chaînage avant

Chaînage avant
• Résoudre ce problème en appliquant l’approche de chainage en profondeur d’abord
monotone avec régime irrévocable
Soit la BDF= {C}
soit la BDR:
R1: B,D,E → F. R2: D,G → A. R3: C,F → A R4: B → X. R5: D → E .R6: A,X → H.
R7: C → D. R8: X,C → A. R9: X,B → D
Une règle appliquée est définitivement écartée de BDR
Établissons B?:
Niveau 0 BDF0 = {C}
 R7
Niveau 1 BDF1 = {D,C}
 R5
Niveau 2 BDF2 = {D,C,E}

echec
35
MI/Méthode d’invocation des règles/chaînage avant

Chaînage avant
• Dans le chaînage avant on ne part pas du but à prouver.
• on déclenche les règles valides pour prouver le but
• nécessite de disposer dès le début de toutes les données
• À l'issue d'une saturation, il est possible que certaines règles ne
soient plus déductibles.
36
MI/Méthode d’invocation des règles/chaînage arrière

Chaînage arrière
• La partie « conclusions » des règles est unifiée avec ce but.
• En cas de succès, les prémisses de la règle unifiée sont les nouveaux buts
assignés.
• Puis à appliquer récursivement le même mécanisme aux faits contenus
dans ces listes.
• Les prémisses inconnues deviennent les nouveaux sous-buts.
• Le chaînage arrière est basé sur Modus Tollens : SI (A ⇒ B et ¬B) alors ¬ A.
37
MI/Méthode d’invocation des règles/chaînage arrière

Exemple
• BF={a, b} But= f
R1 : a → c
R2 : a, d → e
R3 : b , c → e
R4 : e → f
but = f

• si une branche d'un nœud ET donne un échec il est inutile de


vérifier les autres.
• Si une branche OU donne un succès, il est inutile de calculer les
autres.
38
MI/Méthode d’invocation des règles/chaînage arrière

Exemple : Chaînage arrière en profondeurs d’abord


• Soit la BDF={ A, C, D, E, G, H, L} but={Q}
• Soit la BDR :
R1 : k, L, M → I R4 : A, B → Q R7 : R, J, M → R
R2: I, J, L → Q R5: L, N, O, P → Q R8: F, H → B
R3: C, D, E →B R6: C, H → R R9: G →F
39
MI/Méthode d’invocation des règles/chaînage arrière

Exemple : Chaînage arrière en profondeurs d’abord


• On reprend le même exemple : Soit la BDF={ A, C, D, E, G, H, L} but={Q}
• Soit la BDR :
R1 : k, L, M → I R4 : A, B → Q R7 : R, J, M → R
R2: I, J, L → Q R5: L, N, O, P → Q R8: F, H → B
R3: C, D, E →B R6: C, H → R R9: G →F

but1={Q}
but2={I,J,L}
40
MI/Méthode d’invocation des règles/chaînage arrière

Exemple : Chaînage arrière en profondeurs d’abord


• On reprend le même exemple : Soit la BDF={ A, C, D, E, G, H, L} but={Q}
• Soit la BDR :
R1 : k, L, M → I R4 : A, B → Q R7 : R, J, M → R
R2: I, J, L → Q R5: L, N, O, P → Q R8: F, H → B
R3: C, D, E →B R6: C, H → R R9: G →F

but3={K,L,M,J,L}

Échec, backtracking
41
MI/Méthode d’invocation des règles/chaînage arrière

Exemple : Chaînage arrière en profondeurs d’abord


• On reprend le même exemple : Soit la BDF={ A, C, D, E, G, H, L} but={Q}
• Soit la BDR :
R1 : k, L, M → I R4 : A, B → Q R7 : R, J, M → R
R2: I, J, L → Q R5: L, N, O, P → Q R8: F, H → B
R3: C, D, E →B R6: C, H → R R9: G →F

but1={A,B}
but2={A, C, D, E }
MI arrête le processus
42
MI/Méthode d’invocation des règles/chaînage arrière

Chaînage arrière : largeur d’abord sauf si une règle est


concluante
• Le MI génère d’abord l’ensemble des conflits, les règles qui concluent sur le
but ou sous but.
• Il examine si l’une d’elle est immédiatement concluante (si la preuve est
déjà dans la BDF).
• C’est un déplacement en largeur sur le graphe.
• Si échec complet on essaye d’établir les faits manquants de l’une des règles.
43
MI/Méthode d’invocation des règles/chaînage arrière

Exemple : Chaînage arrière en largeur d’abord sauf si règle concluante

• On reprend le même exemple : Soit la BDF={ A, C, D, E, G, H, L} but={Q}


• Soit la BDR :
R1 : k, L, M → I R4 : A, B → Q R7 : R, J, M → R
R2: I, J, L → Q R5: L, N, O, P → Q R8: F, H → B
R3: C, D, E →B R6: C, H → R R9: G →F
but={Q}

Dans l’exemple précédent on examine R2 puis R4


R3 sera tirée avant R1 car immédiatement concluante

MI arrête le processus

Vous aimerez peut-être aussi