発言者: moon
発言日: 2003 10/06 09:13
> 教えてほしいのはズバリ「ランスウ」のことなのですが、うちで動かしているSoSでも同じステラが続けて出るや、探索でも同じものが3回連続でた等の事がたまにあります。
> 以前本家BBSにて「srand(time | $$);を2回行うとランスウ値がおかしくなる」との書き込みを見たことがあり、finditem等にあるsrand(time | $$);を消去し、sos.cgiの上の方(mainより上最初のrequire 'jcode.pl';の下)へ移動させている経緯があります。
> 単純な体感ではまったくデフォよりもいいのかなぁ?と思ったりもしたのですが、あまり変わっていないようでして。
> 探索アイテムの数も(確率も)かなり多くしているので、2度はよいとしても3回ともなるとなにかおかしいことが起きているのか?とやはり思ってしまいます。
> 上記のいじりが原因なら元にもどせばよいだけですが、元々そういう傾向にあると思うので、違う方法なりで「できるだけランスウっぽくする」方法があるなら、ぜひ教えて頂きたいのですが....
> やはりPCにランスウを求めるのが難しいんでしょうかねぇ(^^;
> 厳密にランスウにならなくても同じ結果が固まりにくくする方法などご存じでしたら宜しくお願いします。
これらのことは複数探索のことですよね?(以前本家BBSで単数探索でもかたよりが出るというのがありましたが。)
乱数的には変になりますが、単純に同じアイテムが連続して見付かりにくいようにするのには、
$rnd = int(rand(100)) + 1;
を、
if($count & 1){
# 2回に1回はこちらの処理
$rnd = 100 - int(rand(100));
}
else{
# 通常の処理
$rnd = int(rand(100)) + 1;
}
$count++;
とすると効果があるかもしれません。
> まだDLして注意書きを読んだだけですが、新作のバックアップ用ソース落とさせて頂きました。(ついで書きしてすいません。(^^; 負荷が高いとのことですが月1のバックアップとか楽になりそうですね、活用させてもらうつもりです^ー^)
バックアップ対象を分けたbackupcgi.cgiを複数作成してそれぞれ実行すれば1回ごとの負荷は少なくなると思います。
例えば、test1/、test2/、test3/をバックアップするのであればそれらを1つずつ記述したbackupcgi.cgiを3つ用意してそれぞれ実行すると。(backupcgi.cgiの名前を変更しておけば同じディレクトリで同じ保存ディレクトリにバックアップが取れますし。)
# そもそも動くかどうかが一番の懸念ですが。
▼関連発言
│
└◆799:ランスウについて [なず] 10/06 04:53
└◆800:Re:ランスウについて [moon] 10/06 09:13
└◆801:Re[2]:ランスウについて [なず] 10/08 00:08
└◆802:Re[3]:ランスウについて [moon] 10/08 09:05
└◆808:Re[4]:ランスウについて [なず] 10/09 00:10<-last