Понимание стохастического альпиниста

Я некоторое время пытался понять стохастического альпиниста, но мне не повезло. Я просмотрел книгу по эвристике и получил псевдокод. Я не понимаю, как должна выглядеть функция вероятности. Я понимаю, что новое решение выбирается случайным образом и принимается на основе некоторой вероятности, но я не понимаю, как запрограммировать эту вероятность. Спасибо

PSUEDO-CODE - от того, как это решить: современная эвристика - Збугнев Михалевич, Дэвид Фогель

procedure stochastic hill-climber
begin
     t <- 0
     select a current string vc at random
     evaluate vc
     repeat
          select the string vn from the neighbourhood of vc
          select vn with probability 1/(1+(e^(evaluation(vc) - evaluation(vn))/T))
          t <- t + 1
     until t=MAX
end

1 ответ

Решение

Это форма генетического алгоритма, которая имеет функцию пригодности, называемую оценкой. Он выбирает соседа с большой положительной разницей между текущим и соседним. У него есть функция активации сигмоида 1/(1 + e^(что-то)), что означает, что он будет отображаться в интервале (0,1). Я считаю, что T заключается в том, чтобы уменьшить размер различий во времени, чтобы позволить ответу в конечном итоге сходиться к пределу. t просто счетчик, который представляет поколение в алгоритме. Алгоритм закончится, как только t достигнет максимальной генерации. Надеюсь это поможет.

Другие вопросы по тегам