2005-11-01から1ヶ月間の記事一覧

大きな数の扱い

非常に大きい数値を扱いたい。javaの基本データ型だと、たとえば int 32ビット 符号つき整数,-2147483648〜2147483647 (約 21億) long 64ビット 符号つき整数,-9223372036854775808〜9223372036854775807(約) リスト表示 例えば この桁数の数値を指定するに…

確率的アルゴリズムと近似アルゴリズム

多項式時間(Polynomial)アルゴリズムが知られていない問題を解くときに用いる。用いると言っても、『答えとして受け入れられる答え』が出ることが知られている必要がある。 『答えとして受け入れられる答え』の担保が示されていることが条件で、かつ、計算量…

時間計算量と領域計算量

時間計算量はステップ数、領域計算量は情報の保持量(メモリ負荷) 実際の実行にあたってはそれぞれの計算量により制約があり、アルゴリズムは、それらの負荷により分類される 計算量も『決定的(Deterministic)』か『非決定的(Non-deterministic)』かで2分さ…

時間計算量クラス

書きかけ 計算可能性と実際に計算して答えを求める努力をすることとは同じではない。「いつかは終わるかもしれないけれど、あまりに時間がかかりすぎる方法」は、はなから始めない方がよい。この『かかる時間の予想』を数値化したもの。入力情報量によって計…

計算可能性

この記事は表現、非常に曖昧かつ、うそを含む可能性高し! 計算可能性とは、 『数学的には』(数学者でない者が数学的説明を読んで、いきなり数学的な厳密性をはしょって説明するときの枕詞である)、次のように言えるのだろう・・・ 『アルゴリズムが、1つの…

計算モデル

Wikipediaではこう: 「アルゴリズム」の概念を定式化する為の数学モデルのこと。チューリングマシン、帰納的関数、λ計算などがある。

アルゴリズム

問題を解く手順であり、次の性質を満たすものと定義されている 有限個の演算・操作の列のこと ここの演算・操作の終了時に次の演算・操作が決まっている 有限回の演算・操作の後、必ず、手順は終了する 手順の終了時に問題の正当な答が得られている

駆け足で読むアルゴリズムと計算量

臨時別冊・数理科学 SGCライブラリ43『アルゴリズムと計算量』 谷 聖一 サイエンス社

探索

探索アルゴリズムとデータハンドリングの相性については、昨日、若干書いたが・・・ 来た順(First in-First out):::キュー(queue) 最後に来た方から(Last in-Fisrt out):::スタック 優先順位組み込み(Priority-first):::順位キュー ランダム:::-?-?-?MCMC的 …

深さ優先探索と幅優先探索

スタックとキュー 情報の『決済順序』の規則として、決済箱に入ってきた順番に処理するやりかたと、決済箱に最後に入ってきたものから処理するやりかたとがある。それ以外のやり方もあるだろうが、前者には、キューqueue、後者にはスタックstackというデータ…

多数回試行結果の集計

R

Rのapply関数を使う。 想定している状況は 多数回試行(1000回シミュレーションなど)をする 試行ごとに、複数の数値データが出力される それを試行を通じて集計して評価する 出力ファイルは テキストファイル 各試行の結果が1行で出力され 各試行のデータは…

タブ区切りテキストファイルの読み込み

String file = "hogehoge.txt"; FileReader file = null; try{ f = new FileReader(file); BufferedReader objBr=new BufferedReader(f); int fileline=0; while(objBr.ready()){ fileline++; int tokennum=0; String[] aryTkn=objBr.readLine().split("\t")…

Threadを用いて長大ループの途中でキャンセルする

多数回ループを持つプログラムの処理では、途中で中止したくなることが多い。そのための仕組みを考える。ループを持つプロセスと並行にループを制御する変数の値を変えるボタンを配置し、そのループプロセスはループが回るたびに、制御変数の値により、ルー…

SVGで図示

SVG

SVGは(Scalable Vector Graphics)の略で、2次元図形をXML形式で記述するための規格です。ベクター形式なので、拡大・縮小しても画像がギザギザになりません。SVG画像はInternet Explorer(バージョン6以上)で閲覧してください。SVG画像をInternet Explore…

SVG図とビューア

浮動小数点問題

Javaのプログラムにフレーム経由で整数値と実数の値を渡すとする。 double double3 = Double.parseDouble(tf03.getText());のようにして、テキストフィールド tg03に入力された文字列を Double.parseDouble関数にて Double 型数値にするような処理をして、そ…