CSI 4506: Introduction à l’intelligence artificielle

Slides:



Advertisements
Présentations similaires
Classification et prédiction
Advertisements

Portée des variables VBA & Excel
Classification et prédiction
Fonctions & procédures
Un langage de programmation logique
Regroupement (clustering)
Calculs de complexité d'algorithmes
Programme de seconde 2009 Géométrie
LE CALCUL LITTÉRAL AU COLLÈGE
Algèbre relationnelle
La voie intuitionniste
Logique et raisonnement scientifique cours transversal Collège Doctoral Pr. Alain Lecomte.
Calcul propositionnel
Système formel Nous avons introduit : signes de variables (x, y, z, …), de constantes (0, 1), d’opérations (+, ), de relations (=, ) Axiomes : ce sont.
Systèmes Experts implémentation en Prolog
Chap 1 Grammaires et dérivations.
INTRODUCTION.
Programmes de calculs en 3ème
RECIT d’une EXPERIENCE Françoise Barachet LYCEE MONTDORY de THIERS
1 Théorie des Graphes Cycle Eulérien. 2 Rappels de définitions On dit qu'une chaîne est un chemin passant par toutes les arêtes du graphe. On dit qu'un.
Développement d’applications web
Logiques Mathématiques
Des RRA à la diagnosticabilité
Eléments d ’algèbre relationnelle
Graphes Conceptuels J.F. Baget Inria.
Initiation à la conception de systèmes d'information
2-1 CIRCUITS ÉLECTRIQUES SIMPLES
Programmation logique Logique des prédicats du premier ordre
Programmation linéaire
1.2 COMPOSANTES DES VECTEURS
Calcul Relationnel Chapitre 4, Section 4.3.
Programmation logique Démonstrateur automatique
Équations différentielles.
Gestion de Fichiers Arbres B.
La droite dans R2 Montage préparé par : André Ross
Rappels de logique des prédicats du 1er ordre
Programmation linéaire en nombres entiers Algorithme de la subdivision successive («Branch and Bound Algorithm»)
CSI 4506: Introduction à l’intelligence artificielle
Chapitre 1 Le Sens des nombres
LE CHOIX DU CONSOMMATEUR ET LA DEMANDE
Chapitre 3 Syntaxe et sémantique.
Chapitre 3 La cinématique à une dimension
Partie II Sémantique.
Database Management Systems 3ed, R. Ramakrishnan and J. Gehrke1 Calcul Relationnel Chapitre 4, Section 4.3.
Introduction à l’algèbre
Inéquations du premier degré à une inconnue
Résoudre une équation du 1er degré à une inconnue
Programmation logique Le Langage PROLOG
Programmation non procédurale Le projet ECOLE 2000
Atelier de formation : MAT optimisation II (les graphes).
Sous-espaces vectoriels engendrés
Programmation linéaire en nombres entiers : les méthodes de troncature
ASI 3 Méthodes numériques pour l’ingénieur
Mise en forme en Mathématiques
Introduction à la Logique (Logique I) 1ère Année
Programmation procédurale Transformations
1 Notations Asymptotiques Et Complexité Notations asymptotiques : 0 et  Complexité des algorithmes Exemples de calcul de complexité.
1 CSI 4506: Introduction à l’Intelligence Artificielle Representation et Logique II.
Suites numériques Définitions.
La Logique du premier ordre LPO
INTRODUCTION.
Cours n°2UE102e(S. Sidhom) UE 102e. M1.IST-IE cours n°2 Systèmes à base de règles Par : Sahbi SIDHOM MCF. Université Nancy 2 Équipe de recherche SITE –
Chapitre 3 :Algèbre de Boole
Programmation linéaire en nombres entiers
Le langage Racket (Lisp)
CSI 4506: Introduction à l’Intelligence Artificielle
LOGIQUE ET PROGRAMMATION LOGIQUE
Relation de conséquence logique Nous avons vu une relation entre formules: l’équivalence tautologique (  ) Nous allons définir une nouvelle relation,
Programmation par contraintes Réalisé par: WETCHA Chaima MOKDED Mohamed Ali FIA3-GL-AL 1 1.
Schéma de base de données Présentation. Conception du schéma logique  Transformation du schéma conceptuel en structures de données supportées par les.
Transcription de la présentation:

CSI 4506: Introduction à l’intelligence artificielle Représentation et logique II

Le calcul avec prédicats, PC Partie II Le calcul avec prédicats, PC

Plan 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

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)