理想の人と出会うには [応用] | 逆ポーランド電卓の実践ウェブ rpn hacks!

逆ポーランド電卓の実践ウェブ rpn hacks!

逆ポーランド電卓rpnの実践ウェブ   
rpn hacks! アールピーエヌ・ハックスサイトマップ

rpn | 応用 | rpn電卓の高いポテンシャルはビジネス・実用・ゲームなどのアプリケーションにも対応。

HOME > 応用 > 理想の人と出会うには

hatena twitter facebook rss ソーシャルブックマーク

理想の人と出会うには

 出会いは一期一会。友人関係、雇用関係、旅先での出会い、ビジネスチャンス…。どんな出会いもかけがいのないものです。しかし、このような出会いの中でも恋愛は一番の関心事。特に恋愛の場合、基本的に二股・三股は掛けられませんし、敗者復活もありません。しかも、時間は有限です。

ところで、あなたが付き合っている彼(彼女)、付き合おうとしている彼(彼女)、結婚した彼(彼女)は、今までに出会った全ての恋愛対象の彼(彼女)のうちで、何人目の人ですか。

今の彼(彼女)が理想の人と思いたいのは人情ですが、果たして数学的にはどうなのでしょう。もしかしたら、彼(彼女)と付き合っている時に出会った別の彼(彼女)のほうが自分に合っているのではないかしら…。そんなふうに考えてはいけないと思ってもつい…ネ。

浜辺の美女問題(秘書問題)

 数学的には、このような問題を"浜辺の美女問題"とか"秘書問題"、より専門的には最適停止問題と言います。具体的な例を挙げると分かりやすいですね。男性目線でイメージしてみてください。

注釈20人の女性があなたの前を通り過ぎます。あなたはお近づきになりたいと思った美女に声を掛けます。声を掛けなかった人は二度と戻ってきません。声を掛けた後に絶世の美女が通ってももう声は掛けられません。

女性目線なら美女を美男子に変換して、イメージしてみてください。

注釈20人の男性があなたの前を通り過ぎます。あなたはお近づきになりたいと思った美男子に声を掛けます。声を掛けなかった人は二度と戻ってきません。声を掛けた後に理想の男性が通ってももう声は掛けられません。

美女の尺度は人によって異なるので自由でよいのですが、この人は通過したうちで何番目に美女だと重複なく決定できること、通過する人数も有限だということが条件です。この条件でなるべく美しい女性に声を掛けたい。

さぁ、あなたはどんなふうに声を掛けますか。1番目でいきなり声を掛けるのはもったいない気がします。もっとキレイな人が後から来るかもしれませんから。しかし、選り好みし過ぎると20番目の女性に声を掛けるしかなくなります。とても美女とは思えないとしてもです。

rpnで最適停止問題を計算

 このアルゴリズムは計算の過程が煩雑なので、rpnプログラムにまとめてあります。

最適停止問題プログラムのダウンロード

  • 最適停止問題プログラムのZIPファイルをダウンロードしてください。
  • ダウンロードしたZIPファイルをダブルクリックするとchoice.objが表示されます。
  • choice.objを格納したいフォルダにドラッグすると以下のダイアログが出てきます。
  • パスワードを入力してください。一致していれば、choice.objが解凍されます。
      ※choice.zipのダウンロードはこちら


  +-------------------------------------------------+
  |  パスワードの入力                                  |
  +-------------------------------------------------+
  |                                        +-----+  |
  |  ファイル'choice.obj'はパスワードで保護され   | OK  |  |
  |  ています。 パスワードを入力してください。  +-----+  |
  |                                                 |
  |              +----------------------+  +-----+  |
  |  パスワード(P): |                      |  |キャンセル|  |
  |              +----------------------+  +-----+  |
  +-------------------------------------------------+


 ※パスワードは講座サポートpasteプログラムのダウンロードと同じです。

ここでは、c:\rpnディレクトリにobjファイルが保存してあるものとして説明します。DOSプロンプトを起動して、c:\rpnまで移動してください。

最適停止問題プログラムの使い方

 rpnプログラム名はchoiceです。プログラムに全体の人数と通過した(目の前にいる人も含む)の数を指定すると計算してくれます。さっそく1番目の人で計算してみましょう。

  >rpn 1 20 -c choice
  1 0 3.00173


計算結果の最初の数字は目の前の人も含めて通過した人数で、次の数字はランキングの順位、最後の数字はランキングの期待値です。

難しく考えずに真ん中の数字を見ます。例えば数字が5なら目の前の人がランキングで5位以内なら声を掛ければいいのです。0なら声を掛けず見過ごします。すると、1番目の場合は見過ごしですね。

75%の確率で美女ベスト3にアタック

 この調子で通過する人数を全て計算します。1つ1つ計算するのは面倒なので、通過する人数のデータを作ってから、choiceプログラムに渡すと一気に計算できます。

  >rpn @n 1 + #n @n -r 19 | rpn 20 -c choice
  1 0 3.00173
  2 0 3.00173
  3 0 3.00173
      :
    (中略)
      :
  17 5 6.61623
  18 7 8.01316
  19 10 10.5


結論を言うと、5人目まではどんなに美女が通っても絶対に声を掛けてはいけません。そして、6人目が今まででランキング1位だったら声を掛けます。10人目までは同じように1位狙いです。

11人目からはランキングが2位以内に範囲を広げます。その後は、14人目からはランキングが3位以内、16人目からは4位以内。17人目からは5位以内。18人目だと7位以内、19人目だと10位以内で声を掛けます。

期待値よりもよいランキングを狙う戦略です。

まとめると次のような表になります。上段が通過する順番で下段が声を掛けるランキングです。

  +-----------+------------+----------+-------+---+---+---+---+
  | 1 2 3 4 5 | 6 7 8 9 10 | 11 12 13 | 14 15 | 16| 17| 18| 19|
  +-----------+------------+----------+-------+---+---+---+---+
  |     0     |     1      |    2     |   3   | 4 | 5 | 7 | 10|  
  +-----------+------------+----------+-------+---+---+---+---+


最後の方になるとランキングの許容度が上がっている(美女に対する妥協度が増える)のが分かります。グラフでも見てみましょう。

  >rpn @n 1 + #n @n -r 19 | rpn 20 -c choice | rpn _ >tmp
  >xyp -x,19 -y,10 -s1,1 -m <tmp
  ^y 10                                  *
  |
  -
  -
  |                                   *
  -
  |
  -                                 *
  -
  |                               *
  -                           * *
  -
  |                     * * *
  -           * * * * *                  x
  |o                                     19
  +-*-*-*-*-*-|-|-|-|--|-|-|-|-|-|-|-|-|->


横軸が通過する人の数、縦軸がランキング順位です。5人目までは0なので見過ごしです。全部で20人なので5/20で25%を見逃せと指示していることになります。

6人目から10人目まではランキングが1位だと思ったら声掛けです。グラフで見ると終盤になるとランキング順位が上がっていくことが分かりますね。大体、15人くらいまでには声を掛けないとベスト5の美女は期待できません。

これが数学的に安定して上位の美女に声を掛ける方法です。より具体的には、美女ランキング3位までの人にアタックできる確率は15/20で75%。75%の確率でベスト3の美女と付き合えるなら、この方法を採用しないわけには行かないですね。ただし、相手がOKしたらの話ですけど。

気長に100人の女性を眺めたら

 ところで、夏真っ盛りの浜辺で20人しか通り過ぎないなんてことはないはずです。100人は余裕で通り過ぎるでしょう。その場合の最適な戦略はどうなるのでしょうか。20人のケースとは異なるのでしょうか。

さっそく、グラフ化してみましょう。

  ^y 50                                  *
  |
  -
  |                                     *
  |
  -
  |                                     *
  |                                    *
  -                                    *
  |                                   **
  |                                  **
  -                                 **
  |                              ****
  |                         ******       x
  |o         ****************           99
  ***********-|-|-|-|-|-|-|-|-|-|-|-|-|-|>


実際にchoiceプログラムで実行してみると分かりますが、27人までは見過ごします。27/100だから27%に相当します。それでは1000人だったら…。

現実的な人数で考えると、全体の約1/4(25%)はランキングだけ更新しながら見過ごすことになりますが、人数が十分に大きいとき、見過ごす数は1/eに収束します。1/eは0.367879なので、全体の人数の37%をウォッチしてから判断を下すことになりますね。

人生で出会える理想の人の数

 さて、浜辺で声を掛けるくらいならいいのですが、人生の伴侶選びとなるとそう簡単にはいきません。容姿だけでなく経済力、そして性格など目に見えない要素も大切になってきます。実際、異性として魅力のある年代で、かつ出会った相手が恋愛の対象となるかと考えると、出会える数は限られてきます。

あくまで一般論ですが、特に女性の場合は出産の可能性を加味すると20歳から40歳までの20年くらいになるかもしれません(15歳から45歳なら30年)。1年に1回くらいは、ときめく異性と出会えると考えても、一生で20人です。

現実には環境にもよりますが、理想の人との出会いは多くても数年に1度くらいでしょう。すると伴侶になるかもしれない異性に出会えるのは、一生で10人以下なのかもしれません。

仮に10人にしか出会えないとすると、運命と思える異性と出会っても「3人は黙って見過ごせ」と計算結果は示します。でも、流石にこのアドバイスを実行するのは勇気が必要ですね。

10人の場合のrpn式は「rpn @n 1 + #n @n -r 9 | rpn 10 -c choice」です。
伴侶になるかも知れない人との出会い数(10回)が正しいとします。占い師ならそれとなく過去の恋愛を聞きだして、3人いないようなら「今の人は運命の人ではありません。神様は次の出会いを用意しています」とでも言えば、当たらずとも遠からずになるのかもしれません。
最適停止問題から考えると、異性と出会えるチャンスがあまりない人同士の恋愛は、互いに理想の相手に近い可能性が高いような気がします。5人しか出会わないと仮定すれば、2人目から今までで一番と思う人と付き合えばよいのですから。

ちなみに、告白して後悔するよりも告白しないで後悔するほうが、心理的なダメージは大きいそうです。一度きりの人生、数学的に割り切れるものではなさそうですね。

応用応用コーナーに戻るLinkIcon

情報選択する対象が有限で全て同時に判断できる場合、AHPという合理的な決定方法があります。詳しくは、実践コーナー数学アラカルト後悔しない意思決定にAHPにあります。興味のある方は閲覧ください。

警告rpnプログラムを実行するには、rpn試用版かrpn標準版が必要です(バージョンの違いはこちら)。

記事閲覧ランキング (毎月初更新)

人気記事(過去1ヶ月閲覧数)

広報アプリケーションを公開中!タブ「i~v..」をご覧ください。

※応用コーナーのTOP

紹介 rpnの利用シーンはこちら…

講座初めての人のrpn基礎もどうぞ
講座しっかり学べるrpn入門もどうぞ
講座すぐに使えるdos入門もどうぞ

実践他の分野への挑戦は実践TOP

i

アプリケーションで楽しもう

広報アプリケーションを公開中!タブ「i~v..」をご覧ください。

※応用コーナーのTOP

講座初めての人のrpn基礎もどうぞ
講座しっかり学べるrpn入門もどうぞ
講座すぐに使えるdos入門もどうぞ

実践他の分野への挑戦は実践TOP

ii

アプリケーションで楽しもう

広報アプリケーションを公開中!タブ「i~v..」をご覧ください。

※応用コーナーのTOP

講座初めての人のrpn基礎もどうぞ
講座しっかり学べるrpn入門もどうぞ
講座すぐに使えるdos入門もどうぞ

実践他の分野への挑戦は実践TOP

iii

アプリケーションで楽しもう

広報アプリケーションを公開中!タブ「i~v..」をご覧ください。

※応用コーナーのTOP

講座初めての人のrpn基礎もどうぞ
講座しっかり学べるrpn入門もどうぞ
講座すぐに使えるdos入門もどうぞ

実践他の分野への挑戦は実践TOP

iv

アプリケーションで楽しもう

広報アプリケーションを公開中!タブ「i~v..」をご覧ください。

※応用コーナーのTOP

講座初めての人のrpn基礎もどうぞ
講座しっかり学べるrpn入門もどうぞ
講座すぐに使えるdos入門もどうぞ

実践他の分野への挑戦は実践TOP

v …

アプリケーションで楽しもう

広報アプリケーションを公開中!タブ「i~v..」をご覧ください。

※応用コーナーのTOP

講座初めての人のrpn基礎もどうぞ
講座しっかり学べるrpn入門もどうぞ
講座すぐに使えるdos入門もどうぞ

実践他の分野への挑戦は実践TOP

書籍紹介

記事に関連した書籍

本ウェブサイトで扱った話題に関連した書物で、スタッフが実際に読了したものを紹介。

書籍数学の書籍
数の世界は思ったよりもエキサイティング

書籍投資の書籍
失敗しない投資には広範囲で実践的な知識が必要

警告バックスラッシュはエンマークに読み替えて下さい(IE)。
バックスラッシュとエンマーク

警告文字で作られた図表や式が崩れることがあります。ブラウザによっては固定幅フォントをMSゴシックにするときれいに表示されます。それでも崩れる場合は図表や式をメモ帳にコピー後、閲覧下さい。

警告rpn試用版と標準版(2kリビジョン)はダブルクォートで囲って下さい。

rpn 1 2 + ⇒ rpn "1 2 +"
rpn 1 -c foo ⇒ rpn "1" -c "foo"

ダブルクォートは省略できることが多いのですが、慣れない間は囲んだほうが無難です。なお、本ウェブサイトの記事ではrpn標準版(98リビジョン)を使用しているため囲っていません。詳しくは技術サポートの「rpn TIPS参照ください。

注意rpnの障害情報はこちら

警告rpn試用版の場合、複雑なプログラムや処理時間のかかるプログラムの一部には動作しないものがあるかもしれません。あくまで無料提供であることを勘案・了承ください。rpn標準版は、すべてのプログラムが動作します。