中文字幕日韩精品一区二区免费_精品一区二区三区国产精品无卡在_国精品无码专区一区二区三区_国产αv三级中文在线

Java概率論的計(jì)數(shù)方法是什么-創(chuàng)新互聯(lián)

本篇內(nèi)容主要講解“Java概率論的計(jì)數(shù)方法是什么”,感興趣的朋友不妨來(lái)看看。本文介紹的方法操作簡(jiǎn)單快捷,實(shí)用性強(qiáng)。下面就讓小編來(lái)帶大家學(xué)習(xí)“Java概率論的計(jì)數(shù)方法是什么”吧!

為清苑等地區(qū)用戶提供了全套網(wǎng)頁(yè)設(shè)計(jì)制作服務(wù),及清苑網(wǎng)站建設(shè)行業(yè)解決方案。主營(yíng)業(yè)務(wù)為網(wǎng)站建設(shè)、做網(wǎng)站、清苑網(wǎng)站設(shè)計(jì),以傳統(tǒng)方式定制建設(shè)網(wǎng)站,并提供域名空間備案等一條龍服務(wù),秉承以專業(yè)、用心的態(tài)度為用戶提供真誠(chéng)的服務(wù)。我們深信只要達(dá)到每一位用戶的要求,就會(huì)得到認(rèn)可,從而選擇與我們長(zhǎng)期合作。這樣,我們也可以走得更遠(yuǎn)!

概率

概率論研究隨機(jī)事件。它源于賭徒的研究。中有許多隨機(jī)事件,比如投擲一個(gè),是否只憑運(yùn)氣呢?

賭徒逐漸發(fā)現(xiàn)隨機(jī)事件的規(guī)律。投擲兩個(gè)是常見(jiàn)的游戲。如果重復(fù)很多次,那么總數(shù)為2的次數(shù)會(huì)比總數(shù)7的次數(shù)少。這就是賭徒把握到的規(guī)律:盡管我無(wú)法預(yù)知事件的具體結(jié)果,但我可以了解每種結(jié)果出現(xiàn)的可能性。這是概率論的核心。

“概率”到底是什么?這在數(shù)學(xué)上還有爭(zhēng)議?!邦l率派”認(rèn)為概率是重復(fù)嘗試多次,某種結(jié)果出現(xiàn)的次數(shù)在嘗試的總次數(shù)的比例?!柏惾~斯派”認(rèn)為概率是主觀信念的強(qiáng)弱。幸好,這些爭(zhēng)議并不影響我們?cè)谌粘I钪惺褂谩案怕省闭軐W(xué)。天氣預(yù)報(bào)的降雨概率為80%時(shí),很多人會(huì)因此帶上傘。報(bào)紙會(huì)分析一場(chǎng)球賽某支球隊(duì)的贏球概率,如果最終贏球概率為10%的球隊(duì)取勝,那么球迷會(huì)感到驚訝,這畢竟是小概率事件。

要知道某個(gè)結(jié)果的概率并不容易。上面分析球隊(duì)的贏球概率,要考慮許多因素。投一個(gè),有6種可能的結(jié)果。許多原因會(huì)影響到結(jié)果,比如撒子是否均勻,比如擲撒子的人是否有技巧偏向。只有在絕對(duì)均勻,且沒(méi)有作弊,每種結(jié)果出現(xiàn)的概率才相同。否則的話,根本無(wú)法給結(jié)果一個(gè)確定的概率值。因此,為了能從數(shù)學(xué)上給結(jié)果分配一個(gè)概率,我們往往會(huì)給隨機(jī)事件增加一些假設(shè)條件。這些條件有理想化的成份,但并不至于偏離現(xiàn)實(shí)。比如,我們說(shuō)擲撒子,撒子均勻,擲的人也沒(méi)有什么特殊手法,并由此推斷每種結(jié)果出現(xiàn)的可能相同。那么,其中任意一個(gè)結(jié)果出現(xiàn)的概率為1/6。

Java概率論的計(jì)數(shù)方法是什么

基本計(jì)數(shù)原理

上面我們談到了“等概率”的假設(shè)。如果每種結(jié)果出現(xiàn)的概率相同,那么給結(jié)果分配概率的任務(wù)就變得簡(jiǎn)單一些。在計(jì)算這種概率時(shí),我們只需要等概率的結(jié)果的總數(shù),就可以知道每種結(jié)果的概率。比如擲一個(gè)撒子會(huì)有6種結(jié)果,如果等概率,那么每個(gè)結(jié)果的概率為1/6。對(duì)于一些復(fù)雜的情況,就需要使用到計(jì)數(shù)技巧。

計(jì)數(shù)的基本原理敘述如下:

如果一個(gè)實(shí)驗(yàn)可以分為m個(gè)步驟,每個(gè)步驟分別有n1,n2,...,nmn1,n2,...,nm種可能,那么總共會(huì)有

n1×n2×...×nmn1×n2×...×nm

種可能的結(jié)果。

基本技術(shù)原理的核心是“分步”。對(duì)于簡(jiǎn)單的一個(gè)步驟的事情,我們能比較直接的分辨結(jié)果的總數(shù)。比如生一個(gè)孩子的性別,比如一個(gè)硬幣的正反,比如一個(gè)撒子的結(jié)果。當(dāng)一個(gè)隨機(jī)事件是多個(gè)步驟復(fù)合而成的,而每個(gè)步驟又都是隨機(jī)的,那么分布可以簡(jiǎn)化問(wèn)題的復(fù)雜性。想像一個(gè)餐廳,有三個(gè)窗口,分別賣三種飲料,五種菜和兩種主食。每個(gè)學(xué)生在每個(gè)窗口限選一種,那么學(xué)生的餐飲配套會(huì)有3x5x2共30種可能的結(jié)果。如果每個(gè)窗口的師傅都很隨意霸道,隨手給學(xué)生一樣?xùn)|西,那么我們甚至于可以假設(shè)等概率條件,每種餐飲拍套出現(xiàn)的概率為1/30。

(當(dāng)然,作為學(xué)生,會(huì)抗議這樣的“隨機(jī)”食堂吧?)

基本計(jì)數(shù)原理的應(yīng)用并不局限于概率論。在程序員進(jìn)行算法分析時(shí),無(wú)形中使用的就是進(jìn)行計(jì)數(shù)。比如嵌套循環(huán),外循環(huán)需要M步,內(nèi)循環(huán)需要N步,那么總共進(jìn)行操作的次數(shù)是MxN次??梢哉f(shuō),計(jì)數(shù)是“離散數(shù)學(xué)”非常重要的一個(gè)組成部分;而離散數(shù)學(xué),正是計(jì)算機(jī)專業(yè)的核心數(shù)學(xué)課程。

基本計(jì)數(shù)原理是思考的起點(diǎn)?,F(xiàn)實(shí)中的情況往往會(huì)更多變些。特別是當(dāng)我們“分布”的動(dòng)作都是作用于同一個(gè)群體時(shí),會(huì)相對(duì)復(fù)雜。我們分類了解以下情形:

有序的重復(fù)抽樣

考慮下面的兩個(gè)問(wèn)題:

  • 一個(gè)連續(xù)擲2次,所有可能的結(jié)果有多少個(gè)?

  • 一個(gè)可選6個(gè)號(hào),每個(gè)號(hào)可以是0到9,共有多少個(gè)可能的結(jié)果?

我們可以看到,這一類的抽樣結(jié)果是由多次抽樣構(gòu)成的。每次抽樣的樣本,在下一次也可能出現(xiàn)。比如第一次為1,第二次還可能為1。這叫做重復(fù)抽樣 (或者說(shuō)有放回的抽樣,sampling with replacement)。在的例子中,每次抽樣的可能出現(xiàn)的結(jié)果都有6種。

樣本出現(xiàn)的次序影響結(jié)果。比如(1,2)(1,2)和(2,1)(2,1)是兩個(gè)不同結(jié)果。

從數(shù)學(xué)上來(lái)說(shuō),如果進(jìn)行m次有放回的抽樣,每次抽樣都有n種可能。如果最終結(jié)果有序,那么將有

nmnm

種可能。

我們下面模擬的例子:

import itertools
a = [1, 2, 3, 4, 5, 6]
outcomes = list(itertools.product(a, a))print(outcomes)print(len(outcomes))

共返回36個(gè)可能的結(jié)果:

[(1, 1), (1, 2), (1, 3), (1, 4), (1, 5), (1, 6), 
 (2, 1), (2, 2), (2, 3), (2, 4), (2, 5), (2, 6), 
 (3, 1), (3, 2), (3, 3), (3, 4), (3, 5), (3, 6), 
 (4, 1), (4, 2), (4, 3), (4, 4), (4, 5), (4, 6), 
 (5, 1), (5, 2), (5, 3), (5, 4), (5, 5), (5, 6), 
 (6, 1), (6, 2), (6, 3), (6, 4), (6, 5), (6, 6)]
36

如果每種結(jié)果的出現(xiàn)概率相同,那么對(duì)于其中的某個(gè)具體結(jié)果來(lái)說(shuō),它出現(xiàn)的概率P=1/36P=1/36。

有序的非重復(fù)抽樣

考慮下面兩個(gè)問(wèn)題:

  • 從4個(gè)人中,挑出2個(gè)人分別擔(dān)任隊(duì)長(zhǎng)和副隊(duì)長(zhǎng),有多少種可能?

  • 從10們課種,挑選3門,分別放入周一、周三、周五的課表,有多少種可能?

可以看到,這樣的抽樣是沒(méi)有重復(fù)的。某一次抽樣的樣本在此后不會(huì)出現(xiàn),前面一個(gè)步驟的動(dòng)作減少了后面一個(gè)步驟的選擇,這叫做非重復(fù)抽樣。在非重復(fù)的前提下,每次抽樣可能的結(jié)果數(shù)遞減,比如從4個(gè)人中選一個(gè)作為隊(duì)長(zhǎng),那么副隊(duì)長(zhǎng)只能從3個(gè)人中選擇。

同樣,結(jié)果是有序的。A擔(dān)任隊(duì)長(zhǎng),B擔(dān)任副隊(duì)長(zhǎng),與A擔(dān)任副隊(duì)長(zhǎng),B擔(dān)任隊(duì)長(zhǎng),是兩個(gè)不同結(jié)果。

有序的非重復(fù)抽樣又叫做排列(permutation)。從數(shù)學(xué)上來(lái)說(shuō),從n個(gè)樣品中挑選m個(gè),放入m個(gè)位置,將有

n×(n?1)×...×(n?m+1)n×(n?1)×...×(n?m+1)

種可能。如果我們使用階乘(factorial)運(yùn)算符,那么結(jié)果可以表示為

n!(n?m)!n!(n?m)!

其中,n!=1×2×...×(n?1)×nn!=1×2×...×(n?1)×n。

我們用下面的程序來(lái)模擬隊(duì)長(zhǎng)組合的狀況:

import itertools
a = ["Tom", "Lee", "King", "James"]
outcomes = list(itertools.permutations(a, 2))print(outcomes)print(len(outcomes))

結(jié)果為

[('Tom', 'Lee'), ('Tom', 'King'), ('Tom', 'James'), 
 ('Lee', 'Tom'), ('Lee', 'King'), ('Lee', 'James'), 
 ('King', 'Tom'), ('King', 'Lee'), ('King', 'James'), 
 ('James', 'Tom'), ('James', 'Lee'), ('James', 'King')]

共有12種可能的結(jié)果。

無(wú)序的非重復(fù)抽樣

考慮下面的問(wèn)題:

  • 從4個(gè)人中抽出2個(gè)人,有多少種可能?

  • 從一副中抽3張牌,有多少種可能?

在上面的問(wèn)題中,每次抽樣同樣是非重復(fù)的。但這里,抽樣結(jié)果是無(wú)序的。比如說(shuō),抽出"Lee"和"Tom",以及抽出"Tom"和"Lee",是同一個(gè)結(jié)果。這樣的抽樣方式叫做組合(combination)。

m個(gè)樣品有m!m!種排列方式。如果是從n個(gè)樣品中抽取m個(gè)作為組合,所有的這m!m!種排序方式應(yīng)該看做一種。因此,有

n!(n?m)!m!n!(n?m)!m!

種可能結(jié)果。我們可以用下面的方式記錄組合:

(nm)=n!(n?m)!m!(nm)=n!(n?m)!m!

 

我們下面來(lái)模擬第一個(gè)問(wèn)題:

import itertools
a = ["Tom", "Lee", "King", "James"]
outcomes = list(itertools.combinations(a, 2))print(outcomes)print(len(outcomes))

有以下結(jié)果

[('Tom', 'Lee'), ('Tom', 'King'), ('Tom', 'James'),
 ('Lee', 'King'), ('Lee', 'James'),
 ('King', 'James')]

可以看到,從4個(gè)中挑選2個(gè),有6種可能的組合。這是排列的一半。

組合的問(wèn)題可以進(jìn)一步延伸。比如,將9個(gè)球分為1, 3, 5個(gè)的三堆,有多少種方式?這相當(dāng)于從9個(gè)球中抽取1個(gè),再?gòu)氖O碌?個(gè)球中抽取3個(gè),最后剩下的5個(gè)為一堆??梢宰C明,結(jié)果為

9!1!3!5!9!1!3!5!

類似的,將n個(gè)球分為n1,n2,...,nmn1,n2,...,nm個(gè)的堆,其中n=n1+n2+...+nmn=n1+n2+...+nm。將有

n!n1!n2!...nm!n!n1!n2!...nm!

種可能。

無(wú)序的重復(fù)抽樣

考慮下面的問(wèn)題:

  • 刮獎(jiǎng)有4種獎(jiǎng)品。購(gòu)買3張的話,有多少種中獎(jiǎng)可能?

在上面的每次抽樣中,都是重復(fù)抽樣,即抽出后有放回。比如刮獎(jiǎng)中,可以多次刮到同一獎(jiǎng)品。我們?cè)谝粋€(gè)表中記錄結(jié)果:


臺(tái)燈手表電腦汽車
可能13000
可能22010
可能30111

可以看到,我們實(shí)際上是將3張分成4份,每份的數(shù)目不定(≥0)(≥0)。

這與下面的問(wèn)題類似,將5個(gè)相同物品放入三個(gè)不同的容器中:

Java概率論的計(jì)數(shù)方法是什么

我們用2個(gè)黑色分隔物,來(lái)將5個(gè)相同的物品分為3堆。比如這里,將物品分為(0, 2, 3)的結(jié)果。

從7個(gè)位置中挑選2個(gè)作為分割物的位置,共有

(72)(72)

種可能。

概括來(lái)講,從n個(gè)樣品中,無(wú)序的重復(fù)抽樣m次,有

(n+m?1m?1)(n+m?1m?1)

種可能。

階乘與組合

我們?cè)谏厦娑啻问褂昧穗A乘運(yùn)算,在Python中,它可以使用math.factorial實(shí)現(xiàn):

import mathprint(math.factorial(5))

此外,組合可以使用scipy.misc.comb來(lái)近似計(jì)算,比如:

import scipy.miscprint(scipy.misc.comb(4, 2))

到此,相信大家對(duì)“Java概率論的計(jì)數(shù)方法是什么”有了更深的了解,不妨來(lái)實(shí)際操作一番吧!這里是創(chuàng)新互聯(lián)網(wǎng)站,更多相關(guān)內(nèi)容可以進(jìn)入相關(guān)頻道進(jìn)行查詢,關(guān)注我們,繼續(xù)學(xué)習(xí)!

當(dāng)前名稱:Java概率論的計(jì)數(shù)方法是什么-創(chuàng)新互聯(lián)
文章URL:http://www.rwnh.cn/article44/cojhhe.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供靜態(tài)網(wǎng)站、動(dòng)態(tài)網(wǎng)站、網(wǎng)站改版小程序開(kāi)發(fā)、網(wǎng)站排名網(wǎng)站營(yíng)銷

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來(lái)源: 創(chuàng)新互聯(lián)

成都seo排名網(wǎng)站優(yōu)化
边坝县| 肇东市| 宁德市| 邢台县| 元氏县| 临洮县| 安宁市| 滕州市| 巴彦淖尔市| 石家庄市| 建平县| 桃江县| 册亨县| 荔波县| 文登市| 遵义县| 磐安县| 茂名市| 横峰县| 台北县| 鲁甸县| 贺州市| 广元市| 南丹县| 紫金县| 沧州市| 丹寨县| 石阡县| 师宗县| 绵竹市| 海原县| 西贡区| 清苑县| 普宁市| 双城市| 安阳县| 奉节县| 久治县| 巴东县| 庄浪县| 乌审旗|