Différence entre recuit simulé et plusieurs gourmands

8

J'essaie de comprendre quelle est la différence entre le recuit simulé et l'exécution de plusieurs algorithmes gourmands d'escalade.

D'après ma compréhension, l'algorithme gourmand poussera le score à un maximum local, mais si nous commençons avec plusieurs configurations aléatoires et appliquons gourmand à toutes, nous aurons plusieurs maximums locaux. Ensuite, nous choisissons le maximum d'entre eux.

Cela reproduira-t-il le recuit simulé?

Bernardo Braga
la source

Réponses:

7

La méthode que vous décrivez est appelée escalade de colline à redémarrage aléatoire (ou parfois escalade de fusil de chasse ), et c'est un algorithme différent du recuit simulé.

Oui, généralement lorsque le nombre d'itérations augmente, les deux méthodes donneront finalement un emplacement qui atteint un optimum global . C'est pour la simple raison que les deux incorporent une recherche aléatoire. C'est-à-dire qu'un redémarrage aléatoire (escalade) ou un mouvement aléatoire (recuit simulé) peut se révéler coïncider avec un optimum global. Néanmoins, voici deux différences importantes:kwiw

  1. le redémarrage aléatoire de l'escalade se déplace toujours vers un emplacement aléatoire après un nombre fixe d'itérations . Dans le recuit simulé, le déplacement à l' emplacement aléatoire dépend de la température .wikT
  2. le redémarrage aléatoire de l'escalade se déplacera vers le meilleur emplacement du quartier pendant la phase d'escalade. Dans le recuit simulé, l'emplacement est sélectionné au hasard, vous vous déplacez toujours s'il est meilleur que votre emplacement actuel, mais avec une probabilité liée à vous pouvez vous déplacer même s'il est pire.T

Le recuit simulé est un algorithme un peu plus compliqué et dépend du programme de température qui détermine à l'itération . Si la température est réglée sur une valeur constante très petite, le recuit simulé devient comme une montée stochastique des collines. Si est réglé sur une très grande valeur constante, le recuit simulé devient comme une recherche aléatoire. La façon dont vous sélectionnez le programme de température détermine la façon dont vous naviguez entre ces deux types de comportement différents.TkTT

tldr: ce sont des algorithmes différents, mais ils utilisent des idées similaires pour incorporer l'échantillonnage aléatoire dans la recherche.

MachineEpsilon
la source
1
La principale différence (en stratégie) entre la recherche gourmande et le recuit simulé est que la recherche gourmande choisira toujours la meilleure proposition, où le recuit simulé a une probabilité (en utilisant une distribution de Boltzman) de rejeter cela et de choisir une proposition pire. Cela aide l'algorithme à trouver un optimum global en sautant de l'optimum local. La température et d'autres paramètres ne sont qu'un avantage (ou un inconvénient) secondaire de SA.
Jon