つみネコの難しさ

「つみネコ」という iPhoneの人気ゲームがあります >> http://www.tsumineko.com/
その名の通り、ネコを積み上げていくという、不条理でゆるかわいいゲームです。
この「つみネコ」には、バーチャルなゲームだけでなく、リアルなフィギュアもあります。

 ※「つみネコマニア」というフィギュア
フィギュアも積み上げることができるのですが、高く積むのはけっこう難しい。
バーチャルなゲームのつみネコは、高さ数十メートルにまで積み上げることができるのですが、リアルなフィギュアではとても無理。
もう1つ、バーチャルなゲームでは明らかに下のネコの位置をはみ出して、
大きく曲がった形でネコを積み上げることができます。

それではリアルなつみネコでも、下のネコの位置からはみ出した「曲げ積み」ができるのでしょうか?
そんなこと、物理的に不可能だという気もするのですが・・・

まずは簡単な十円玉で実験してみましょう。
十円玉をソロリソロリとずらして積み上げてみると、、、

ここまで横にずらして積むことができました!
真上から見てみると、

てっぺんの十円玉の位置は明らかに、一番下の十円玉の位置と重なっていません。

では、理屈の上で十円玉はどこまで横にずらせるのか。
まず最初の十円玉の上に、1枚だけ次の十円玉を置いた状況を考えてみると、

十円玉の重心=中心がはみ出さなければ落ちないのだから、
十円玉は、全体の半分の位置までずらして置くことができるでしょう。
(図では十円玉の直径を2、ずらした長さを1としています)
ここで、もう1枚十円玉を下側に増やしてみると、

一番下の十円玉は、上にある2枚の十円玉の重心を支えればよいわけだから、
1/2 の位置までずらすことができます。
さらに、もう1枚十円玉を増やすと、

ずれの大きさは、(上に乗っている2枚:新たに加えた1枚)という比率で、
1/3 の位置までずらすことができます。

この規則で十円玉を次々に置いていくと、十円玉のずれの最大値は、
  1/1 + 1/2 + 1/3 + 1/4 + 1/5 ・・・
という規則で積み重なってゆくことになります。
この、1/1 + 1/2 + 1/3 + 1/4 + 1/5 ・・・ という足し算には、調和級数という名前が付いています。
ところで、f(x) = 1/x という関数を積分する(積み重ねる)と、どうなるでしょうか。
  ∫1/x dx = ln(x)
答は対数関数 ln(x) となります。
実はこの十円玉をずらして積み上げていったカーブは、対数曲線になっているんです。
 ※ 階段状になっている十円玉と、連続な対数関数の間には、ある一定の「食い違い」が生じます。
 ※ 十円玉をうんと増やした極限での食い違いの大きさは「オイラーの定数」と呼ばれています。
 ※ ・・・オイラーさん、どうやってこんなものを見つけたのだろう!?
対数関数というやつは、極めてゆっくりではありますが、どこまでも大きくなれるという性質があります。
ということは、理屈の上では、十円玉をうんとたくさん積み上げてゆけば、
どこまでも横にずらしていくことが可能だということです。

以上の十円玉の理屈を信じて、つみネコフィギュアでも対数関数を作ろうとがんばってみたのですが、
・・・無理! どうがんばっても無理。
どうやら十円玉の積み上げと、ネコの積み上げとでは、何か決定的に異なる要因が絡んでいるようです。
すぐに気付くのは、十円玉は平べったいけれど、ネコにはそれなりの高さがあるということ。
ネコの場合、たとえ重心の位置が下のネコの上にあったとしても、それだけでは安定しません。
横にグラグラしますから。
もし重心の位置だけが問題だったのなら、ネコを何匹積み上げたとしても、難しさは変わらない?
ということになるでしょう。
では、なぜ高く積み上げるほど、後からネコを乗せるのが難しくなってゆくのか。
十円玉と同じように、まずネコを1匹だけ積み上げた状況を考えてみましょう。
最初に積み上げたネコを倒すには、どれだけの揺さぶりをかければ良いか。

図から見ると
  (倒すのに必要な重心を持ち上げる高さ) = √(L^2 + a^2) - L
となります。
ここに、もう1匹ネコを追加したらどうなるか。
簡単のため、上に乗った2匹を1個の塊と見なします。
上に乗った2匹の塊を倒すために必要な揺さぶりの大きさは、L が2倍になるので、
 (倒すのに必要な重心を持ち上げる高さ)= √((2 L)^2 + a^2) - 2 L
となるわけです。
この調子で、積み上げたネコの高さと、重心を持ち上げる高さをグラフに描くと、こんな風になります。

このグラフは、いわばネコを積み上げるときの「易しさの度合い」を表しているわけです。
ネコの横幅が高さの半分(a=0.5)だとすると、こんな値になります。

積み上げるネコの数重心を持ち上げる高さ易しさの度合い
2 0.118 1.000
3 0.062 0.521
4 0.041 0.351
5 0.031 0.264
6 0.025 0.211
7 0.021 0.176
8 0.018 0.151
9 0.016 0.132
10 0.014 0.118
この考え方でゆくと、10匹目のネコを積むのは、2匹目のネコを積むよりも
  1 / 0.118 = 約8.5倍難しい!
ということになるでしょう。

※ ちょっと細かいこと.
上の考え方では、
 (ネコを積み上げるときの易しさの度合い) = (倒すのに必要な重心を持ち上げる高さ)
だとしていました。
しかし、よく考えると揺さぶりをかける大きさというのは、持ち上げる高さではなく、
持ち上げるのに要するエネルギーの大きさ、つまり (高さ)x(重さ) だという気がします。
ネコをたくさん積めば積むほど、(重さ) が増えるため、安定感が増すのではないでしょうか。
試しに、エネルギーの大きさという考え方でグラフを描いてみると、
 (倒すのに必要なエネルギーの大きさ)= L { √(L^2 + a^2) - L }

こんな風に、積み上げる易しさはネコの数とほとんど関係ない、という変な結果になってしまいます。
( L -> 無限大の極限で、(エネルギーの大きさ)= a^2 / 2 という定数になっています。)
いったいこの考え方の、どこがおかしいのか。
たくさんのネコの重さは、全体の安定感を増すことにも寄与しますが、
同時に倒壊を引き起こすきっかきにもなっていると思うのです。
全体を支えている一番下のネコには、かかる重さに比例して歪みが溜まります。
そして、
 (溜まった歪みの大きさ)> (倒すのに必要なエネルギーの大きさ)
となったとき、全体が倒れるのでしょう。
ここで(溜まった歪みの大きさ)も、(倒すのに必要なエネルギーの大きさ)も、
どちらもネコの合計体重に比例するので、効果としては打ち消し合うのではないでしょうか。