求一個中獎機率的演算法

來源:互聯網
上載者:User
需求
我有一個會員系統,每位會員發布文章後,發布文章次數+1
然後,我會發送1-200元的人民幣
我想讓發布文章越多的會員大獎的機率越大,但是不能超過200元。

回複內容:

需求
我有一個會員系統,每位會員發布文章後,發布文章次數+1
然後,我會發送1-200元的人民幣
我想讓發布文章越多的會員大獎的機率越大,但是不能超過200元。

首先假設我們給會員設定一個基準獎勵金額 x,x 的值在 1-200 之間,發布文章越多 x 的值越大。這是合理的。至於 x 的演算法,可以考慮類似這樣的曲線,當橫軸增加時,縱軸無限接近於 2。稍微修改一下公式,就能得出一個當文章數量增加時,基準金額無限接近於 200 元的演算法。

有了這個基準獎勵,我們可以在它周圍設定一個“搖擺幅度”,使得獎勵看起來有隨機性。比如對某會員我得出基準獎勵為 50 元,那麼當搖擺幅度為 10 元時,我會隨機從 40-60 元之間抽取一個值作為最終獎勵。這樣就能達到你的要求:發布文章越多,得獎的金額也越多,但也不是一個固定的值。

額,樓上的厲害啊。提供另一個思路:

  1. 均分機率
    1-200 元,分 200 節點,平均分布機率是,每個節點 1/200。
    即:1/200 + ... = 1

  2. 引入文章數因素f(0 ~ 1)
    第1 - 100 節點第 i 節點的機率為:
    (1 - f^i)/200
    第 101 - 200 節點第 i 節點的機率為:
    (1 + f^(201-i))/200
    (1 - f^1)/200 + (1 - f^2)/200 + (1 - f^3)/200 + (1 - f^4)/200 + ... + (1 - f^100)/200 + (1 + f^100)/200 + ... + (1 + f^3)/200 + (1 + f^2)/200 + (1 + f^1)/200 = 1

  3. 確定 f 值
    f 值如上面童鞋所話,是arctan函數,極限值為 1.

這個的缺點是:中間隔斷,沒有按照曲線平滑增長。

  • 聯繫我們

    該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

    如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

    A Free Trial That Lets You Build Big!

    Start building with 50+ products and up to 12 months usage for Elastic Compute Service

    • Sales Support

      1 on 1 presale consultation

    • After-Sales Support

      24/7 Technical Support 6 Free Tickets per Quarter Faster Response

    • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.