IA    2 
Etant données ces structures, montrer que l’algorithme a une complexité linéaire en la taille de K, 
c’est-à-dire effectue un nombre d’opérations « élémentaires » borné par constante x taille(K). 
 
Exercice  3.  Propriétés  du    chaînage  avant  sur  des  règles  étendues  avec  la  négation 
classique (complément au cours) 
 
On rappelle quelques définitions concernant la sémantique de la logique des propositions : 
- une interprétation d’un ensemble de symboles (atomes) associe à chaque symbole la valeur vrai 
ou faux ; 
- une interprétation est dite modèle d’une formule si elle rend vraie cette formule ; 
- Etant  données  deux  formules  F1  et F2,  on dit  que F2  est conséquence  de F1  (F1 ⊨ F2)  si tout 
modèle de F1 est un modèle de F2 (« dans tout monde où F1 est vraie, F2 l’est aussi »).  
 
On  peut  voir  la  base  de  connaissances  K  =  (BF,  BR)  comme  une  formule  obtenue  en  faisant  la 
conjonction des faits et des règles. Nous avons vu en cours que, pour des faits et des règles correspondant 
à  des  clauses  définies,  le  chaînage  avant  (qui  produit  une  base  de  faits  saturée  notée  BF*)  est adéquat 
(correct) et complet par rapport à la conséquence logique. Autrement dit, il ne produit que des faits qui 
sont conséquences de K et il les produit tous : 
o Adéquation : pour tout atome A, si A  ∈  BF* alors K ⊨ A ; 
o Complétude : pour tout atome A, si K ⊨ A  alors A ∈  BF*.  
 
Dans cet exercice, nous considérons des règles plus expressives, dans lesquelles on introduit la possiblité 
de  nier  des  atomes  (en  prenant  la  négation  classique).  Une  règle  a  maintenant  pour  hypothèse  une 
conjonction de littéraux et pour conclusion un littéral (rappel : un littéral est un atome ou la négation d’un 
atome). On étend la notion d’application de règle : une règle est applicable si chacun des littéraux de son 
hypothèse appartient à la base de faits, et l’appliquer consiste à ajouter sa conclusion à la base de faits.   
 
Question  1. Montrer  que  le chaînage  avant  reste  adéquat  pour ces  règles  (preuve similaire  à  celle des 
règles positives).  
 
Question 2. Le chaînage avant reste-t-il complet ? Réfléchir à partir des exemples suivants :  
 
a)   Règle : A à B        Fait : ¬B   
[Question : a-t-on ¬A ?] 
 
a')  Règles :  R1 : A à B ; R2 : ¬A à O  Fait : ¬B   
[Question : a-t-on O ?] 
 
b) Règles : R1 : A à B ;  R2 : A à C ; R3 : B ∧ C à D Fait : ¬D 
[Question : a-t-on ¬A ?] 
 
c)    Règles : R1 : A à B ; R2 : ¬A à B   Pas de faits 
  [Question : a-t-on B ?] 
 
Question  3.  Quels  mécanismes  adéquats  et  complets  pourriez-vous  proposer  pour  ces  règles ?  Ces 
mécanismes resteraient-ils polynomiaux (en la taille de la base de connaissances) ?