Mémoire de stage

Contribution à la problématique du choix des paysages de

recherche locale stochastique :

Le cas des règles de Golomb.

Pour l'obtention du Diplôme d'Etudes Approfondies En Informatique, Automatique et Productique

Résumé

La recherche locale constitue une arme redoutable pour attaquer des problèmes de grande taille réputés très difficiles tels que le voyageur de commerce et la partition de graphes.

Mon travail consiste à mesurer la qualité et l'influence d'un paysage de recherche sur le comportement d'une méthode de recherche locale stochastique Métropolis. Pour cela j'ai effectué une comparaison entre deux paysages (voisinages) de recherche dédiés à la recherche des règles de Golomb, qui représentent mon cadre expérimental.

Les résultats que nous avons obtenus montrent que le choix du paysage (voisinage), a un rôle crucial dans la performance de l'algorithme.

L'approche proposée peut être étendue à l'étude d'autres problèmes d'optimisation combinatoire (le problème de coloration).

Il est également possible de l'appliquer à d'autres méthodes de recherche locale. Comme la méthode tabou.

Mots-clés

Recherche locale stochastique, paysage de recherche, algorithme de recuit simulé, Métropolis, règle de Golomb, JAVA, Eclipse.

Présentation générale du projet

Introduction

La recherche locale représente un outil puissant pour résoudre les problèmes réputés difficiles (notamment NP-complet) tels que la coloration de graphes, le problème du sac à dos, le problème du voyageur de commerce.

Mais la conception d'un algorithme de recherche locale dédié à un problème nécessite de faire des choix concernant la stratégie de recherche (c'est à dire la manière dont notre problème va être résolu), l'espace de recherche, le voisinage, la fonction objectif, les paramètres de contrôle de la recherche.De manière générale les concepteurs font ces choix de manière empirique ou en ce basant sur des travaux expérimentaux antérieurs.

La recherche locale se base sur deux éléments fondamentaux, la stratégie de recherche ainsi que l'espace de recherche. Notre objectif est de proposer une méthode de choix d'un paysage de recherche basé sur l'étude expérimentale de plusieurs variantes de paysages avec un même algorithme de référence : Métropolis.

Le cadre expérimental que j'ai choisi pour illustrer cette approche est celui de la recherche de règles de Golomb. Ce problème a été choisi parce qu'il est difficile (on ne sait le résoudre qu'en temps exponentiel) et qu'il nous permet de décliner plusieurs variantes de paysages de recherche basés sur des voisinages différents.

D'autre part, il y a peu de publications scientifiques qui abordent la recherche des règles de Golomb par des méthodes de recherche locale stochastique. De ce fait il nous parait intéressant de vérifier la traitabilité de ce problème avec cette approche.

L'algorithme implémenté (Métropolis) est contrôlé par un paramètre appelé température. Pour chaque variante de paysage, nous déterminons la valeur optimale de la température sur la basede statistiques d'exécutions, puis nous étudions l'évolution de cette valeur en fonction de la taille des règles de Golomb recherchées.

La validité de notre approche repose sur l'hypothèse que le paysage de recherche (parmi ceux étudiés) qui donne le meilleur résultat avec Métropolis est également le paysage le plus performant avec des stratégies de recherche plus élaborées.

Le rapport est organisé comme suit : la première partie représente un état de l'art qui contient deux chapitres, nous présentons en chapitre 1 quelques notions sur la recherche locale et quelques variantes comme le recuit simulé. En chapitre 2 nous présentons le problème de la recherche des règles de golomb qui servirent de base à nos expérimentations. Dans la deuxième partie (chapitre 3) nous introduisons deux paysages associés au problème de recherche de règles de Golomb, puis nous présentons une étude empirique de l'efficacité de Métropolis sur ces deux paysages. Nous développons l'idée d'utiliser une telle démarche comme base d'une méthode de choix d'un paysage de recherche lors de la conception d'un système de recherche locale stochastique.

Up 'début'

La recherche locale

La recherche locale , appelée aussi " descente " ou " amélioration itérative ", représente une classe d'heuristiques très anciennes. Traditionnellement, la recherche locale constitue une arme redoutable pour attaquer des problèmes réputés très difficiles tels que le voyageur de commerce et la partition de graphes.

Une méthode de recherche locale est un processus itératif fondé sur deux éléments essentiels : la notion de paysage de recherche et celle de stratégie de recherche.

Le paysage de recherche on peut le représenter sous la forme d'un graphe dont les sommets sont associés aux configurations de l'espace de recherche et dont les arrêtes définissent une relation de voisinage. A chaque configuration est associée une valeur d'objectif qui peut être un entier dont la valeur est minimale pour les solutions.

La stratégie de recherche c'est elle qui détermine la manière dont le paysage de recherche sera exploré.

Up 'début'

Les règles de Golomb

Les règles ordinaires ont leurs marques également espacées par une certaine unité de mesure (par exemple 1 centimètre), ainsi quelqu'un peut mesurer n'importe quelle distance entre 1 et la longueur de la règle en plaçant un segment entre deux marques quelconques de la règle. Par exemple pour mesurer une distance de 5 centimètres, il est possible de placer un segment entre les marques de 0 et 5 ou 1 et 6 centimètres etc.


Règle Ordinaire


Règle Optimale et parfaite Règle de Golomb d'ordre 4 et de longueur 6. Cette règle est optimale et parfaite.


Règle de Golomb

Les règles de Golomb peuvent être considérées comme un genre spécial de règles. Pour qu'une règle soit une règle de Golomb, elle doit avoir seulement un seul choix au plus si on veut mesurer une distance spécifique. Plus précisément chaque distance entre deux nombres (de marques) doit être différente de tous les autres.

Par exemple s'il y a une marque à la position 2 et une autre a la position 5, aucune autre paire des marques doit être séparée par une distance de 3. De cette définition il découle qu'une règle ordinaire avec plus de 2 marques n'est pas une règle de Golomb.

La règle de Golomb de la figure 3 peut mesurer les distances {1, 2, 3, 4, 5, 7, 8, 9, 10, 11} avec un choix approprié, des marques ; et aucune autre distance ne peut être mesurée. Pour chacune de ces distances, seulement une paire de marques peut être employée pour faire une telle mesure, donc la propriété de Golomb est satisfaite.

Exemple de regle de Golomb :

Le 24 février 2009, le projet de calcul partagé distributed.net a annoncé avoir découvert la règle de Golomb optimale pour l'ordre 26.


Up 'début'

Contribution scientifique

Notre objectif est de montrer l'importance du choix du voisinage lors de la mise en œuvre d'une technique de recherche locale, ainsi que d'apporter de premiers éléments de réflexion sur une méthodologie de choix d'un paysage de recherche.

Le cadre expérimental choisi est celui de la recherche des règles de Golomb. Nous allons mettre à l'épreuve une stratégie de choix d'un paysage de recherche parmis plusieurs variantes possibles. Cette stratégie de choix consiste à évaluer chaque paysage à l'aide de l'algorithme de Métropolis.

Ce travail permettra également de déterminer si la recherche locale est une approche prometteuse pour la recherche de règles de Golomb.

Enjeux scientifiques

Ce travail vise à essayer de donner des bases méthodologiques pour la conception d'applications de recherche locale stochastique dédié à la résolution de problèmes combinatoires. En conséquence donner des critères pour faire les bons choix en ce qui concerne le paysage a utiliser.

Dans la section suivante nous allons donner certaines définitions des concepts utilisés, dont le paysage de recherche, ainsi que l'algorithme implémenté.

Cadre expérimental

Pour l'implémentation l'algorithme utilisé est Metropolis (langage de programmation java). Deux variantes de paysages seront comparées.

Up 'début'

Résultats

Résumer des résultats obtenus sous forme de tableaux :


Voisinage 1 pour K = 6 / L = 17

Voisinage 2 pour K = 6 / L = 17

Pour la règle K = 6 / L = 17

T1 OPT (température optimale du voisinage 1) = 50
T2 OPT(température optimale du voisinage 1) = 0.55

Médiane V2 (pour T2 OPT) / Médiane V1(pour T1 OPT) = 145 / 194 = 0.7474
Taux de rèussite V2 (pour T2 OPT) / Taux de rèussite V1(pour T1 OPT) = 100%/100% = 1


Voisinage 1 pour K = 7 / L = 25

Voisinage 2 pour K = 7 / L = 25

Pour la règle K = 7 / L = 25

T1 OPT = 1.5 / T2 OPT = 0.5

Médiane V2 (pour T2 OPT) / Médiane V1 (pour T2 OPT) = 791 / 1853 = 0.4268

Taux de rèussite V2 (pour T2 OPT) / Taux de rèussite V1(pour T1 OPT) = 100% / 97.1%= 1.02.


Voisinage 1 pour K = 8 / L = 34

Voisinage 2 pour K = 8 / L = 34

Pour la règle K = 8 / L = 34

T1 OPT = 0.90 / T2 OPT = 0.50

Médiane V2 (pour T2 OPT) / Médiane V1(pour T1 OPT) = 40099 / 67264 = 0.5961

Taux de rèussite V2 (pour T2 OPT) / Taux de rèussite V1(pour T1 OPT) = 100% / 100 % = 1


Voisinage 1 pour K = 9 / L = 44

Voisinage2 pour K = 9 / L = 44

Pour la règle K = 9 / L = 44

T1 OPT = 0.75 / T2 OPT = 0.50

Médiane V2(pour T2 OPT) / Médiane V1(pour T1OPT) = 303944 / 508355 = 0.5978

Taux de rèussite V2 (pour T2 OPT) / Taux de rèussite V1(pour T1 OPT) = 89.9% / 76.2% = 1.17

Synthèse des résultats :

Mediane V2 / Mediane V1 0.7474 0.4268 0.5961 0.5978
Règles K = 6 / L = 17 K = 7 / L = 25 K=8 / L = 34 K = 9 / L = 44

Les résultats présentés ci-dessus avec des températures de Métropolis différentes, nous permettent de conclure que le deuxième paysage ( voisinage 2) est plus efficace que le premièr paysage (voisinage 1) pour le processus Métropolis.
Up 'début'

Synthèse et perspectives

Nous avons mis en évidence l'impact du choix du voisinage sur l'efficacité d'une résolution d'un problème combinatoire la recherche des règles de Golombs, en fixant le processus étudié (Métropolis) et en variant les paysages. Nous avons proposé une méthode de comparaison et de choix de paysages de recherche basée sur l'évaluation des paysages candidat à l'aide de Métropolis, pour comparer l'efficacité des relations de voisinages.


L'approche proposée peut également être utilisée pour :

  1. Evaluer l'impact de différentes formulations d'un problème sur la difficulté de la résolution pour un algorithme donné.
  2. Expliquer le comportement de l'heuristique de recherche (par exemple, l'effet du choix du paysage).
  3. régler les paramètres de l'algorithme.

Mais ceci ne constitue qu'un premier défrichage car beaucoup de questions restent ouvertes :


Quelles sont les limites de la robustesse de la méthode vis avis d'un plus large panel de stratègies de recherche (si un paysage est meilleur qu'un autre pour une stratégie de recherche , le demeure t-il pour toutes les stratégies de recherche ?) et de problèmes (la méthode est elle généralisable à n'importe quel problème).


Peut on améliorer le choix de voisinage en utilisant d'autres critères tels que par exemple des mesures de correlation voisinage-coût.


Up 'début'