Utilisation des tableaux sémantiques dans les logiques de description IFT6281 Web Sémantique Jacques Bergeron Département d informatique et de recherche opérationnelle Université de Montréal bergerja@iro.umontreal.ca Mars 2011
But de la présentation Faire le lien entre web sémantique et raisonnement automatique. Présenter un algorithme intuitif illustrant comment on peut faire raisonner un ordinateur. Exemple: algorithme quick sort vs problème du tri
Plan de la présentation But de la présentation Lien avec raisonnement automatique Concept de méthode de preuve Méthode des tableaux sémantiques Exemples de tableaux Logiques de description Conclusion
Lien avec raisonnement automatique OWL - web ontology language Langage déclaratif langage de programmation. Hypothèse du monde ouvert une base de données. Plusieurs caractéristiques des classes et des individus doivent être déduites à partir des descriptions. Ces déductions sont réalisés à l aide du raisonnement automatique.
Exemple simple Une pizza dont aucun ingrédient n est de la viande est une pizza végétarienne. Le fromage, les légumes et les épices ne sont pas de la viande. Le mozzarella est un fromage et rien d autre. Les tomates sont des légumes et rien d autre. La basilic est une épice et rien d autre. Une pizza margarita a comme ingrédients du mozzarella, des tomates, de la basilic et rien d autre. Donc une pizza margarita est une pizza végétarienne. Le donc est la partie raisonnement automatique et ne sera pas spécifié dans l ontologie des pizzas.
Reasoner Définition personnelle Technologie permettant d appliquer une méthode de preuve à un énoncé, formulé dans une logique particulière, dans le but de déterminer si cet énoncé est valide dans le contexte d une base de connaissances spécifique. (Racer, Pellet, FaCT++, etc). Services de raisonnement Dans un reasoner, ces tests de validité sont effectués plusieurs fois pour obtenir des résultats sur l ensemble de la base de connaissances (p. ex. construire le treillis de subsomption des classes). Concepts Logique Validité des énoncés Implication logique Méthode de preuve Base de connaissances
Logiques Une logique est un système formel comprenant : Un alphabet définissant les symboles utilisés. Une grammaire définissant de façon récursive les formules syntaxiquement correctes construites à partir de l alphabet. Une liste de schémas axiomatiques. Une liste de règles d inférences permettant de construire des énoncés valides à partir d autres énoncés valides (ex. Modus ponens).
Logiques Il existe plusieurs logiques : Logique des propositions Logique des prédicats du premier ordre Logique des prédicats du second ordre Logiques modales Logiques non-monotones Logiques de descriptions... À chacune de ces logiques on peut appliquer une ou plusieurs méthodes de preuve.
Validité d un énoncé Un énoncé est une formule syntaxiquement correcte d une logique. Une interprétation est l affectation de valeurs aux variables d une logique ou d une base de connaissance. Un énoncé est dit valide s il est vrai pour toutes les interprétations possibles. Par exemple, en logique propositionnelle un énoncé dont chaque ligne de la table est vrai est un énoncé valide. Autre exemple : si A est une variable booléenne alors A A est vrai peu importe la valeur de A. On dit alors que A A est valide. La validité des énoncés est importante pour permettre l hypothèse du monde ouvert.
Méthode de preuve Approche systématique pour démontrer si un énoncé, d une logique particulière, est valide ou non Elle est complète si elle permet de vérifier la validité de tous les énoncés valides dans la logique correspondante. Elle est valide si tous les énoncés qu elle déclare valides sont effectivement valides dans la logique correspondante.
Méthodes de preuve On parle de familles avec chacune plusieurs variantes Axiomatiques (Frege / Hilbert - 1879 à 1934) Déduction naturelle (Gentzen - 1935) Calcul des séquents (Gentzen - 1935) Tableaux sémantiques (Beth - 1959) Résolution (Robinson - 1965) Inverse method (Maslov - 1968) Connexions (Bibel 1974)...
Caractéristiques des méthodes Quelques remarques Certaines méthodes peuvent s appliquer à plusieurs logiques Les méthodes traditionnelles sont dites constructives car elles vont des axiomes vers les énoncés Les méthodes constructives sont très difficiles à mécaniser car pour prouver un énoncé on doit remonter de l énoncé vers les axiomes
Caractéristiques des méthodes Exemple: La déduction naturelle C est la façon normalement utilisée par les humains Elle est fortement basée sur le Modus ponens (si on sait A et on sait que A B alors on peut conclure B). Pour montrer B on doit remonter vers les axiomes en trouvant un A plus facile à démontrer que B. On pose A en hypothèse puis on montre que A B. On recommence avec A jusqu à ce que qu on remonte aux axiomes ou à un théorème déjà prouvé Le problème est évidemment de trouver les étapes intermédiaires. On ne peut pas encore coder ce genre d intuition dans un programme. Donc, on ne peut pas faire raisonner un ordinateur en suivant la déduction naturelle.
Caractéristiques des méthodes Quelques remarques - suite Les méthodes plus récentes ont été créées spécifiquement pour l automatisation. Elles remontent donc de l énoncé vers les axiomes La plus utilisée est la Résolution (et ses variantes) Le problème est que le lien entre la méthode de preuve et la logique n est pas évident.
Caractéristiques des méthodes Calcul des séquents Le calcul des séquents est constructif (axiomes vers énoncés) mais n utilise que des constructeurs qui combinent des énoncés (pas de modus ponens). Chaque constructeur a une opération inverse qui va de l énoncé vers les axiomes. Gentzen, dans les années 1930, a donc réussi à construire une méthode de preuve monotone. C est cette idée qui a été reprise dans la méthode des tableaux sémantiques.
Méthode des tableaux dynamiques Concept Preuve par contradiction (si la négation de l énoncé est impossible alors l énoncé est valide) On exécute le calcul des séquents à l envers (de l énoncé vers les axiomes) S applique à toute logique pour laquelle on peut définir un ensemble de constructeurs monotones croissants c est-à-dire ayant des opérations inverses qui décomposent progressivement un énoncé. Comme on ne peut pas décomposer plus fin que les axiomes, on sera certain de finir en appliquant un nombre restreint d opérations possibles (si une preuve existe)
Méthode des tableaux sémantiques Étapes 1. Faire la négation d un énoncé 2. Phase d expansion du tableau. On applique les règles d expansion (de déconstruction ) chaque branche est une conjonction certaines règles vont créer de nouvelles branches on arrête de développer une branche quand aucune règle n est applicable les feuilles sont des axiomes 3. On essaie de fermer les branches (trouver des contradictions)
Méthode des tableaux sémantiques Arrêt Si on ferme toutes les branches La négation de l énoncé est impossible Donc l énoncé est valide Si une branche reste ouverte Elle donne un exemple de la négation de l énoncé Donc au moins un contre-exemple de l énoncé existe Donc l énoncé n est pas valide
Méthode des tableaux sémantiques Pour chaque logique Définir comment faire la négation d un énoncé Définir les règles d expansion (de déconstruction) relatives à chaque constructeur Montrer que le facteur de branchement lors de la création des branches est fini Montrer que les règles sont bien monotones décroissantes Définir les règles de fermeture des branches Prouver la complétude et la validité de ces règles en regard de la logique concernée.
On utilise une logique simple Constructeurs Négation : A avec signification habituelle Implication : A B avec signification habituelle Négation d énoncé On ajoute un signe (T ou F ) à chaque énoncé ex. FX veut dire intuitivement que l on assume que X est Faux Règles d expansion T A FA i.e. T A T A FA F A TA T (A B) FA TB F (A B) TA FB Conditions de fermeture Fermer la branche si contradiction i.e. TX FX
Premier exemple Est-ce que l énoncé (X Y ) ((X Y ) X ) est valide? C est-à-dire vrai pour toutes affectations à X et Y
Exemple valide - 0 1 F (X Y ) ((X Y ) X ) Préliminaire Ajouter le signe F à l énoncé
Exemple valide - 1 Règle F (A B) TA FB 1 F (X Y ) ((X Y ) X ) 2 TX Y 3 F (X Y ) X
Exemple valide - 2 Règle F (A B) TA FB 1 F (X Y ) ((X Y ) X ) 2 TX Y 3 F (X Y ) X 4 TX Y 5 F X
Exemple valide - 3 1 F (X Y ) ((X Y ) X ) 2 TX Y 3 F (X Y ) X Règle F A TA 4 TX Y 5 F X 6 TX
Exemple valide - 4 1 F (X Y ) ((X Y ) X ) 2 T X Y 3 F (X Y ) X 4 TX Y 5 F X 6 TX 7 FX 8 TY Règle T (A B) FA TB
Exemple valide - 5 1 F (X Y ) ((X Y ) X ) 2 TX Y 3 F (X Y ) X 4 TX Y 5 F X 6 TX 7 FX Fermeture de branche 8 TY
Exemple valide - 6 1 F (X Y ) ((X Y ) X ) 2 TX Y 3 F (X Y ) X 4 T X Y 5 F X 6 TX 7 FX 8 TY Règle T (A B) FA TB 9 FX 10 T Y
Exemple valide - 7 1 F (X Y ) ((X Y ) X ) 2 TX Y 3 F (X Y ) X 4 TX Y 5 F X 6 TX 7 FX Fermeture de branche 8 TY 9 FX 10 T Y
Exemple valide - 8 Règle T A FA 1 F (X Y ) ((X Y ) X ) 2 TX Y 3 F (X Y ) X 4 TX Y 5 F X 6 TX 7 FX 8 TY 9 FX 10 T Y 11 FY
Exemple valide - 9 1 F (X Y ) ((X Y ) X ) 2 TX Y 3 F (X Y ) X 4 TX Y 5 F X 6 TX 7 FX 8 TY 9 FX Fermeture de branche 10 T Y 11 FY
Exemple valide - 10 1 F (X Y ) ((X Y ) X ) 2 TX Y 3 F (X Y ) X 4 TX Y 5 F X 6 TX 7 FX 8 TY 9 FX Toutes les branches sont fermées La négation est impossible L énoncé est valide 10 T Y 11 FY
Deuxième exemple Est-ce que l énoncé (X Y ) (( X Y ) Y ) est valide? C est-à-dire vrai pour toutes affectations à X et Y
Exemple non-valide 1 F (X Y ) (( X Y ) Y ) 2 TX Y 3 F ( X Y ) Y 4 T X Y 5 FY 6 FX 7 TY 8 F X 9 T Y 10 TX 11 FY Résultat : 1 2, 3; 3 4, 5; 2 6, 7; ferme7; 4 8, 9; 8 10; ferme10; 9 11 Une branche n est pas fermée On a un contre-exemple X = F, Y = F L énoncé n est pas valide
Logiques de description Avant 1991 Origine des réseaux sémantiques (hiéarchies de généralisation / spécialisations) Origine aussi des frames (rôles correspondent aux slots ) Système KL-ONE (début des années 80) Utilisées par Brachman et Levesque (1985) pour montrer que la complexité des inférences dépend des constructeurs de chaque logique Méthodes de preuve basées sur la subsomption structurelle des graphes
Connexion avec les tableaux sémantiques Article de Schmidt-Schauβ et Smolka en 1991 Publié dans Articifial Intelligence Journal S applique à la logique ALC On définit formellement les logiques de description Méthode de preuve basée sur les tableaux sémantiques On donne les 6 règles de propagation de base On précise les règles de fermeture On démontre que c est une procédure complète et valide
Connexion avec les logiques modales Quelques mois plus tard... La logique de description ALC est montrée équivalente à la logique modale K L algorithme de Schmidt-Schauβ et Smolka est en fait une reformulation de la méthode des tableaux sémantiques déjà utilisée pour la logique modale K
Extensions Test de l appartenance d un individu à une classe Inclusion sans équivalence Fermeture transitive (hierarchies de rôles) Services plus complexes Construire la hiérarchie des classes Identifier tous les individus appartenant à une classe......
Remarque sur la complexité La méthode devient exponentielle par rapport à la grosseur de l énoncé pour plusieurs logiques. Une ontologie va produire de très gros énoncés. On ne veut pas que les utilisateurs aient à se soucier de la façon dont le raisonnement automatique est effectué. On doit donc restreindre les constructions du langage à des patrons pour lesquels on peut gérer la complexité. La grande réussite des logiques de description est de permettre des constructions assez puissantes pour être utiles sans perdre le contrôle au niveau de la complexité.
Détails des logiques de description (LD) Normalement la suite serait : D identifier les 6 constructeurs de base De décrire les 6 règles de propagation de base De décire les conditions de fermeture De montrer que la propagation converge pour ces règles De montrer des exemples de preuves en LD D analyse la complexité du processus D analyser chacune des extensions De décrire les nouvelles approches étudiées qui pourraient éventuellement remplacer l utilisation des tableaux sémantiques pour les LD... Mais le temps ne nous le permet évidemment pas
Références The Description Logics Handbook - 2003 Chap 1 - An Introduction to Description Logics - D. Nardi et R.J. Brachman Chap 2 - Basic Description Logics - F. Baader et W. Nuit Handbook of Tableaux Methods Chap 1-1999 - Introduction - M. Fitting Handbook of Logic in AI and Logic Programming - 1993 Chap 2 - First Order Logic - M. Davis Chap 3 - Methods and calculi for deduction - W. Bibel et E. Eder Handbook of Knowledge Representation - 2008 Chap 1 - Knowledge Representation and Classical Logic - V. Lifschitz, L. Morgenstern et D. Plaisted Chap 6 - Nonmonotonic Reasoning - G. Brewka, I. Niemela et M. Truszczynski First Order Logic and Automated Theorem Proving, 1996, Melvin Fitting
Conclusion Le web sémantique utilise les logiques de description, donc du raisonnement automatique, pour déduire des relations dans les ontologies. La méthode de preuve utilisée (tableaux sémantiques) permet une description intuitive du mécanisme de base des reasoners.