エレファント・ビジュアライザー調査記録

ビジュアルプログラミングで数式の変形を表すことを考えていくブロクです。

たらい回し関数

たらい回し関数(6)

while の繰り返しが2回以下であることを考えると、以下のように書き直すことができます。これを見ると a2 と c2 は計算する必要がありません。 public static string Test() { int count = 0; int depth = 0; float tarai(float x, float y, float z, int d)…

たらい回し関数(5)

たらい回し関数についてはクロージャーの説明には使えそうにないので変数を使わないように書き直す意味はあまりないとは思いますが、やってみます。たらい回し関数をできるだけ変数を使わないように書き直します。このために前回「呼び出しの深さ」について…

たらい回し関数(4)

たらい回し関数(以下の または tarai)の呼び出しが重なっている(呼び出しが終了する前に呼び出しが行われる)回数の最大値を「呼び出しの深さ」と呼ぶことにします(以下の depth)。 public static string Test() { int count = 0; int depth = 0; float tarai…

たらい回し関数(3)

(3)の場合を に関する帰納法の仮定から証明することができます。 (3) かつ ならば のときは定義より 、 のときは に関する帰納法の仮定(*)より は定義されていて となります。よって

たらい回し関数(2)

前回の説明ではたらい回し関数が「定義されている」とはどういうことなのかという説明が不足していました。たらい回し関数の定義 は、以下の関数「tarai」の呼び出し回数(count)が有限(「tarai」が有限時間で終了する)のとき「定義されている」とします。こ…

たらい回し関数(1)

たらい回し関数は変数を取り除く例としては使えそうにないので別の項目にすることにしました。ここでは帰納法のパターンについて調べていきます。まず普通に帰納法で証明しようと思ったのですが、以下の順にしないとうまく証明できないようです。 たらい回し…