読者です 読者をやめる 読者になる 読者になる

カリー化

最近、勉強ができていない、といいつつやっぱりやらない。 これはどうにかせねばならんと思う今日この頃。 でそんな私の近況はおいといて、今日はカリー化について。 Haskellで一度見たけど、説明が難解な書き方をしていたためか、単に私の頭が悪かっただけ…

O記法

O記法(big-oh notation) O(f (n))は入力された大きさに対して、実行時間が定数因子を除いてどのようになるかを表すことができる記法である。というある種、物理的にも情報的にも見慣れた記法なんですが、今回はプログラム(アルゴリズム)でどのようにこのO記…

キューのいろいろ

なんか相対論のは教科書みたいに上から目線をあとあと読んで感じたので、このページはそういうことがないように行こうかなと。今回、キューのいろいろと書いたけれど、結局のところガウディ本の3.4節に載ってるキューの特徴を確認していこうというだけの話。…

差分リストによる入れ子リストの平坦化

久しぶりにアルゴリズムが理解できずに詰みかけたので、メモ。 差分リストを用いて、入れ子リストを平坦化(入れ子をなくす)アルゴリズムは1.nilの平坦化はX#X(空の差分リスト)2.Xを入れ子のリストとして、X|Xrを平坦化するとY1#Y4。 ただし、Xの平坦化はY1…

線形時間の反復計算

ちょっと間が空いてしまったけれど、ガウディ本の3.4節について。 再帰計算で問題になる点として、1.入力の大きさの2乗に比例した計算時間が必要になる 2.入力の大きさに比例してスタックが大きくなるという点があげられる。この問題を3.4節では再帰計算を…

単一化(unification)

応用情報技術者の本で「単一化(ユニフィケーション)と後戻り(バックトラック)といえば論理型プログラミング」みたいな記述を見たことがあるが、実際に論理型プログラミングをやったことがなかったので、何をしているかがいまいちピンと来ていなかった。「コ…

入れ子マーカ(nesting marker)

ちょっと前にやったことだけど、入れ子マーカの復習。少々概念だけでは分かりにくいところがあったので、書いておこうと思う。 「入れ子マーカ」("$")とは「任意の文を式にする。その式の値は入れ子マーカがおかれた位置における値である」らしいが、これだ…

Mozartシステムのインストール(Windows)

自分が忘れそうなのでメモ。 まずはhttp://www.mozart-oz.org/からWindows用のインストーラをダウンロードしてくる。 インストールはほとんどすることもなく完了。しかし、Mozartシステムをインストールするだけでは「Oz Programming Interface」が動かない…

ここ7日間の学習記録

2010/09/08 学習内容は「コンピュータプログラミングの概念・技法・モデル」でOzの基本的な文法構造を勉強(p.1〜25)。・備考 ・クラスの作り方は、クラス構文を使わない形式のもののみ勉強した。クラス構文を使うクラスの作り方はオブジェクト指向プログラミ…