Computer Science">
Ia TD
Ia TD
Ia TD
Système expert
R3
BC (Base de Connaissance) + BR (Base de Règle)
Chaînage arrière : But F
Chaînage avant : Saturation (+ But) R7 A
Exercice p.3 — Chaînage avant A
R1 A →E R1
R2 B →D
E E
R3 H →A∧F
R4 E∧G →C R4 R5
R5 E∧K →B
E B
R6 D∧E∧K →C
R7 G∧K∧F →A R2
Ordre des règles : R3 - R7 - R1 - R4, R5 - R2 - R6 D
Faits non déductibles : H, G, K R6
Base de faits initiale : H, K But : C
Nb Inférence BF BR Explication
0 HK toute la base
1 HKAF BR — { R3 } H→A∧F
2 HKAFE BR — { R3, R1 } A→E
3 HKAFEB BR — { R3, R1, R5 } E∧K→B
4 HKAFEBD BR — { R3, R1, R5, R2 } B→D
5 HKAFEBDC BR — { R3, R1, R5, R2, R6 } D ∧ E ∧ K →C
but = muguet
R5
VERIF(monocot., rhizome)
ET DEMO(rhizome)
DEMO(monocot.)
! BF
R3
VERIF(phanéro., 1-cotyl.)
ET
DEMO(phanéro.) DEMO(1-cotyl.)
! BF
R1
VERIF(fleur, graine)
ET
DEMO(fleur) DEMO(graine)
! BF expert: graine ? oui
phanérogame
d'où muguet = VERIF
Exercice 1 — TD numéro 1
a) Chaînage avant
R1 SI Responsabilité ET Langue-facile ET Néerlandais-parlé ALORS Dynamique
R2 SI Langue-facile ET Anglais-parlé ALORS Adaptabilité
R3 SI Slave ET Dynamique ALORS Adaptabilité
R4 SI Responsabilité ALORS Leadership
R5 SI Langue-facile ALORS Néerlandais-parlé
R6 SI Adaptabilité ET Leadership ALORS Accepté
R7 SI Slave ALORS Langue-facile
R8 SI Leadership ET Slave ALORS Adaptabilité
Accepté
Leadership
Adaptabilité
R3 R4
R2 Responsabilité
R8
Langue-facile Slave Dynamique
R7 Anglais-parlé R1
Langue-facile
Exercice 2
Choosen beverage : ?
B2
B1 B2
expensive wine New Year's Eve Chicken
cheap wine
BF
B10
wine
B9 sophisticated
wine impressed BF
ECHEC
TLR DE OK
Water OK
B4 B5
True
unknown bear Mexican
cheap wine
Echec BF
B10
B12
wine
Mexican
sophisticated BF
BF
B6 B7
Constante(T)
Table(A) Sur(A,T)
Depiler (X, Y)
Condition Sur(X,Y)
Libre(X)
Ajout Table(X)
Libre(Y)
Retrait Sur(X,Y)
Empiler(X,Y)
Condition Table(X)
Libre(Y)
Libre(X)
Y <> P
X <> Y
Ajout Sur(X,Y)
Retrait Table(X)
Libre(Y)
Déplacer(X,Y,Z)
Condition Sur(X,Y)
Libre(X)
Libre(Z)
Z <> P
Z <> Y
Ajout Sur(X,Z)
Libre(Y)
Retrait Sur(X,Y)
Libre(Z)
SI ( Sur(X,Y), Libre(X) )
ALORS Appliquer( Dépiler(X,Y) )
Ajouter( Table(X), Libre(Y) )
Retirer( Sur(X,Y) )
A C
Dépiler (P,C)
B
B Empiler (P,C)
P
A C
B P
Dépiler(B,A) A C
Déplacer(P,C,B)
P B Dépiler(P,C) B
A C B A C A C
P
Déplacer(B,A,C)
P A B …
C B A C P
Empiler(B,A)
Dépiler(P,C)
Déplacer(P,A)
Déplacer(P,B)
P P
A C B A C B A P C B
Critère
• Compter le nombre de bloc bien placés sur la table
• Compter les faits identiques entre les deux situations
Contraintes de cohérences
• Monovaluation des attributs
Att = Val∈BF et vak ≠ val’ Att = val’ BF
• Contraintes fonctionnelles
eg. Nb_pique + Nb_coeur + Nb_carreau + Nb_trefle = 13
Exemple
R1 : père(X,Y), mère(Y,Z) -> grand_père(X,Z)
R2 : père(X,Y), père(Y,Z) -> grand_père(X,Z)
R3 : mère(X,Y), mère(Y,Z) -> grand_mère(X,Z)
R4 : mère(X,Y), père(Y,Z) -> grand_mère(X,Z)
R5 : père(U,X), grand_père(X,Z) -> bisaïeul(U,Z)
R6 : mère(U,X), grand_mère(X,Z) -> bisaïeul(U,Z)
CTXT(L1) = (père(X,Y)∧mère(Y,Z))∨(père(X,Y)∧père(Y,Z))
CTXT(L3) = (père(U,X)∧grand_père(X,Z))∨(mère(U,X)∧grand_mère(X,Z))
CTXT(L2) = (mère(X,Y)∧mère(Y,Z))∨(mère(X,Y)∧père(Y,Z))
CTXT(L3) =
père(U,X)∧père(X,Y)∧mère(Y,Z)) ∨
père(U,X)∧père(X,Y)∧père(Y,Z)) ∨
mère(U,X)∧père(X,Y)∧mère(Y,Z)) ∨
mère(U,X)∧père(X,Y)∧père(Y,Z))
A:B
⇔ Si A alors C sauf si non B
C
∆=<W,D>
Les faits
En général les êtres vivants ne volent pas
En général les oiseaux volent, à moins qu’ils ne soient trop jeunes ou qu’ils aient une aile
cassée
Les pingouins et les autruches sont des oiseaux qui ne volent pas
Les autruches des bandes dessinées volent
Cuicui est un oiseau
Lulu est un pingouin ou une autruche
Lili est une autruche de bande dessinée
Paul est un homme
Les hommes sont des êtres vivants
Les oiseaux sont des êtres vivants
W={
oiseau(Cuicui),
pingouin(Lulu) ⊕ autruche(Lulu),
autruche(Lili), BD(Lili),
homme(Paul),
homme(X) -> être_vivant(X),
oiseau(X) -> être_vivant(X),
autruche(X) -> oiseau(X),
pingouin(X) -> oiseau(X),
}
E={
oiseau(Cuicui), pingouin (Lulu) ⊕ autruche(Lulu),
autruche(Lili), BD(Lili), homme(Paul), être_vivant(Cuicui), oiseau(Lulu),
oiseau(Lili), ¬ vole(Lulu), ¬ vole(Paul), vole(Cuicui), vole(Lili)
}
Exercice particulier
∆ = < W, D >
W={A}
⎧ A : ¬B ⎫
D=⎨ ⎬
⎩ B ⎭
E ? On ne peux pas calculer E. Cette théorie n’admet pas d’extension.
Dempster Shaffer
Rappel
E : sous-ensemble de propositions
m : E -> [0…1]
(i) m(Ø) = 0
(ii) ∑ m(A) = 1, A E
1. µ(Ø) = 0
∑ m(S) * m(T )
A ≠ Ø, µ(A) = S∩T = A
1− ∑ m(S) * m(T )
S∩T =Ø
1− ∑ m (A) * m (B) 1 2
A∩B=Ø
n
E1 : A1 …An ∑ m (A ) = 1
1 i
i=1
m
E2 : B1 …Bm ∑ m (B ) = 1
2 j
j=1
m
∑ m (A ) *m (B )
1 1 2 j
j=1
m
m1(A1 ) ∑ m2 (B j ) = m1(A1 )
j=1
1
n n
∑ m1(Ai ) ∑ m2 (B j ) = ∑ m (A )(1− ∑
1 i
m2 (B j ))
i=1 A1∩B j ≠Ø i=1 A1∩B j =Ø
n n n
∑ m (A ) ∑ 1 i
m2 (B j )
A1∩B j ≠Ø
∑
i=1
= 1= S= A1∩B j ≠Ø
pl(S)
1− ∑ m1(Ai )m2 (B j ))
A1∩B j =Ø
2.
mA({ pierre, paul }) = 0,5
m ({ paul,marie}) = 0,2
A
m ({ pierre}) = 0,6
B
∑ m (A) * m (B) A B
pl AB (S) = S= A∩B≠∅
1− ∑ m (A) * m (B) A B
S= A∩B=∅
48
* 0,5
pl ABC ({ pierre}) = 88 =
48 64
24
1− 0,5 *
88
pl ABC ({ paul }) = 10
64
pl ABC ({ paul,marie}) = 14
64
Cas pathologique
({
⎧m pierre = 0,99})
⎪ A ⎧ pl ({ pierre}) = 0
⎪
({ })
⎪⎪mA paul = 0,01
⎪ AB
⎨
⎪
⇒ ⎨ pl AB ({marie}) = 0
({ })
⎪mB marie = 0,99 ⎪
⎪ ⎪ pl ({ paul }) = 1
({
⎪m paul = 0,01
⎪⎩ B }) ⎩ AB
Mycin
Rappels
• Règle + affectée d’un coefficient p :
(
MBnouveau = MBancien + p 1− MBancien )
MDnouveau = MDancien
(
MDnouveau = MDancien + p 1− MDancien )
CF = MBnouveau − MDnouveau
avec
(
MBint ermediaire = MBancien + p 1− MBancien ) MDint ermediaire = MDancien
(
MBnouveau = MBint ermediaire + p' 1− MBint ermediaire ) MDnouveau = MDint ermediaire
( ) (
MBnouveau = MBancien + p 1− MBancien + p' 1− MBancien − p 1− MBancien ( ))
(
MBnouveau = MBancien + 1− MBancien p + p'− pp' )( ) MDnouveau = MDancien
Concordances de témoignages
1. E a eu lieu E n’a pas eu lieu
p(B dit E) ?
2.
(
p E ∧ A dit E ∧ B dit E )= pE * p * p'
(
p E / A dit E ∧ B dit E = )
(
p A dit E ∧ B dit E ) (
p A dit E ∧ B dit E )
pE * p * p'
=
( ) (
p E ∧ A dit E ∧ B dit E + p ¬E ∧ A dit E ∧ B dit E )
pE * p * p'
=
( )(
pE * p * p'+ 1− pE 1− p 1− p' )( )
2 8 3 1 2 3
1 6 4 8 _ 4
7 _ 5 7 6 5
Problème
• Etat initial
• Ensemble d’opérateurs
• Fonction Test-But
• Fonction de coût
L’espace de recherche est représenté par un graphe d’états que l’on représentera par un arbre
Exemple : Taquin
1. Préciser la représentation du problème
2. Proposer une fonction qui évaluera la distance entre un état courant et le but
3. Développer une recherche par escalade pour ce problème
Etat
Position des 8 chiffres et de la case blanche
Opérateurs
Déplacer la case blanche :
• vers le haut
• vers le bas
• vers la droite
• vers la gauche
Fonction test-but
Comparer les positions des chiffres et de la case blanche dans un état avec les positions sou-
haitées
Fonction de coût
Coût de 1 à chaque opération
1 6 4 w1 = 5
7 _ 5
H D G
2 8 3 2 8 3 2 8 3
1 _ 4 w2 = 4 1 6 4 w2 = 6 1 6 4 w2 = 6
7 6 5 7 5 _ _ 7 5
H D G
2 _ 3 2 8 3 2 8 3
1 8 4 w3 = 4 1 4 _ w3 = 5 _ 1 4 w3 = 4
7 6 5 7 6 5 7 6 5
D G H B
2 3 _ _ 2 3 _ 8 3 2 8 3
1 8 4 1 8 4 2 1 4 7 1 4
w4 = 3
7 6 5 7 6 5 7 6 5 _ 6 5
w4 = 5 w4 = 4 w4 = 5
B
1 2 3
_ 8 4 w5 = 2
7 6 5
B D
1 2 3 1 2 3
7 8 4 w6 = 3 8 _ 4 w6 = 0
_ 6 5 7 6 5
2 8 3
1 6 4 w' = 1 + 2 + 1 + 1 = 5
7 _ 5
2 8 3
1 6 4 w" = 1 + 2 + 2 + 2 + 2 = 9
7 _ 5
Complexité
En temps / en espace => en largeur d’abord / en profondeur d’abord
Largeur d’abord
Trouver la solution si elle existe. Si plusieurs solutions, on trouve la moins profonde.
Complexité en temps : O ( bd )
Complexité en espace : O ( bd )
Exemple
b = 10
Arrêt ?
Le chemin jusqu’à un but est moins coûteux que le moins coûteux des chemins incomplets
(et non seulement quand on a atteint un but)
Finalement, f(e) est l’estimation du coût d’une solution passant par e. Quand on fait le
Branch and Bound au lieu d’ordonner par f(e), on ordonne par g(e) + h(e) -> BB amélioré
Si de plus on retrouve une manière d’aller à e de coût inférieur au coût actuel, on ne retient
que le chemin de coût minimal -> Algorithme A*
f(u16) = 22
A 10
B 10 C 2
D 10 E 14 F 2 G 20
H 10 I 9 J 14 K 13 L 2 M 1 N 3 O 20
10 11 9 12 14 15 13 14 5 2 4 1 3 22 20 21