• Aucun résultat trouvé

4.2 TS–Div : recherche continue de r´ egions inconnues

4.2.1 Description formelle de TS–Div

TS–Div (voir Algorithme 4.1) est bas´e sur deux processus : (i) le processus explo- ratoire Tabou classique, (ii) le processus r´eactif d’apprentissage, voir Pas 4.(b)-(d) de l’Algorithme 4.1. Les principaux outils de la partie apprentissage sont la sph`ere et la mesure de distance, qui seront d´etaill´ees dans ce qui suit.

Pour le probl`eme de coloration, nous employons la distance de transfert entre partitions (voir Section 4.2.2.1) ; sa m´ethode de calcul est d´ecrite en d´etail au Chapitre 6, mais dans ce chapitre il suffit de dire que d(Ca, Cb) repr´esente une mesure de type “plus courte

4.2 TS–Div : recherche continue de r´egions inconnues

chaˆıne de transitions de voisinage” pour relier Ca `a Cb. Plus formellement, cette distance est le minimum nombre n tel qu’il existe C0, C1, . . . Cn ∈ Ω avec C0 = Ca, Cn = Cb et Ci+1 ∈ N (Ci) (∀i ∈ [0 . . . n − 1]). Des distances de type “plus court chemin via des transitions de voisinage” peuvent ˆetre d´efinies pour d’autres probl`emes (voir Section 4.5).

´

Etant donn´ee une telle distance, la R-sph`ere de C est d´efinie comme la sph`ere ferm´ee de rayon R centr´ee en C :

Definition 4.1. (Sph`ere) ´Etant donn´e une configuration (un centre) C ∈ Ω et un rayon R ∈ IN∗, la R-sph`ereSR(C) est l’ensemble des configurations C0 ∈ Ω telles que d(C, C0) ≤ R.

Selon l’hypoth`ese de clusterisation (Section 3.3), nous utilisons uniquement des R- sph`eres de rayon R = 101 |V | dans le reste du chapitre. Si l’indice R de SR n’est pas pr´esent, alors nous parlons d’une “R-sph`ere” avec R = 101|V |. Deux configurations Ca et Cb telles que d(Ca, Cb) ≤ R = 101 |V | sont proches ou connexes ; sinon, elles sont distinctes ou R-distantes. Si d(Ca, Cb) > |V |2 , nous disons que Caet Cb sont compl`etement diff´erentes. Au d´ebut, TS–Div (Algorithme 4.1) effectue les mˆemes mouvements que l’algorithme de base, mais il enregistre les centres des sph`eres visit´ees. `A une it´eration donn´ee, notons Cp le dernier centre enregistr´e (de la sph`ere courante) et notons C la configuration courante. La premi`ere tˆache de la composante d’apprentissage est de calculer d(C, Cp) pour savoir si C est toujours dans la sph`ere S (Cp) – voir Pas 4.(b) de l’Algorithme 4.1. Tant que C ∈ S (Cp), le processus de recherche est toujours dans la sph`ere de Cp et TS–Div fait essentiellement les mˆemes mouvements que la recherche Tabou de base. Nous disons que le processus de recherche est en train de pivoter autour du pivot Cp.

D`es que la recherche sort de la sph`ere courante (d`es que C /∈S (Cp)), la composante d’apprentissage se focalise sur des d´ecisions de guidage. Elle compare d’abord C `a l’archive des configurations (centres) enregistr´ees, voir proc´edure Already-Visited appel´ee dans le Pas 4.(b).iide l’Algorithme 4.1. Avec cette proc´edure, TS–Div v´erifie si C fait partie d’une sph`ere d´ej`a visit´ee. Si ce n’est pas le cas, alors C repr´esente le centre d’une nouvelle sph`ere ; la composante d’apprentissage enregistre ce nouveau centre, mais le processus d’exploration continue normalement. Autrement, si C fait partie d’une sph`ere d´ej`a visit´ee, la composante d’apprentissage intervient dans le processus de recherche : une phase de diversification est n´ecessaire. `A cette fin, elle augmente la dur´ee Tabou T` avec une valeur Taug, comme nous le d´etaillons dans la prochaine section.

Diversification via l’augmentation de dur´ee Tabou La longueur de la liste Tabou (ou dur´ee Tabou) fournit un m´ecanisme simple de diversification qui est d´ej`a connu dans la litt´erature [Battiti et al., 2008]. Rappelons (Section 2.4) que l’effet principal produit par la liste Tabou est que la recherche peut choisir uniquement des mouvements qui n’ont pas ´

et´e ex´ecut´es durant les derni`eres T`+ Taug it´erations. Avec une liste Tabou plus longue, le processus est forc´e de s´electionner des mouvements moins r´ep´etitifs et plus divers – les derniers T`+ Taug mouvements ne peuvent pas ˆetre r´ep´et´es. D’autre part, une liste Tabou plus courte d´etermine une intensification plus forte ; il est plus facile de revenir `a des configurations pr´ec´edemment explor´ees, en re-ex´ecutant des mouvements faits dans un pass´e proche.

Algorithme 4.1 : La (m´eta) heuristique TS–Div PROCÉDURE ALREADY-VISITED

Entrée : configuration courante C Valeur de retour : VRAI ou FAUX

1. Forall configurations enregistrées Crec : - Si d(C, Crec) ≤ R

Retour VRAI 2. Retour FAUX

ALGORITHME TABUSEARCH-DIV

Entrée : l’espace de recherche Ω

Valeur de retour : Cbest, la meilleure configuration jamais visitée C : la configuration courante

DÉBUT

1. C = configuration aléatoire de Ω

2. Cp = C /*le pivot, i.e. dernier centre de sphère enregistré*/ 3. Taug= 0 /*l’augmentation de liste Tabou déclenchée par TS-Div*/ 4. Tant que condition d’arrêt non atteinte

(a) C = le meilleur voisin non-Tabou en N (C) (b) Si d(C, Cp) > R

i. Cp= C

ii. Si ALREADY-VISITED(Cp) Alors - Incrémenter Taug

Sinon - Taug= 0

- Enregistrer Cp

(c) Marquer C Tabou pour T`+ Taug itérations

/*T`=durée interne utilisée par l’Alg. Tabou de base*/ /*Taug= durée de diversification induite par l’alg. TS-Div*/ (d) Si (f (C) < f (Cp))

- remplacer Cp avec C dans l’archive

- Cp= C /*i.e. “re-centrer” la sphère courante*/

(e) Si (f (C) < f (Cbest)) - Cbest= C

5. Renvoyer Cbest FIN

Pour r´ecapituler, la variation de la dur´ee Tabou (via le facteur Taug) contrˆole la balance entre la diversification et l’intensification : plus grande est la valeur Taug, plus il y a de la diversification. De cette fa¸con, un contrˆole appropri´e de Taug garantit que TS–Div d´ecouvre de nouvelles r´egions `a tout moment. En effet, notre r´eglage de Tauggarantit que le processus ne peut pas se coincer en (r´e)explorant uniquement des sph`eres d´ej`a visit´ees. Si cela arrivait, la liste Tabou pourrait croˆıtre ind´efiniment – Taug ne d´ecroˆıt que lorsque le processus de recherche trouve une nouvelle sph`ere. Une valeur suffisamment ´elev´ee de Tl+ Taug sera capable de diversifier (plus tˆot ou plus tard) et d’arrˆeter tout bouclage entre des sph`eres d´ej`a-visit´ees.

Notons qu’il existe de nombreuses mani`eres de cr´eer de la diversit´e au moment o`u TS– Div d´etecte qu’il re-visite une sph`ere. Par exemple, on aurait pu simplement appliquer un op´erateur de marche al´eatoire, ou une perturbation classique de recherche locale it´er´ee.

4.2 TS–Div : recherche continue de r´egions inconnues