プログラミング的な何か、あと自転車日本一周とかスマートフォン用の表示で見るプログラミング的な何か、あと自転車日本一周とかこの広告は、90日以上更新していないブログに表示しています。単純な手続きが生成するプロセス共通の「形」を見ていく。プロセスが時間とスペースという計算資源を消費する速度を調べてみる。階乗の手続きから、再帰的プロセス、反復的プロセスについて考える。1)))))といった形で手続きを記述することができる。この手続で6!を計算しているところを置換えモデルで記述してみる。process)という。置換えモデルは膨張してから、収縮していく形をとる。プロセスを実行する際、解釈系が後に実行する演算を覚えている必要がある。n!の計算では、ステップ数、スペース共にnに線形(比例して)成長する。階乗の計算は別の見方で考えることができる。1に2を掛け、結果に3を掛け、4を掛け、nになるまで続けることで記述する。max-count)))この手続で6!を計算しているところを置換えモデルで記述してみる。process)という。置換えモデルは伸び縮みしない。どの時点においても、プログラム変数がプロセスの状態の完全な記述を持っている。n!の計算では、ステップ数はnに線形(比例して)成長するものの、スペースは固定値となる。置換えモデルをノートの書きながら考えた。recursion)がある。2))))))と定義すると、木構造再帰プロセスとなる。木構造再帰プロセスは効率は良くないが、プログラムの理解や設計を支援してくれる。GitHubに解答を追加。他の方の答えをチラ見してから自分で解いてみた。増加の程度オーダーも苦手意識がある。なんというか、だいたいな感じがしっくりこない。(オーダーの定義自体がそういうものだけど)計算の資源を消費する速度は、プロセスによって大きく異なる。growth)の考えを使うことにより、プロセスが必要とする資源を粗く見積もることができる。問題に対してプロセスが必要とする資源の量を表すパラメタとする。増加の程度はプロセスの振舞いを大まかに記述したもの。GitHubに解答を追加。木構造を描く方は問題ない。他の方の解答を見させてもらいました。change英語ですが、ここが一番分かりやすかった。この問題、解答はなんとなく分かっても自信がないと言っている人(web上で)が多い気がします。計算量の問題はみんな苦手なんですかね。自分もかなり苦手です。のちのちのため、英語ページの解答を追っておきます。(図をお借りします)スペース両替の金額の増加につれ、プロセスが使うスペースの増加の程度を求める問題。こっちは、英語の解答が詳しくないため自分で考える。図をちょっとお借りする。計算は再帰的に行われる。4)の流れで計算が実行されており、プログラム全体としてはこの流れで計算していることを覚えておく必要がある。3)の流れをプログラム全体として覚えておく必要がある。ディスクなど)がスペースにあたる。プログラムを実行している際、一番スペースが必要な計算は図の左下の計算をしているときになる。増えていくと構成図の左下ノード数は比例して1つずつ増えていく。すると、プロセスが使うスペースのオーダーはO(n)となる。両替の金額の増加につれ、プロセスが使うステップ数の増加の程度を求める問題。両替に使用するコインの数を1(1セント硬貨)として考える。11セントの両替プロセスを描いたグラフに、コインを1枚利用した場合の木構造が現れているのでこの図を元に考える。