Vous êtes sur la page 1sur 5

Résolution de problèmes Printemps 2017

Cours No 1 : Autour de la Recherche Locale


Evripidis Bampis

La recherche locale est une méthode utilisée largement pour la résolution de plusieurs problèmes
d’optimisation combinatoire. Nous allons d’abord nous focaliser sur l’étude de la qualité d’un
optimum local par rapport à l’optimum global pour le problème de la coupe maximum dans un
graphe. Ensuite, nous allons montrer que résoudre le problème de l’existence d’une configuration
stable dans un réseau de neurones de Hopfield revient à la recherche d’un optimum local dans un
problème d’optimisation adéquat. Enfin, nous allons examiner un problème dans lequel un ensemble
d’agents indépendants interagissent, chacun essayant d’optimiser sa propre fonction objectif. Le
processus d’interaction engendre une dynamique qui nous rapproche encore une fois à une méthode
de recherche locale. L’équilibre recherché dans un tel contexte correspond encore une fois à un
optimum local.

La recherche locale

La recherche locale est une technique algorithmique très générale : elle décrit une technique al-
gorithmique qui explore l’espace des solutions de manière séquentielle passant à une étape de la
solution courante à une solution “proche”. La généralité et la flexibilité de cette notion permet la
conception d’algorithmes pour un grand nombre de problèmes de l’optimisation combinatoire. Son
inconvénient est que dans la plupart de cas, il est très difficile de prédire la qualité de solutions
retournées.
Plus formellement, soit I une instance d’un problème d’optimisation combinatoire et soit S0
l’ensemble des solutions réalisables. On définit, une relation de voisinage N ⊆ S0 ×S0 sur l’ensemble
des solutions. Cette notion formalise la notion intuitive de petit changement. Ainsi pour une so-
lution s ∈ S0 , l’ensemble {s0 | (s, s0 ) ∈ N } est appelé le voisinage de la solution s. L’idée d’un
algorithme de recherche locale est de partir d’une solution initiale et tant que l’on peut trouver une
solution de meilleur coût dans le voisinage de la solution courante s, on remplace s par la solution
trouvée. On continue de cette manière jusqu’à ce que il n’y ait plus dans le voisinage de la solution
courante s une solution meilleure. Dans ce cas, on dit que s est un optimum local. Le schéma
générique de l’algorithme de recherche locale pour un problème de minimisation peut donc être
écrit comme suit :

Algorithme de Recherche Locale


1: s := solution initiale;
2: while il existe une solution s0 telle que N (s, s0 ) et coût(s0 ) < coût(s) do
3: s ← s0 ;
4: retourner s

Un voisinage est appelé exact si chaque optimum local pour ce voisinage est un optimum global.

1
Exemple : Le problème de la Coupe Maximum

Entrée : Un graphe G = (V, E) avec des poids non négatifs sur les arêtes.
Objectif : P
Déterminer une partition (A, B) de V ayant le poids maximum, c’est-à-dire maximisant
w(A, B) = e=[u,v],u∈A,v∈B we .
Définissons le voisinage Flip : les partitions (A, B) et (A0 , B 0 ) sont des solutions voisines si (A0 , B 0 )
peut être obtenue à partir de (A, B) en transférant un sommet unique d’un côté de la partition à
l’autre.

Qualité d’un optimum local

On va évaluer maintenant la qualité d’un optimum local par rapport à l’optimum global.
P
Notation : Soit W = e∈E we . W est une borne supérieure de la valeur optimale. Par la suite,
wuv = we si e = [u, v] ∈ E, et wuv = 0, sinon.

Proposition 1. Soit (A, B) un optimum local pour le voisinage Flip et soit (A∗ , B ∗ ) un optimum
global. On a :
1
w(A, B) ≥ w(A∗ , B ∗ ).
2
P P
Proof. Comme (A, B) est un optimum local, pour tout sommet u ∈ A, v∈A wuv ≤ v∈B wuv . Si
on additionne cette inégalité pour tous les sommets de A, nous avons :
X X
2 wuv ≤ wu,v = w(A, B).
{u,v}∈A u∈A,v∈B

En appliquant le même raisonnement pour les sommets appartenant à B, on a :


X X
2 wuv ≤ wu,v = w(A, B).
{u,v}∈B u∈B,v∈A

En additionnant ces inégalités et en divisant par 2, on obtient :


X X
wuv + wuv ≤ w(A, B).
{u,v}∈A {u,v}∈B

Le membre gauche de cette dernière inégalité donne la somme des poids de toutes les arcs du graphe
qui n’appartiennent pas à la coupe. En additionnant de deux côtés w(A, B), le poids du membre
gauche devient égale à W . On a donc W ≤ 2w(A, B). Comme W ≥ w(A∗ , B ∗ ), nous obtenons
w(A, B) ≥ 12 w(A∗ , B ∗ ).

Il est clair que l’algorithme de recherche locale basé sur le voisinage Flip va converger. La valeur
de la fonction objectif qui est ici utilisée comme mesure de progreession, est positive et bornée par
le haut par W. Comme elle augmente d’au moins 1 à chaque étape, l’algorithme de recherche locale
convergera au bout d’un nombre fini d’étapes (au plus W ). La complexité de la méthode est donc
pseudopolynomiale.

2
Réseaux neuronaux de Hopfield

On se donne un graphe G = (V, E), avec un poids entier we sur chaque arête e ; chaque poids
pouvant être positif ou négatif. Une configuration S est une affectation de +1 ou de -1 sur chaque
sommet u ∈ V ; cette valeur représente l’état du sommet u que l’on note su . Pour une configuration
donnée, on dit que l’arête e = [u, v] est bonne si une des deux conditions suivantes est satisfaite : si
we < 0 et su = sv ou si we > 0 et su 6= sv . Sinon, l’arête est mauvaise. Pour une configuration S,
on dénote par B(S) l’ensemble des bonnes arêtes et par M (S) l’ensemble des mauvaises arêtes. On
dira qu’un sommet u est satisfait dans une configuration donnée si la somme des valeurs absolues de
poids des bonnes arêtes incidentes à u est au moins aussi grande que la somme des Xvaleurs absolues
de poids des mauvaises arêtes. Autrement dit, le sommet u est satisfait si we su sv ≤ 0.
v :e=[u,v]∈E
Maintenant, une configuration est stable si tous les sommets du graphe sont satisfaits.
L’objectif est de déterminer une configuration stable, si une telle configuration existe.
On considère l’algorithme Flip qui à chaque étape change l’état d’un sommet non-satisfait.

Algorithme Flip
1: S ← configuration arbitraire
2: while la configuration S n’est pas stable do
3: choisir un sommet u non-satisfait;
4: su ← −su
5: retourner S

X
Proposition 2. L’algorithme Flip se termine à une configuration stable après au plus W = |we |
e
itérations.
X
Proof. Considérons comme mesure de progression la fonction potentiel Φ(S) = |we |. Claire-
e∈B(S)
ment 0 ≤ Φ(S) ≤ W . Nous allons montrer que Φ(S) augmente d’au moins 1 après chaque change-
ment d’état. Quand un sommet u change d’état : toutes les bonnes arêtes incidentes à u deviennent
mauvaises, toutes les mauvaises arêtes incidentes à u deviennent bonnes, et toutes les autres arêtes
restent inchangées.
Soit S la configuration avant et S 0 la configuration après le changement d’état du sommet u. La
valeur de la fonction potentiel en S 0 est :
X X
Φ(S 0 ) = Φ(S) − |we | + |we | ≥ Φ(S) + 1.
e∈M (S 0 ) : e=[u,v]∈E e∈B(S 0 ) : e=[u,v]∈E

Comme à chaque étape la fonction potentiel augmente d’au moins une unité et la somme des
valeurs absolues des toutes les arêtes est positive et constitue une borne supérieure de sa valeur,
l‘algorithme Flip convergera au bout d’au plus W étapes.

Relation avec la recherche locale On peut considérer que l’ensemble des configurations est
l’espace de solutions d’un problème d’optimisation dans lequel la fonction objectif est la fonction

3
potentiel. Deux solutions (configurations) S et S 0 sont voisines si on peut obtenir S 0 à partir de S
en changeant l’état d’un seul sommet. Par conséquent, tout optimum local de l’algorithme Flip
est une configuration stable.

Routage avec partage équitable

On se donne un graphe orienté G = (V, E) avec des coûts sur les arêtes ce ≥ 0, un sommet source
s, et k agents se trouvant sur des sommets terminaux t1 , t2 , . . . , tk . L’agent j doit construire un
chemin Pj du sommet s à son sommet terminal tj . On considère un partage équitable du coût
de chaque arc : si x agents utilisent l’arête e, chacun paie cxe . Ainsi chaque agent a une fonction
objectif individuelle et son objectif et de choisir un chemin minimisant son coût. On va étudier la
dynamique de meilleure réponse dans ce contexte : Chaque agent change son chemin en réponse
aux changements effectués par les autres agents, si ce changement lui permet d’améliorer son propre
coût. Une solution à laquelle aucun agent n’a intérêt de changer son chemin constitue un équilibre
de Nash (pure). La question fondamentale est alors de savoir quand un équilibre de Nash existe et
quelle est sa qualité par rapport à l’optimum social qui est définit comme une solution qui minimise
la somme de coûts de tous les agents.
On montre que la dynamique de meilleure réponse converge toujours dans un équilibre de Nash.

Dynamique de Meilleure Réponse


1: Choisir un chemin pour chaque agent P = (P1 , . . . , Pk )
2: while (Si P n’est pas d’équilibre de Nash) do
3: choisir un agent j qui peut améliorer son coût en changeant de chemin;
4: changer le chemin de l’agent j
5: retourner P

Proposition 3. La dynamique de meilleure réponse se termine dans un équilibre de Nash.

Proof. Considérons un ensemble X de chemins P1 , . . . , Pk . Soit xe le nombre de chemins utilisant


l’arc e. Soit Φ(P1 , . . . , Pk ) = ce · H(xe ) une fonction potentiel. Le nombre harmonique H(0)
e∈E
est défini égal à 0 pour que la contribution des arcs non utilisés soit égale à 0. Puisqu’il existe un
nombre fini d’ensembles de chemins, il suffit de montrer que Φ diminue strictement à chaque étape.
Considérons l’agent j qui change de chemin de Pj à Pj0 . Avant le changement de chemin, l’agent j
X ce
payait puisqu’il partageait le coût de chaque arc e avec xe − 1 agents. Après le changement,
xe
e∈Pj
il continue à payer ce coût pour les arcs appartenant à Pj ∩ Pj0 . L’agent j avec ce changement
cf
économise e∈Pj −P 0 xcee , mais il paye en plus xf +1 sur chaque arc f ∈ Pj0 − Pj . L’agent j change
P
j
puisque le nouveau coût induit par ce changement est inférieur du coût induit par l’agent j avant
le changement, ce qui montre que :

X cf X ce
< (1)
xf + 1 xe
f ∈Pj0 −Pj e∈Pj −Pj0

4
Examinons l’influence du changement de chemin de l’agent j sur la fonction potentiel Φ. Les seuls
arcs sur lesquels la fonction potentiel change sont les arcs appartenant à Pj0 − Pj et à Pj − Pj0 . La
fonction potentiel Φ :
X X cf
• augmente de cf [H(xf + 1) − H(xf )] =
xf + 1
f ∈Pj0 −Pj f ∈Pj0 −Pj

X X ce
• diminue de [H(xe ) − H(xe − 1)] = .
xe
e∈Pj −Pj0 e∈Pj −Pj0

En utilisant (1), le changement net de Φ est négatif.

Relation du problème de routage avec partage équitable et les réseaux neuronaux de


Hopfield. L’algorithme Flip peut être vu comme une dynamique de meilleure réponse dans un
problème où chaque sommet a comme fonction objectif la somme totale de poids de bonnes arêtes
qui lui sont incidentes. Dans le cas des réseaux neuronaux de Hopfield il était suffisant d’utiliser
comme mesure de progression la somme des fonctions objectif de tous les sommets. Pour le problème
du routage avec partage de coût, une mesure de progression plus complexe a été nécessaire.

References

[1] Jon Kleinberg, Éva Tardos, Algorithm Design, Addison Wesley, 2006.

Vous aimerez peut-être aussi