赤い封筒のアルゴリズムを解読せよ!なぜ他人はいつも一番幸運に恵まれるのでしょうか?

赤い封筒のアルゴリズムを解読せよ!なぜ他人はいつも一番幸運に恵まれるのでしょうか?

監査専門家:鄭元凡

鄭州軽工業大学教授

毎年、旧正月になると、紅包が大量に送られてきます。そう考えると少しワクワクしてきませんか?

しかし、同じ赤い封筒で、他の人はいつも「最高の幸運」を手にしているのに、あなたは 10 セントか 50 セントしかもらえないのはなぜでしょうか...

携帯電話で紅包を受け取るのは本当に公平なことでしょうか?

赤い封筒を開けた瞬間に携帯電話で何が起こるでしょうか?

赤い封筒の裏にはどんな知られざる科学的原理が隠されているのでしょうか?

出典: Tuchong Creative

実際、赤い封筒を掴むためのアルゴリズムは厳密かつ複雑です。公平性を確保し、興味深く、現実のさまざまな予期しない状況を考慮に入れる必要があります。

WeChatであれ、他の決済プラットフォームであれ、紅封筒アルゴリズムは企業秘密であり、その背後にある原理を知るすべはありません。

機密性は高いものの、いくつかの基本的なアルゴリズムからは逃れられません。実際の赤い封筒の配布アルゴリズムも、いくつかの基本的な単純なアルゴリズムに基づいて継続的に改善されています。

それでは、赤い封筒機能を実装するためのいくつかの可能なアルゴリズムを紹介します。

手の速さに依存する赤い封筒

この質問を初めて聞いたとき、一部の人はこう思うかもしれません。「赤い封筒に入っている合計金額と人数は事前に設定されているので、「赤い封筒を開く」をクリックしたときに、各人に一定の金額をランダムに割り当てるだけでよいのではないでしょうか。」

唯一注意すべきことは、すべてのお金が盗まれるまでは、この金額は合計金額よりも大きくも、1 ペニー未満にもならないということです。

一見シンプルで完璧な紅包の配布方法には、実は大きなバグが隠れています。紅包を最初に開けた人が、より多くの金額を受け取る可能性があるのです。なぜこのようなことが起こるのでしょうか?

赤い封筒を手に取る際に、各人にランダムに金額が割り当てられますが、これは公平であるように思われます。ただし、常に「先着順」の原則が適用されます。

100元の赤い封筒があると仮定しましょう。最初の人には、0.01元から100元までの一定額がランダムに割り当てられます。最初の人が引いたすべての金額の平均を取ると、平均50元が手に入ります。

この50元には数学では数学的期待値と呼ばれる鮮明な名前があります。 「期待」である以上、期待に沿わないことも必ずあるでしょうが、予想外のサプライズが起こる可能性も否定できません。したがって、最初の人が引き出す金額は50元未満または50元を超える場合があります。

最初の人が23元をつかんだと仮定すると、赤い封筒には77元しか残りません。 2 番目の人が運が良かったとしても、77 元に非常に近い値しか取得できません (後で紅包を取得したい人が他にもいる場合)。これは、最初の人が受け取ることができた最大金額(100 ドルに非常に近い)よりも少ない金額です。

前述の「数学的期待値」法で計算すると、2人目は平均38.5元しか得られず、明らかに不公平です。

赤い封筒を取るゲームが進むにつれて、赤い封筒を取るのが遅い人ほど、赤い封筒に残る合計金額が少なくなり、平均して得られる利益も少なくなります。 「サプライズ満載」「ワクワクドキドキ」のはずだった紅包取りゲームは、いつの間にか「手速競争」「ネットワーク速度競争」に変わっていった。

しかし、最初に赤い封筒を開ける前に、金額をあらかじめ割り当てて、順番をランダムにシャッフルするというこの方法には、改善の余地があります。

これは、紅包を送った人が支払いに成功した後、携帯電話が自動的に指定された数の模擬人物を生成し、ランダムに分配された金額方式に従って紅包内のすべてのお金を一人ずつ受け取るようにするのと同じです。前述のように、赤い封筒を最初に掴んだシミュレーション上の人物は、後で赤い封筒を掴んだシミュレーション上の人物よりも平均して多くのお金を獲得します。

このとき、これらの「模擬人物」の順番をランダムにシャッフルしました。本物の人間が赤い封筒を開けると、これらの「模擬人物」は、奪ったお金をシャッフルした順番で電話を操作している本物の人間に手渡します。このように、事前に割り当てて順序をシャッフルすることで、金額がどんどん少なくなってしまう問題を解決することに成功しました。

「雨露は平等に分け合う」赤い封筒

紅包を取る公平性を高めるために、「二重平均法」と呼ばれる別の紅包アルゴリズムを提案する人もいます。

皆さん、この高級な名前に怖気付かないでください。この方法の原理は非常に単純で、各人が引き出せる最大金額を強制的に下げるというものです。たとえ最初に紅包を開封した人であっても、0.01元から100元までの金額を勝手に引き出すことはできません。

出典: Tuchong Creative

では、各人が引き出せる最大金額はどのように決まるのでしょうか?

紅包の合計金額が100元で、20人がそれを受け取るとします。均等に分配すれば、一人当たり5元もらえます。この数字に2を掛けると、最初の人が引き出せる最大金額である10元になります。これは「二重平均」という名前の由来でもあります。

この方法を使用すると、最初の人は0.01元から10元の間で特定の金額をランダムに引き出すことしかできません。平均すると、彼が引き出す金額の期待値は 5 元です。運が悪く 4 元を引いたとすると、2 番目の人が赤い封筒を開ける番になったときに、96 元が残ります。

同様に、96 元が 19 人で均等に分割され、各人が平均約 5.5 元を受け取ると仮定します。この数字に2を掛けると、2人目が受け取れる最大額は10.10元になります。彼は0.01元から10.10元の間で一定の金額をランダムに引き出すことしかできません。彼が引き出せる金額の平均額は約5.05元です。

2 番目の人が非常に幸運で 6 元を獲得した場合、3 番目の人は 0.01 元から 10 元を獲得し、数学的な期待値は 5 元になります。

同様に、最初に紅封筒を開けた人でも、19番目に開けた人でも、もらえる最大金額はほぼ同じで、平均するとほぼ同じ金額がもらえる可能性があることがわかりました。これにより、紅封筒を手に入れる公平性が大幅に向上します。

それで、この赤い封筒アルゴリズムは最高なのでしょうか?

ご存知のとおり、このような「平等に分配する」赤い封筒は公平感が強いですが、多くのサプライズも犠牲にしています。

紅包の金額と人数がわかれば、大体の利益を見積もることができます。たとえ今日私たちが「幸運な人」だったとしても、彼が受け取れるお金は事前に計算された上限を超えることはないでしょう。

では、赤い封筒を手に入れるプロセスを公平かつ楽しいものにするにはどうすればいいのでしょうか?以下の方法をご覧ください〜

「ロープカット」のインスピレーション

私たちは数字を使った「ゲーム」をたくさんやりました。さて、数字を脇に置いて、人生を見てみましょう。

100 は 100 元を表すほか、100 メートルのロープなど、さまざまな意味を持ちます。

したがって、100 元を表すには 100 メートルのロープを使用するほうがよいでしょう。赤い封筒を掴む人が 20 人いる場合は、ロープにランダムに 19 個の切り込みを入れて、完全にランダムな長さの 20 個の部分に分けます。次に、各人がランダムに 1 つの部分を担当します。ロープが長いほど、より多くのお金を表します。

上記の状況をロープ切断問題に適用するとどうなるでしょうか?

金額をランダムに分配する最初の方法は、はさみを左から右にランダムに 19 回切り、各切り口を 1 人に直接渡すようなものです。

改良されたランダム配布方法は、最後の 20 本のロープを黒い箱に入れて均等に振って、受け取った人がくじ引きのように箱からロープを引けるというものです。

「二重の意味での方式」は、やはりロープを左から右に切って、切りながら全員に配る方式です。ただし、各セグメントの最大長は厳しく制限されています。

この例えを踏まえて、何か新しい配布方法を思いつきましたか?

「左から右に切る」というルールを破って、100 メートルのロープをランダムに 19 回切断し、20 本のロープを順番に各人に配布したらどうなるでしょうか。

出典: 著者自身

左右の順番に左右されないため、ロープの長さに制限がなく、紅包を掴む驚きが保たれます。さらに、19 枚の赤い封筒はランダムに切り取られて配布されるため、赤い封筒を開封する順序は金額に影響せず、公平性が確保され、双方にとって最良の結果がもたらされます。

皆さんはこのような類推的な考え方が興味深いと思いますか?赤い封筒を掴む原理を別の視点から理解できるだけでなく、新しい方法を発見するための新しいアイデアも提供します。

実際、WeChat 紅包の実際の動作原理は、ここで紹介したいくつかの方法よりもはるかに複雑です。見落としがちですが、結果に大きな影響を与えるいくつかの詳細が含まれます。

たとえば、人民元での最小金額は0.01元です。ランダムに生成された赤い封筒の金額が0.01元未満にならないようにするにはどうすればよいですか?幸運に恵まれた最初の数人が紅包のお金の大半を持ち去り、残された人々は平均0.01元も手に入らないことになるのだろうか?

実際にはこのような細かい問題が多くあり、現在使用しているWeChatの紅包配布アルゴリズムは必ずしも最も完璧というわけではありません。バージョンの更新とアルゴリズムのアップグレードに伴い、紅包配布アルゴリズムのロジックも少しずつ改善されています。

出典: デジタル北京科学センター

<<:  ヒットTVシリーズで爆発が繰り返されるのはなぜか?

>>:  春節中に食べたり飲んだり楽しんだりすることに罪悪感を感じていますか?ならば、これらの方法を早急に学ぶ必要がある

推薦する

こんにゃく粉とは何ですか?

こんにゃく粉はこんにゃくから作られた粉なので、こんにゃく粉が何であるかを知りたい場合は、まずこんにゃ...

人間の時間計測の「限界」は、数十億年にたった 1 秒の誤差です。宇宙で最も正確な時計を発見

昨年10月、孟天実験モジュールの打ち上げが成功し、ランデブー、ドッキング、移送が順調に完了し、中国の...

なぜ小麦粉は昔ほど良い香りがしなくなったのでしょうか?添加物を加えても安全ですか?真実は…

小麦粉は私たちがよく食べる食べ物です。餃子、饅頭、花巻き、饅頭、ケーキなどは、すべて切り離せないもの...

eMarketer: インドにおける旅行予約販売はB2C電子商取引の83%を占める

インドの電子商取引市場は急速に成長しているが、同国のオンライン小売の80%は旅行予約業界によるもので...

風力タービンにはなぜ 3 枚のブレードが必要なのでしょうか?これは風力エネルギー変換の効率に関係している

昔ながらの扇風機は3枚の羽根で構成されています。数日前、家にあった古い扇風機がついに壊れてしまったの...

研究結果:辛い食べ物を定期的に食べると、がんや死亡のリスクが軽減される!ただし、正しく食べることが前提条件です。

人生には、辛い食べ物が大好きな人もいれば、辛い食べ物を全く食べない人もいます。辛いものを食べない人の...

ジンジャーティーダック

ジンジャーティーダックのレシピはとても簡単です。レシピをステップごとに実行するだけで、間違いなくおい...

キンモクセイの効能

キンモクセイは多くの人に愛されています。この種の花は非常に魅力的な香りがあり、開花すると非常に美しい...

血液の架け橋を築く:小口径人工血管の開発における画期的な進歩

人々の生活水準が向上するにつれ、喫煙、飲酒、夜更かし、運動不足などの不健康な生活習慣が人々の日常生活...

お父さんにゆかりのある花や木をいくつ知っていますか?

母の日といえば、カーネーションやデイリリーなど、母親にまつわる植物を思い浮かべる人が多いでしょう。し...

「起きたら不機嫌」、何に怒っているの?

満足のいく結果が得られない: 怒り!気に入ったバッグが手に入らず、怒る!大好きなCPの壁が崩れた:怒...

糖尿病患者がラクダのミルクを飲むのは本当に良いのでしょうか?

編纂者:Gong Zixin糖尿病患者は心臓病、脳卒中、高血圧、その他の心血管疾患のリスクが高いこと...

ハリウッド女優のテスラ車が火災、電気自動車のバッテリーの安全性が再び疑問視される

米国時間6月16日金曜日、かつて有名な政治ドラマ「ザ・ホワイトハウス」に出演したアメリカ人女優のマコ...

ウィークリーテクノロジーアワード|深海にドライブして未知を探索

近年、航空宇宙技術の発展により、人類は宇宙探査においてますます遠くまで進んでいますが、地球上の最も深...