Chapitre 5 Logique et inférence: règles

Slides:



Advertisements
Présentations similaires
Mais vous comprenez qu’il s’agit d’une « tromperie ».
Advertisements

Le Nom L’adjectif Le verbe Objectif: Orthogram
ORTHOGRAM PM 3 ou 4 Ecrire: « a » ou « à » Référentiel page 6
LES NOMBRES PREMIERS ET COMPOSÉS
Licence pro MPCQ : Cours
Additions soustractions
Distance inter-locuteur
11 Bienvenue Entrez le nom du groupe ou projet ici mardi, 17 novembre 2009.
Algorithmes et structures de données avancés
LE CALCUL LITTÉRAL AU COLLÈGE
Les numéros
Les identités remarquables
Demande globale, élasticités et équilibre de marché
Introduction à la logique
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
LES TRIANGLES 1. Définitions 2. Constructions 3. Propriétés.
ESIEE Paris © Denis BUREAU I N Initiation à la programmation avec le langage Java.
La législation formation, les aides des pouvoirs publics
1 7 Langues niveaux débutant à avancé. 2 Allemand.
SERABEC Simulation sauvetage aérien avec un Hercule C130. Départ de St-Honoré le 4 octobre Durée de vol 3 heures. Premier vol en Hercule pour les.
LE CHOIX EN CONTEXTE D’INCERTITUDE (suite...)
La méthodologie………………………………………………………….. p3 Les résultats
Écrit, animé et illustré par Sheila CartwrightTraduit par
Jack Jedwab Association détudes canadiennes Le 27 septembre 2008 Sondage post-Olympique.
Le soccer & les turbans Sondage mené par lAssociation détudes canadiennes 14 juin 2013.
Programmation logique Logique des prédicats du premier ordre
Cours de physique générale I Ph 11
GRAM 1 CE2 Je sais transformer une phrase affirmative en phrase négative.
Le drapeau canadien comme symbole de fierté nationale : une question de valeurs partagées Jack Jedwab Association détudes canadiennes 28 novembre 2012.
Session 7 1 IST/VIH/SIDA.
Le Concours de Conaissance Francais I novembre 2012.
Si le Diaporama ne s'ouvre pas en plein écran Faites F5 sur votre clavier.
Titre : Implémentation des éléments finis sous Matlab
Programmation logique Démonstrateur automatique
1 Journée de regroupement des correspondants "Egalité et genre" - 21 novembre 2011 Rectorat de Rouen - SAIO - CD-HD Résultats scolaires, appréciations.
LES NOMBRES PREMIERS ET COMPOSÉS
Les chiffres & les nombres
1.Un rang de données multicolores 2. Deux permutations des n premiers entiers 3. b permutations des k premiers entiers 4. Choix de n points dans [0,1]
RACINES CARREES Définition Développer avec la distributivité Produit 1
Rappels de logique des prédicats du 1er ordre
Représentation des systèmes dynamiques dans l’espace d’état
Représentation des systèmes dynamiques dans l’espace d’état
Représentation des systèmes dynamiques dans l’espace d’état
DUMP GAUCHE INTERFERENCES AVEC BOITIERS IFS D.G. – Le – 1/56.
La Distribution des Données
1.1 LES VECTEURS GÉOMÉTRIQUES
1 Licence dinformatique Algorithmique des graphes Problèmes dordonnancement. Utilisation de ce document strictement réservée aux étudiants de l IFSIC dans.
Année universitaire Réalisé par: Dr. Aymen Ayari Cours Réseaux étendus LATRI 3 1.
Chapitre 3 Syntaxe et sémantique.
MAGIE Réalisé par Mons. RITTER J-P Le 24 octobre 2004.
1 INETOP
Inéquations du premier degré à une inconnue
Équipe 2626 Octobre 2011 Jean Lavoie ing. M.Sc.A.
Comment rendre une femme heureuse…
P.A. MARQUES S.A.S Z.I. de la Moussière F DROUE Tél.: + 33 (0) Fax + 33 (0)
ASI 3 Méthodes numériques pour l’ingénieur
MAGIE Réalisé par Mons. RITTER J-P Le 24 octobre 2004.
1/65 微距摄影 美丽的微距摄影 Encore une belle leçon de Macrophotographies venant du Soleil Levant Louis.
Equation différentielle de 2ème ordre
Nom:____________ Prénom: ___________
Suites numériques Définitions.
Chapter 8A Semantic Web Primer 1 Chapitre 8 - Conclusions et perspectives Grigoris Antoniou Frank van Harmelen.
La Logique du premier ordre LPO
Exercice de vérification 1 p
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
Partie II: Temps et évolution Energie et mouvements des particules
LOGIQUE ET PROGRAMMATION LOGIQUE
Transcription de la présentation:

Chapitre 5 Logique et inférence: règles Grigoris Antoniou Frank van Harmelen Chapter 5 A Semantic Web Primer

Sommaire Introduction Règles monotoniques: exemple Règles monotoniques: syntaxe et sémantique Règles non monotoniques: syntaxe Règles non monotoniques: exemple Un DTD pour les règles monotoniques Un DTD pour les règles non monotoniques Chapter 5 A Semantic Web Primer

Représentation des connaissances Jusqu'à présent, on a vu ce qui concerne la représentation des connaissances La représentation des connaissances La logique reste le fondement de KR, surtout sous la forme de la logique des prédicats (logique du premier ordre) Chapter 5 A Semantic Web Primer

Importance de la logique Langage de haut niveau pour l'expression des connaissances Puissance d'expression élevée Sémantique formelle bien comprise Notion précise de conséquence logique Système de vérification capable de dériver automatiquement les déclarations du point de vue syntaxique au départ d'un jeu de prémisses Chapter 5 A Semantic Web Primer

Importance de la logique (2) Il existe des systèmes de vérification pour lesquels une conséquence sémantique logique coïncide avec la dérivation syntaxique dans le système de vérification sûrs et complets La logique des prédicats est unique en ce sens que des systèmes de vérification sûrs et complets existent réellement pas pour une logique plus expressive (logique d'ordre supérieur) Suit la vérification conduisant à une conséquence logique Logique susceptible de fournir des explications aux réponses par traçabilité de la vérification Chapter 5 A Semantic Web Primer

Spécialisations de la logique des prédicats: RDF et OWL RDFS et OWL (Lite et DL) sont des spécialisations de la logique des prédicats correspondant essentiellement à une logique descriptive Elles définissent des sous-jeux raisonnables de la logique Compromis entre puissance d'expression et complexité de calcul t Plus le langage est expressif, moins les systèmes de vérification correspondant sont efficaces Chapter 5 A Semantic Web Primer

Spécialisations de la logique des prédicats: logique Horn Une règle a la forme: A1, . . ., An  B Ai et B sont des formules atomiques Deux moyens de lire une telle règle: règles déductives: si A1,..., An sont réputés vrais, B est alors également vrai règles réactives: si les conditions A1,..., An sont vraies, exécuter l'action B Chapter 5 A Semantic Web Primer

Logique descriptive par rapport à logique Horn Aucune n'est un sous-ensemble de l'autre Il est impossible d'affirmer que des personnes qui étudient et vivent dans la même ville sont des "home students" en OWL facile avec les règles: studies(X,Y), lives(X,Z), loc(Y,U), loc(Z,U)  homeStudent(X) Les règles ne peuvent affirmer l'information qu'une personne est un homme ou une femme cette information s'exprime facilement en OWL par une union disjointe Chapter 5 A Semantic Web Primer

Règles monotonique par rapport aux règles non monotoniques Exemple: Un commerçant en ligne souhaite offrir une remise spéciale si le client a son anniversaire ce jour-là Solution 1 R1: si anniversaire, remise spéciale R2: si pas anniversaire, pas de remise spéciale Que se passe-t-il si un client refuse de donner sa date de naissance pour des raisons de respect de la vie privée? Chapter 5 A Semantic Web Primer

Règles monotonique par rapport aux règles non monotoniques (2) Solution 2 R1: si anniversaire, remise spéciale R2’: si date anniversaire inconnue, pas de remise spéciale Résout le problème, mais: la prémisse de la règle R2' n'est pas comprise dans la puissance d'expression de la logique des prédicats il faut un nouveau type de système de règles Chapter 5 A Semantic Web Primer

Règles monotoniques par rapport aux règles non monotoniques (3) La solution avec les règles R1 et R2 fonctionne lorsqu'on a une information complète de la situation Le nouveau système de règles sera appliqué dans les cas où les informations disponibles sont incomplètes R2’ est une règle non monotonique Chapter 5 A Semantic Web Primer

Echange de règles Echange de règles entre différentes applications ex., une boutique en ligne fait la pub de ses politiques de prix, de remboursement et de confidentialité. Elle les exprime par des règles L'approche sémantique consiste à exprimer le contenu de manière accessible par la machine en faisant appel à l'un des langages web que nous avons vus On montre comment les règles peuvent s'exprimer en langages de type XML (langages de balisage des règles) Chapter 5 A Semantic Web Primer

Sommaire Introduction Règles monotoniques: exemple Règles monotoniques: syntaxe et sémantique Règles non monotoniques: syntaxe Règles non monotoniques: exemple Un DTD pour les règles monotoniques Un DTD pour les règles non monotoniques Chapter 5 A Semantic Web Primer

Relations familiales Eléments factuels d'une base de données sur les relations familiales: mother(X,Y), X mère de Y father(X,Y), X père de Y male(X), X masculin female(X), X féminin Relation inférée parent: un parent est soit un père soit une mère mother(X,Y)  parent(X,Y) father(X,Y)  parent(X,Y) Chapter 5 A Semantic Web Primer

Relations inférées male(X), parent(P,X), parent(P,Y), notSame(X,Y)  brother(X,Y) female(X), parent(P,X), parent(P,Y), notSame(X,Y)  sister(X,Y) brother(X,P), parent(P,Y)  uncle(X,Y) mother(X,P), parent(P,Y)  grandmother(X,Y) parent(X,Y)  ancestor(X,Y) ancestor(X,P), parent(P,Y)  ancestor(X,Y) Chapter 5 A Semantic Web Primer

Sommaire Introduction Règles monotoniques: exemple Règles monotoniques: syntaxe et sémantique Règles non monotoniques: syntaxe Règles non monotoniques: exemple Un DTD pour les règles monotoniques Un DTD pour les règles non monotoniques Chapter 5 A Semantic Web Primer

Règles monotoniques - syntaxe loyalCustomer(X), age(X) > 60 => discount(X) On distingue dans les règles : variables: les variables sont des marques de réservation de valeurs : X constants: les constantes signalant des valeurs fixes: 60 predicats: indiquent des objets: loyalCustomer, > function symbols: symboles de fonction qui donnent une certaine valeur pour certains arguments: age Chapter 5 A Semantic Web Primer

Règles B1, . . . , Bn  A A, B1, ... , Bn sont des formules atomiques A est l’en-tête de la règle B1, ... , Bn sont les prémisses (énoncé de la règle ) Les virgules contenues dans l'énoncé de la règle sont lues de manière conjonctive Les variables peuvent se présenter dans A, B1, ... , Bn loyalCustomer(X), age(X) > 60  discount(X) implicitement quantifiées de manière universelle Chapter 5 A Semantic Web Primer

Faits et programmes de logique Un fait est une formule atomique Par ex. loyalCustomer(a345678) Les variables d'un fait sont implicitement quantifiées de manière universelle Un programme de logique P est un ensemble fini de faits et de règles Sa traduction en logique des prédicats pl(P) est l'ensemble de toutes les interprétations logiques des prédicats des règles et des faits dans P Chapter 5 A Semantic Web Primer

Buts Un but [finalité] signale une requête G demandée à un programme de logique La forme: B1, . . . , Bn  Si n = 0 on a un but vide ð Chapter 5 A Semantic Web Primer

Interprétation du premier ordre des buts [finalité] X1 . . . Xk (¬B1  . . .  ¬Bn) où X1, ... , Xk sont toutes les variables se présentant dans B1, ..., Bn Identique à pl(r), mais l'en-tête de la règle est omise De même: ¬X1 . . . Xk (B1  . . .  Bn) supposons que l'on connaisse p(a) ; et avec le but p(X) ® on veut savoir s'il y a une valeur pour laquelle p est vrai on attend une réponse positive en raison du fait p(a) par conséquent p(X) est quantifié existentiellement Chapter 5 A Semantic Web Primer

Pourquoi la négation de la formule ? On fait appel à une technique de vérification des mathématiques appelée preuve par contradiction: vérifier que A découle de B en supposant que A est faux et dérive une contradiction si combiné à B En programmation logique, on prouve qu'un but peut recevoir une réponse positive en niant le but et en prouvant que l'on obtient une contradiction en appliquant le programme logique par ex., étant donné le programme logique suivant, on obtient une contradiction logique Chapter 5 A Semantic Web Primer

Exemple p(a) ¬X p(X) La deuxième formule indique qu'aucun élément n'a la propriété p La première formule indique que la valeur de a a la propriété p Ainsi $X p(X) découle de p(a) Chapter 5 A Semantic Web Primer

Règles monotoniques - Sémantique de la logique des prédicats Etant donnée un programme logique P et une requête B1, . . . , Bn  avec les variables X1, ... , Xk on répond positivement si et uniquement si pl(P) |= X1 . . . Xk(B1  ...  Bn) (1) ou équivalent, si pl(P)  {¬X1 . . . Xk (B1  ... Ù Bn)} est insatisfiable (2) Chapter 5 A Semantic Web Primer

Sémantique de la logique des prédicats Les composantes du langage logique (signature) peuvent avoir n'importe quelle signification Un modèle A de logique des prédicats attribue une certaine signification En logique des prédicats un modèle est constitué de: un domaine dom(A), ensemble non vide d'objets à propos duquel les formules donnent des déclarations un élémént du domaine pour chaque constante une fonction concrète du domaine dom(A) pour chaque symbole de fonction une relation concrète du domaine dom(A) pour chaque prédicat Chapter 5 A Semantic Web Primer

Sémantique de la logique des prédicats (2) Les significations des connecteurs logiques ¬,Ú,Ù,®,",$ sont définies en fonction de leur sens intuitif: non, ou, implique, pour tout, il y a on définit si une formule est vraie dans un modèle A, indiqué comme A |= φ Une formule φ découle d'un ensemble M de formules si φ est vrai dans tous les modèles A où M est vrai Chapter 5 A Semantic Web Primer

Motivation de l'interprétation du premier ordre des buts [finalité] p(a) p(X)  q(X) q(X)  q(a) découle de pl(P) $X q(X) découle de pl(P), Ainsi, pl(P)È{¬$ Xq(X)} est insatisfiable et on donne une réponse positive Chapter 5 A Semantic Web Primer

Motivation de l'interprétation du premier ordre des buts [finalité] (2) p(a) p(X)  q(X) q(b)  Il faut donner une réponse négative parce que q(b) ne découle pas de pl(P) Chapter 5 A Semantic Web Primer

Témoins "Ground" On s'est focalisé jusqu'ici sur les réponses oui/non aux requêtes En supposant le fait p(a) et la requête p(X) ® La réponse oui est correcte mais pas satisfaisante La réponse appropriée est une substitution {X/a} qui donne une instanciation pour X La constante a est appelée témoin "ground" Chapter 5 A Semantic Web Primer

Témoins paramétrisés add(X,0,X) add(X,Y,Z)  add(X,s(Y ),s(Z)) add(X, s8(0),Z)  Témoins "ground" possibles: {X/0,Z/s8(0)}, {X/s(0),Z/s9(0)} . . . Le témoin paramétrisé Z = s8(X) est la répnse la plus générale à la requête: X Z add(X,s8(0),Z) Le calcul de la majorité des témoins généraux est l'objectif premier de la résolution SLD Chapter 5 A Semantic Web Primer

Sommaire Introduction Règles monotoniques: exemple Règles monotoniques: syntaxe et sémantique Règles non monotoniques: syntaxe Règles non monotoniques: exemple Un DTD pour les règles monotoniques Un DTD pour les règles non monotoniques Chapter 5 A Semantic Web Primer

Motivation – Négation dans l'en-tête des règles Dans les systèmes non monotoniques de règles, une règle peut ne pas s'appliquer même si toutes les prémisses sont connues parce qu'il faut prendre en considération des chaînes de raisonnement contraire Voyons maintenant les règles défaisables , c'est-à-dire des règles qui peuvent être annulées par d'autres règles Des atomes niés peuvent se présenter dans l'en-tête et l'énoncé des règles pour permettre des conflits p(X)  q(X) r(X)  ¬q(X) Chapter 5 A Semantic Web Primer

Règles défaisables p(X)  q(X) r(X)  ¬q(X) Etant donné les faits p(a) et r(a) on conclut ni q(a) ni ¬q(a) voilà un exemple type de deux règles se bloquant l'une l'autre Le conflit peut être résolu en appliquant des priorités entre règles Supposons que l'on sache d'une manière ou d'une autre que la première règle est plus forte que la deuxième on peut alors déduire q(a) Chapter 5 A Semantic Web Primer

Origine des priorités entre règles Primauté par ex., une loi communautaire a prépondérance sur une loi nationale par ex., en gestion d'entreprise, un cadre supérieur a une autorité supérieure à un cadre moyen Caractère plus récent (antériorité) Spécificité l'exemple classique est la règle générale comptant quelques exceptions On fait abstraction du principe de priorisation spécifique on suppose l'existence d'une relation externe de priorité sur l'ensemble de règles Chapter 5 A Semantic Web Primer

Priorités des règles r1: p(X)  q(X) r2: r(X)  ¬q(X) r1 > r2 Les règles ont un étiquette unique La relation de priorité doit être acyclique Chapter 5 A Semantic Web Primer

Règles concurrentes Dans les cas simples, deux règles sont concurrentes si l'en-tête de l'une est la négation de l'autre Mais souvent, lorsqu'un prédicat p est dérivé, certains autres prédicats sont exclus par ex., un conseiller en investissements peut baser ses recommandations sur trois niveaux de risques acceptables par les investisseurs: faible, moyen et élevé un seul niveau de risque par investisseur est retenu Chapter 5 A Semantic Web Primer

Règles concurrentes (2) Ces situations sont modélisées en maintenant un ensemble conflictuel C(L) pour chaque littéral L C(L) contient toujours la négation de L mais peut contenir plusieurs littéraux Chapter 5 A Semantic Web Primer

Règles défaisables: syntaxe r : L1, ..., Ln  L r est l'étiquette {L1, ..., Ln} l'énoncé (ou prémisses) L l'en-tête de la règle L, L1, ..., Ln sont des littéraux positifs ou négatifs Un littéral est une formule atomique p(t1,...,tm) ou sa négation ¬p(t1,...,tm) Aucun symbole de fonction ne peut être présent dans la règle Chapter 5 A Semantic Web Primer

Programmes à logique défaisable Un programme à logique défaisable est un triplet (F,R,>) constitué de un ensemble F de faits un ensemble fini R de règles défaisables une relation binaire acyclique > en R un ensemble de paires r > r' où r et r' sont les étiquettes des règles en R Chapter 5 A Semantic Web Primer

Sommaire Introduction Règles monotoniques: exemple Règles monotoniques: syntaxe et sémantique Règles non monotoniques: syntaxe Règles non monotoniques: exemple Un DTD pour les règles monotoniques Un DTD pour les règles non monotoniques Chapter 5 A Semantic Web Primer

Commerce par courtage Le commerce par courtage se caractérise par l'intervention d'un tiers, le courtier Le rôle du courtier est de faire coïncider les exigences de l'acheteur avec les possibilités du vendeur, puis de proposer une transaction lorsque les deux parties trouvent leur satisfaction dans l'échange commercial La location immobilière est une activité courante souvent fastidieuse et qui prend beaucoup de temps Chapter 5 A Semantic Web Primer

Exigences potentielles du client 45 mètres carrés minimum avec au moins 2 chambres à coucher ascenseur si au troisième étage ou plus haut animaux de compagnie autorisés Carlos est d'accord de payer: $ 300 pour un appartement de 45 m2 situé au centre $ 250 pour un appartement identique en banlieue $ 5 en plus par m2 supplémentaire $ 2 en plus par m2 s'il y a un jardin il ne peut pas payer plus de $ 400 au total S'il a le choix, il prendra l'offre la moins chère Sa deuxième priorité est le jardin Sa dernière priorité est la surface supplémentaire Chapter 5 A Semantic Web Primer

Formalisation des exigences de Carlos – prédicats utilisés size(x,y), y est la surface de l'appartement x (en m2) bedrooms(x,y), x a y chambres à coucher price(x,y), y est le prix de x floor(x,y), x est à l'étage y gardenSize(x,y), x a un jardin de superficie y lift(x), il y a un ascenseur dans la maison x pets(x), animaux de compagnie admis dans x central(x), x est situé au centre acceptable(x), appartement x répond aux exigences de Carlos offer(x,y), Carlos est d'accord de payer $ y pour l'appartement x Chapter 5 A Semantic Web Primer

Formalisation des exigences de Carlos – Règles r1:  acceptable(X) r2: bedrooms(X,Y), Y < 2  ¬acceptable(X) r3: size(X,Y), Y < 45  ¬acceptable(X) r4: ¬pets(X)  ¬acceptable(X) r5: floor(X,Y), Y > 2,¬lift(X)  ¬acceptable(X) r6: price(X,Y), Y > 400  ¬acceptable(X) r2 > r1, r3 > r1, r4 > r1, r5 > r1, r6 > r1 Chapter 5 A Semantic Web Primer

Formalisation des exigences de Carlos – Règles (2) r7: size(X,Y), Y ≥ 45, garden(X,Z), central(X)  offer(X, 300 + 2*Z + 5*(Y − 45)) r8: size(X,Y), Y ≥ 45, garden(X,Z), ¬central(X)  offer(X, 250 + 2*Z + 5(Y − 45)) r9: offer(X,Y), price(X,Z), Y < Z  ¬acceptable(X) r9 > r1 Chapter 5 A Semantic Web Primer

Représentation des appartements disponibles bedrooms(a1,1) size(a1,50) central(a1) floor(a1,1) ¬lift(a1) pets(a1) garden(a1,0) price(a1,300) Chapter 5 A Semantic Web Primer

Représentation des appartements disponibles (2) Flat app. Bedrooms chambres Size surf. Central Central Floor étage Lift ascen Pets anim Garden jardin Price prix a1 1 50 oui 1 non oui 300 a2 2 45 oui non oui 335 a3 2 65 non 2 non oui 350 a4 2 55 non 1 oui non 15 330 a5 3 55 oui non oui 15 350 a6 2 60 oui 3 non non 370 a7 3 65 oui 1 non oui 12 375 Chapter 5 A Semantic Web Primer

Détermination des appartements acceptables Si on fait correspondre les exigences de Carlos avec les appartements disponibles, on a appart. a1 n'est pas acceptable parce qu'il n'a qu'une seule chambre (règle r2) appart. a4 et a6 ne sont pas acceptables parce que les animaux de compagnie ne sont pas admis (règle r4) pour a2, Carlos est d'accord de payer $ 300, mais le prix est plus élevé (règles r7 et r9) appart. a3, a5 et a7 sont acceptables (règle r1) Chapter 5 A Semantic Web Primer

Choix d'un appartement r10: cheapest(X)  rent(X) r11: cheapest(X), largestGarden(X)  rent(X) r12: cheapest(X), largestGarden(X), largest(X)  rent(X) r12 > r10, r12 > r11, r11 > r10 On doit spécifier que pas plus d'un appartement ne peut être loué en appliquant les ensembles conflictuels C(rent(x)) = {¬rent(x)}  {rent(y) | y ≠ x} Chapter 5 A Semantic Web Primer

Sommaire Introduction Règles monotoniques: exemple Règles monotoniques: syntaxe et sémantique Règles non monotoniques: syntaxe Règles non monotoniques: exemple Un DTD pour les règles monotoniques Un DTD pour les règles non monotoniques Chapter 5 A Semantic Web Primer

Formules atomiques p(X, a, f(b, Y )) <atom> <predicate>p</predicate> <term><var>X</var></term> <term><const>a</const></term> <term> <function>f</function> <term><const>b</const></term> <term> <var>Y</var></term> </term> </atom> Chapter 5 A Semantic Web Primer

Faits <fact> <atom> <predicate>p</predicate> <term> <const>a</const> </term> </atom> </fact> Chapter 5 A Semantic Web Primer

Règles <rule> <head> <atom> <predicate>r</predicate> <term><var>X</var></term> <term><var>Y</var></term> </atom> </head> Chapter 5 A Semantic Web Primer

Règles (2) <body> <atom><predicate>p</predicate> <term><var>X</var></term> <term> <const>a</const> </term> </atom> <atom><predicate>q</predicate> <term> <var>Y</var></term> <term> <const>b</const></term> </body> </rule> Chapter 5 A Semantic Web Primer

Balisage des règles en XML: un DTD <!ELEMENT program ((rule|fact)*)> <!ELEMENT fact (atom)> <!ELEMENT rule (head,body)> <!ELEMENT head (atom)> <!ELEMENT body (atom*)> <!ELEMENT atom (predicate,term*)> <!ELEMENT term (const|var|(function,term*))> <!ELEMENT predicate (#PCDATA)> <!ELEMENT function (#PCDATA)> <!ELEMENT var (#PCDATA)> <!ELEMENT const (#PCDATA)> <!ELEMENT query (atom*))> Chapter 5 A Semantic Web Primer

Modèle de données alternatif de RuleML RuleML représente un effort majeur de standardisation dans le domaine des règles RuleML est actuellement basé sur XML mais fait appel à des "role-tags" de type RDF, dont la position dans une expression n'est pas pertinente cependant, ils sont différents pour le modèle de données XML dans lequel l'ordre est important Chapter 5 A Semantic Web Primer

Notre DTD par rapport à RuleML program rulebase rule imp head _head body _body atom* and predicate rel const ind var var Chapter 5 A Semantic Web Primer

Sommaire Introduction Règles monotoniques: exemple Règles monotoniques: syntaxe et sémantique Règles non monotoniques: syntaxe Règles non monotoniques: exemple Un DTD pour les règles monotoniques Un DTD pour les règles non monotoniques Chapter 5 A Semantic Web Primer

Modifications par rapport au DTD précédent Absence de symboles de fonction la structure du terme est neutre Les atomes négatifs peuvent se présenter dans l'en-tête et l'énoncé d'une règle Chaque règle a un nom En plus des règles et des faits, un programme contient encore des déclarations de priorité on utilise une étiquette <stronger> pour représenter les priorités et une étiquette d'ID dans les règles pour signaler leur nom Chapter 5 A Semantic Web Primer

Exemple r1: p(X)  s(X) r2: q(X)  ¬s(X) p(a) q(a) r1 > r2 Chapter 5 A Semantic Web Primer

Règle r1 en XML <rule id="r1"> <head> <atom> <predicate>s</predicate> <term> <var>X</var></term> </atom> </head> <body> <predicate>p</predicate> <term> <var>X</var> </term> </body> </rule> Chapter 5 A Semantic Web Primer

Faits et priorité en XML <fact> <atom> <predicate>p</predicate> <term> <const>a</const> </term> </atom> </fact> <stronger superior="r1" inferior="r2"/> Chapter 5 A Semantic Web Primer

un DTD <!ELEMENT program ((rule|fact|stronger)*)> <!ELEMENT fact (atom|neg)> <!ELEMENT neg (atom)> <!ELEMENT rule (head,body)> <!ATTLIST rule id ID #IMPLIED> <!ELEMENT head (atom|neg)> <!ELEMENT body ((atom|neg)*)> Chapter 5 A Semantic Web Primer

Un DTD (2) <!ELEMENT atom (predicate,(var|const)*)> <!ELEMENT stronger EMPTY)> <!ATTLIST stronger superior IDREF #REQUIRED> inferior IDREF #REQUIRED> <!ELEMENT predicate (#PCDATA)> <!ELEMENT var (#PCDATA)> <!ELEMENT const (#PCDATA)> <!ELEMENT query (atom*))> Chapter 5 A Semantic Web Primer

Récapitulation La logique Horn est un sous-ensemble de la logique des prédicats permettant un raisonnement efficace, indépendant de la logique de description La logique Horn est la base des règles monotoniques Les règles monotoniques sont utiles dans les cas où les informations disponibles sont incomplètes Il s'agit de règles susceptibles de dérogation par une preuve contraire Les priorités s'utilisent pour résoudre certains conflits entre règles Les langages de représentation de type XML sont simples Chapter 5 A Semantic Web Primer