「ごちうさ 百合」で検索してこのブログに来る人が多いっぽいので、
期待に応えるつもりでごちうさのチノとココアの百合っぽい(かも知れない)漫画を描きました。
きんモザにつづいて、ごちうさもアニメ2期が決定しました。
めでたいのでお好み焼きを焼いて食べました。おいしかったです。
「ごちうさ 百合」で検索してこのブログに来る人が多いっぽいので、
期待に応えるつもりでごちうさのチノとココアの百合っぽい(かも知れない)漫画を描きました。
きんモザにつづいて、ごちうさもアニメ2期が決定しました。
めでたいのでお好み焼きを焼いて食べました。おいしかったです。
※この記事では自然数を0以上の数すなわち0,1,2...とします。数列は添え字0(など)から始まります。
アッカーマン関数とは、自然数m,nに対して、
によって定義される関数です。
・・・なるほど、わからん。
そこで、それぞれのmについて考えます。
まず、 という数列を考えます。
です。
次に、初項をすなわち2とし、
さきほど出てきた「n+1」という数式を漸化式に使ったという数列を考えます。
これの一般項を求めるととなります。です。
次に、初項をすなわち3とし、
さきほど出てきた「n+2」という数式を漸化式に使ったという数列を考えます。
これの一般項を求めるととなります。です。
次に、初項をすなわち5とし、
先ほど出てきた「2n+3」という数式を漸化式に使ったという数列を考えます。
これの一般項を求めると(高校で習う特性方程式を使ったアレです)となります。
です。
次に、初項をすなわち13とし、
先ほど出てきた「」という数式を漸化式に使ったという数列を考えます。
これはかなり急速に増大する数列で、一般項を簡単な式で書くことはできません。
少しだけ数値を求めると
です。(このあたりまでの計算は高校生のみなさんの演習によいでしょう)
このように「数列を漸化式として使って新たに数列を作る」という操作によって
次々と数列をつくることができます。こうして作った数列が各mに対応する数列となります。
m=0のときは
m=1のときは
m=2のときは
m=3のときは
m=4のときはが対応します。
数式で書くと
です。このようにアッカーマン関数は定義されます。
(こうして見ると、を最初の数列として、
数列から次々に数列を作るという操作は漸化式での数列の定義によく似ています。)
アッカーマン関数A(m,n)はm,nを変数とする2変数関数なのですが、
ボクはそれぞれのmに対して、nを添え字とする数列(つまり1変数関数)として考えて話しました。
こんな風にn変数関数は
1つの引数に対してn-1変数関数を対応させるもの
として見ることができます。
これが「カリー化」と呼ばれるものの基本的な考え方です。
参考:アッカーマン関数の表(wikipedhiaより)
「アッカーマン」で検索すると進撃の巨人の「ミカサ・アッカーマン」の方が多く出る。 たまには数学者のヴィルヘルムアッカーマンのことも思い出してあげてください。
・アッカーマン関数Aをラムダ式で書いてみました。文法は誤解の生じない範囲で割と自由に書いています。