BLOG

恋愛のアルゴリズム

2014年10月01日 14時10分 JST | 更新 2014年11月30日 19時12分 JST
Dimitri Otis via Getty Images

先日、NHKのEテレで放送された「世界を変える魔法!アルゴリズミ子研究所」にゲスト解説者として出演させていただきました。

その中に、有野晋哉さんが父親、橋本環奈さんが娘、という設定で、「必ず誰かと結婚しなければいけないという前提で5人の男性と順番にお見合いをする場合の最適のアルゴリズムを考える」という寸劇を演じてもらった後に私が解説する、というセクションがありました。

最適解を提示する機会はあったのですが、なぜそんな数字になるのかの説明が時間の都合で割愛されてしまいました。最初は、私のメルマガで詳しく解説する予定でしたが、このアルゴリズムは出来るだけ多くの人に知って頂きたいので、この場を借りて解説したいと思います。

前提条件は、

  • 5人と順番にお見合いをして、そのうち誰かと結婚しなければいけない
  • 一度パスした人に戻ることは出来ない(二股はかけられない)
  • それぞれの人に100点満点で点を付けることが出来る
  • 0点から100点まで均等分布である
  • 相手は断らない

というものです。

この場合、期待値を最大にするアルゴリズムは、

一人目:74点以上だったら結婚する

二人目:70点以上だったら結婚する

三人目:63点以上だったら結婚する

四人目:51点以上だったら結婚する

五人目:目をつぶって結婚する

となります。

どうしてこんな数字になるかは、最後の一人(五人目)から遡って考えれば分かります。

五人目は目をつぶって結婚するので、期待値はちょうど50点になります。すると最後から二人目(四人目)とお見合いした場合、その期待値よりも上の人(つまり51点以上の人)であれば結婚すべきなのです。

この場合の期待値は、

四人目の人が51点以上である確率=50%

四人目の人の点数の平均=75

五人目の人と結婚する確率:=50%

五人目の人の点数の平均=50

となるので、75×0.5 + 50×0.5 = 62.5 点になります。

この数字から、最後から三人目の人とお見合いした場合は、その期待値よりも上の人(つまり63点以上の人)であれば結婚すべきなのです。

こんな風に順番に計算して行くと、先の「答え(=アルゴリズム)」にたどり着くのです。

実際の恋愛の場合には、必ずしも相手との相性を数値化出来ないし、相手の意思も尊重しなければならないので、このアルゴリズムがそのまま適用できるわけではありませんが、「あまり高望みをすると適齢期を逃す」「ある程度の年齢になると贅沢は言っていられなくなる」ことがこれで証明出来たと思います。