Upload
ame-motte
View
112
Download
0
Embed Size (px)
Citation preview
(Social networks) and Semantic peer-to-peer systems
2
Systèmes pair-à-pair
Coalition de serveurs d’information indépendants (pairs)
Chaque pair peut être soit client soit serveur
Architecture dynamique
De différents systèmes pair à pair
madonna.mp3 ?
Partage de fichiers mots-clés : KaZaA… Gestion de données : Piazza
SELECT * FROM …
WHERE … ?3
Les systèmes P2P de gestion de données
• Réseau logique de pairs (connectés via le réseau physique)– Chaque pair est caractérisé par
• Son addresse physique (IP)• La description de ses données• Ses voisins dans le réseau
– Les pairs à qui il peut transmettre des messages (requêtes, réponses)
• Topologies variées – on structurées (Kazaa, Gnutella)– fixées (Chord, Hypercube)– Guidées par la sémantique
• SON, Edutella, Piazza, DRAGO, coDB, Somewhere
Un réseau P2P SomeWhere
• Topologie non fixée
• Guidée par les mappings– Un pair
• Se joint au réseau en déclarant des mappings entre son schéma et ceux de certains pairs qu’il connait
• Part en supprimant ses mappings
SomeOwl : réseau sémantique P2P au dessus de SomeWhere
• Modèle de données très simple fondé sur un langage propositionnel de classes – pour définir les schémas, les mappings, et les requêtes
• Passe à l’échelle du millier de pairs – topologie « petit monde »
Modèle de données
A0
A1 A2
A3 A4 A5
St_A3St_A5
Data Data
Ontology: hierarchy of intentional classes
Schema+Data
Storage description: extensional classes
More complex inclusion statement: St_A1 A1 ¬A2
Modèle de données
Mappings:
Q1 Q2
Q
A1 (A2 A3) B1 ¬B3
A1 A2
A3
A
B
B1 B2
B3
Queries:
Logical combination of class literals: A1 ¬A3
A1 B3 B3 A1
Sémantique
• Standard FOL– Domaine d’interprétation unique– Un ensemble distribué de formules interprétées comme
dans le cas centralisé– À la différence d’autres approches
• coDB: logique épistémique • DRAGO: sémantique distribuée DDL ou DFOL basée sur une
collection de domaines d’interprétations
• Hypothèse forte : – Les instances ont un identifiant unique (URI)– Les ressources stockées dans différents pairs ayant le
même URI sont interprétées comme étant identiques
P1ontology :ontology : P3
P2:BenStiller P3:Comedy
mappings :
P1:Action P1:Suspense P3:Thriller
P1:Animation P3:Cartoons
P2ontology :
P2:BruceWillis P1:Action
mappings :
P2:BruceWillis P2:BenStiller
P1:Action
P1:Suspense
P1:Animation
ViewJuliaRoberts J uliaRoberts
Actors MyBookmarks ,
BruceWillis Actors ,
BenStiller Actors ,
JuliaRoberts Actors ,
ViewBruceWillis BruceWillis ,
ViewBenStiller BenStiller ,
Illustration sur un exemple
MyBookmarks
DVD
Animation Action Suspense
ViewAnimation ViewAction ViewSuspense
MyBookmarks
Movies
Comedy Thriller Cartoons Adult
ViewAdultViewCartoonsViewThrillerViewComedy
JuliaRoberts
MyBookmarks
Actors
BruceWillis BenStiller
ViewBruceWillis ViewBenStiller ViewJuliaRoberts
P1
P3
P2
P2:BruceWillis P2:BenStiller
P1:Action
P1:Suspense
P1:Animation
ontology :
P2:BruceWillis P1:Action
mappings :
MyBookmarks
DVD
Animation Action Suspense
ViewAnimation ViewAction ViewSuspense
ontology :
mappings :
P1:Action P1:Suspense P3:Thriller
P2:BenStiller P3:Comedy P1:Animation P3:Cartoons
MyBookmarks
Movies
Comedy Thriller Cartoons Adult
ViewAdultViewCartoonsViewThrillerViewComedy
JuliaRoberts
MyBookmarks
Actors
BruceWillis BenStiller
ViewBruceWillis ViewBenStiller ViewJuliaRoberts
ontology :
Thriller Comedy ?
Requêtes: combinaison logique de classes
Illustration sur un exemple
Calcul des réponses à une requête
Par réécriture de la requête :
Étape 1: calcul de réécritures = reformulation plus précise de la requête contenant uniquement des classes extensionnelles
Étape 2: Évaluation des réécritures (calcul des extensions) donnant des réponses
Qu’est ce qu’une réponse ?
Comment trouver toutes les réponses certaines ?
(réponse certaine)
Soit un PDMS someOWL et l’ensemble de ses données
Calcul des réponses par réécriture
Intérêt de cette méthode:
Permet de raisonner en pair-à-pair uniquement au niveau du schéma (pas de transport de données)
Les réécritures indiquent directement les pairs à interroger
Propriété :
S’il existe un nombre fini de réécritures conjonctives maximales de la requête initiale relativement au PDMS, l’évaluation de ces réécritures donne toutes les réponses certaines en temps polynomial dans la taille des données [Goasdoué & Rousset 2004]
Récriture de requêtes dans SomeOwl
• Se réduit au problème du calcul de conséquences logiques dans un ensemble distribué de formules en logique des propositions
– schémas et mappings encodés par des clauses
– Les récritures maximales conjonctives d’une requête Q correspondent à la négation des clauses qui sont impliqués premiers propres de la négation de Q et de l’union des théories locales et des mappings
Par encodage propositionnel direct
Propriété de transfertSoit P un PDMS et Prop(P) son encodage propositionnel. Qe est réécriture maximale d’une requête Q ssi Prop(Qe) est un impliqué premier propre de Prop(Q) rel. à Prop(P)
SomeOwl : calcul des réécritures
P1ontology :
mappings :
ontology : P3
mappings :
P2ontology :
mappings :
P2:BruceWillis P2:BenStiller
P1:Action
P1:Suspense
P1:Animation
¬ Action v DVD ,
¬ P2:BruceWillis v P1:Action
¬ DVD v MyBookmarks ,
¬ Animation v DVD , ¬ Suspense v DVD ,
¬ ViewAnimation v Animation , ¬ ViewAction v Action ,
¬ ViewSuspense v Suspense
¬ ViewCartoons v Cartoons ,
¬ P1:Action v P1:Suspense v P3:Thriller
¬ P2:BenStiller v P3:Comedy ¬ P1:Animation v P3:Cartoons
MyBookmarks ,¬ Movies v
¬ Comedy v Movies , ¬ Thriller v Movies ,
¬ Cartoons v Movies , ¬ Adult v Movies ,
¬ Adult v ¬ Cartoons ,
¬ ViewAdult v Adult
¬ ViewComedy v Comedy ,
¬ ViewThriller v Thriller ,
¬ P2:BenStiller v P3:Comedy
¬ ViewJuliaRoberts v JuliaRoberts
¬ Actors v MyBookmarks ,
¬ BruceWillis v Actors ,
¬ BenStiller v Actors ,
¬ JuliaRoberts v Actors ,
¬ ViewBruceWillis v BruceWillis ,
¬ ViewBenStiller v BenStiller ,
SomeWhere : illustration
P2:BenStiller P3:Comedy
ViewJuliaRoberts JuliaRoberts
Actors MyBookmarks ,
BruceWillis Actors ,
BenStiller Actors ,
JuliaRoberts Actors ,
ViewBruceWillis BruceWillis ,
ViewBenStiller BenStiller ,
P2:BruceWillis P1:Action
Action DVD DVD MyBookmarks ,
Animation DVD , Suspense DVD ,
ViewAnimation Animation , ViewAction Action , ViewSuspense Suspense
P1:Action P1:Suspense P3:Thriller
P2:BenStiller P3:Comedy P1:Animation P3:Cartoons
MyBookmarks ,Movies
Comedy Movies , Thriller Movies ,
Cartoons Movies , Adult Movies ,
Adult Cartoons ,
ViewCartoons Cartoons ,
ViewAdult Adult
ViewComedy Comedy ,
ViewThriller Thriller ,
P1ontology :
mappings :
ontology :P3
mappings :
P2ontology :
mappings :
P2:BruceWillis P2:BenStiller
P1:Action
P1:Suspense
P1:Animation
¬ Action v DVD ,
¬ P2:BruceWillis v P1:Action
¬ DVD v MyBookmarks ,
¬ Animation v DVD , ¬ Suspense v DVD ,
¬ ViewAnimation v Animation , ¬ ViewAction v Action ,
¬ ViewSuspense v Suspense
¬ ViewCartoons v Cartoons ,
¬ P1:Action v P1:Suspense v P3:Thriller
¬ P2:BenStiller v P3:Comedy ¬ P1:Animation v P3:Cartoons
MyBookmarks ,¬ Movies v
¬ Comedy v Movies , ¬ Thriller v Movies ,
¬ Cartoons v Movies , ¬ Adult v Movies ,
¬ Adult v ¬ Cartoons ,
¬ ViewAdult v Adult
¬ ViewComedy v Comedy ,
¬ ViewThriller v Thriller ,
¬ P2:BenStiller v P3:Comedy
¬ ViewJuliaRoberts v JuliaRoberts
¬ Actors v MyBookmarks ,
¬ BruceWillis v Actors ,
¬ BenStiller v Actors ,
¬ JuliaRoberts v Actors ,
¬ ViewBruceWillis v BruceWillis ,
¬ ViewBenStiller v BenStiller ,
Thriller ?Thriller ?
P1
¬ P1:Suspense
¬ P1:Action ¬ P1:ViewAction
¬ P1:ViewSuspense¬ P1:ViewSuspense
¬ P1:ViewAction
¬ P2:BruceWillis
¬ P2:ViewBruceWillis¬ P2:ViewBruceWillis
¬ P2:ViewBruceWillis
¬ P1:ViewAction
v
P3:ViewThriller
P1:ViewAction v P1:ViewSuspense
P2:ViewBruceWillis v P1:ViewSuspense P2:ViewBruceWillis P1:ViewSuspense
P3:ViewThriller
P1:ViewAction P1:ViewSuspense
P1
P3
P2
P2:BruceWillis P2:BenStiller
P1:Action
P1:Suspense
P1:Animation
P1
ontology :
mappings :
ontology :
mappings :
ontology :
mappings :
¬ Action v DVD ,
¬ P2:BruceWillis v P1:Action
¬ DVD v MyBookmarks ,
¬ Animation v DVD , ¬ Suspense v DVD ,
¬ ViewAnimation v Animation , ¬ ViewAction v Action ,
¬ ViewSuspense v Suspense
¬ ViewCartoons v Cartoons ,
¬ P1:Action v P1:Suspense v P3:Thriller
¬ P2:BenStiller v P3:Comedy ¬ P1:Animation v P3:Cartoons
MyBookmarks ,¬ Movies v
¬ Comedy v Movies , ¬ Thriller v Movies ,
¬ Cartoons v Movies , ¬ Adult v Movies ,
¬ Adult v ¬ Cartoons ,
¬ ViewAdult v Adult
¬ ViewComedy v Comedy ,
¬ ViewThriller v Thriller ,
¬ P2:BenStiller v P3:Comedy
¬ ViewJuliaRoberts v JuliaRoberts
¬ Actors v MyBookmarks ,
¬ BruceWillis v Actors ,
¬ BenStiller v Actors ,
¬ JuliaRoberts v Actors ,
¬ ViewBruceWillis v BruceWillis ,
¬ ViewBenStiller v BenStiller ,
mappings :
ontology :
mappings :
Locales
Distantes
Intégration P2:ViewBruceWillis P1:ViewSuspense
P3:ViewThriller
P1:ViewAction P1:ViewSuspense
L’algorithme DeCa : illustration
I
K
K,C
B,PAL
¬ L v O ¬L v I
¬ L v C v K
P1
¬ K v FJ
¬ B v ¬ K v PAL
P3
¬ K v B
¬ C v H
¬ PAL v AM
P4
¬ I v P P2
I
K
K,C
B,PAL
¬ L v O ¬L v I
¬ L v C v K
P1
¬ K v FJ
¬ B v ¬ K v PAL
P3
¬ K v B
¬ C v H
¬ PAL v AM
P4
L ? L
O C:vK:
I :
Nature du message
(avant, arrière, fin)Historique
• Passage de messages
• Gestion d’historique dans les messages
avant:I , [ (L,P1) ]
O
¬ I v P P2
• Raisonnement local
I, [(L,P1)]: P
I
K
K,C
B,PAL
¬ L v O ¬L v I
¬ L v C v K
P1
¬ K v FJ
¬ B v ¬ K v PAL
P3
¬ K v B
¬ C v H
¬ PAL v AM
P4
L ? L
O C:vK:
I :
• Passage de messages
• Gestion d’historique dans les messages
O
¬ I v P P2
• Raisonnement local
I, [(L,P1)]: P
P
P
fin:I , [ (L,P1) ]
P
I
K
K,C
B,PAL
¬ L v O ¬L v I
¬ L v C v K
P1
¬ K v FJ
¬ B v ¬ K v PAL
P3
¬ K v B
¬ C v H
¬ PAL v AM
P4
L
O
C, [(L,P1)]:
K, [(L,P1)]:
C:vK:
I :
avant:C , [ (L,P1) ]
• Passage de messages
• Gestion d’historique dans les messages
avant:K , [ (L,P1) ]
O
¬ I v P P2
• Raisonnement local
I, [(L,P1)]: PP
L ?
P
P
I
K
K,C
B,PAL
¬ L v O ¬L v I
¬ L v C v K
P1
¬ K v FJ
¬ B v ¬ K v PAL
P3
¬ K v B
¬ C v H
¬ PAL v AM
P4
L ? L
O
C, [(L,P1)]:
K, [(L,P1)]:
C:vK:
I :
O
H
B
H
B
H
BH v B
• Découpage / recombinaison
¬ I v P P2
• Passage de messages
• Gestion d’historique dans les messages
• Raisonnement local
I, [(L,P1)]: PP
P
P
I
K
K,C
B,PAL
¬ L v O ¬L v I
¬ L v C v K
P1
¬ K v FJ
¬ B v ¬ K v PAL
P3
¬ K v B
¬ C v H
¬ PAL v AM
P4
L ? L
O
C, [(L,P1)]:
K, [(L,P1)]:
C:vK:
I :
O
H
B
H
B
avant:B , [ (K,P4), (L,P1) ]
B, [(K,P4),(L,P1)]¬ K:
vPAL
¬ K , [ (B,P3) , (K,P4), (L,P1) ]
Négation de la requête dans l’historique génération de la clause vide
□
□
Génération de la clause vide
Détection de cycles
¬ I v P P2
• Découpage / recombinaison
• Passage de messages
• Gestion d’historique dans les messages
• Raisonnement local
I, [(L,P1)]: PP
PH v B
P
I
K
K,C
B,PAL
¬ L v O ¬L v I
¬ L v C v K
P1
¬ K v FJ
¬ B v ¬ K v PAL
P3
¬ K v B
¬ C v H
¬ PAL v AM
P4
L ? L
O
C, [(L,P1)]:
K, [(L,P1)]:
C:vK:
I :
O
H
B
H
B
B, [(K,P4),(L,P1)]¬ K:
vPAL
□PAL PAL
H v PAL
…
¬ I v P P2
• Découpage / recombinaison
• Passage de messages
• Gestion d’historique dans les messages
• Raisonnement local
Génération de la clause vide
Détection de cycles
I, [(L,P1)]: PP
PH v B
P
• Anytime
• Termine et notifie sa terminaison
• Correct
• Condition suffisante de complétude:
tout couple de pairs ayant une variable A en commun est relié par un chemin dont toutes les arêtes sont étiquetées par A
L’algorithme DeCa : propriétés
Une clause c
Tous les ppis de c relativement à la théorie globale… inconnue !
L’algorithme DeCa : résumé
Déploiement de SomeWhere
1 machine
N pairs
N machines
K pairs par machine
N machines
1 pair par machine
Zoom sur une machine
100 % JAVA 1.5
somewhere.jar ~ 250 Ko
Handling inconsistencies
• How to define them ?– unsatisfiability => derivation of the empty clause– empty classes => derivation of unit negative clauses
• How to detect inconsistencies?– at each join of a new peer
• How to deal with inconsistencies?– avoid them when reasoning
A’
A
B’
B
B’ A’
A B
there exists A such that A is empty in every model: S |= A
illustration
path m1:
AIPubli is a subclass of Conf.
inconsistencies are caused by mappings.
Article
Theory Expe
P2
path m0 -> m2: AIPublic is a subclass of Journal.
Conf and Journal are disjoint, therefore AIPUbli is necessarily empty
Publi
Conf Journal
P3
>--<
2005
AIPubli BDPubli
P1
AIPubli Theory
m0
Theory Journal
m2
2005 Conf
m1
P2P detecting of inconsistencies
Propagation of m1: { ¬AIPubli v Conf;
¬AIPubli v Publi;¬AIPubli v ¬Journal;
¬BDPubli v Conf; ¬BDPubli v Publi;
¬BDPubli v ¬Journal }. No production of unit clause
No inconsistency
Propagation of m2: { ¬Theory v Journal;
¬AIPubli v Journal;…..;
¬AIPubli ;…;
¬AIPubli v ¬Conf}. Production of a unit clause
Inconsistency{m1,m2} is a NoGood stored at P3
¬Conf v Publi¬Journal v Publi¬Journal v ¬Conf
¬AIPubli v 2005¬BDPubli v 2005
¬Theory v Article¬Expe v Article
¬AIPubli v Theory
¬2005 v Conf
m1
¬Theory v Journal
m2
Distributed storage of the NoGoods
{ M*2
M*1
M*n
… }{ }
{ }
• Principle:– avoid the inconsistencies when constructing answers
• Semantics of « well-founded » answer:– obtained from a consistent subset of formulas
• Algorithm:– for each answer,
• build its set of mapping supports and return the set of NoGoods encountered during the reasoning,
• discard the mapping supports including a NoGood
– return the answers having a not empty set of mapping supports
P2P well-founded reasoning
SomeRDFS
• Extending the data model to RDF(S)– W3C recommendation for describing web resources– Classes and (binary) relations between objects– each object is identified by a URI
http://www.louvre.fr "Le Louvre" MuseumName
http://www.paris.fr
Located
" Paris" CityName
Triple notation: <resource, property, value>Relational notation: property(resource, value)
RDFS
ArtistNameLocated
MadeBy
Contains
City CityName
Literal
Museum Work ArtistMuseumNameLiteral
Is-a
ArcheologyMuseum
Is-a
ModernMuseum
Literal
CulturalPlace
Is-a
WorkName
Literal
SomeRDFS: data model
a simple fragment of RDFS
distributed through simple mappings
(using the same constructors)
Q(X,Y): P2.Work(X)P2.refersTo(X,Y)
Query rewriting in SomeRDFS
• Propositionalisation of the RDFS statements and the query: removing the variables
• Propositional query rewriting using SomeWhere• Building the relational rewritings by adding the variables at the
right place.
C1dom C2
dom C1range C2
range P1rel P2
rel
Prel Cdom Prel Crange
illustration
Q(X,Y): P2.Work(X)P2.refersTo(X,Y)
P2.Workdom P2.Workrange
P2.Paintingdom …
SomeWhere rewriting
SomeWhere rewriting
P1.Paintsrel …
SomeWhere rewriting
P1.belongsTorel …
P2.Painting(X) P1.Paints(Z,X) P1.belongsTo(X,Y)
R1(X,Y): P2.Painting(X)P1.belongsTo(X,Y)
P2.refersTorel
illustration
Q(X,Y): P2.Work(X)P2.refersTo(X,Y)
P2.Workdom P2.Workrange
P2.Paintingdom …
SomeWhere rewriting
SomeWhere rewriting
P1.Paintsrel …
SomeWhere rewriting
P1.belongsTorel …
P2.Painting(X) P1.Paints(Z,X) P1.belongsTo(X,Y)
P2.refersTorel
R2(X,Y): P1.Paints(Z,X)P1.belongsTo(X,Y)
Recherche sémantique d’informations
requêtes : posées à un pair, utilisant le vocabulaire du pair : Action1,
non-Drama1, …
peuvent être traitées par SomeWhere et Deca via un encodage propositionnel : concept -> variable, relation de concepts -> disjonction/conjonction/disjointness de variables
résultats : un ensemble de ressources chacune accompagnée d’une justification logique : son label (une
combinaison de classes « feuilles » des pairs)
Ressource Label
UnSecret Drama4
IamLegend.avi USA3 Action1 41
Modélisation et calcul de la confiance
La satisfaction des utilisateurs n’est pas garantie : une ressource mal-annotée :
Shrek.avi : Drama ! différents points de vue :
IamLegend.avi : Scientifique ou Thriller ?
Un modèle de confiance la confiance est considérée au niveau de label
42
Modélisation probabiliste
Hypothèse : évaluation binaire de ressources
Soit XiL une variable aléatoire définie sur l’ensemble des ressources annotées par L XiL (r) = 1 si r satisfait Pi , XiL (r) = 0 sinon=> elle suit une loi de Bernoulli de paramètre p
p : probabilité qu’une ressource annotée par L soit satisfaisante pour Pi
p : inconnu
Confiance de Pi dans un label L = p. A estimer ! 43
Approche Bayésienne
Principe : observer un échantillon des valeurs de XiL
modéliser Confiance(Pi , L) comme une variable aléatoire suivant une loi qui tient compte des observations
estimer Confiance(Pi , L) par l’espérance de cette loi
affiner l’estimation en fonction de nouvelles observations
44
Observations Table des observations O1 dans le pair P1
Label L #+1 (L) # -
1 (L)
MyActionFilms2 30 6
MyCartoons2 3 15
Western4 2 8
Italian5 Western4 0 6
45
Cas général: O+i (L) O-
i (L)
Observations pertinentes
# d’observations + sur L faites par P1
# d’observations - sur L faites par P1
O+1 (Western4) = 2
# d’observations + pertinentes sur Western4
# d’observations -pertinentes sur Western4
O-1 (Western4) = 14
Estimation de la confiance
Confiance(Pi , L) ≈ 1+ O+
i (L)
2+ O+i (L) + O-
i (L)
Ecart type = √ (1+ O+i (L)) * (1+ O-
i (L))
(2+ O+i (L) + O-
i (L))2 * (3+ O+i (L) + O-
i (L))
46
Résultats
on peut calculer le nombre d’observations nécessaire pour que l’écart type soit inférieure à un seuil.
observations locales trop peu nombreuses?
Label L Confiance Ecart type
MyActionFilms2 0.815 0.062
MyCartoons2 0.2 0.087
Western4 0.166 0.085
Italian5 Western4 0.125 0.11
47
Observations locales non suffisantes
Collection d’observations d’autres pairs avantage : homogénéité du modèle
2 stratégies de propagation d’observations stratégie « lazy » stratégie « greedy »
48
Approche « lazy »
Poser une requête, attendre les réponses
Pour un label L, demander à certains pairs leurs observations sur L
Pas d’adaptation du mécanisme de raisonnement
Des messages supplémentaires après le traitement de la requête
49
Approche « greedy »
Poser une requête
Collecter les observationsau cours du traitement de la requête
Etendre les messages de réponses
A1
C1B1
Pair P1Pair P1 A2
C2B2
Pair P2Pair P2
A3
C3B3
Pair P3Pair P3A4
C4B4
Pair P4Pair P4
B2 B1
B4 B3
B3 B2
B1
b4.avi : B4
b4.avi : B4
b4.avi : B4
O+3(B4) , O-
3(B4)
O+2(B4) , O-
2(B4)
O+3(B4)
O-3(B4)
50
Discussion sur le modèle proposé
La confiance évolue
La valeur de confiance : moyen numérique pour ordonner des réponses
Contre des pairs malicieux : peut identifier les pairs diffusant des virus peut utiliser un vote majoritaire pour ignorer les
menteurs51
Références
• Distributed Reasoning in a Peer-to-Peer Setting: Application to the Semantic Web. Philippe Adjiman, Philippe Chatalic, Francois Goasdoué, Marie-Christine Rousset, Laurent Simon, Journal of Artificial Intelligence Research, Volume 25, pages 269-314.
• SomeRDFS in the Semantic Web. Philippe Adjiman, Francois Goasdoué, Marie-Christine Rousset. Journal of Data Semantics (JoDS), Volume 8.
• Reasoning with Inconsistencies in Propositional Peer-to-Peer Inference Systems. Philippe Chatalic, Gia-Hien Nguyen, Marie-Christine Rousset. Proceedings of ECAI 2006 (European Conference on Artificial Intelligence, pages 352-357.
• A Probabilistic Trust Model for Semantic Peer to Peer Systems Gia-Hien Nguyen, Philippe Chatalic, Marie-Christine Rousset. Proceedings of EDBT'08 Workshop on Data Management in Peer-to-peer systems.
Logique des propositions (rappel)
• Vocabulaire : variables propositionnelles (propositions vraies ou fausses)
• Formules:– Atomiques : p– Composées: , , ,
• Interprétation – une fonction I de l’ensemble des propositions vers {V,F}n
– I() = V ssi I() = V et I() = V– I () = V ssi I() = V ou I() = V– I() = V ssi I() = F
Propriétés
• Nombre fini d’interprétations pour une formule– Raisonnement décidable– Complexité exponentielle dans le cas le pire
• 2n interprétations pour une formule avec n variables propositionnelles
• Toute formule est équivalente à une conjonction de clauses – Complexité pôlynomiale de la transformation– Une clause: une disjonction de littéraux– Un littéral: p , q
• Exemple : (p1 (p2 (p3 p4)))
Algorithmes de raisonnement sur des ensembles de clauses
• Principe de résolution– Différentes stratégies
• En profondeur d’abord– Complète pour tester la satisfiabilité (dérivation de la claude vide)– p3, p1 p3 p2 p3 p2 p1
• Saturation en largeur d’abord– Complète pour calculer tous les impliqués premiers– Une clause c est un impliqué premier de T si :
• T |= c• si T |= c’ et c’ |= c alors c’ c
• Exemple: T= {p1p2p3, p1 p4 , p3 p5} p4 p5 est un impliqué premier (propre) de T { p2} p4p5 est un implicant premier (propre) de T { p2}