Vous êtes sur la page 1sur 19

28/11/2022

RECHERCHE
HEURISTIQUE
GLOBALE ET LOCALE

INTRODUCTION
• Dans de nombreux problèmes d'optimisation, le chemin qui mène vers
une solution n'est pas important (pertinente),
• Tout ce qui importe est l’état solution lui-même.
• Exemple : Dans le problème de 8 reines nous cherchons de trouver une solution
(l'état destination) et non pas le chemin qui mène vers une solution.
• Espace d’états = ensemble complet de configurations
• Trouver une configuration qui satisfait les contraintes

• Dans ce cas, on utilise des algorithmes de recherche locale


• Principe: Garder un seul état, et tenter de l’améliorer au fur et a
mesure
• • on maintient juste le noeud courant, pas le chemin qui mène vers ce
noeud
• • on se déplace vers un voisin du noeud courant

1
28/11/2022

INTRODUCTION

• Le principe des méthodes de recherche locale est inspirée des méthodes d'optimisation
continue
• Résoudre un problème d’optimisation (minimisation) sans contraintes.
• On cherche à minimiser (ou maximiser) une fonction objectif sous des contraintes:
• x ∈ ℝ^𝒏 : ensemble des variables
• f : ℝ^𝒏 → ℝ : fonction coût (objectif)
• D ⊂〖 ℝ〗^𝒏 : Ensemble des contraintes g(x)
• On cherche à minimiser(ou maximiser) f sur D,
• c.à.d. on cherche x* D
• tel que: f(x*) = min (max)f(x)
• Avec f(x) ≤ f(x*), ∀ x ∈ D

INTRODUCTION

2
28/11/2022

HEURISTIQUE / MÉTA-HEURISTIQUE

• Terminologie:
• Heuristique, du grec εὑρίσκειν / heuriskein, qui signifie « trouver ».
• méta, du grec μετά veut dire « au-delà » ou « à un plus haut niveau ».

• En effet, une heuristique est spécifique à un problème donné.

• Une méta-heuristique est une méthodes générique pouvant optimiser une large gamme de problèmes
différents, sans nécessiter de changements profonds dans l’algorithme employé.

• Les méta-heuristiques sont une forme d’algorithmes d’optimisation stochastique, hybridés avec une
recherche locale.
• Le terme méta est donc pris au sens où les algorithmes peuvent regrouper plusieurs heuristiques

• Des heuristiques plus poussées ont été mises au point et ont données naissance à une nouvelle famille
d’algorithmes : les méta-heuristiques.

• Le but d’une méta-heuristique, est de réussir à trouver un optimum global.

RECHERCHE LOCALE

• On définit l'espace de recherche comme l'espace dans lequel la recherche locale


s'effectue.
• Cet espace peut correspondre à l'espace des solutions possibles du problème étudié.

• Habituellement, chaque solution candidate a plus d'une solution voisine, le choix de


celle vers laquelle se déplacer est pris en utilisant seulement l'information sur les
solutions voisines de la solution courante,
d'où le terme de recherche locale.

3
28/11/2022

RECHERCHE LOCALE

• La recherche locale consiste à passer d’une solution à une autre solution proche dans l’espace
des solutions candidates (espace de recherche ou espace admissible) jusqu’à ce qu’une
solution considérée comme optimale soit trouvée, ou que le test d’arrêt considéré est atteint.

• Elles sont des méthodes d’amélioration itératives qui se déplacent pas à pas dans le «
voisinage » de la solution courante en cherchant des « pistes prometteuses » vers la solution
optimale.
• Elle consiste à partir d’une solution s à choisir une solution s’ dans un voisinage de s, noté N(s),

• La nouvelle solution choisie est meilleure que la précédente sous la fonction objective.
• Cela nous permet d’explorer l’espace d’une manière itérative jusqu’à convergence à un optimum
local.

RECHERCHE LOCALE

• Le passage d'une solution ver une autre se fait grâce à la définition de structure de
voisinage qui est un élément très important dans la définition de ce type de
méthode.
• Le voisinage d'une solution est défini en fonction du problème à résoudre.

• La recherche est localisée vis-à-vis de la solution courante et ses voisins


• La recherche s’effectue dans le voisinage de la solution courante

4
28/11/2022

VOISINAGE D'UNE SOLUTION

• Dans chaque itération, on définit l’espace des solutions voisines N(x) dans lequel s’effectuera la
recherche, l’ensemble des voisins changent d’une itération à une autre,
• Le voisinage d'une solution est généralement définit à l'aide d'une transformation élémentaire (ou
locale).
• La transformation est toute opération permettant de changer une solution X de S en une autre solution X0 de
S.
• Une transformation sera considérée comme élémentaire (ou locale) si elle ne modifie que "faiblement la
structure de la solution à laquelle on l'applique.
• Autrement dit, les transformations locales constituent un sous-ensemble de l'ensemble des transformations.
Elles sont locales en ce sens qu'elles ne perturbent pas globalement la structure de la solution qu'elles
changent, mais ne la modifient que localement.
• Par exemple, si X est un entier codé sous la forme d'une chaîne de 0-1, une transformation locale peut consister
à changer un élement en 0-1 de la chaîne en son complémentaire.

RECHERCHE LOCALE

5
28/11/2022

PRINCIPE DES MÉTHODES DE RECHERCHE


LOCALE
• Le principe des méthodes de recherche
locale est inspirée des méthodes
d'optimisation continue.
• L'algorithme débute avec une solution
initiale réalisable.
• Sur cette solution initiale, on applique
une série de modifications locales
(définissant un voisinage de la solution
courante), tant que celles-ci améliorent
la qualité de la fonction objectif.

DESCRIPTION DES MÉTHODES DE


RECHERCHE LOCALE
• à partir d'une solution de départ X0, à engendrer une suite de solutions
(Xn) déterminées de proche en proche,
• c'est-à-dire itérativement (Xi+1 étant déterminée à partir de Xi).

• Le choix de la solution Xi+1 se fait


• dans un ensemble localement proche de la solution Xi
• et de manière à avoir une solution Xi+1 plus intéressante au sens de la recherche
locale.

6
28/11/2022

EXEMPLE

• Placer n reines dans un échiquier n × n , sans que deux reines se trouvent sur la même
ligne, colonne ou diagonale
• Déplacer une reine pour réduire le nombre de conflits

MÉTHODE DE RECHERCHE LOCALE

• La construction essentielle de ces méthodes reposent en et sur la détermination d'un


bon voisinage.
• Suivant la façon de choisir une solution dan le voisinage, on obtient différentes
méthodes de recherche locale :
• descente pure,
• descente stochastique,
• recuit simulé,
• méthode tabou, …

7
28/11/2022

MÉTHODES DE DESCENTE
HILL CLIMBING
• La méthode de la descente est appelé dans la littérature aussi la méthode de recherche locale
ou Hill Climbing (Hill Climbing (escalade) en cas de maximisation )

• Les méthodes de descente sont assez anciennes et doivent leur succès à leur rapidité et leur
simplicité.
• A chaque pas de la recherche, cette méthode progresse vers une solution voisine de meilleure
qualité.

• La descente s’arrête quand tous les voisins candidats sont moins bons que la solution courante
• c’est-à-dire lorsqu’un optimum local est atteint.

• On distingue différents types de descente:


• La descente déterministe,
• La descente stochastique
• et La descente vers le premier meilleur.

MÉTHODE HILL-CLIMBING

• Entrée :
• – État initial.
• – Fonction à optimiser: noté VALUE dans l’algorithme; parfois noté h aussi.

• Méthode
• – Le noeud courant est initialisé à l’état initial.
• – Itérativement, le noeud courant est comparé à ses successeurs immédiats.
• • Le meilleur voisin immédiat et ayant la plus grande valeur (selon VALUE) que le noeud courant,
devient le noeud courant.
• • Si un tel voisin n’existe pas, on arrête et on retourne le noeud courant comme solution.

8
28/11/2022

ALGORITHME D'ASCENSION DU GRADIENT


ALGORITHME HILL-CLIMBING

Comme grimper l’Everest dans un brouillard épais avec amnésie

ALGORITHME
MÉTHODE DE DESCENTE GÉNÉRIQUE
• Données: f, E,
• Initialisation choix d‘une solution initiale( aléatoire ou avec un heuristique )
• Solution initiale (courante ) x0,
• Solution optimale courante x*=x0, k=1

• Tant que le test d’arrêt non satisfait:


• 1. Génération des voisins candidats : voisinage
• 2. Choix du meilleur voisin candidats xk
• 3. Si f(xk) sup f(x*) alors x*=xk , , k=k+1, Aller en (1)

• Fin si Fin Tant que

9
28/11/2022

ALGORITHME HILL-CLIMBING
EXEMPLE DE 8-REINES
• On choisit comme fonction d‘utilité h (VALUE) le nombre de pairs de reines qui
s'attaquent mutuellement directement ou indirectement et on minimise (Descente du
gradient).
• Pour chaque mouvement possible les nouvelles valeur de la fonction sont indiquées.
A droite la fonction est 1

Une configuration Coût = 1 (minimum


avec coût = 17 local). et tout
successeur a un
coût supérieur

ALGORITHMES DE RECHERCHE LOCALE


MÉTHODE HILL-CLIMBING
• On cherche un maximum global

Problème des optimaux locaux :


Selon le point de départ, peut être
coincé à un maximum local

L’algorithme hill-climbing risque d’être


piégé dans des optimums
locaux: s’il atteint un noeud dont ses
voisins immédiats sont moins
bons, il arrête!

Problème des plateaux


pas de voisins avec le coût inférieur mais il existe des voisins avec le coût égal
Les mouvement latéraux

10
28/11/2022

INCONVÉNIENT
MÉTHODE HILL-CLIMBING
• Le principal défaut de la méthode de descente est qu’elle est piégée par le premier
minimum local rencontré.
• Divers algorithmes ont été proposés, principalement dès le milieu des années 80,
pour contourner cet obstacle que représentent les optima locaux.
• Exemples:
• Recuit Simulé
• Tabou
• Etc...

RECHERCHE AVEC RECUIT SIMULÉ


(SIMULATED ANNEALING)
• Proposé par Kirkpatrick et co-auteurs (1983).
• Kirkpatrick et al (IBM 1983) utilisation pour la
résolution de problème d’optimisation.
• Metropolis (1953) simulation du refroidissement de
matériaux (Thermodynamique)

• Méthode inspirée de la physique statistique


(métallurgie).
• Analogie avec le processus d’alternance de
refroidissement lent et de réchauffage (recuit)
d’une pièce de métal afin d’obtenir un état
d’énergie minimale.
But : échapper aux optima locaux
Principe : probabilité non nulle de sélection d’une
solution voisine dégradée

11
28/11/2022

RECHERCHE AVEC RECUIT SIMULÉ


(SIMULATED ANNEALING)
• C’est une amélioration de l’algorithme hill-climbing pour minimiser le risque d’être piégé
dans des maxima/minima locaux

• Idée: échapper le maximum local (les optima locaux) en permettant d’aller à une moins
bonne place, mais graduellement diminuer la probabilité (fréquence) de faire ceci
• au lieu de regarder le meilleur voisin immédiat du noeud courant, avec une certaine probabilité on
va regarder un moins bon voisin immédiat ( s’échapper des optima locaux),

• au début de la recherche, la probabilité de prendre un moins bon voisin est plus élevée et diminue
graduellement

• Le nombre d’itérations et la diminution des probabilités sont définis à l’aide d’un schéma
(Schedule) de « températeurs », en ordre décroissant,
• La meilleur définition du schéma va varier d’un problème à l’autre,

RECHERCHE AVEC RECUIT SIMULÉ


(SIMULATED ANNEALING)

12
28/11/2022

PROPRIÉTÉS DU RECUIT SIMULÉ

• si T diminue suffisamment lentement, alors le recuit simulé va


trouver l’optimum global avec une probabilité proche de 1
• Plus T diminue lentement, plus c’est probable de trouver la solution
optimale

• Largement utilisé pour corriger le problème de recherche


locale (VLSI layout, airline scheduling, etc)

SIMULATED ANNEALING
Solution Quality
The schedule determines the rate at which 20
the temperature is lowered 18
If the schedule lowers T slowly enough, the 14
algorithm will find a global optimum 10
High temperature T is characterized by a 6
large portion of accepted uphill moves 2
whereas at low temperature only downhill 5 10 15 20
moves are accepted
T= 100 – t*5
Probability > 0.9

=> If a suitable annealing schedule is chosen, simulated


annealing has been found capable of finding a good solution,
though this is not guaranteed to be the absolute minimum.

13
28/11/2022

TABU SEARCH
RECHERCHE TABOUE
• L’algorithme simulated annealing minimise le risque d’être piégé dans des optima locaux

• Par contre, il n’élimine pas la possibilité d’osciller indéfiniment en revenant à un noeud


antérieurement visité
• Idée: On pourrait enregistrer les noeuds visités
• on revient à A* et approches similaires!
• mais c’est impraticable si l’espace d’états est trop grand

• L’algorithme tabu search (recherche taboue) enregistre seulement les k derniers noeuds
visités
• l’ensemble taboue est l’ensemble contenant les k noeuds
• le paramètre k est choisi empiriquement
• cela n’élimine pas les oscillations, mais les réduit
• il existe en fait plusieurs autres façon de construire l’ensemble tabou...

TABU SEARCH
RECHERCHE TABOUE
• Introduite par Glover en 1986
• But : échapper aux optima locaux

• Principe : Introduction d’une notion de mémoire dans la stratégie d’exploration


• La méthode introduit une mémoire (Liste des tabous) qui stocke les solutions déjà testées
(interdit de les explorer pour certain temps)

• Interdiction de reprendre des solutions déjà (ou récemment) rencontrées

14
28/11/2022

TABU SEARCH
RECHERCHE TABOUE
• La recherche avec tabous permet des mouvements interdits pour explorer l’espace
de recherche
• Le choix du meilleur voisin d’une solution pousse l’algorithme à trouver les optima
locaux; et comme l’exploration de l’espace de recherche est effectué en limitant le
voisinage de la solution actuelle en rendant « tabous » certains mouvements,
l’algorithme doit théoriquement atteindre l’optimum global,
• Il est possible dans la recherche tabou d’accepter à l’issue d’une itération une solution qui
ne soit pas meilleure que l’optimum,

TABU SEARCH
RECHERCHE TABOUE

15
28/11/2022

RECHERCHE LOCALE EN FAISCEAU


BEAM SEARCH
• Idée: plutôt que maintenir un seul noeud solution n, en pourrait maintenir un ensemble de k
noeuds différents
• 1.on commence avec un ensemble de k nœuds choisis aléatoirement

• 2.à chaque itération, tous les successeurs des k nœuds sont générés
• 3. Si un d’eux est un état but, arrêt; on choisit les k meilleurs parmi ces noeuds et on recommence

• Cet algorithme est appelé local beam search (exploration locale par faisceau)
• à ne pas confondre avec tabu search
• Tabu search limite la taille de closed à k. Dans beam search, il n’y a plus de closed (comme en hill-
climbing), en plus open fait evoluer les k meilleurs noeuds.
• Variante stochastic beam search : plutôt que prendre les k meilleurs, on assigne une probabilité de choisir
chaque noeud, même s’il n’est pas parmi les k meilleurs (comme dans simulated annealing)

BEAM SEARCH

16
28/11/2022

BEAM SEARCH

• Overcomes storage complexity of Best-First-Search


• Maintains the k best nodes in the fringe of the search tree (sorted by
the heuristic function)
• When k = 1, Beam search is equivalent to Hill-Climbing
• When k is infinite, Beam search is equivalent to Best-First-Search
• If you add a check to avoid repeated states, memory requirement
remains high
• Incomplete, search may delete the path to the solution.

RECHERCHE HEURISTIQUE
GLOBALE ET LOCALE
• • Avec Hill-Climbing et Beam, la sélection ne se fait que sur les fils du noeud courant.
• – La sélection est locale

• • Best-First considère à tout moment tous les noeuds à explorer et choisit le noeud au meilleur
coût.
• – La sélection est globale
• – La mémoire est gérée comme une liste

17
28/11/2022

HILL-CLIMBING & BEAM SEARCH

• • Critère pour sélectionner le prochain fils à générer pour un noeud n : h(n); fonction
heuristique
• – Information incertaine mais plausible →Heuristique
• – h(n) fournit le coût pour atteindre l’état final.
• – h(n) incorpore et représente une source d’information externe à l’espace de recherche.
• – Ex: h(n) = la distance qui sépare la ville n de la ville de destination.
• • En-Profondeur + h(n) = Hill-Climbing search
• • En-Largeur + h(n) = Beam search
• La recherche locale est parfois une alternative plus intéressante que la recherche
heuristique

RÉSUMÉ

• Une recherche locale garde juste certains états visités en mémoire:


• Le cas le plus simple est hill-climbing qui garde juste un état (l’état courant) et l’améliore
itérativement jusqu’à converger à une solution,

• En général, il y a une fonction objective à optimiser (maximiser ou minimiser)


• Dans le cas de hill climbing, elle permet de déterminer l’état successeur,

• En général, une recherche locale ne garantie pas de solution optimale, son attrait est
surtout sa capacité de trouver une solution acceptable rapidement,

18
28/11/2022

RECHERCHE LOCAL VS RECHERCHE GLOBAL

Recherche global Recherche local

MERCI

19

Vous aimerez peut-être aussi