タグ

2011年6月15日のブックマーク (15件)

  • c言語の乱数でXorshift(またはモンテカルロ法)を使って1~14までの整数をランダムに生成するプログラムを作りたいので... - Yahoo!知恵袋

    実装だけなら適当なサイトのコピペで終わるので、 ソース例を見せながらご説明しますね。ソースは文末です。 今回はXorshiftで行いました。 基的な情報系の知識はあるものとして、中級レベルから解説します。 まず、xor128(void)についてです。 なぜこの関数が乱数を発生させられるのか? 固定値しか帰ってこなさそうなのに。 通常、関数内で値を変更しても抜けたら無効となります。 しかし、static宣言することで、次回も保存しておけます。 この仕組みと、32bit符号無し整数、 シフト演算、排他的論理和の組み合わせで、 要は"適当な計算"をしてるのです。 ※ 当に適当だと永久的かつランダムな乱数は発生しません。 当は厳密に計算されて論文で裏づけされてます。 ここは論文レベルになるので、興味があれば調べてください。 以上の関数により、32bitの乱数が返ってきます。 次に、1~14の

    c言語の乱数でXorshift(またはモンテカルロ法)を使って1~14までの整数をランダムに生成するプログラムを作りたいので... - Yahoo!知恵袋
    agw
    agw 2011/06/15
    サンプルコードの乱数の変換部分に偏りがある。
  • いきちがいのぷろぐらむあ - FrontPage -    

    2016-11-19[土] C++TemplateのつもりでC#Generics使ってハマる(初歩) 人様のソース改修でロクに知らないC#をここ1,2ヶ月さわってた。 といってもそのソースもC#慣れしたわけでないC系ユーザーが書いたような感じで ある意味助かったのだけれど、コピペ膨れなソースだったので、処理をまとめようと C++Template 的に Generics を使おうとして...ちょっとハマった。 C++だと #include <stdio.h> class Foo { public: void Run() { printf("Foo!"); } }; template<class T> class FooMgr { public: void Run() { T().Run(); } }; class Bar : public Foo { public: void Run() {

  • 鮭とトマトの冷製パスタ/フレスタのレシピ(イタリアン)

    agw
    agw 2011/06/15
  • 簡単 トマトとインゲンとサケのパスタ(冷・温) - Yahoo!レシピ

    agw
    agw 2011/06/15
  • 俺式 INDEX -> NOTE -> 擬似乱数の生成方法と評価

    2008-09-07 擬似乱数とは 擬似乱数とは、プログラムにより生成する「乱数っぽく見える数」のことだ。 物の乱数(自然乱数)とは完全に予測不能な数のことで、 これは厳密に言えば、プログラムでは絶対に生成することはできない。 (自然乱数を得る手段としては、回路の熱雑音などの物理現象を利用する方法などがある。) 擬似乱数は計算(多くの場合は漸化式)によって作るため、 計算の初期値がわかれば予測が可能である。 予測可能であることは乱数の性質に反するが、シミュレーションを行う場合などには都合がよい。 またゲームでも、ランダムに弾が発射されるようなシューティングゲームのリプレイを再生する場合などに、 乱数を再現する必要性が出てくる。 擬似乱数を生成する方法は様々なものが考えられている。主な方法の名称を以下に示す。 この記事でとりあえず言いたいことは、XorShiftが手ごろでいいね!ということ

  • Xorshift - Wikipedia

    Xorshiftは疑似乱数列生成法の1つである。George Marsaglia(w:George Marsaglia)が2003年に提案した。演算が排他的論理和とビットシフトのみであるため高速である[1] などの特徴がある。 #include <stdint.h> struct xorshift32_state { uint32_t a; }; /* The state word must be initialized to non-zero */ uint32_t xorshift32(struct xorshift32_state *state) { /* Algorithm "xor" from p. 4 of Marsaglia, "Xorshift RNGs" */ uint32_t x = state->a; x ^= x << 13; x ^= x >> 17; x ^=

  • Xorshift - Wikipedia

    Example random distribution of Xorshift128 Xorshift random number generators, also called shift-register generators, are a class of pseudorandom number generators that were invented by George Marsaglia.[1] They are a subset of linear-feedback shift registers (LFSRs) which allow a particularly efficient implementation in software without the excessive use of sparse polynomials.[2] They generate the

    Xorshift - Wikipedia
  • C言語のメモ

    簡単なモンテカルロシミュレーション編 半径1の円の面積を求めるモンテカルロ 一辺が2の長さを持っている正方形をまず考えます。 縦横方向にx,y座標を置き、各辺の中点を、それぞれx,y軸に交わるようにします。 こうすると、半径1の円を正方形に入れると、その中心が(0,0)に来ます。 今、-1〜+1の範囲で二つの乱数が振られた時(正方形の中の一点をランダムに指定した時)、その2乗和が1以下になったなら、これは円に入ったと言えます。 何度かこれを試行して、円に入った割合に正方形の面積(2×2=4)を、この割合にかけると、円の面積が求められるでしょう。というもの。 #include<stdio.h> #include<stdlib.h> #include<time.h> int main() { double i,k,n,r,x,y,c1,c2,C1,C2; n = 10000000

  • Random float number generation

    How do I generate random floats in C++? I thought I could take the integer rand and divide it by something, would that be adequate enough?

    Random float number generation
  • c言語のrand関数で質問です。乱数の最小値、最大値を指定する際に最小値+(int)(rand()*(最大値-最小値+1.0)/(... - Yahoo!知恵袋

    質問の意味は、次の3行を云いたいのでしょうか? rand関数を使った式の意味が分かりません。式は 最小値 +(int)( rand() * (最大値 - 最小値 + 1.0) / (1.0 + RAND_MAX) ) ① です。この式は何を求めようとしているのでしょうか。よろしくお願いします。 この質問だったら、回答は以下の通りです。 式は次の形と等価です。 最小値 + (int)( (最大値-最小値 + 1.0) * (rand()/(1.0 + RAND_MAX)) ) ② これは、細かいことを抜きに表現すれば 係数 = (rand()/(RAND_MAX) 最小値 + (最大値-最小値) * 係数 ) ③ 係数が1ならこの値は 最小値 + (最大値-最小値) * 1 = 最大値 となり 0なら 最小値 + (最大値-最小値) * 0 = 最小値 となります。 RAND_MAX は r

    c言語のrand関数で質問です。乱数の最小値、最大値を指定する際に最小値+(int)(rand()*(最大値-最小値+1.0)/(... - Yahoo!知恵袋
    agw
    agw 2011/06/15
    間違いではない。+ 1.0を省くと偏る > 「 (最大値-最小値 + 1.0) の + 1.0 の意味は分かりません。間違いではないかと思います。」
  • 乱数

    第1項:疑似乱数 第2項:乱数を作る 第3項:乱数の範囲を限定する 第4項:毎回異なる乱数にする [1]疑似乱数 乱数とは、その名の通りランダムな数のことです。 要するに、サイコロと同じだと考えて下さい。 ランダムな数が必要になるゲームでは乱数は欠かせません。 また、複雑な現象や統計的な性質の解析などを行う場合には、 乱数を使うことで手軽に実験を行うことが出来ます。 しかし、皆さんもご存じのように、コンピュータは非常に正確な機械であり、 質的にはランダムに数を作るということは出来ません。 そこで、計算によってランダムな数を得る、疑似乱数という手法が使われます。 [  疑似乱数  ] 計算によってランダムな数値を得る方法。 当のランダムではないが、現実的にはランダムだと考えて良い。 疑似乱数では、あくまでも計算によってランダムに見える数を作っています。 しかし、実

  • 岩手県釜石市で撮影された衝撃的な3.11津波動画

    大地震と大津波により未曾有の被害をもたらした3月11日の東日大震災。発生当日に撮影された地震や津波の映像は過去に何度もお伝えしたが、つい昨日6月14日、動画サイトYouTubeにアップされた一の津波動画がネット上で大きな話題になっている。 動画のタイトルは「【東日大震災】釜石市役所に襲来した津波 Kamaishi 個人撮影」。あまりにも衝撃的な、未だかつて見たことのない視点から撮影された津波動画である。 動画投稿者の説明によると、撮影されたのは3月11日の午後3時20分。場所は「釜石市只越町、桑畑書店から釜石市役所までの通り」であるという。 内容はまず、街中のようすから始まる。自動車と人が、奥から大急ぎで逃げてくる。「はやくしろ!」などの叫び声も、絶えず聞こえてくるような緊迫した状況だ。 まもなく街中の奥から、ものすごいスピードで水が迫ってくる。あっという間に車は流され、次々と家屋を

    岩手県釜石市で撮影された衝撃的な3.11津波動画
  • Frequency analysis - Wikipedia

  • 裁判員制度はいらない!大運動|最新情報|51年目のスイッチ...6月11日・新宿反原発デモに参加して...呼びかけ人・高山俊吉 

    トップ > 最新情報 > 51年目のスイッチ...6月11日・新宿反原発デモに参加して...呼びかけ人・高山俊吉 6月11日、新宿では約2万人が参加した大規模な反原発デモが行われた。裁判員制度はいらない!大運動は、「反原発特集号」となる『全国情報』第19号を新宿中央公園で参加者に配布した後、デモに参加した。 これは、その後の報告である。「51年目のスイッチ」弁護士 高山俊吉  6月11日の新宿中央公園からのデモは長丁場でしたね。午後3時過ぎに公園を出発してアルタ前は6時近く。主催者はさっさと解散っていう雰囲気。 私たち6人は近くで事をしてまたアルタ前に戻った。現場は完全な飽和状態。 青い制服の警察官でいっぱい。ゲリラ的なリレートークが続いているが、警察官がどんどん増えて解散を迫っている。司会者の後ろの生け垣の上にも警察官たちがいる。 俺たちには表現の自由がある」と絶叫する青年。 「表現の

    agw
    agw 2011/06/15
  • sed