百物語改め「九一三・六物語」

夢日記・百合・数学・怪談・神社その他

ごちうさ(ご注文はうさぎですか?)と百合マンガ

2015-01-31 | 百合

「ごちうさ 百合」で検索してこのブログに来る人が多いっぽいので、

期待に応えるつもりでごちうさのチノとココアの百合っぽい(かも知れない)漫画を描きました。

きんモザにつづいて、ごちうさもアニメ2期が決定しました。

めでたいのでお好み焼きを焼いて食べました。おいしかったです。


夢日記 大雨と百合の花

2015-01-30 | アニメ
こんな夢を見た。

大雨で風も強いのに太陽は照っている。
家族に言わずにこっそり外出する。
近所の公園へ。
合羽をきた幼稚園くらいの子たちが出てくるところ。
公園の中では雨風に晒されて百合の花が落ちていた。


※きっとアニメの「ユリ熊嵐」を見たのでこんな夢を見たのだと思います。

ユリ熊嵐の泉乃純花(いずみのすみか)と椿輝紅羽(つばきくれは)のイラスト↓

アッカーマン関数の漸化式による説明、数列・カリー化

2015-01-27 | 数学

 

※この記事では自然数を0以上の数すなわち0,1,2...とします。数列は添え字0(a_0など)から始まります。

アッカーマン関数とは、自然数m,nに対して、

{rm A}(m, n) = begin{cases}   n + 1,                                 & mbox{ if }m = 0   {rm A}(m - 1, 1),                   & mbox{ if }n = 0   {rm A}(m - 1, {rm A}(m, n - 1)), & mbox{ otherwise}  end{cases}

によって定義される関数です。

・・・なるほど、わからん。

そこで、それぞれのmについて考えます。


まず、 a_n=n+1という数列を考えます。

a_n=1,2,3,4...です。


次に、初項をa_1すなわち2とし、

さきほど出てきた「n+1」という数式を漸化式に使ったb_nという数列を考えます。

begin{cases} b_0=2     b_{n+1}=b_n+1 & (n>0)  end{cases}

これの一般項を求めるとb_n=n+2となります。b_n=2,3,4,...です。


次に、初項をb_1すなわち3とし、

さきほど出てきた「n+2」という数式を漸化式に使ったc_nという数列を考えます。

begin{cases} c_0=3     c_{n+1}=c_n+2 & (n>0)  end{cases}

これの一般項を求めるとc_n=2n+3となります。c_n=3,5,7,9...です。


次に、初項をc_1すなわち5とし、

先ほど出てきた「2n+3」という数式を漸化式に使ったd_nという数列を考えます。

begin{cases} d_0=5     d_{n+1}=2d_n+3 & (n>0)  end{cases}

これの一般項を求めると(高校で習う特性方程式を使ったアレです)d_n=2^{n+3}-3となります。

d_n=5,13,29,61...です。


次に、初項をd_1すなわち13とし、

先ほど出てきた「2^{n+3}-3」という数式を漸化式に使ったe_nという数列を考えます。

begin{cases} e_0=13     e_{n+1}=2^{e_n+3}-3 & (n>0)  end{cases}

これはかなり急速に増大する数列で、一般項を簡単な式で書くことはできません。

少しだけ数値を求めると

e_0=13

e_1=2^{13+3}-3=65533

e_2=2^{65533+3}-3=2.0cdots times 10^{19728}

です。(このあたりまでの計算は高校生のみなさんの演習によいでしょう)


このように「数列を漸化式として使って新たに数列を作る」という操作によって

次々と数列をつくることができます。こうして作った数列が各mに対応する数列となります。

m=0のときはa_n

m=1のときはb_n

m=2のときはc_n

m=3のときはd_n

m=4のときはe_nが対応します。

数式で書くと

A(0,n)=a_n

A(1,n)=b_n

A(2,n)=c_n

A(3,n)=d_n

A(4,n)=e_nです。このようにアッカーマン関数は定義されます。

(こうして見ると、a_nを最初の数列として、

数列から次々に数列を作るという操作は漸化式での数列の定義によく似ています。)


アッカーマン関数A(m,n)はm,nを変数とする2変数関数なのですが、

ボクはそれぞれのmに対して、nを添え字とする数列(つまり1変数関数)として考えて話しました。

こんな風にn変数関数は

1つの引数に対してn-1変数関数を対応させるもの

として見ることができます。

これが「カリー化」と呼ばれるものの基本的な考え方です。

 

参考:アッカーマン関数の表(wikipedhiaより)

 

 

「アッカーマン」で検索すると進撃の巨人の「ミカサ・アッカーマン」の方が多く出る。 たまには数学者のヴィルヘルムアッカーマンのことも思い出してあげてください。

・アッカーマン関数Aをラムダ式で書いてみました。文法は誤解の生じない範囲で割と自由に書いています。

A=lambda mn.((lambda f.(lambda n.f^{n+1}(1)))^m(lambda x.x+1))n


夢日記 三毛猫と黒猫

2015-01-26 | 
こんな夢を見た。

うちの三毛猫が座った瞬間に黒猫になった。という夢を見た。
目を覚ましたあとも寝ぼけていて、家族に
「猫って座ると黒猫になるんだね」と言った。
押入れから三毛猫が出てきた。
抱き上げてみた。

ここで本当に目が覚めた。


2015年(平成27年)のうるう秒

2015-01-25 | 

今年2015年の7月にうるう秒が挿入されることになったようです。
以前うるう年について書きましたが、うるう秒はうるう年に比べて知名度が低い気がします。
うるう年は一日まるごと増えるので影響が大きいですが、
うるう秒は1秒増えるだけなので生活に影響がかなり小さいからでしょう。

・いつ「うるう秒」を挿入するのか
独立行政法人情報通信研究機構のプレスリリースによれば
「平成27年(2015年)7月1日(水)
午前8時59分59秒と午前9時00分00秒の間

「8時59分60秒」を挿入します。」
だそうです。
電波時計以外は7月1日9時に時計を1秒遅らせる必要があります。

・なぜ挿入する必要があるのか
(原子時計における)1日は60秒×60分×24時間=86400秒です。
それに対して天文の動きに準じた一日の長さ(LODと言うようです)
は86400秒より少しだけ長いので、
協定世界時 (UTC) と太陽の日周運動
の間に差がでてしまいます

それを調整するためにうるう秒があります。

余談として
うるう年は天体の年周運動と日付を合わせるためのもの、
旧暦での閏月は天体の年周運動とカレンダーの月を合わせるためのものです。

・なぜ午前9時という半端な時刻に挿入するのか
協定世界時における午前0時が日本での午前9時だからです。
例えばイギリスでは午前0時にうるう秒が挿入されることになります。


↑原子時計の写真