怎么解決均等概率問題

本篇內容介紹了“怎么解決均等概率問題”的有關知識,在實際案例的操作過程中,不少人都會遇到這樣的困境,接下來就讓小編帶領大家學習一下如何處理這些情況吧!希望大家仔細閱讀,能夠學有所成!

薩迦網站建設公司創新互聯,薩迦網站設計制作,有大型網站制作公司豐富經驗。已為薩迦數千家提供企業網站建設服務。企業網站搭建\成都外貿網站建設公司要多少錢,請找那個售后服務好的薩迦做網站的公司定做!

在解決算法問題中我們會經常遇到要求均等概率的問題, 以leetcode 470. 用 Rand7() 實現 Rand10() 為例。

  • 已有方法 rand7 可生成 1 到 7 范圍內的均勻隨機整數,試寫一個方法 rand10 生成 1 到 10 范圍內的均勻隨機整數。

  • ?? 不討論最優解,只討論算法思路 看到均等概率的問題, 我們最先要想到轉成2進制來處理,思路是讓均等概率轉換成均等概率出現0和1, 再由 0 和 1  ,增加位數來處理均等概率的其他數。拆解下上面的題目 我們使用 Rand7 轉成 Rand2 。讓 Rand2 的返回結果均等的出現 0 和 1,  我們可以用4位二進制數來生成包含 0 ~ 15 的數。舍棄 10~15,保留 0 到 9 ,結果加1 就是 1~ 10的隨機數。

第一步轉化二進制函數

Rand7() 的結果是均等概率 出現 1,2,3,4,5,6 拆解下就是 均等概率出現 1,2,3 和 4,5,6 當出現 1,2,3 的時候返回 0  ,當出現 4,5,6 的時候返回 1

declare function rand7(): number function Rand2(): number {  return Rand7() > 3 ? 1 : 0 }

現在我們有了過渡函數 Rand2 , 那么我們使用隨機生成4位二進制數那么我就會得到 一個 均等生成 0 ~ 15 的函數

function Rand15(): number {  return Rand2() * 2 * 2 * 2 + Rand2() * 2 * 2  + Rand2() * 2  + Rand2() }

上面代碼略蠢,我們用移位的方法優化下, 左移操作符是二進制進位的。

function Rand15(): number {  return (rand2() << 3) + (rand2() << 2)  + (rand2() << 1)  +  (rand2() << 0) }

那么最終的 Rand10() 函數, 我們只要舍棄掉 10~15 就可以了

function Rand10(): number {  let num: number  // 使用do while 循環 遇到小于10 的結束循環返回結果,遇到大的繼續 roll   do {    num = Rand15()  } while ( num > 9)   return num + 1 // 別忘記 + 1  }

這道題解決完了, 再來一道題,思路也是用二進制均等概率的。

  • 給一個隨意函數f,以P概率返回 0 , 以 1-P 的概率返回1 這是你唯一可以使用的隨機機制,如何實現等概率返回 0 和 1

  • 思路還是用二進制升位的方式, 0 的概率是 P 1 的概率是 1- P

可以得出 00 的概率是 P*P , 11 的概率是 (1-P) * (1-P) 01 的概率是 P * (1-P) 10 的概率是 (1-P) * P  而這兩個是相等的(交換率)

那么我們只要 保留 01 和 10 舍棄 00 和 11 就會獲得均等概率 P * (1-P)

10 和 01 這兩個數字不想等即可

declare function f(): 0 | 1 function round01 () : number {  let num : number  do {   num = f()   } while ( num == f())  return num }

“怎么解決均等概率問題”的內容就介紹到這里了,感謝大家的閱讀。如果想了解更多行業相關的知識可以關注創新互聯網站,小編將為大家輸出更多高質量的實用文章!

新聞名稱:怎么解決均等概率問題
鏈接分享:http://m.kartarina.com/article36/jecepg.html

成都網站建設公司_創新互聯,為您提供微信小程序ChatGPT、網站策劃、手機網站建設、云服務器服務器托管

廣告

聲明:本網站發布的內容(圖片、視頻和文字)以用戶投稿、用戶轉載內容為主,如果涉及侵權請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網站立場,如需處理請聯系客服。電話:028-86922220;郵箱:631063699@qq.com。內容未經允許不得轉載,或轉載時需注明來源: 創新互聯

成都網站建設
主站蜘蛛池模板: 精品久久久久久无码专区| 毛片无码免费无码播放| 亚洲成A人片在线观看无码3D| 亚洲午夜AV无码专区在线播放| 国产成人综合日韩精品无码不卡 | 色欲A∨无码蜜臀AV免费播| 日韩免费人妻AV无码专区蜜桃| 久久精品aⅴ无码中文字字幕重口| AAA级久久久精品无码片| 久久久久久无码国产精品中文字幕| 国产成人无码一区二区在线播放| 亚洲AV永久无码精品网站在线观看| 久久中文精品无码中文字幕| 少妇无码一区二区二三区| 无码人妻精品一区二区蜜桃百度| 91精品日韩人妻无码久久不卡| 中文字幕在线无码一区| 日韩A无码AV一区二区三区| 曰韩人妻无码一区二区三区综合部| 一本色道无码道在线观看| 小泽玛丽无码视频一区| 无遮掩无码h成人av动漫| 精品久久久无码21p发布| 超清无码熟妇人妻AV在线电影| 白嫩无码人妻丰满熟妇啪啪区百度| 最新无码专区视频在线| 亚洲中文字幕久久精品无码APP| 无码国产69精品久久久久孕妇| 亚洲av无码片在线观看| 人妻丰满熟妞av无码区| 亚洲VA中文字幕不卡无码| 久久久无码精品亚洲日韩软件 | 久久人妻少妇嫩草AV无码蜜桃| 无码人妻一区二区三区免费| 亚洲日韩国产二区无码| 亚洲av无码一区二区三区在线播放| 亚洲午夜无码久久久久软件| 精品无码国产自产拍在线观看| 国模GOGO无码人体啪啪| 亚洲国产精品成人精品无码区| 国产精品无码无需播放器|