Could someone please explain to me how stochastic hill climbing works, im trying to understand the thoery behind it I understand how simple hill climbing and a random restart work because I have implemented both into code. However from my understand SHC(Stochastic Hill Climbing) takes a worser small change and accepts it.

I am trying to implent the SHC using the following forumla

p = 1/1+e^(new fittness - old fittness /t)

Where t is a scaling parameter I can implent this forumla in java with ease and apperently a if the new fittness < p it should be accepted, where t > 0.

Any help what so ever would be greatly appreachated,