Random e Ruby: una valle di lacrime
Agosto 27th, 2007 • Main
Ho scelto Ruby (dopo avere tanto sentito parlare anche da alcuni amici) per un piccolo progetto universitario che prevedeva di sviluppare qualche semplice algoritmo genetico per l’evoluzione di strategie ecc.. ecc…
Il problema era nella supposta convergenza che non arrivava nonostante tutto sembrava funzionante, come mai?
Come tutti sapete l’inizializzazione casuale è mooooolto importante anzi determinate come anche altre scelte basate sulla casualità, alla fine ho scoperto che la funzione random non era in realtà random ma generava numeri che già a prima vista erano in un qualche modo correlati tra di loro (sequanze di decimanli molto simili in posizioni che variavano in qualche modo regolare ecc…), grazie all’intervento di Elia ho risolto in qualche riga e tutto ora funziona alla grande (su Linux)
def Kernel.rand(num)
`echo $(($RANDOM%#{num}))`.to_i
end
Provare per credere ![]()
Ultimi commenti