羊年春節期間中の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 独自のユーザー データベース暗号化アルゴリズムの簡単な分析
7月9日、 2020年世界人工知能大会クラウドサミットのテーマソング「スマートコネクテッドホーム」が...
[[353959]]現在、世界の主要国は人工知能産業の発展を非常に重視しています。我が国は、新世代の...
[[185752]] CeBITカンファレンスでのジャック・マー氏の「顔スキャン」支払いから、マイク...
[[384941]]スペインの新聞「エル・エコノミスタ」は最近、ラモン・オリバー氏による「仕事の自動...
[51CTO.com クイック翻訳]比較するためのより良い座標系がないため、人間がよく犯す間...
AIとビッグデータの時代に、最初の開発言語となるのは誰でしょうか?これは議論の余地のない質問です。...
ちょうど今、サム・アルトマンがXで衝撃的なニュースを発表しました—— ChatGPT Plusアカウ...
あなたの頭の中には 860 億個のスイッチからなる複雑なネットワークがあります。重さは2.5キログラ...
今日、AI プログラムは、写真やビデオ内の顔や物体を認識し、音声をリアルタイムで書き起こし、X 線ス...
若い才能、輝かしい経歴、上司からの評価、順調なキャリア、明るい未来...これらは、2016 年初頭に...
[[405206]]時が経つにつれて、技術は変化してきました。自動化に関しては、今年は徐々に成果が...
検出能力6点!パフォーマンス消費6ポイント!使いやすさ6点!先日、国際的に権威のある評価機関 AV-...
人工知能の出現により、ますます多くの企業がそれを業務や生産に応用しています。新しいモバイル開発技術が...
あなたの市では今日から「ゴミの分別」が始まりましたか?上海が先導して実証を進め、北京、天津、重慶、成...