羊年春節期間中のWeChat紅包の人気は明らかで、広告主は現金紅包に5億円を投入し、CCTVの羊年春節祝賀会との独占協力はイベントの宣伝に大きな役割を果たした。これは強壮剤のようなもので、短期間でWeChatに大きな注目とトラフィックをもたらしました。大晦日にWeChatユーザーが送った紅包の総数は10.1億回に達し、シェイクインタラクションの回数は110億回に達し、紅包の送信回数のピークは1分間に8.1億回に達した。 WeChat紅包の市場価値はさておき、紅包自体のアルゴリズムも白熱した議論を巻き起こしています。公式が明確な声明を出していないため、さまざまな意見があります。編集者も以下にいくつかの分析をお届けします。 まずはデータ分析の帝王を見てみましょう ほとんどの人は独自の推測を行いますが、これは内部のランダム化アルゴリズムがわからない場合の唯一の選択肢ですが、ほとんどの人は独自の調査結果を提供しません。ここに 100 サンプルの調査サンプルデータがありますので、ご自身で推測してみてください。 1. ウォレット内の金額は、切り捨て正規乱数分布を満たします。大まかに言えば、切り捨て正規分布から乱数を取り出し、その合計を合計値で割って補正係数を取得し、次に補正係数をすべての乱数に掛けて赤い封筒の値を取得します。 この分布は、平均より低い赤い封筒は多いが、平均からそれほど離れていないこと、平均より高い赤い封筒は少ないが、平均よりもはるかに高い赤い封筒が多いことを意味しています。 図1. ウォレット値とその頻度分布ヒストグラムと正規分布 しかし、分布ヒストグラムを見ると、正規分布に準拠しているとは言えませんが、プログラムの単純さと乱数の合理性を考慮すると、これが最も合理的な推測です。 ウォレットが新しいほど、価値が高くなります。 図2. ウォレットのシーケンス番号とその値の関係を示す曲線 図 2 の線形フィッティングの赤い線から、ウォレット値の全体的な傾向はゆっくりと増加しており、その変化の範囲は緑の点線の上限と下限によって描かれた「チャネル」とほぼ一致していることがわかります。 (曲線がこのような従来の「チャネル」で囲まれるという事実は、ルール1の合理性を側面から反映しており、均一に分布した乱数ではないことを示しています) このパターンは、平均値の別のグラフからも確認できます。 図3. シーケンス数に応じて変化する平均値の曲線 サンプルでは、価値が 1,000 のウォレットが平均 10 の 100 個の部分に分割されます。しかし、図 3 を見ると、最後のウォレットの前では平均値が常に 10 未満であったことがわかります。これは、最初のウォレットの価値が低く、より価値の高い後のウォレットの価値によって常に引き上げられたことを意味します。 3. もちろん、平均グラフは別のパターンも明らかにします。つまり、最も多くの抽選回数を獲得した人は幸運で、より多くの抽選を行うことが多いということです。最初の人は財布に残っているものをすべて取り、前の人全員の平均は 10 未満なので、少なくとも最初の人は平均を上回ることが保証されます。このサンプルでは、ウォレット 98 は 35 を引き、最後のウォレットは 46 を引きました。 要約すると、サンプルの推測に基づくと次のようになります。 1. ほとんどの場合、引き出す金額は他の人と同じですが、一度増えると、簡単にはるかに多くなる可能性があります。 2. 財布の後ろの方から引き出すほど、より多くのお金を取り出しやすくなります。 3. ***人にとって幸運を得るのは簡単なことであることが多い。 コメント: これは明らかに非常に実用的で、違いがあります。いつ手に取っても、数セントしかかかりません。 2人目の学生は簡単なPythonコードを書いた 赤い封筒の配布は、以下の点を満たしていることが確認されています。 1. お金に困る人はいない 2. 事前に配布されません 3. お金は大きく変動する 配布計画は、赤い封筒が最初に作成されたときに決定されます。赤い封筒をつかむと、封筒が一つずつ飛び出てきます。 したがって、Python コードは次のようになります。
ただし、上記のアルゴリズムには 2 つの小さな問題があります。 1. 浮動小数点精度の問題 2. 境界値処理 3人目の学生は、インターネットで流通しているPythonバージョンに基づいてJavaバージョンを作成しました。
4番目の学生が提案したアルゴリズムは非常に科学的であるように思われます。 彼はこう信じている。 1. 誰もが紅包を受け取れるようにする。 2. 各人が受け取った紅包の金額の合計 = 合計金額 3. 各人が受け取る紅包の数は異なりますが、あまりに違うとつまらないものになります。 4. アルゴリズムは単純でなければなりません。そうでなければ、Tencent の評判に応えられません。 正式なコーディングの前に、ルールを分析するための漸進的なモデルを構築する 合計金額を10元に設定すると、N人がランダムに受け取ります。 1 です すると、紅包の金額はX元になります。 2倍 2番目の赤い封筒が正常に発送されるように、最初の赤い封筒の金額 = 0.01〜9.99の間の乱数 2 番目の赤いパケット = 10 - 最初の赤いパケットの金額; 3 倍 レッドパケット1 = 0.01から0.98の間の乱数 赤い封筒 2 = 0.01 から (10 - 赤い封筒 1 - 0.01) までの乱数 赤い封筒 3 = 10 - 赤い封筒 1 - 赤い封筒 2 …
入力してみると、変動が大きすぎてデータがつまらない! 最初の赤い封筒:7.48元、残り:2.52元 2つ目の赤い封筒:1.9元、残高:0.62元 3つ目の赤い封筒:0.49元、残高:0.13元 4番目の赤い封筒:0.04元、残高:0.09元 5番目の赤い封筒:0.03元、残高:0.06元 6番目の赤い封筒:0.03元、残高:0.03元 7番目の赤い封筒:0.01元、残高:0.02元 8番目の赤い封筒:0.02元、残高:0元 平均値をランダムな安全上限として使用してボラティリティを制御することで改善する
出力結果は下の図のようになります。 最初の赤い封筒:0.06元、残高:9.94元 2つ目の赤い封筒:1.55元、残高:8.39元 3つ目の赤い封筒:0.25元、残高:8.14元 4番目の赤い封筒:0.98元、残高:7.16元 5番目の赤い封筒:1.88元、残高:5.28元 6番目の赤い封筒:1.92元、残高:3.36元 7番目の赤い封筒:2.98元、残高:0.38元 8番目の赤い封筒:0.38元、残高:0元 まとめ: 編集者は、これは赤い封筒によって引き起こされた殺人として完全に理解できると考えています。編集者はほんの一部を挙げただけです。一部の工学部の学生は、数学モデル、離散関数などを直接投げ出しましたが、アルゴリズムが単純であろうと複雑であろうと、楽しむには十分です。 |
<<: プログラマーが知っておくべき10の基本的な実用的なアルゴリズムとその説明
>>: Jenkins 独自のユーザー データベース暗号化アルゴリズムの簡単な分析
新世代の JVM ガベージ コレクション アルゴリズムをご存知ですか? ここで皆さんにご紹介しましょ...
ChatGPT は Midjourney 画像生成のテンプレートとして使用できると結論付けられました...
[[434381]]最初は1兆円、次に1.2兆円と、テスラの時価総額は新たな高値を更新し続けました...
[[382731]]この記事は、劉宇、趙紅宇らが執筆したWeChatパブリックアカウント「ビッグデー...
[[412609]]画像ソース: https://pixabay.com/images/id-648...
2018年は新しい小売業が爆発的に増加した年でした。誰もがそれを実感したと思います。以前よりもコン...
この記事はAI新メディアQuantum Bit(公開アカウントID:QbitAI)より許可を得て転載...
現在、ディープラーニング テクノロジーを展開できる方法としては、デバイス上への直接展開、クラウド内へ...
世界中で大きなデジタル革命が起こっています。技術の進歩により、イノベーション、俊敏性、市場開発が加速...
ディープ ニューラル ネットワークは、ディープラーニング モデルが画像分類や音声認識などの従来の機械...
[[425033]]私たちはしばらくの間、展開モデルの最適化に取り組んできました。ここ数日でようやく...
オレンジ色の猫を想像してください。次に、その猫の毛が黒だけであることを想像してください。そして、万里...