タグ

関連タグで絞り込む (1)

タグの絞り込みを解除

PHPとアルゴリズムに関するmasudaKのブックマーク (2)

  • PHP の壊れた mt_rand の品質を統計的に検証した - iwiwiの日記

    メルセンヌ・ツイスターと似て非なるアルゴリズムが実装されていたことが発覚して話題の PHP の mt_rand 関数の品質を統計的に検証しました.果たして,PHP の「壊れた」mt_rand は安心して使うことができるのでしょうか……? ちなみに,結論から言うと,PHP の壊れた mt_rand は,(少なくともこのテストの範囲では)家メルセンヌ・ツイスターと遜色ない品質を持っているようです.ただし,最後に PHP の乱数の別の懸念点についても紹介します. 壊れた mt_rand とは PHP の mt_rand は,ドキュメントによると,有名な乱数生成アルゴリズム「メルセンヌ・ツイスター」を利用して高品質の乱数を生成する関数です.ところが,どうやら一部では知られていたこととして,PHP の mt_rand の実装にはバグがあり,家メルセンヌ・ツイスターと挙動が一致していませんでした.

    PHP の壊れた mt_rand の品質を統計的に検証した - iwiwiの日記
  • 重み付きのランダム抽選関数を作る(PHP)

    新生FF14のチョコボ(バディー)は、何も設定しなければフリースタイルで戦うって知ってましたか?頑張ってバディーのディフェンススキルを上げているのに、どうもチョコボの戦い方がディフェンサーぽくないな〜。おいっチョコボ!ちゃんと仕事しろよ!!っと思っていたら、メニューのバディー画面でフリースタイルのアイコンに小さいチェックマークがあるではないですか!?ディフェンススタイルにチェックするようにしたら、ちゃんと仕事するようになりました♪ …ごめんよチョコボ、筆者が無知なだけでした。 重み付きの抽選ロジックは既に色々なところで紹介されていますが、ちょっと必要になったので作ってみました。配列要素の値に重み(確率)となる整数値を入れて渡すと抽選された要素のキーを返します。サンプルでは、hash配列を渡していますが、array配列でも同様に要素のキーを返します。 /* * 配列から1つの要素キーを抽選す

  • 1