fc2ブログ
     人間の感覚は思う以上に正確で優秀だが、苦手分野ももちろんある。

     そのひとつが頻度や確率を取り扱うことである。


     したがって確率計算は、常識や日常感覚から外れることが多い。だからこそ確率は有益である。

     以下では、問題自体に実用の含みはないが、常識や日常感覚との齟齬の大きさが啓発的だ(=びっくりすると忘れにくい)と思われるものを紹介する。



     考えるのは、この記事のタイトルに掲げた「クレオパトラの最後の吐息の一部を今あなたが吸い込む確率」である。

     我々は、ラプラスの魔ほども全知ではないから、推測するにはいくつかの仮定をおかなくてはならない。
     クレオパトラと我々を隔てる2千年余りの月日は、彼女の吐息に含まれる分子が大気全体に拡散するには十分な長さであり、しかしまたそれら分子が消えたり地球外に出て行くほどには長くない、と考えよう。
     こうしておくと、問題は、たくさんの(たとえば100個)玉の中に数個(たとえば3個)の色の違った玉が混じっていて、そこから数個(ここでは3個)取り出したときに色の違った玉が出てくる確率を計算する、教科書に頻出のものと、本質的に同じになる。


     『理科年表』をひっくり返す手間を省くために、数値を示しておこう。
     大気全体は、分子の数で数えると1044個ある。
     一方、我々が一回の呼吸で肺を出入りする空気を0.4リットルとすると、1モルに含まれる分子の数は約6.02×1023個(=アボガドロ数)、また1モルの理想気体は標準状態(STP)ではおよそ22.413 L(リットル)だから、そこに含まれる分子の数は

       
     
    である。
     両者は桁違いに違うので、呼吸する空気の方は1022個としてしまっても、計算に大した差はないだろう。

     ここまで来れば、あとは極めてシンプルな計算が残るだけである。
     いま大気全体の分子の数1044個の中に、クレオパトラの最後の吐息が1022個まじっている。
     したがって大気からランダムに分子1つを選んだとき、それがクレオパトラの最後の吐息に含まれなかった確率は、


       


    である。

     あなたは一息で、分子の数1022個分の空気を吸い込むから、上の確率を1022個分かけたものが、あなたが今吸い込んだ空気の中にクレオパトラの最後の吐息が含まれない確率となる。すなわち、


       


     この確率がどれくらいなのかを具体的に求めたい。
     ただ計算すればよいのだが、そのまま入力しても普通の電卓はギブアップするだろう。実は、フリーの数式処理システムであるMaximaもギブアップした。

     計算の工夫に移る前に、Wolfram Alphaに問いかけよう。この種の問題に初めて触れた人には驚くべき結果が得られる。

    fromWolfram.png


     これは「あなたが今吸い込んだ空気の中にクレオパトラの最後の吐息が含まれない確率」だった。
     「あなたが今吸い込んだ空気の中にクレオパトラの最後の吐息が含まれる確率」を求めるには、1からこの0.3678...を引けばいい。
     つまり今あなたが一息吸えば、その中にクレオパトラの最後の吐息の一部が含まれる確率は6割を超える。




    問題解決への数学問題解決への数学
    (2001/02)
    Steven G. Krantz

    商品詳細を見る


    この問題の初出は、Steven G. Krantzによれば、以下の文献である。

    Jeans, James Hopwood. (1940). An Introduction to the Kinetic Theory of Gases. Cambridge University Press.

    近年、以下の復刻が出ている。


    An Introduction to the Kinetic Theory of Gases (Cambridge Library Collection - Physical  Sciences)An Introduction to the Kinetic Theory of Gases (Cambridge Library Collection - Physical Sciences)
    (2009/07/20)
    James Jeans

    商品詳細を見る




    (補記)Maximaでやってみた


    (%i1) S(n):=(1-1/n)^n;
    (%o1) S(n):=(1-1/n)^n

    (%i2) S(10^22);
    Maxima encountered a Lisp error:
    The absolute value of 10000000000000000000000 exceeds limit 100000.
    Automatically continuing.
    To enable the Lisp debugger set *debugger-hook* to nil.

    (%i3) S(10^22),numer;
    (%o3) 1.0

    (%i4) for i:1 thru 22 do
    print("n=10^",i,"---",ev(S(10^i),numer) )$

    n=10^2---.3660323412732292
    n=10^3---.3676954247709637
    n=10^4---.3678610464329705
    n=10^5---.3678776017682465
    n=10^6---.3678792572210665
    n=10^7---0.367879422971105
    n=10^8---.3678794374835395
    n=10^9---.3678794513918439
    n=10^10---.3678794107145681
    n=10^11---.3678794107311227
    n=10^12---.3678875793873098
    n=10^13---.3677650686124175
    n=10^14---.3681735965958847
    n=10^15---.3681735965958863
    n=10^16---.3294854695069476
    n=10^17---1.0
    n=10^18---1.0
    n=10^19---1.0
    n=10^20---1.0
    n=10^21---1.0
    n=10^22---1.0

    (%i5) 'limit(S(x), x, inf) = limit(S(x), x, inf);
    (%o5)


    (%i6) 1/%e,numer;
    (%o6) .3678794411714423



    関連記事
    Secret

    TrackBackURL
    →https://readingmonkey.blog.fc2.com/tb.php/632-24fe0a85