0

単純な山登りアルゴリズムを探しています

これは大規模なシミュレーション用です。これは、「CurrentLocation」がどのように変化しているかの例です。

import time
targ = 1.5  # target of t
location = 1   #starting point
step = 0.9  # step change starting point
a=0
b=0
while abs(targ-location)>0.05:
    if targ>location:
        if b==1: # If I already been at b
            b=0
            a=0
            step = step*(0.9)
            print 'stepChangeA'
            location =location +  abs(location*step)
        else:
            location =location +  abs(location*step)
            a=1
            print 'increase'
    else:
        if a==1:  #If I already been at a
            a=0
            b=0
            step = step*(0.9)
            print 'stepChangeB'
            location =location -  abs(location*step)
        else:
            location = location - abs(location*step)
            b=1
            print 'decrease'
    time.sleep(0.1)  # just so it will be easy to see the change.. 
    print location 

私が提示したアルゴリズムは機能していますが、もっと効果的なものがあると思います...何かアドバイスはありますか?

ありがとうございました

4

0 に答える 0