Distributed reasoning in a peer-to

Transcription

Distributed reasoning in a peer-to
Présentation d'article
Distributed reasoning in a
peer-to-peer setting
P. Adjiman - P. Chatalic - F. Goasdoué - M.-C. Rousset - L. Simon
LRI – CNRS & Université Paris Sud
Romain Beauxis
Rémi Dorat
Jean Sreng
Plan
●
Modèle, définitions
●
Définition du problème
●
L'algorithme récursif général
●
Algorithme par messages échangés
●
Conclusion expérimentales
Introduction
●
●
●
●
Raisonnement sur en logique
propositionnelle sur un environnement de
type P2P
Pas de théorie centralisée
À chaque peer correspond une théorie
locale qu'il est le seul à connaitre
La théorie complète est l'union des
théories locales
Intérêt de l'article
●
●
●
Intérêt de l'approche P2P dans le contexte
du développement de ce type de
technologie
Premier algorithme « non centralisé » de
calcul d'impliqués
Résultats sur l'algorithme
Plan
●
Modèle, définitions
●
Définition du problème
●
L'algorithme récursif général
●
Algorithme par messages échangés
●
Conclusion expérimentales
Modèle et définitions
P2
P2
P3
P1
P1
P3
➔ Peer = Ensemble de formules propositionnelles d'un langage Lp
➔
➔
➔
Graphe de voisinage:
Peers = Sommets,
Liaisons = formules connues comme partagées.
Variables cibles = partie des variables considérées dans le
problème.
Langage cible = Ensemble des clauses constructible avec les
variables cibles.
Plan
●
Modèle, définitions
●
Définition du problème
●
L'algorithme récursif général
●
Algorithme par messages échangés
●
Conclusion expérimentales
Définition du problème
●
Soit un ensemble P de Peers et une clause q
du langage Lp
définition: Un impliqué propre m par rapport à une variable q et
une théorie T est une clause impliquée directement et uniquement
par q et T, c'est à dire telle que: T ⊭ m, et T ∪ {q} ⊨ m, avec:
si T ∪ {q} ⊨ m' et m' ⊨ m alors m = m'
Le problème consiste à trouver toutes les
impliqués propres par rapport à q
que l'on peut construire à l'aide du
langage cible relatif à P
Plan
●
Modèle, définitions
●
Définition du problème
●
L'algorithme récursif général
●
Algorithme par messages échangés
●
Conclusion expérimentales
L'algorithme Récursif
●
Lemme 1: soit q = p1⋁p2⋁...⋁pn une clause composée des
littéraux p1..pn, et m un impliqué propre de q alors:
➔
m = m1⋁..⋁mn, où les m1..mn sont des impliqués propres des
p1..pn
Lemme 2: soit m impliqué propre de q par rapport à P et P' ⊆ P
(saturé par résolution) tel que P' contienne des clauses dont les
variables sont partagées dans P. On a soit:
●
m impliqué propre par rapport P'
●
Les variables de q sont partagée avec des clauses de P\P'
●
m impliqué propre de c par rapport à P\{⌉q ⊨ c} ∪ q où ({⌉q ⊨ c}
∈ P' et c a des variables partagées avec des clauses de P\P')
●
L'algorithme Récursif (suite)
Soit une clause q que l'on souhaite étudier, et P' un ensemble
de peer qui exécutent l'algorithme.
➔
P' connais une partie P du réseau total, possède un ensemble
de clauses, et possède un historique des raisonnements effectués
➔
On cherche à déterminer les impliqués propres à q sur P
➔
Étape n
Étape n+1
L'algorithme Récursif (suite)
Si ⌉q appartient à l'historique, alors l'algorithme renvoie
la clause □
•
Si q appartient déjà à un peer de P' ou si tous les peers
de P' demandent la résolution sur q, alors il n'existe pas
l'impliqués propre de q.
•
Sinon, on calcule toutes les implications locales à P' de
q et on teste l'apparition d'une clause □
➔
Si toutes les clauses impliquées sont non partagées
dans P alors on renvoie le résultat localement calculé.
✔
Sinon on poursuit le raisonnement:
•
L'algorithme Récursif (fin)
Sinon on poursuit le raisonnement:
✔
On ajoute les peers voisins au réseau P' et on retire les
clauses ⌉q⋁c, c clause impliquée partagée.
✔
On sépare les variables partagées des clauses
impliquées (pas de partie 2 du lemme 2)
✔
On appelle alors récursivement la même procédure pour
chaque littéral de chaque variable partagée (partie 3 du
lemme 2)
✔
On recompose toutes les clauses possibles avec la
réponse aux appels récursifs (lemme 1)
✔
On renvoie les résultats locaux plus les résultats récursifs.
•
Exemple
Propriétés de l'algorithme
●
●
Sous certaines conditions suffisantes portant
sur la topologie du réseau, il est juste,
complet et termine
Il est anytime
Plan
●
Modèle, définitions
●
Définition du problème
●
L'algorithme récursif général
●
Algorithme par messages échangés
●
Conclusion expérimentales
Algorithme par messages
échangés
●
●
●
Algorithme équivalent à l'algorithme récursif
mais basé sur l'échange de messages donc
implémentable localement sur des peers
Trois types de messages échangés :
–
Demande (query)
–
Réponse (answer)
–
Terminaison (final)
On initie le processus par une demande sur
un peer
Expérimentation
●
Expérimentation effectuée sur 28 machines
(Athlon 1800+, 1Go de RAM)
●
Système 3CNF aléatoire
●
Paramètres :
–
Nombre de noeuds et d'arcs
–
Nombre de clauses
–
Nombre de variable
Plan
●
Modèle, définitions
●
Définition du problème
●
L'algorithme récursif général
●
Algorithme par messages échangés
●
Conclusion expérimentales
Résultats
●
●
●
●
Les clauses les plus courtes sont produites
en premier
Plus le langage cible est étendu, plus les
premières réponses sont produites
rapidement
Quand la complexité des théories locales
augmente, la vitesse de production diminue
Sur des théories assez complexes, les
premiers résultats arrivent plus vite que sur
d'autres algorithmes
Conclusions
●
●
●
Premier article a avoir distribué le problème
de manière non centralisée et avoir prouvé
sa convergence
Première implémentation pratique (lié à un
projet France Télécom)
Cet algorithme est généralisable à plusieurs
langages cibles et perfectible dans son
implémentation message