270 likes | 397 Views
CSI 4506: Introduction à l’intelligence artificielle. Représentation et logique II. Partie II. Le calcul avec prédicats, PC. 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
E N D
CSI 4506: Introduction à l’intelligence artificielle Représentation et logique II
Partie II Le calcul avec prédicats, PC
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 Plan du Cours
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.
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)
Syntaxe 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 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
Syntaxe 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 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
Dé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)
Sémantique pour PC (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)
Sémantique pour PC (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)
Traduction 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)
Lois d’équivalence en PC • Même Lois que pour P • + • x A (x A) • x A ( x A) (Voir exemple en classe)
Preuve 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 • L’unification • La résolution par réfutation Nous allons discuter de chacune de ces étapes séparément
Preuve de théorème automatisée en PC (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.
Preuve 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 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.
Preuve de théorème automatisée en PC (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
Preuve de théorème automatisée en PC (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.
Preuve 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
Preuve de théorème automatisée en PC (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)
Preuve 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. • 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)
Preuve 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 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)
Straté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
Straté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 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)
Stratégies de contrôle pour les méthodes de résolution par 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)
Straté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 à l’ensemble de départ. • Incomplète mais simple et efficace • (Voir exemple en Classe)
Extraire 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?
Extraire 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 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)