C++ - 正規乱数(ボックス=ミューラー法)!  (2012-08-31)

少し前に、線形合同法を使用して一様乱数を生成する C++ によるアルゴリズムについて紹介しました。 C++ - 一様乱数(線形合同法)! C++ - 一様乱数の一様性検定(カイ2乗検定)! 今回は、正規乱数を発生させて実際に正規分布になっているかを検証してみました。 まず、「正規乱数」とは「正規...

Ruby - スレッドで並列処理!  (2012-08-29)

Ruby でスレッドを使用して処理を並列化&高速化する方法についての記録です。 単純に複数の処理を複数のスレッドにして処理する方法もありますが、今回はより実用的な方法を試行してみました。 実際には、スレッドとのデータのやりとりのためにキューを使用しています。 「キュー」とは、先入れ先出し(FIFL:Firs...

Linux - シェルスクリプトでバックグランド並行処理!  (2012-08-27)

Linux(Unix 含む) 等のシェルスクリプトで複数の処理を並行で処理する方法についてのメモです。 シェルスクリプト内で複数の処理を流す場合、1つずつ流しても良いのですが、同時に並行して流した方が効率がよい場合があります。 特に、昨今のCPUはマルチコアプロセッサなので、そういう並行処理は得意のはずです。

Ruby - 例外発生時 retry 回数指定!  (2012-08-25)

Ruby で例外発生時には処理を中止(exit)したり、リトライ(retry)したりすると思います。 特に、たまたま処理に失敗するような場合は、再度同じ処理を流す為に rescue 節に retry を記述します。 しかし、これは1度しか retry されません。 1度 retry してもまた失敗するかもしれ...

Linux - ディレクトリからファイル名取得!  (2012-08-22)

Linux(Unix 含む) であるディレクトリ内にあるファイルの中から、ファイル名を取得するコマンドについてのメモです。 bash 等のシェルスクリプト内で結構使うので記録しておきます。

Linux - 電源ボタンでシャットダウン!  (2012-08-21)

RedHad 系 Linux(CentOS, Scientific Linux) でマシンの電源ボタンを押したら、(正規のシャットダウンプロセスを踏んで)シャットダウンできるようにしてみました。 ディスプレイやキーボードを接続していないマシンで、普段リモートターミナル経由で操作している場合などでは特に有効です。

Ruby - 一様乱数の一様性検定(カイ2乗検定)!  (2012-08-19)

昨日は、一様乱数の一様性を「カイ2乗検定」で検定する C++ によるアルゴリズムを紹介しました。 C++ - 一様乱数の一様性検定(カイ2乗検定)! 今日は、同じアルゴリズムを Ruby で実現してみました。 カイ2乗検定の詳細については、昨日の記事等を参照してください。 実際、アルゴリズム的にはほと...

C++ - 一様乱数の一様性検定(カイ2乗検定)!  (2012-08-18)

少し前に、線形合同法を使用して一様乱数を生成する C++ によるアルゴリズムについて紹介しました。 C++ - 一様乱数(線形合同法)! 今回は、それらの生成した一様乱数が本当に一様かどうかを「カイ2乗検定」で検証してみました。

Ruby - 一様乱数(線形合同法)!  (2012-08-14)

昨日は、線形合同法を使用して一様乱数を生成する C++ によるアルゴリズムを紹介しました。 C++ - 一様乱数(線形合同法)! 今日は、同じアルゴリズムを Ruby で実現してみました。 (アルゴリズムについては、昨日の記事を参照してください) 実際、ほとんど同じです。

C++ - 一様乱数(線形合同法)!  (2012-08-13)

今日は、線形合同法を使用して一様乱数を生成する C++ によるアルゴリズムについてです。 まず、 「一様乱数とは、ある有限の区間内で全ての実数が一様に(同じ濃度で)現れるような擬似乱数のことである。」 です。

Ruby - undefined method `connect’ for Mysql:Class!  (2012-08-11)

Ruby に Gem パッケージ mysql をインストール済みなのに、connect 時に以下のようなエラーが発生します。 undefined method `connect' for Mysql:Class 環境によって、発生したり発生しなかったりします。 以下、対策方法メモです。

Ruby - 素因数分解!  (2012-08-09)

昨日は、任意の自然数を素因数分解する C++ によるアルゴリズムを紹介しました。 C++ - 素因数分解! 今日は、同じアルゴリズムを Ruby で実現してみました。 アルゴリズムについては、昨日の記事を参照してください。 実際、ほとんど同じです。

C++ - 素因数分解!  (2012-08-08)

今日は、任意の自然数を素因数分解する C++ によるアルゴリズムについてです。 まず、 自然数 p (> 1) が 1 と p の他に正の約数を持たない場合、p を素数という。 です。そして、 任意の自然数を素数の積で表すことを、素因数分解という。但し、1 の素因数分解は 1 と定義す...

Ruby - エラトステネスのふるい!  (2012-08-06)

昨日は、エラトステネスのふるいの C++ によるアルゴリズムを紹介しました。 C++ - エラトステネスのふるい! 今日は、同じアルゴリズムを Ruby で実現してみました。 アルゴリズム等については、昨日の記事等を参照してください。

C++ - エラトステネスのふるい!  (2012-08-05)

今日は、2 以上 n 以下の自然数の中から素数を抽出(素数以外を排除)する C++ によるアルゴリズムについてです。 まず、 「自然数 p ( > 1 ) が 1 と p の他に正の約数を持たない場合、p を素数という。」 です。 そして、簡単に言うと、自然数の配列をふるいに見立てて素数以外を排除してい...

Ruby - 素数判定!  (2012-08-03)

昨日は、任意の自然数が素数か否かを判定する C++ によるアルゴリズムを紹介しました。 C++ で素数判定! 今日は、同じアルゴリズムを Ruby で実現してみました。 素数やアルゴリズムについては、昨日の記事を参照してください。 ただ、Ruby には Prime クラスというものが用意されているの...

C++ - 素数判定!  (2012-08-02)

今日は、任意の自然数が素数か否かを判定する C++ によるアルゴリズムについてです。 まず、 自然数 p ( > 1 ) が 1 と p の他に正の約数を持たない場合、p を素数という。 単純に考えると、 与えられた自然数 p が素数であるか否かを判定するには、2 から p まで順に割...