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) ?