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 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. P3
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 = p 1 p 2... p n une clause composée des littéraux p 1..p n, et m un impliqué propre de q alors: m = m 1.. m n, où les m 1..m n sont des impliqués propres des p 1..p n 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