概算~いろい~ろ
はじめに
どうも、皆さんいかがお過ごしでしょうか?特段変化のない生活を送らせていただいています。 さて、突然ですが皆さんはどういう性格をお持ちでしょうか?几帳面であったり、大雑把だったり、おちょこちょいだったり、お利口だったり…etc。ちなみに私は大雑把でおっちょこちょいです。よく周りに「抜けている」と言われてしまう始末です。こんな私ですが、なぜだか知りませんが理系にいます。理系って…意外と対極のイメージを持たれる方多いんじゃないかと思います。きっちりしていて、理詰めなど。もちろんですがゆるふわの私はそういうところで躓いてしまうことがよくあります。思想としては、「適当にうまくはできないものか?」という考えなもですから(笑)。
適当はだめだと言われます。まぁ、大概の場合悪く出ます。しかし、時には有効な手段でもあると思います。考えないでどんぶり勘定というのもある種技術だという見方があるということを主張していきたいというそういう魂胆です。例えばどんぶり勘定で一番最初に皆さんが小学校で習ったであろうものは『概算』です。市場規模をざっくり想像する技術でも『フェルミ推定』という名前で広く(一部で?)流布されていたりします。理系的な言葉で言えばそれは『近似』です。
今回はそういうわけでざっくりと『近似』するやり方を自分なり考えてみました。暇な時にぼーっと考えた僕なりの分数の近似方法と平方数の近似方法です。よければ読み進めてみてください。しかし、皆さんのお役に立つかは分かりません。なんて言っても『適当』に考えた僕なりの『近似』ですから(笑)。
分数の近似
例
ある日、『っていくつや?』という問題にぶち当たりました。僕は大体適当なので、『分母分子にを足しても大して変わらなさそうやろ。だからあたりやろ。』って思いました。
実際計算するとでした。『まぁ、あれだけ適当に計算した割にはぼちぼち合ってんな。』という感覚でした。
しかし、ここでふと思いました。『どういうときにこんな変な近似が成り立つねん。』っと。なので、少しばかりこのへんてこりんな『近似』の挙動について考えてみました。
近似の検討
分数の近似を考えるためにこんな関数を考えてみます。誤差をです。
これでを変化させたときのグラフの変化を考えます。今回は、を (上段)の場合と (下段)に分けて解析しました。
誤差の特異点の挙動
Fig.1にを変化させたときの誤差の挙動を示してみます。
上の解析からを変化させた場合、ほとんどは誤差なく近似がよくできていることが分かりました。としたいところなのですが、目盛りを見てみると一部の誤差が発散していてよくわかりません。これはの分母がとなっている時か、の分母がとなっている時にその項の効果が大きくなってしまい、が発散してしまうからだと考えられます。
を変化させたとき、特異点の位置が変わっているのは、となるがによって変化するからです。
しかし今考えたいのは誤差です。なので特異点を除いて考えていこうと思います。なので、以上の値はすべて、として解析しなおしました。
特異点を除いて誤差を考えてみる
特異点を除いてみました。Fig.2にを大きくしていったときの誤差の挙動を示してみます。
を大きくすると徐々に誤差の大きな部分が大きくなっていることが分かります。これを見ると、『分母が十分大きい中で、をいくらか加減すること』は近似としてうまくいきそうだということが分かります。 どれくらいのなら許されるのかというと、計算方法にもよりますが多分くらいが限界なのではないかと思えてきます。いやー、案外難しいですね。
平方数の近似
例
よくの近似を考える問題を見かけます。しかし、大人になって記憶もぼけてくるとなどすぐに出てきません。『開平』*1などという方法などがいくらかを忘れた人が思い出せるわけありません。
では、むかしはどうしていたか?『はさみうち』していくらくらいか『評価』していましたね。(覚えていないだと…。)例えば、だから、だという要領です。というようにこれを繰り返していけば近似はできます。しかしながら、とてもだるい。そこで今回は『連分数』を用いた近似法を考えてみました。
元ネタ
元ネタはこんな問題です。
【問題】 次の連分数極限*2の値はいくつか?
実はとある界隈では有名問題であったりします。以下に解答を示しておきます。
【解答】
とおく。
極限だから が成り立つ。
よっては、の解である。
解はである。
より、 *3が求めるべき答えである。
連分数を用いた近似法
逆にたどってみることを考えたいと思います。つまり、と見るのです。
なのですから、これを代入してあげると、となります。
三段目あたりで打ち切って『近似』してやると、
となります。収束性が悪くて若干微妙な近似になってしまいましたね(笑)。
実際にパソコンで100回の誤差を計算して収束性を見てみました。結果はFig. 3のようになります。大体20回行かないところでよく近似できているようです。(最初の誤差のブレがすごい。)
一般化
とりあえず、うまい連分数の極限を用いれば好きな平方数を表現できる。ということをもう少し考えてみたいと思います。例えばを表現する連分数を考えてみたいと思います。
その為に『元ネタ』をグッと睨みます。すると例えば僕ですと、『を解にする二次方程式をとりあえず考えてみよう!』と思うわけです。
解と係数の関係からとなるわけです。
よって、より、変形して、を得ます。
繰り返しを代入していき、の極限連分数を得ます。
なので、これの解はもちろんです。これを用いると、
を得ます。
適当なところで打ち切ればの『近似』が出来上がります。例えば、
となります。
こちらも100回くらい計算したときにどのように収束するかで誤差をFig. 4のように計算しました。Fig. 3と大体同じような挙動を示していました。
今回はについてのみ考えましたが、暇な方はについて考えてみるといいかもしれません*4。
おわりに
今回は怠惰が怠惰なりにうまく怠惰をするために怠惰の正攻法を模索した結果となりました。すべて読んだ方はお気づきかもしれませんが、『そんなこれうまくいってないんじゃないの?』や『でも実際やっぱりだるいじゃん。前のでよくね?』ってのもあると思います。それについては、『そうだよ、でもせっかく考えたんだし、とりあえず広めてみたかったんだよ!!』って返答しておきます。皆さんもふとした時にこういう風にうまくどんぶり勘定するすべを考えてみるのも楽しいかもしれませんね*5。