1 CSI 4506: Introduction à lintelligence artificielle Représentation et logique II.
-
Upload
perrin-boudet -
Category
Documents
-
view
113 -
download
4
Transcript of 1 CSI 4506: Introduction à lintelligence artificielle Représentation et logique II.
1
CSI 4506: Introduction CSI 4506: Introduction à à l’intelligence artificiellel’intelligence artificielle
Représentation et logique II
2
Partie IIPartie II
Le calcul avec prédicats, PC
3
Plan du CoursPlan du Cours
Survol Syntaxe Sémantique Traduction de phrases de
langage naturel en Logique Lois d’équivalence Preuve de théorèmes
automatisé:1. Conversion en forme
clausale2. Unification3. 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
4
Survol (1)Survol (1)
Un prédicat est utilisé pour décrire les propriétés et les relations d’objets 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.
5
Survol (2)Survol (2)
Une assertion quantifiée est une assertion qui s’applique a une classe d’objets. Quantificateur Universel Quantificateur Existentiel
Exemples: x on(x, table45) red(x) x on(x, table45) red(x)
6
Syntaxe pour Syntaxe pour PC PC (1)(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 n>0, un ensemble de prédicats d’arrite n– Pour tout entier n>0, un ensemble de fonctions d’arrite n– Un ensemble de termes constants– Un ensemble de termes variables
7
Syntaxe pour Syntaxe pour PC PC (2)(2) Tous les termes:
– Les constantes et les variables sont des termes– F(t1, t2,…tn) est un terme si f est une fonction d’arrite n
et les ti’s sont des termes Tous les wffs:
<p(t1, t2, …tn) est une assertion atomique si p est un prédicat d’arrite n et les ti’s sont des termes>
– Les assertions atomiques– A1 A2,… An ou les Ai’s sont des wffs– A1 A2, … An ou les Ai’s 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
8
DéfinitionsDéfinitions
La portée d’un quantificateur dans une formule est la portion de la formule a laquelle le quantificateur s’applique
Une variable est libre si elle n’est pas dans la portée d’un 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)
9
Sémantique pour Sémantique pour PC PC (1) (1)
Entailment: Si un wff a la valeur T(rue) sous toutes les interprétations dans lesquelles chacun des wffs d’un 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)
10
Sémantique pour Sémantique pour PC PC (2)(2) I est un modèle d’une wff ( I |= ) sous les conditions
suivantes:– I |= p(t1,…, tn) ssi <M1(t1),…M1(tn)> 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, ti’s, et M2 assigne a tout symbole de prédicat d’arrite n un ensemble de n-tuples.
L’interprétation de formules quantifiée se fait en substituant les variables quantifiées par les éléments du domaines
(Voir Exemple en Classe)
11
Traduction de phrases en Traduction de phrases en langage naturel en logiquelangage naturel en logique
All purple mushrooms are poisonousNo purple mushroom is poisonousAll mushrooms are either purple or poisonousAll mushrooms are either purple or poisonous
but not bothAll purple mushrooms except one are
poisonous(Voir les traductions en Classe)
12
Lois d’équivalence en Lois d’équivalence en PCPC
Même Lois que pour P +
x A (x A) x A ( x A)
(Voir exemple en classe)
13
Preuve de théorème Preuve de théorème automatisée en automatisée en PC PC (1)(1)
Il y a trois étapes pour la preuve de théorème automatisé en PC :– La conversion des formules en forme clausale– L’unification– La résolution par réfutation
Nous allons discuter de chacune de ces étapes séparément
14
Preuve de théorème Preuve de théorème automatisée en automatisée en PC PC (2)(2)
Conversion en forme clausale: Algorithme en 9 étapes: 1. Éliminer les symboles d’implication 2. Réduire les portées des symboles de négation 3. Standardiser les variables de manière à ce que chaque
quantificateur ne s’attache qu’à une seule variable 4. Éliminer les quantificateurs existentiels en utilisant une
fonction Skolem. Note Importante: Si le quantificateur existentiel de y est a l’intérieur de la portée d’un quantificateur universel sur x, il faut permettre la possibilité que l’existence de y dépend de la valeur de x.
15
Preuve de théorème Preuve de théorème automatisée en automatisée en PC PC (3)(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 s’appliquer à 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 d’une
clause à l’autre.
16
Preuve de théorème Preuve de théorème automatisée en automatisée en PC PC (4)(4)
Unification Lorsque l’on 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 d’appliquer une combinaison du Modus Ponens et de las Spécialisation/Instanciation universelle (voir diapo suivante) à la base de données:
< W1(A); (x) [W1(x) W2(x)] > Il est nécessaire de trouver la substitution “A pour x” qui rend
W1(x) et W1(A) identiques. Ce processus s’appelle l’Unification
17
Preuve de théorème Preuve de théorème automatisée en automatisée en PC PC (5)(5)
Unification: L’instanciation Universelle est une règle d’inférence qui nous
permet de substituer n’importe 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 d’une expression est obtenue en
substituant des variables par des termes dans cette expression.
18
Preuve de théorème Preuve de théorème automatisée en automatisée en PC PC (6)(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
19
Preuve de théorème Preuve de théorème automatisée en automatisée en PC PC (7)(7)
Unification Définition: Si une substitution s est appliquée à tous les
membres d’un ensemble {Ei} d’expressions, on dénote l’ensemble des instances de substitutions par {Ei}s. On dit que l’ensemble {Ei} d’expressions est unifiable s’il existe une substitution s telle que E1s=E2s=E3s… Dans un tel cas, on dit que s est un unificateur de {Ei}
Définition: L’Unificateur le plus général (mgu) est l’unificateur le plus simple.
(Voir exemples en classe)
20
Preuve de théorème Preuve de théorème automatisée en automatisée en PC PC (8)(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.
L’algorithme d’unification est donne p. 71 de Manuel de cours. Avant de l’appliquer, on transforme les deux expressions en arbres
(Voir exemple en Classe)
21
Preuve de théorème Preuve de théorème automatisée en automatisée en PC PC (9)(9)
Résolution réfutation:1. On prend le négatif du but2. On utilise les règles d’inférence de
résolution et d’unification de manière répétitive jusqu’a ce que l’on arrive a une tautologie Succès!
(Voir exemple en classe)
22
Stratégies de contrôle pour les Stratégies de contrôle pour les méthodes de résolution par méthodes de résolution par
réfutation (1)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
23
Stratégies de contrôle pour les Stratégies de contrôle pour les méthodes de résolution par méthodes de résolution par
réfutation(2)réfutation(2)Stratégie Breadth First:Toutes les résolutions de premier niveau
sont, tout d’abord, 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)
24
Stratégies de contrôle pour les Stratégies de contrôle pour les méthodes de résolution par méthodes de résolution par
réfutation(3)réfutation(3) Stratégie Set-of-support: Au moins l’un des parents de chaque résolution est
sélectionné dans l’ensemble des clauses résultant de la négation du but où de leurs descendants. Cet ensemble s’appelle l’ensemble de support (Set-of-Support)
Complète et plus efficace que stratégie BF (Voir exemple en Classe)
25
Stratégies de contrôle pour les Stratégies de contrôle pour les méthodes de résolution par méthodes de résolution par
réfutation(4)réfutation(4)Stratégie Linear-Input FormChaque résolution à au moins un parent
appartenant à l’ensemble de départ. Incomplète mais simple et efficace(Voir exemple en Classe)
26
Extraire des réponses de la Extraire des réponses de la résolution par réfutation (1)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?
27
Extraire des réponses de la Extraire des réponses de la résolution par réfutation(2)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 l’arbre de résolution par réfutation 4. Rajouter le but à sa négation et modifier l’arbre
de réfutation (Voir solution de l’exemple en classe)