• <ins id="pjuwb"></ins>
    <blockquote id="pjuwb"><pre id="pjuwb"></pre></blockquote>
    <noscript id="pjuwb"></noscript>
          <sup id="pjuwb"><pre id="pjuwb"></pre></sup>
            <dd id="pjuwb"></dd>
            <abbr id="pjuwb"></abbr>
            隨筆 - 51, 文章 - 1, 評論 - 41, 引用 - 0
            數據加載中……

            倒數1、2的票數相同的概率

            我是歌手第4季第一集就出現了倒數1、2名票數相同的情況,使得原本應該淘汰一名選手的賽制無法執行。出現這種概率的情況有多大?下面是粗略模擬計算其概率的python代碼。雖然無法估計每個候選人的權重,但出現倒數1、2名票數相同的情況也有百分之幾,概率不小。

            """本程序測試在投票活動中,出現并列倒數第一的概率是多少"""

            import random

                   
            def onePoll(candidates):
                """候選人進行一次投票

                Parameters
                ----------
                candidates: [Integer]
                    候選人的權重,權重越大越可能被投票,len(candidates)是候選人數

                Returns
                -------
                choiced: Integer, [0, len(candidates))
                    被投票候選人的序號
                """
               
                t = sum(candidates)
                n = random.randint(0, t-1)
                for i in range(len(candidates)):
                    if (n >= candidates[i]):
                        n -= candidates[i]
                    else:
                        return i
                else:
                    assert False, "不應該進入該分支"
               
            def generatePollResult(voters, candidates):
                """產生投票結果

                Parameters
                ----------
                voters: Integer
                    投票人數
                candidates: [Integer]
                    候選人的權重,權重越大越可能被投票,len(candidates)是候選人數
               
                Returns
                -------
                result: [Integer]*len(candidates)
                    每個人所得票數
                """


                result = [0]*len(candidates)
                for i in range(voters):
                    result[onePoll(candidates)] += 1
                return result


            def simulate(count, voters, candidates, judge):
                """模擬投票行為,統計滿足要求的投票結果的概率

                Parameters
                ----------
                count: Integer
                    模擬投票的次數
                voters: Integer
                    投票人數
                candidates: [Integer]
                    候選人的權重,權重越大越可能被投票,len(candidates)是候選人數
                judge: bool ([Integer]*len(candidates))
                    對投票結果是否符合要求的判斷

                Results
                -------
                prop: Float
                    所求投票結果的概率
                """

                satisfied = 0

                for i in range(count):
                    result = generatePollResult(voters, candidates)
                    if (judge(result)):
                        satisfied += 1

                return float(satisfied) / count
               
            if __name__ == "__main__":
               
                def isLast2Equal(result):
                    result.sort()
                    return result[0] == result[1]

                print(simulate(1000, 500, [110,120,130,140,150,160,170,180], isLast2Equal))

            posted on 2016-01-17 20:03 lemene 閱讀(208) 評論(0)  編輯 收藏 引用

            亚洲AV乱码久久精品蜜桃| 久久久久久人妻无码| 丰满少妇人妻久久久久久4| 99久久国产综合精品五月天喷水 | 天天综合久久一二三区| 久久人爽人人爽人人片AV| 办公室久久精品| 波多野结衣久久| 精品国产青草久久久久福利| 久久受www免费人成_看片中文| 久久精品aⅴ无码中文字字幕不卡 久久精品aⅴ无码中文字字幕重口 | 香蕉久久av一区二区三区| 亚洲国产精品久久66| 亚洲综合精品香蕉久久网| 久久综合一区二区无码| 精品一区二区久久| 无码超乳爆乳中文字幕久久 | 久久国产色AV免费观看| 久久精品免费全国观看国产| 亚洲天堂久久精品| AV无码久久久久不卡网站下载 | 国内精品久久久久影院日本| 国产精品无码久久久久| 国产精品一久久香蕉国产线看观看 | 狠狠精品干练久久久无码中文字幕| 久久天天躁狠狠躁夜夜躁2014| 一级做a爰片久久毛片毛片| 精品乱码久久久久久夜夜嗨| 国产成人久久精品一区二区三区| 久久婷婷人人澡人人爽人人爱| 久久夜色精品国产亚洲av| 91精品国产高清久久久久久国产嫩草 | 久久亚洲精品无码VA大香大香| 久久强奷乱码老熟女| 99热成人精品免费久久| 久久精品草草草| 国产成人精品久久综合| 久久93精品国产91久久综合| 国内精品伊人久久久久网站| 亚洲国产成人久久综合一| 久久99国产精品久久久|