• Aucun résultat trouvé

6.3 Résultats expérimentaux

6.3.4 Tests sur des CSP aléatoires classiques

An de comparer PC_BT aux algorithmes classiques comme ABT ou AFC, nous étudions le comportement de diérentes variantes proposées de PC_BT. Pour eectuer ces tests, nous utilisons le générateur aléatoire2 des instances CSP. Un CSP aléatoire (n, m, p1, p2)est déni par quatre paramètres : n est le nombre de variables, m est la taille des domaines, p1 est la densité du graphe de contraintes, et p2 est la densité de tuples autorisés pour chaque contrainte. Nous avons généré 10 instances pour chaque entrée, et nous xons n = 15, m = 10, p1 = 0.7 et nous faisons varier p2 de 0.1 à 0.9. Nous comparons les méthodes PC_BT et PC_FC présentées dans ce chapitre et l'algorithme ABT. La gure 6.2 illustre le nombre de messages circulant dans le réseau. Les courbes ABT, PC_BT et PC_FC représentent respectivement le nombre de messages échangés lors de l'exécution des algorithmes ABT Asynchronous Backtracking Algorithm, PC_BT et PC_FC. L'axe des abscisses représente la densité de tuples autorisés pour chaque contrainte.

1. http://www.lita.univ-metz.fr/~saad/RGenerator 2. http://www.lirmm.fr/~bessiere/generator.html

Chapitre VI Approche parallèle et coopérative

Figure 6.2  Comparaison de PC_BT et PC_FC avec l'algorithme ABT D'après les résultats expérimentaux, nous constatons que PC_BT et PC_FC induisent un nombre de messages inférieur à ABT. Par ailleurs, on constate également une légère réduction du nombre de messages de PC_FC par rapport à PC_BT grâce au mécanisme de ltrage. Le faible écart entre ces deux méthodes, s'explique par le surcoût important en communication du mécanisme de ltrage.

Un autre point qui découle naturellement de notre méthode est la résistance aux pannes. Dans un réseau de communication la perte des messages est pos-sible, et la solution utilisée est la réplication de messages. Notre méthode ne réclame pas cette mise en ÷uvre grâce à l'utilisation de plusieurs processus de recherche. En eet, lorsqu'un processus de recherche tombe en panne, les autres peuvent continuer à explorer le reste de l'espace de recherche puisqu'ils sont in-dépendants. Notons bien qu'il s'agit ici de la panne d'un processus de recherche. Par contre, si c'est un agent qui est défaillant, notre algorithme ne pourra pas s'exécuter correctement. D'autres solutions seraient alors à dénir pour pallier ce problème.

Chapitre VI Approche parallèle et coopérative

6.4 Conclusion

Notre objectif dans ce chapitre était de proposer une nouvelle méthode de résolution de DisCSP. Cette nouvelle méthode, nommée PC_BT (Distributed Parallel and Cooperative Backtracking algorithm), est une méthode énumérative qui exploite la distribution des données sur diérents agents et qui génère une heuristique d'ordre d'instanciation des variables et des valeurs dans le but d'ob-tenir une coopération entre les diérents processus de recherche. Ensuite, nous proposons une généralisation de cette méthode sur les diérents algorithmes de résolution des CSP. En eet, il est possible de remplacer le principe du backtrack par celui du Forward-Checking ou de MAC, pour obtenir des variantes que l'on peut nommer PC_FC, PC_MAC, etc. De plus, notre algorithme peut également être étendu aux algorithmes DisCSP, c'est-à-dire que l'on peut concevoir des al-gorithmes de type PC_ABT (Parallel and Cooperative Asynchronous Backtra-cking) et PC_AFC (Parallel and Cooperative Asychronous Forward CkeBacktra-cking) basés sur l'hybridation de PC avec les algorithmes ABT et AFC présentés au paragraphe 6.2. Les résultats expérimentaux ont montré une réduction consé-quente du nombre de messages échangés par rapport à ABT.

Parmi d'autres extensions possibles de cette méthode, on peut également envisager la généralisation aux CSP n-aires et aux problèmes DisCSP sécurisés. D'ailleurs, puisque la sécurité des données constitue une de nos préoccupations majeures dans le contexte de l'application de ces travaux au sein du CRP Gabriel Lippmann, le chapitre suivant est consacré à la généralisation de la méthode PC_BT aux DisCSP sécurisés.

Chapitre 7

CSP sécurisés distribués

The personal life of every individual is based on secrecy, and perhaps it is partly for that reason that civilized man is so nervously anxious that personal privacy should be respected Anton Chekhov L'une des motivations d'apparition des modèles de CSP distribués (DisCSP) est la possibilité de rendre condentielles les données détenues par chacun des agents [167]. Or, cette propriété de condentialité est quasiment absente dans les algorithmes standards dédiés aux DisCSP [13, 67, 166]. Ce qui pousse les cher-cheurs à concevoir de nouveaux algorithmes qui s'appuient sur les techniques cryptographiques. Par conséquent, un nouveau modèle est décliné que l'on ap-pelle Secure DisCSP. Les premiers travaux dans cette voie ont été abordés par Meseguer et Jimenez [89]. L'objectif de ce modèle est que le calcul reste con-dentiel sans divulgation d'information aux participants. Autrement dit, aucun des participants à la résolution du problème ne connaît les données des autres participants (à l'exception de ses entrées/sorties). Dans Secure DisCSPs, le pro-blème est distribué naturellement entre un ensemble d'agents autonomes où chaque agent souhaite garder ses contraintes et ses valeurs aussi privées que possible. Ainsi, les agents devront collaborer et communiquer pour trouver la solution globale. Dans la littérature, nous distinguons deux aspects pour pro-téger la condentialité de données des individus (voir [15]) : (1) propro-téger les valeurs aectées aux variables de l'agent, qui ne doit pas divulguer les valeurs assignées à ses variables, (2) protéger les contraintes d'un agent.

Dans ce chapitre, nous présentons les travaux principaux relatifs aux DisCSPs sécurisés. En particulier nous détaillons les outils de sécurisation, le formalisme utilisé, les modèles et les algorithmes.

Chapitre VII CSP sécurisés distribués

7.1 Dénitions et présentation des outils

Le formalisme SDisCSP (Secure DisCSP) introduit la notion de préservation des données de chaque agent. Yao dans l'article [164] a abordé ce concept, en introduisant le problème des deux millionnaires Alice et Bob, qui veulent savoir lequel d'entre eux est le plus riche, sans révéler le montant précis de leur for-tune. Pour résoudre ce problème, une stratégie communément utilisée est d'as-sumer la abilité des prestataires de services, ou d'asd'as-sumer l'existence d'un tiers de conance. Toutefois, cette solution n'est pas toujours acceptable. Par consé-quent, d'autres solutions ont été proposées qui orent des mécanismes de protec-tion de la condentialité des informaprotec-tions détenues par les participants. Depuis l'introduction de ce problème, connu sous l'appellation de problème du calcul sécuritaire multi-partie (Secure Multi-party Computation Problem), diérentes solutions ont été proposées. Nous pouvons les classier en deux catégories : (1) les approches cryptographiques et (2) les approches non-cryptographiques. Tout d'abord, nous donnons quelques dénitions, puis nous décrivons ces deux approches.