2010-06-09 5 views
0

Les deux Wikipedia et ce site décrivent une étape similaire dans l'algorithme de recuit simulé, que j'ai choisi ici:À quoi cela sert-il dans l'algorithme de recuit simulé?

Wikipedia:

if P(e, enew, temp(k/kmax)) > random() then // Should we move to it? 
    s ← snew; e ← enew       // Yes, change state. 

Yuval Baror, en ce qui concerne la Eight Queens puzzle:

If moving the queen to the new column will reduce the number of attacked 
queens on the board, the move is taken. Otherwise, the move is taken only 
with a certain probability, which decreases over time. 
Hence early on the algorithm will tend to take moves even if they 
don't improve the situation. Later on, the algorithm will only make moves 
which improve the situation on the board. 

Ma question est: que fait ce mouvement aléatoire?

Répondre

2

Le but est d'éviter le règlement à une meilleure solution localisée et au lieu d'essayer de trouver la meilleure solution globale Voir ici: http://en.wikipedia.org/wiki/Local_minimum

vous permettent une quantité aléatoire de mouvement qui peut d'abord aggraver votre position dans l'espoir de trouver une meilleure solution globale que celle que vous trouverez par seulement en prenant des mesures qui améliorent votre position. La partie «recuit» du nom signifie que la quantité de mouvement permise vers les positions les plus mauvaises est diminuée au fil du temps.

+0

Ah c'est ce qu'ils veulent dire! Sinon c'est comme, euh, gagner la bataille mais perdre la guerre, non? – PizzAzzra

+0

@Az - Voilà l'essentiel :) – Paolo

0

Prendre seulement les solutions qui améliorent la situation est appelé «gourmand», et signifie que vous trouvez les optima locaux.