Title: CSI 4506: Introduction
1CSI 4506 Introduction à lintelligence
artificielle
- Représentation et logique II
2Partie II
- Le calcul avec prédicats, PC
3Plan du Cours
- Survol
- Syntaxe
- Sémantique
- Traduction de phrases de langage naturel en
Logique - Lois déquivalence
- Preuve de théorèmes automatisé
- Conversion en forme clausale
- Unification
- Résolution par réfutation
- Stratégies de contrôle pour méthodes de
résolution - Breadth-First
- Set-of-Support
- Linear-Input Form
- Extraire des réponses de la résolution par
réfutation
4Survol (1)
- Un prédicat est utilisé pour décrire les
propriétés et les relations dobjets arbitraires - Exemples block17 et table45 sont un bloc
particulier et une table particulière - red(block17) Le prédicat red indique que
block17 a la propriété dêtre rouge. - on(block17, table45) le prédicat on indique
que block17 et table45 sont dans une relation
telle que le block17 est sur la table45.
5Survol (2)
- Une assertion quantifiée est une assertion qui
sapplique a une classe dobjets. - ? ? Quantificateur Universel
- ? ? Quantificateur Existentiel
- Exemples
- ?x on(x, table45) ? red(x)
- ? x on(x, table45) ? red(x)
6Syntaxe pour PC (1)
- Objets termes
- Les termes sont construits a partir de fonctions
(f,g,), constantes (A, B,C) et variables
(x,y,z,) - wffs sont construits a partir de termes,
prédicats et quantificateurs. - Entités de base
- Pour tout entier ngt0, un ensemble de prédicats
darrite n - Pour tout entier ngt0, un ensemble de fonctions
darrite n - Un ensemble de termes constants
- Un ensemble de termes variables
7Syntaxe pour PC (2)
- Tous les termes
- Les constantes et les variables sont des termes
- F(t1, t2,tn) est un terme si f est une fonction
darrite n et les tis sont des termes - Tous les wffs
- ltp(t1, t2, tn) est une assertion atomique si p
est un prédicat darrite n et les tis sont des
termesgt - Les assertions atomiques
- A1 ? A2, ? An ou les Ais sont des wffs
- A1 ? A2, ? An ou les Ais sont des wffs
- ? A ou A est une wff
- A ? B et A ? B ou A et B sont des wffs
- ?x1, xn A ou A est une wff
- ?x1, xn A ou A est une wff
8Définitions
- La portée dun quantificateur dans une formule
est la portion de la formule a laquelle le
quantificateur sapplique - Une variable est libre si elle nest pas dans la
portée dun quantificateur. - Une wff est fermée si elle ne contient pas de
variable libre - Un terme ou un wff sur terre (ground term) ne
contiennent pas de variable du tout - (Voir exemples en classe)
9Sémantique pour PC (1)
- Entailment Si un wff a la valeur T(rue) sous
toutes les interprétations dans lesquelles chacun
des wffs dun ensemble ? a la valeur T, alors on
dit que ? entaille w logiquement et que w dérive
logiquement de ? et que w est une conséquence
logique de ?. - Notation ? w
- (Voir exemple en classe)
10Sémantique pour PC (2)
- I est un modèle dune wff ? ( I ?) sous les
conditions suivantes - I p(t1,, tn) ssi ltM1(t1),M1(tn)gt ? M2(p)
- I (?1 ? ?2) ssi I ?1 et I ?2
- I (?1 ? ?2) ssi I ?1 ou I ?2
- I ? ? ssi I ? ?
- M1 assigne des valeurs du domaine, D, aux termes,
tis, et M2 assigne a tout symbole de prédicat
darrite n un ensemble de n-tuples. - Linterprétation de formules quantifiée se fait
en substituant les variables quantifiées par les
éléments du domaines - (Voir Exemple en Classe)
11Traduction de phrases en langage naturel en
logique
- All purple mushrooms are poisonous
- No purple mushroom is poisonous
- All mushrooms are either purple or poisonous
- All mushrooms are either purple or poisonous but
not both - All purple mushrooms except one are poisonous
- (Voir les traductions en Classe)
12Lois déquivalence en PC
- Même Lois que pour P
-
- ?x A ? ? (?x ?A)
- ? x A ? ? (? x ?A)
- (Voir exemple en classe)
13Preuve de théorème automatisée en PC (1)
- Il y a trois étapes pour la preuve de théorème
automatisé en PC - La conversion des formules en forme clausale
- Lunification
- La résolution par réfutation
- Nous allons discuter de chacune de ces étapes
séparément
14Preuve de théorème automatisée en PC (2)
- Conversion en forme clausale Algorithme en 9
étapes - 1. Éliminer les symboles dimplication
- 2. Réduire les portées des symboles de négation
- 3. Standardiser les variables de manière à ce que
chaque quantificateur ne sattache quà une seule
variable - 4. Éliminer les quantificateurs existentiels en
utilisant une fonction Skolem. Note Importante
Si le quantificateur existentiel de y est a
lintérieur de la portée dun quantificateur
universel sur x, il faut permettre la possibilité
que lexistence de y dépend de la valeur de x.
15Preuve de théorème automatisée en PC (3)
- Conversion en forme clausale Algorithme en 9
étapes - 5. Conversion en format Prenex i.e., tous les
quantificateurs universels doivent aller au début
de la wff et la portée de chaque quantificateur
doit sappliquer à la wff toute entière. - 6. Mettre la matrice en CNF (Forme Normale
Conjonctive) (en utilisant la loi de
distributivité de manière répétée) - 7. Laisser tomber les quantificateurs universels
(juste pour clarifier les expressions. En fait,
ils sont toujours la) - 8. Éliminer les symboles ?, en coupant les
expressions - 9. Renommer les variables pour avoir des noms
différents dune clause à lautre.
16Preuve de théorème automatisée en PC (4)
- Unification
- Lorsque lon prouve des théorèmes qui incluent
des formules quantifiées, il est souvent
nécessaire de créer une correspondance entre des
sous expressions - Exemple Afin dappliquer une combinaison du
Modus Ponens et de las Spécialisation/Instanciatio
n universelle (voir diapo suivante) Ã la base de
données
- lt W1(A) (?x) W1(x) ? W2(x) gt
- Il est nécessaire de trouver la substitution A
pour x qui rend W1(x) et W1(A) identiques. Ce
processus sappelle lUnification
17Preuve de théorème automatisée en PC (5)
- Unification
- Linstanciation Universelle est une règle
dinférence qui nous permet de substituer
nimporte quel terme a toute apparition de
variable quantifiée - 1. (?x) A
- 2. A dans lequel toutes les apparitions de x
dans A ont été remplacées par un terme
quelconque, t - UI x ?
t, 1 - Une instance de substitution dune expression est
obtenue en substituant des variables par des
termes dans cette expression.
18Preuve de théorème automatisée en PC (6)
- Unification
- Les substitutions doivent être telles que
- Chaque apparition de variable est substitue par
le même terme. - Aucune variable ne peut être remplacée par un
terme qui la contient - Notation pour les substitutions
- terme substitue/variable a remplacer
- Voir les exemples en Classe
19Preuve de théorème automatisée en PC (7)
- Unification
- Définition Si une substitution s est appliquée Ã
tous les membres dun ensemble Ei
dexpressions, on dénote lensemble des instances
de substitutions par Eis. On dit que lensemble
Ei dexpressions est unifiable sil existe une
substitution s telle que E1sE2sE3s Dans un tel
cas, on dit que s est un unificateur de Ei - Définition LUnificateur le plus général (mgu)
est lunificateur le plus simple. - (Voir exemples en classe)
20Preuve de théorème automatisée en PC (8)
- Unification
- Définition Soit p et q des expressions
représentant des arbres. La première différence
entre p et q correspond aux première
sous-expressions qui différent lors de recherches
DF faites en parallèle dans les deux arbres. - Lalgorithme dunification est donne p. 71 de
Manuel de cours. Avant de lappliquer, on
transforme les deux expressions en arbres - (Voir exemple en Classe)
21Preuve de théorème automatisée en PC (9)
- Résolution réfutation
- 1. On prend le négatif du but
- 2. On utilise les règles dinférence de
résolution et dunification de manière répétitive
jusqua ce que lon arrive a une tautologie ?
Succès! - (Voir exemple en classe)
22Stratégies de contrôle pour les méthodes de
résolution par réfutation (1)
- Nous allons étudier trois stratégies de contrôle
- Stratégie Breadth-First (BF) ? Complète mais très
inefficace - Stratégie du Set-of-Support ? Complète et plus
efficace que la stratégie BF - Stratégie Linear Input Form ? Incomplète mais
simple et efficace
23Stratégies de contrôle pour les méthodes de
résolution par réfutation(2)
- Stratégie Breadth First
- Toutes les résolutions de premier niveau sont,
tout dabord, calculées Ensuite, on calcule
toutes les résolutions de second niveau, puis
celle de troisième niveau, etc - ? Complète mais très inefficace!!!!!
- (Voir exemple en Classe)
24Stratégies de contrôle pour les méthodes de
résolution par réfutation(3)
- Stratégie Set-of-support
- Au moins lun des parents de chaque résolution
est sélectionné dans lensemble des clauses
résultant de la négation du but où de leurs
descendants. Cet ensemble sappelle lensemble de
support (Set-of-Support) - ? Complète et plus efficace que stratégie BF
- (Voir exemple en Classe)
25Stratégies de contrôle pour les méthodes de
résolution par réfutation(4)
- Stratégie Linear-Input Form
- Chaque résolution à au moins un parent
appartenant à lensemble de départ. - ? Incomplète mais simple et efficace
- (Voir exemple en Classe)
26Extraire des réponses de la résolution par
réfutation (1)
- Méthode Pn veut convertir un arbre de réfutation
(dont la racine a la valeur NIL) en un arbre de
preuve contenant une assertion à la racine qui
peut être utilisée comme réponse. - Exemple
- 1. Pour tout x et y, si x est le parent de y et y
le parent de z alors x est le grand-parent de z - 2. Tout le monde a un parent
- Question Existe-t-il des individus x et y tels
que x est le grand-parent de y?
27Extraire des réponses de la résolution par
réfutation(2)
- Méthode de résolution
- 1. Convertir le texte en texte logique
- 2. Convertir le texte logique en format clausal
- 3. Construire larbre de résolution par
réfutation - 4. Rajouter le but à sa négation et modifier
larbre de réfutation - (Voir solution de lexemple en classe)