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

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

Embed Size (px)

Citation preview

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

Chapter 5 A Semantic Web Primer1

Chapitre 5 Logique et inférence: règles

Grigoris Antoniou

Frank van Harmelen

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

Chapter 5 A Semantic Web Primer2

Sommaire

1. Introduction

2. Règles monotoniques: exemple

3. Règles monotoniques: syntaxe et sémantique

4. Règles non monotoniques: syntaxe

5. Règles non monotoniques: exemple

6. Un DTD pour les règles monotoniques

7. Un DTD pour les règles non monotoniques

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

Chapter 5 A Semantic Web Primer3

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)

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

Chapter 5 A Semantic Web Primer4

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

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

Chapter 5 A Semantic Web Primer5

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

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

Chapter 5 A Semantic Web Primer6

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

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

Chapter 5 A Semantic Web Primer7

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

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

Chapter 5 A Semantic Web Primer8

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

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

Chapter 5 A Semantic Web Primer9

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?

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

Chapter 5 A Semantic Web Primer10

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

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

Chapter 5 A Semantic Web Primer11

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

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

Chapter 5 A Semantic Web Primer12

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)

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

Chapter 5 A Semantic Web Primer13

Sommaire

1. Introduction

2. Règles monotoniques: exemple

3. Règles monotoniques: syntaxe et sémantique

4. Règles non monotoniques: syntaxe

5. Règles non monotoniques: exemple

6. Un DTD pour les règles monotoniques

7. Un DTD pour les règles non monotoniques

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

Chapter 5 A Semantic Web Primer14

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)

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

Chapter 5 A Semantic Web Primer15

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)

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

Chapter 5 A Semantic Web Primer16

Sommaire

1. Introduction

2. Règles monotoniques: exemple

3. Règles monotoniques: syntaxe et sémantique

4. Règles non monotoniques: syntaxe

5. Règles non monotoniques: exemple

6. Un DTD pour les règles monotoniques

7. Un DTD pour les règles non monotoniques

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

Chapter 5 A Semantic Web Primer17

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

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

Chapter 5 A Semantic Web Primer18

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

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

Chapter 5 A Semantic Web Primer19

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

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

Chapter 5 A Semantic Web Primer20

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 ð

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

Chapter 5 A Semantic Web Primer21

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

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

Chapter 5 A Semantic Web Primer22

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

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

Chapter 5 A Semantic Web Primer23

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)

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

Chapter 5 A Semantic Web Primer24

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)

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

Chapter 5 A Semantic Web Primer25

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

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

Chapter 5 A Semantic Web Primer26

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

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

Chapter 5 A Semantic Web Primer27

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

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

Chapter 5 A Semantic Web Primer28

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)

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

Chapter 5 A Semantic Web Primer29

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"

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

Chapter 5 A Semantic Web Primer30

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

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

Chapter 5 A Semantic Web Primer31

Sommaire

1. Introduction

2. Règles monotoniques: exemple

3. Règles monotoniques: syntaxe et sémantique

4. Règles non monotoniques: syntaxe

5. Règles non monotoniques: exemple

6. Un DTD pour les règles monotoniques

7. Un DTD pour les règles non monotoniques

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

Chapter 5 A Semantic Web Primer32

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)

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

Chapter 5 A Semantic Web Primer33

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)

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

Chapter 5 A Semantic Web Primer34

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

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

Chapter 5 A Semantic Web Primer35

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

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

Chapter 5 A Semantic Web Primer36

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

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

Chapter 5 A Semantic Web Primer37

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

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

Chapter 5 A Semantic Web Primer38

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

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

Chapter 5 A Semantic Web Primer39

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

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

Chapter 5 A Semantic Web Primer40

Sommaire

1. Introduction

2. Règles monotoniques: exemple

3. Règles monotoniques: syntaxe et sémantique

4. Règles non monotoniques: syntaxe

5. Règles non monotoniques: exemple

6. Un DTD pour les règles monotoniques

7. Un DTD pour les règles non monotoniques

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

Chapter 5 A Semantic Web Primer41

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

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

Chapter 5 A Semantic Web Primer42

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

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

Chapter 5 A Semantic Web Primer43

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

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

Chapter 5 A Semantic Web Primer44

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

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

Chapter 5 A Semantic Web Primer45

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

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

Chapter 5 A Semantic Web Primer46

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)

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

Chapter 5 A Semantic Web Primer47

Représentation des appartements disponibles (2)

37512ouinon1oui 653a7

3700nonnon3oui 602a6

35015oui non0oui 553a5

33015nonoui 1non552a4

3500oui non2non652a3

3350oui non0oui 452a2

3000oui non1oui 501a1

Price prix

Garden jardin

Pets anim

Lift ascen

Floor étage

Central Central

Size surf.

Bedrooms chambres

Flat app.

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

Chapter 5 A Semantic Web Primer48

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)

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

Chapter 5 A Semantic Web Primer49

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}

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

Chapter 5 A Semantic Web Primer50

Sommaire

1. Introduction

2. Règles monotoniques: exemple

3. Règles monotoniques: syntaxe et sémantique

4. Règles non monotoniques: syntaxe

5. Règles non monotoniques: exemple

6. Un DTD pour les règles monotoniques

7. Un DTD pour les règles non monotoniques

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

Chapter 5 A Semantic Web Primer51

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>

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

Chapter 5 A Semantic Web Primer52

Faits

<fact><atom>

<predicate>p</predicate><term>

<const>a</const> </term></atom>

</fact>

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

Chapter 5 A Semantic Web Primer53

Règles

<rule>

<head>

<atom>

<predicate>r</predicate>

<term><var>X</var></term>

<term><var>Y</var></term>

</atom>

</head>

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

Chapter 5 A Semantic Web Primer54

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>

</atom></body>

</rule>

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

Chapter 5 A Semantic Web Primer55

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*))>

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

Chapter 5 A Semantic Web Primer56

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

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

Chapter 5 A Semantic Web Primer57

Notre DTD par rapport à RuleML

varvar

indconst

relpredicate

andatom*

_body body

_head head

imprule

rulebaseprogram

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

Chapter 5 A Semantic Web Primer58

Sommaire

1. Introduction

2. Règles monotoniques: exemple

3. Règles monotoniques: syntaxe et sémantique

4. Règles non monotoniques: syntaxe

5. Règles non monotoniques: exemple

6. Un DTD pour les règles monotoniques

7. Un DTD pour les règles non monotoniques

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

Chapter 5 A Semantic Web Primer59

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

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

Chapter 5 A Semantic Web Primer60

Exemple

r1: p(X) s(X)

r2: q(X) ¬s(X)

p(a)

q(a)

r1 > r2

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

Chapter 5 A Semantic Web Primer61

Règle r1 en XML

<rule id="r1"><head>

<atom><predicate>s</predicate><term> <var>X</var></term>

</atom></head><body>

<atom><predicate>p</predicate><term> <var>X</var> </term>

</atom></body>

</rule>

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

Chapter 5 A Semantic Web Primer62

Faits et priorité en XML

<fact><atom>

<predicate>p</predicate><term> <const>a</const></term>

</atom></fact>

<stronger superior="r1" inferior="r2"/>

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

Chapter 5 A Semantic Web Primer63

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)*)>

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

Chapter 5 A Semantic Web Primer64

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*))>

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

Chapter 5 A Semantic Web Primer65

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