Понимание стохастического альпиниста
Я некоторое время пытался понять стохастического альпиниста, но мне не повезло. Я просмотрел книгу по эвристике и получил псевдокод. Я не понимаю, как должна выглядеть функция вероятности. Я понимаю, что новое решение выбирается случайным образом и принимается на основе некоторой вероятности, но я не понимаю, как запрограммировать эту вероятность. Спасибо
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 достигнет максимальной генерации. Надеюсь это поможет.