亚洲免费av电影一区二区三区,日韩爱爱视频,51精品视频一区二区三区,91视频爱爱,日韩欧美在线播放视频,中文字幕少妇AV,亚洲电影中文字幕,久久久久亚洲av成人网址,久久综合视频网站,国产在线不卡免费播放

        ?

        一種基于C#實(shí)現(xiàn)的生產(chǎn)多批次數(shù)量值的選值算法?

        2018-04-26 11:57:15劉益申管文建
        關(guān)鍵詞:二項(xiàng)分布泊松商家

        劉益申 管文建

        (上海天臣防偽技術(shù)股份有限公司互聯(lián)網(wǎng)事業(yè)部 上海 200433)

        1 引言

        現(xiàn)在廣大商家在售賣自己的產(chǎn)品時(shí),通常會(huì)采取購(gòu)買有獎(jiǎng)的促銷方式,即消費(fèi)者在購(gòu)買商品后可獲得額外獎(jiǎng)品,有獎(jiǎng)促銷行為已經(jīng)成為現(xiàn)代商業(yè)營(yíng)銷的一種重要手段[1]。過(guò)去傳統(tǒng)的兌獎(jiǎng)方案是將實(shí)體兌獎(jiǎng)卡放入商品包裝內(nèi),消費(fèi)者在購(gòu)買商品后,獲取包裝內(nèi)的兌獎(jiǎng)卡,憑兌獎(jiǎng)卡找商家進(jìn)行相應(yīng)兌獎(jiǎng)。隨著互聯(lián)網(wǎng)和移動(dòng)互聯(lián)網(wǎng)的興起,公開(kāi)號(hào)為CN202472742U的實(shí)用新型專利設(shè)計(jì)了一種網(wǎng)絡(luò)驗(yàn)證兌獎(jiǎng)信息系統(tǒng)[1],公開(kāi)號(hào)為CN103150806A的發(fā)明專利發(fā)明了一種網(wǎng)絡(luò)的發(fā)票自助兌獎(jiǎng)方法[2],很多商家也開(kāi)始使用類似的新型電子兌獎(jiǎng)方案,即消費(fèi)者在購(gòu)買商品后,根據(jù)商品包裝內(nèi)的電子兌獎(jiǎng)碼,通過(guò)網(wǎng)絡(luò)進(jìn)入商家的網(wǎng)上兌獎(jiǎng)平臺(tái),通過(guò)輸入兌獎(jiǎng)碼來(lái)進(jìn)行兌獎(jiǎng)。比起傳統(tǒng)的實(shí)體兌獎(jiǎng)卡兌獎(jiǎng)方案,電子兌獎(jiǎng)方案使消費(fèi)者不受時(shí)間、地域的限制,隨時(shí)進(jìn)行兌獎(jiǎng)[3],免去實(shí)體兌獎(jiǎng)卡的制作成本,另外將整個(gè)兌獎(jiǎng)流程交由商家后臺(tái)的計(jì)算機(jī)程序來(lái)管理,使傳統(tǒng)的兌獎(jiǎng)方案數(shù)字化,使兌獎(jiǎng)卡與商品實(shí)現(xiàn)數(shù)字關(guān)聯(lián),并可根據(jù)市場(chǎng)銷售情況動(dòng)態(tài)設(shè)置獎(jiǎng)項(xiàng)內(nèi)容,最大有利于市場(chǎng)營(yíng)銷。

        然而電子兌獎(jiǎng)方案也存在一定風(fēng)險(xiǎn),即僅僅通過(guò)網(wǎng)上的兌獎(jiǎng)平臺(tái)輸入兌獎(jiǎng)碼來(lái)確認(rèn)消費(fèi)者是否中獎(jiǎng)是不夠安全的,通常兌獎(jiǎng)碼由若干位數(shù)字和字母構(gòu)成,由于位數(shù)固定,那么兌獎(jiǎng)碼所有的排列情況也是確定的,這樣在商家的網(wǎng)上兌獎(jiǎng)平臺(tái)上,存在某些人不購(gòu)買商品卻通過(guò)猜測(cè)恰好輸入正確兌獎(jiǎng)碼從而假冒兌獎(jiǎng)的情況,毫無(wú)疑問(wèn),這樣的行為不僅損害了本該中獎(jiǎng)的消費(fèi)者利益,也給商家?guī)?lái)嚴(yán)重的經(jīng)濟(jì)損失。公開(kāi)號(hào)為CN101894343A的發(fā)明專利也指出當(dāng)前公開(kāi)的電子兌獎(jiǎng)方案不能完全杜絕假冒兌獎(jiǎng)的缺陷[4],該發(fā)明專利雖然提出了一種通過(guò)事先采集消費(fèi)者指紋和增設(shè)兌獎(jiǎng)密碼來(lái)進(jìn)行兌獎(jiǎng)驗(yàn)證的方法,但該方法實(shí)施過(guò)于繁瑣復(fù)雜,極大增加了消費(fèi)者的購(gòu)物流程和驗(yàn)證兌獎(jiǎng)系統(tǒng)的復(fù)雜度,實(shí)用性不高。

        本文針對(duì)電子兌獎(jiǎng)方案存在的風(fēng)險(xiǎn),提出一種簡(jiǎn)單易實(shí)現(xiàn)的方案,即在商家生產(chǎn)商品時(shí)應(yīng)使用多批次生產(chǎn),并設(shè)計(jì)了批次數(shù)量值的選值算法,最后使用了C#語(yǔ)言和Math.Net開(kāi)源數(shù)學(xué)庫(kù)實(shí)現(xiàn)了該算法,可在絕大多數(shù)情況下計(jì)算出較優(yōu)的批次數(shù)量值范圍,供商家來(lái)參考。

        2 使用多批次生產(chǎn)來(lái)降低猜中兌獎(jiǎng)碼的概率

        首先假設(shè)電子兌獎(jiǎng)碼由d位(d>0)數(shù)字(0~9)或者英文字母組合構(gòu)成(英文字母不區(qū)分大小寫,由于英文字母I和O和數(shù)字的1和0外形十分相似,為了避免給消費(fèi)者帶來(lái)混淆,將不包含字母I和O),因此兌獎(jiǎng)碼的每一位有10種數(shù)字和24種英文字母選擇,共34種選擇,根據(jù)這種兌獎(jiǎng)碼的長(zhǎng)度和場(chǎng)合數(shù)計(jì)算中的“相乘法則”[5],d位兌獎(jiǎng)碼共有34d種組合。然后假設(shè)商家一次性共生產(chǎn)了n(n>0)件商品,每件商品都含有唯一的兌獎(jiǎng)碼,所以共有n個(gè)正確的兌獎(jiǎng)碼。另外假設(shè)商家采用的是購(gòu)買即中獎(jiǎng)的促銷方式,即只要消費(fèi)者在網(wǎng)上兌獎(jiǎng)平臺(tái)輸入正確的兌獎(jiǎng)碼,就視為成功中獎(jiǎng)。在這種情況下,猜測(cè)1次就猜對(duì)兌獎(jiǎng)碼的概率為P1,這種猜測(cè)符合古典概型[6]的定義:

        這個(gè)概率隨著n值遞增,當(dāng)n值較大時(shí),概率也會(huì)較大,考慮到很多商家的產(chǎn)品產(chǎn)量非常大,因此這種帶給商家的風(fēng)險(xiǎn)不可小視。

        然而商家在生產(chǎn)商品時(shí)使用多批次生產(chǎn)時(shí),即將生產(chǎn)的商品并非一次性投入市場(chǎng)而是將商品分批次投入市場(chǎng)可以降低這種風(fēng)險(xiǎn)?,F(xiàn)在來(lái)計(jì)算采取多批次生產(chǎn)后,某個(gè)時(shí)刻猜測(cè)一次就成功猜測(cè)出商品兌獎(jiǎng)碼的概率。雖然無(wú)法確定猜中的兌獎(jiǎng)碼來(lái)源于哪個(gè)批次,但這個(gè)猜中的商品兌獎(jiǎng)碼一定來(lái)源于所有批次中的一個(gè)批次,基于這個(gè)簡(jiǎn)單的事實(shí),利用全概率公式[6],設(shè)商家共分為m個(gè)(2≤m≤n)批次生產(chǎn),每個(gè)批次的商品投入市場(chǎng)的時(shí)間相同,每個(gè)批次的商品數(shù)量為可得某個(gè)時(shí)刻猜測(cè)1次就猜中兌獎(jiǎng)碼的概率為

        可見(jiàn)P2和n成正比,和d以及m成反比,P2與式(1)中的P1相比后,可以得出:

        因此采用多批次生產(chǎn)可降低猜測(cè)1次就猜中商品兌獎(jiǎng)碼的概率m倍。

        3 多批次生產(chǎn)對(duì)海量猜測(cè)兌獎(jiǎng)碼的影響

        很多時(shí)候,某些人會(huì)安裝一些計(jì)算機(jī)腳本程序,這些腳本程序會(huì)自動(dòng)海量嘗試猜測(cè)兌獎(jiǎng)碼,并可能得到大量正確的商品兌獎(jiǎng)碼。這種行為給商家?guī)?lái)的危害更大。那么多批次生產(chǎn)是否也能降低這種危害,是很值得考慮的。

        設(shè)計(jì)算機(jī)腳本每次嘗試都是獨(dú)立的,那么現(xiàn)在來(lái)計(jì)算一下恰好猜中n個(gè)兌獎(jiǎng)碼出現(xiàn)的概率。在概率學(xué)中,如果在一次試驗(yàn)中只關(guān)心某個(gè)事件是否發(fā)生,那么稱這個(gè)試驗(yàn)為貝努利試驗(yàn),相應(yīng)的數(shù)學(xué)模型稱為貝努利概型[6]。另外,在n重貝努利實(shí)驗(yàn)中,設(shè)隨機(jī)變量X表示n次試驗(yàn)中事件A發(fā)生的次數(shù),可以得出X的概率函數(shù)為[6]

        稱這個(gè)隨機(jī)變量X服從參數(shù)為n,p的二項(xiàng)分布,記做X~B(n,p),其中0<p<1。當(dāng)n值較大,n×p值適中時(shí),通常當(dāng)n≥10,p≤0.01時(shí),這個(gè)時(shí)候可以利用泊松定理[6]來(lái)使用泊松分布來(lái)近似模擬二項(xiàng)分布,設(shè) λ=np ,0<p<1,k≥ 1:

        稱這個(gè)隨機(jī)變量X服從參數(shù)為λ的泊松分布[6],記作X~P(λ),其中,λ>0。

        為了更方便并直觀的比較采用多批次生產(chǎn)前后的猜中多個(gè)兌獎(jiǎng)碼的概率區(qū)別,將使用Octave來(lái)模擬繪制兩者的分布圖像。Octave作為一款免費(fèi)軟件,語(yǔ)法和Matlab十分相似,主要用于數(shù)值計(jì)算[7]。這里假設(shè)商家共生產(chǎn)了20000000件商品,兌獎(jiǎng)碼為6位長(zhǎng)度,通過(guò)計(jì)算機(jī)腳本程序嘗試猜測(cè)兌獎(jiǎng)碼1000次,根據(jù)式(1),猜測(cè)1次猜中兌獎(jiǎng)碼的概率np=1000×0.0129=12.9。如果商家采用10個(gè)生產(chǎn)批次,采用10個(gè)生產(chǎn)批次后,根據(jù)式(3),猜測(cè)1次猜中兌獎(jiǎng)碼的概率np=1000×0.00129=1.29。這里由于 n≥10,p≤0.01,因此可使用泊松分布來(lái)觀察猜中n個(gè)兌獎(jiǎng)碼的概率分布,使用Oc?tave來(lái)模擬該分布的情況如圖1。

        圖1 2種不同的生產(chǎn)方式下的概率函數(shù)值

        從圖1可以看出,雖然采用多批次生產(chǎn)時(shí),猜中兌獎(jiǎng)碼的數(shù)量大于5的概率更低,但猜中兌獎(jiǎng)碼的數(shù)量小于5的概率明顯更高,由此可見(jiàn)采用多批次生產(chǎn)后,可降低猜測(cè)1次猜中兌獎(jiǎng)碼的概率,但在使用計(jì)算機(jī)腳本程序海量嘗試時(shí),可能存在猜中某些數(shù)量?jī)丢?jiǎng)碼的概率反而會(huì)更高的現(xiàn)象,因此一個(gè)合適的批次數(shù)量值選值是非常重要的。

        4 批次數(shù)量值的選值算法設(shè)計(jì)

        現(xiàn)在設(shè)商家共生產(chǎn)了C(C>0)件商品,使用計(jì)算機(jī)腳本程序至多嘗試nx(nx≥1)次,未采用多批次生產(chǎn)時(shí)的猜測(cè)1次猜中兌獎(jiǎng)碼的概率為 p1(0<p1<1),猜中 k(1≤ k≤ nx)個(gè)兌獎(jiǎng)碼的概率為 P1,采用多批次生產(chǎn)后,分為m(2≤m≤C)個(gè)批次,猜測(cè)1次猜中兌獎(jiǎng)碼的概率為 p2(0<p2<1),猜中k(1≤k≤nx)個(gè)兌獎(jiǎng)碼的概率為 P2,根據(jù)式(3),p2=p1/m。如果商家采用多批次生產(chǎn),現(xiàn)在需要選擇一個(gè)合適的m值,即這個(gè)m值能夠始終使P2≤P1。

        由于有效的批次數(shù)量值m≥2并且小于等于產(chǎn)量總值,直觀地,可以遍歷每個(gè)可能的批次數(shù)量值,計(jì)算在該批次數(shù)量值下,P2≤P1是否成立。如果成立,那么這就是一個(gè)合適的批次數(shù)量值。但這樣的做法耗時(shí)較多,效率較低,特別是當(dāng)商家的產(chǎn)量總值較大的時(shí)候,需要遍歷的數(shù)目也會(huì)非常大。為了提高算法的效率,可做如下優(yōu)化:

        結(jié)論1 無(wú)論是使用二項(xiàng)分布還是泊松分布計(jì)算概率函數(shù)值,如果要使 P2≤P1,那么顯然P2(k=1)≤P1(k=1)也必然成立。另外如果能在使用計(jì)算機(jī)腳本程序嘗試nx的情況下使P2(k=1)≤P1(k=1),那么當(dāng)嘗試次數(shù)小于nx時(shí)(使用 n=nx-t來(lái) 表 示 ,1 ≤ t≤ nx-1) ,P2(k=1)≤P1(k=1)仍然成立。

        證明如下:

        對(duì)于二項(xiàng)分布:

        ∴當(dāng)n=nx-t時(shí),P2(k=1)≤P1(k=1)

        現(xiàn)在觀察P(k=1)的單調(diào)情況,根據(jù)n和 p1的值,可分為兩種情況:

        1)當(dāng)0<n<10或者 p1>0.1時(shí),使用二項(xiàng)分布的概率函數(shù)值更好。

        無(wú)論是否采取多批次生產(chǎn),恰好猜中1個(gè)兌獎(jiǎng)碼的概率為

        此時(shí)對(duì)P(p)求導(dǎo):

        結(jié)論2 當(dāng)k=1時(shí),P(p0=)是P(p)上的一個(gè)最大值,并且在np<1時(shí)遞增,在np>1時(shí)遞減。

        根據(jù)這個(gè)結(jié)論2和結(jié)論1,可以首先計(jì)算nxp1的值,如果小于1,那么為了使采用多批次生產(chǎn)后能 使 P2(k=1)≤P1(k=1),只 需 nxp2≤nxp1,即可使m=2,3,4,…,C,即批次數(shù)量值從2到總產(chǎn)量值C都可以滿足條件。

        結(jié)論3 現(xiàn)在考慮猜中的兌獎(jiǎng)碼個(gè)數(shù)為k(2≤k≤ nx)時(shí),當(dāng)滿足 P2(k=1)≤P1(k=1)時(shí),是否仍然能使P2≤P1。結(jié)論是肯定的,證明如下:

        綜上,可以得出當(dāng)nxp1≤1時(shí),批次數(shù)量值范圍為[2 ,C ]上的所有整數(shù)。

        現(xiàn)在考慮當(dāng)nxp1>1時(shí)的情況,根據(jù)結(jié)論2,當(dāng)k=1時(shí),P(k=1)在 np>1的時(shí)候是遞減的,而p2<p1,所以如果 nxp2仍然大于1,那么 P22(k=1)將會(huì)大于P1(k=1),這是不符合要求的。因此符合要求的nxp2必然小于1。根據(jù)結(jié)論2,P(k=1)在np<1的時(shí)候是遞增的,p最小值為,所以當(dāng)批次數(shù)量值取總產(chǎn)量值C時(shí),P2(k=1)是最小的。

        如果此時(shí)的P2(k=1)>P1(k=1),那么說(shuō)明在這個(gè)嘗試次數(shù)nx下,合適的批次數(shù)量值并不存在,這樣就繼續(xù)考慮嘗試次數(shù)為nx-1的情況下,合適的批次數(shù)量值是否存在。

        如果此時(shí)的P2(k=1)=P1(k=1),那么說(shuō)明批次數(shù)量值取總產(chǎn)量值C是唯一合適的批次數(shù)量值。

        如果此時(shí)的P2(k=1)<P1(k=1),則說(shuō)明合適的批次數(shù)量值存在,并可能存在多個(gè),所以這時(shí)需要找到一個(gè)最小的能使P2(k=1)≤P1(k=1)的值m1,根據(jù)結(jié)論3,說(shuō)明m1是個(gè)合適的批次數(shù)量值。又因?yàn)橹暗贸龇弦蟮膎xp2必然小于1并且根據(jù)結(jié)論2,P(k=1)在np<1的時(shí)候是遞增的,比m1更大的批次值必能使 p2更小也能使P(k=1)更小,所以最終的批次數(shù)量值范圍為[m1,C ]上的所有整數(shù)。

        通過(guò)這些結(jié)論,在nxp1>1的情況下,可以預(yù)先判斷出合適的批次數(shù)量值是否存在或者只存在唯一合適的批次數(shù)量值,省去了依次遍歷每個(gè)可能的批次數(shù)量值,提高了算法的時(shí)間效率。

        綜上這就是當(dāng)0<n<10或者 p1>0.1時(shí),使用二項(xiàng)分布的批次數(shù)量值選值的主要流程。

        2)當(dāng)n≥10并且 p1≤0.1時(shí),設(shè) λ=np(λ>0),二項(xiàng)概率可使用泊松分布的概率函數(shù)值來(lái)近似,泊松分布在n值較大時(shí)的計(jì)算相比二項(xiàng)分布更加簡(jiǎn)單,可以減少一定的計(jì)算量。

        無(wú)論是否采取多批次生產(chǎn),恰好猜中1個(gè)兌獎(jiǎng)碼的概率為

        此時(shí)對(duì) P(λ)求導(dǎo):

        由此可知,唯一的駐點(diǎn)λ0=1,即np=1。當(dāng)λ<λ0時(shí)(即 np<1時(shí)),P′(λ)>0,而當(dāng)p> λ0時(shí)(即 np>1時(shí)),P′(p)<0 ,由此可說(shuō)明[8]:

        結(jié)論4 當(dāng)k=1時(shí),P(λ0=1)是 P(λ)上的一個(gè)最大值,并且在np<1時(shí)遞增,在np>1時(shí)遞減。

        根據(jù)這個(gè)結(jié)論4和結(jié)論6,可以首先計(jì)算nxp1的值,如果小于1,那么為了使采用多批次生產(chǎn)后能 使 P2(k=1)≤P1(k=1),只 需 nxp2≤nxp1,即可使m=2,3,4,…,C,即批次數(shù)量值從2到總產(chǎn)量值C都可以滿足條件。

        結(jié)論5 現(xiàn)在考慮當(dāng)猜中的兌獎(jiǎng)碼個(gè)數(shù)為k(2≤k≤nx)時(shí),當(dāng)滿足 P2(k=1)≤P1(k=1)時(shí),是否仍然能使P2≤P1。結(jié)論是肯定的。

        證明如下:

        綜上,可以得出當(dāng)nxp1≤1時(shí),批次數(shù)量值范圍為[2 , C ]上的所有整數(shù)。

        現(xiàn)在考慮當(dāng)nxp1>1時(shí)的情況,將結(jié)論4、結(jié)論5和使用二項(xiàng)分布的結(jié)論2、結(jié)論3進(jìn)行類比,可以發(fā)現(xiàn)接下來(lái)的流程和使用二項(xiàng)分布完全一致。這里不再贅述。

        綜上這就是當(dāng)n≥10并且p1≤0.1時(shí),使用泊松分布的批次數(shù)量值選值的主要流程。

        5 基于C#和Math.Net庫(kù)實(shí)現(xiàn)多批次生產(chǎn)的批次數(shù)量值選值算法

        根據(jù)第3節(jié)的批次數(shù)量值選值的流程,現(xiàn)在使用C#語(yǔ)言和Math.Net庫(kù)通過(guò)計(jì)算機(jī)程序來(lái)實(shí)現(xiàn)該批次數(shù)量值的選值算法。Math.Net是.Net平臺(tái)上一款開(kāi)源的基礎(chǔ)數(shù)學(xué)工具箱,主要分為幾個(gè)子項(xiàng)目,其中的Math.Net Numerics的核心功能是數(shù)值計(jì)算,主要是提供日??茖W(xué)工程計(jì)算相關(guān)的算法,包括一些特殊函數(shù),線性代數(shù),概率論,隨機(jī)函數(shù),微積分,插值,最優(yōu)化等相關(guān)計(jì)算功能[9]。另外程序?qū)⒒赪PF 技術(shù),WPF(Windows Presentation Foundation)是基于。Net的新一代界面開(kāi)發(fā)平臺(tái)[10],商家用戶可以方便地在界面上進(jìn)行相關(guān)輸入操作,輸入生產(chǎn)總產(chǎn)量、兌獎(jiǎng)碼長(zhǎng)度、猜測(cè)嘗試最大次數(shù)之后,可得出相應(yīng)的批次數(shù)量值范圍,商家可根據(jù)實(shí)際的生產(chǎn)情況綜合考慮,決定最后的批次數(shù)量值。

        調(diào)用Math.net其中的Binomial和Poisson類,可以非常方便地進(jìn)行相應(yīng)的二項(xiàng)分布和泊松分布的概率函數(shù)值計(jì)算。

        調(diào)用Poisson類:

        Poisson newPoi=new Poisson(oldLambda/currentTryBatch?Number);

        double newP=newPoi.Probability(1);

        調(diào)用Binomial類:

        Binomial newBin=new Binomial(oldp/currentTryBatchNum?ber,n);

        double newP=newBin.Probability(1);

        另外根據(jù)第3節(jié)的論述,在查找一個(gè)最小的能使 P2(k=1)≤P1(k=1)的批次值m1的過(guò)程中,根據(jù)第3節(jié)的結(jié)論2和結(jié)論4,P(k=1)在np<1時(shí)是遞增的,也就是有序的,而在有序數(shù)列中二分查找最為常用[11],因此可以使用二分查找,可以極大提升查找的效率。代碼如下:

        ///<summary>

        ///二分查找法確定最小的批次數(shù)量值使P(k=1)小于原來(lái)

        ///</summary>

        ///<param name=“oldP1”>p,即未采用多批次生產(chǎn),猜中兌獎(jiǎng)碼的概率</param>

        ///<param name=“oldLambda”>np,n為嘗試次數(shù)</param>

        ///<param name=“startNum”>當(dāng)前查找的批次數(shù)量值的下界</param>

        ///<param name=“endNum”>當(dāng)前查找的批次數(shù)量值的上界</param>

        ///<returns></returns>

        private int PoiSelectFirstCorrectBatchNumber(double oldP1,double oldLambda,int startNum,int endNum)

        int currentTryBatchNumber=(startNum+endNum)/2;//確定用于比較的折半點(diǎn)

        Poisson newPoi=new Poisson(oldLambda/currentTry?BatchNumber);

        double newP=newPoi.Probability(1);//計(jì)算泊松分布的概率函數(shù)值P(k=1),即當(dāng)np=oldLambda時(shí)猜中一個(gè)兌獎(jiǎng)碼的概率

        Poisson newPoiCheck=new Poisson(oldLambda/(currentTryBatchNumber-1));

        double newPCheck=newPoiCheck.Probability(1);

        if(newP <=oldP1)//使用 currentTryBatchNumber作為批次數(shù)量值,P(k=1)是否小于原來(lái)

        if(newPCheck > oldP1)//使 用 currentTryBatch?Number-1作為批次數(shù)量值,P(k=1)是否大于原來(lái)

        return currentTryBatchNumber;//說(shuō) 明 current?TryBatchNumber是一個(gè)符合要求的最小的批次數(shù)量值,返回

        else

        endNum=currentTryBatchNumber-1;//說(shuō)明可以找到比currentTryBatchNumber更小的符合要求的批次數(shù)量值

        PoiSelectFirstCorrectBatchNumber(oldP1, old?Lambda,startNum,endNum);//繼續(xù)查找

        else

        startNum=currentTryBatchNumber+1;//該 cur?rentTryBatchNumber不符合要求,過(guò)小

        PoiSelectFirstCorrectBatchNumber(oldP1,oldLamb?da,startNum,endNum);//繼續(xù)查找

        return 0;

        整個(gè)程序的流程如下(使用二項(xiàng)分布和泊松分布的流程一致,這里的流程不再作出):

        圖2 批次數(shù)量值選值算法流程圖

        該批次數(shù)量值的選值算法主要優(yōu)勢(shì)在于:

        1)較好的時(shí)間復(fù)雜度。二項(xiàng)分布的計(jì)算有時(shí)相當(dāng)麻煩,計(jì)算量相當(dāng)大[12]。在最大嘗試次數(shù)和猜中兌獎(jiǎng)碼的概率符合相應(yīng)條件的情況下,使用泊松分布來(lái)近似二項(xiàng)分布的概率函數(shù)值以簡(jiǎn)化計(jì)算,對(duì)嘗試次數(shù)和猜中兌獎(jiǎng)碼的概率的乘積進(jìn)行預(yù)先判斷,時(shí)間復(fù)雜度最高不超過(guò)O(N2),最短只需O(1)。在查找最小符合要求的批次數(shù)量值時(shí)使用了二分查找,也大大優(yōu)化了算法的時(shí)間效率。

        2)較好的空間復(fù)雜度。如果合適的批次數(shù)量值存在,根據(jù)第3節(jié)的論述,最后的批次值為C或[2 , C ]或[m1,C ],對(duì)于 [2 , C ]或[m1,C ],只用一個(gè)最小的批次數(shù)量值2或者m1存儲(chǔ)結(jié)果,實(shí)質(zhì)表示從2或者m1到總產(chǎn)量值C的一個(gè)范圍,極大減少了內(nèi)存占用。

        該批次數(shù)量值的選值算法主要局限性在于:

        1)程序要求商家用戶輸入嘗試猜測(cè)次數(shù)的最大值nx,理想情況下,計(jì)算得出的批次數(shù)量值可使當(dāng)嘗試猜測(cè)兌獎(jiǎng)碼次數(shù)分別為1,2,3,…,nx時(shí),猜中k(1≤k≤nx)個(gè)兌獎(jiǎng)碼的概率降低。但根據(jù)圖2,在嘗試猜測(cè)兌獎(jiǎng)碼次數(shù)分別為 nx,nx-1,nx-2,…,nx-i(0≤i≤nx-1)時(shí),符合要求的批次數(shù)量值可能不存在,得出的批次數(shù)量值只能滿足部分嘗試次數(shù)下,猜中k個(gè)兌獎(jiǎng)碼的概率降低。

        表1為程序運(yùn)行的部分結(jié)果。

        表1 批次數(shù)量值選值算法程序的部分運(yùn)行結(jié)果

        6 結(jié)語(yǔ)

        本文指出了現(xiàn)在電子兌獎(jiǎng)方案中存在某些人猜測(cè)兌獎(jiǎng)碼假冒兌獎(jiǎng)的風(fēng)險(xiǎn),計(jì)算了采用多批次生產(chǎn)后,某個(gè)時(shí)刻猜中兌獎(jiǎng)碼的概率,并指出了該概率和兌獎(jiǎng)碼長(zhǎng)度、生產(chǎn)總產(chǎn)量和生產(chǎn)批次數(shù)量之間的關(guān)系。

        另外,本文指出了多批次生產(chǎn)也并非毫無(wú)缺點(diǎn),批次數(shù)量的取值問(wèn)題是很重要的。某些批次數(shù)量值可能導(dǎo)致某些人利用計(jì)算機(jī)腳本程序進(jìn)行海量嘗試兌獎(jiǎng)碼時(shí),猜中某些個(gè)數(shù)的兌獎(jiǎng)碼的概率反而提高了,并利用了一款免費(fèi)的數(shù)學(xué)軟件Octave通過(guò)繪圖說(shuō)明了該問(wèn)題。

        對(duì)此,本文進(jìn)一步提出了一種計(jì)算合適批次數(shù)量值范圍的算法,算法根據(jù)二項(xiàng)和泊松分布來(lái)計(jì)算相關(guān)的概率函數(shù)值,并利用了二分查找、二項(xiàng)分布和泊松分布相關(guān)的單調(diào)特性優(yōu)化了算法,使算法具有較好地時(shí)間和空間復(fù)雜度,并且最后使用C#編程語(yǔ)言和。Net平臺(tái)的一款開(kāi)源數(shù)學(xué)工具M(jìn)ath.Net實(shí)現(xiàn)了該批次數(shù)量值選值算法,該算法能夠在商家決定生產(chǎn)批次數(shù)量時(shí)提供一個(gè)批次數(shù)量值的區(qū)間范圍,雖然算法存在一定局限性并且仍然無(wú)法完全杜絕某些人通過(guò)猜測(cè)兌獎(jiǎng)碼假冒兌獎(jiǎng)的情況,但可以大大降低這種情況的發(fā)生,切實(shí)為商家減少經(jīng)濟(jì)損失。

        [1] 鄧 路 沙.一 種 驗(yàn) 證 兌 獎(jiǎng) 信 息 系 統(tǒng)[P].中 國(guó) ,CN202472742U,2010-10-03.DENG Lusha.Verification award converting information system[P].China,CN202472742U,2010-10-03.

        [2]牛玉山,王培元,段清泉.一種發(fā)票自助兌獎(jiǎng)的方法[P].中國(guó),CN103150806A,2013-06-12.NIU Yushan,WANG Peiyuan,DUAN Qingquan.Method of invoice self-service cashing [P]. China,CN103150806A,2013-06-12.

        [3]唐西林,郭海艮.一種基于彩票內(nèi)容保護(hù)的電子彩票方案 的 改 進(jìn)[J].計(jì) 算 機(jī) 應(yīng) 用 研 究 ,2009,26(4):1506-1508.TANG Xilin,GUO Haigen.Improvement of electronic lot?tery scheme based on protecting content of lotteries[J].Application Research of Computers,2009,26(4):1506-1508.

        [4]周娟,曾輝,柴亞輝,等.一種有效安全驗(yàn)證的彩票銷售兌獎(jiǎng)方法[P].中國(guó),CN101894343A,2010-11-24.ZHOU Juan,ZENG Hui,CHAI Yahui,et al.Effective and safe verification-based lottery ticket sale and prize ex?change method [P]. China, CN101894343A,2010-11-24.

        [5]小林道正.概率·統(tǒng)計(jì)[M].盧煒俊,譯.上海:上??茖W(xué)技術(shù)文獻(xiàn)出版社,2014:4-5.Kobayashi Masae.Probability·Statistics[M].Translated by LU Weijun.Shanghai:Shanghai Scientific&Technical Publishers,2014:4-5.

        [6]同濟(jì)大學(xué)概率統(tǒng)計(jì)教研組.概率統(tǒng)計(jì)(第三版)[M].上海:同濟(jì)大學(xué)出版社,2004:24-94.Teaching and research group of probability and statistics at Tongji University.Probability and statistics(Third edi?tion)[M].Shanghai:Tongji University Press,2004:24-94.

        [7]Neeraj Sharma,Matthias K.Gobbert.A Comparative Evalu?ation of Matlab,Octave,F(xiàn)reemat,And Scilab For Re?search and Teaching [R].Technical Report HP?CF-2010-7.

        [8]同濟(jì)大學(xué)應(yīng)用數(shù)學(xué)系.微積分(第二版上冊(cè))[M].北京:高等教育出版社,2003:151-153.Department of applied mathematics at Tongji University.Calculus(Second edition,Volume one)[M].Beijing:High?er Education Press,2003:151-153.

        [9]數(shù)據(jù)之巔.開(kāi)源Math.NET基礎(chǔ)數(shù)學(xué)類庫(kù)使用(01)綜合介 紹 [EB/OL]. http://www.cnblogs.com/asxinyu/p/4264638.html.Peak of Math.The general introduction of using open-source basic mathematics library Math.Net(01)[EB/OL].http://www.cnblogs.com/asxinyu/p/4264638.html.

        [10]王媛嬌,孫愷.基于WPF技術(shù)的行情分析軟件設(shè)計(jì)與實(shí)現(xiàn)[J].電子設(shè)計(jì)工程,2014,22(18):20-22.WANG Yuanjiao,SUN Kai.Design and implementation of market quotations analysis system based on WPF[J].Electronic Design Engineering,2014,22(18):20-22.

        [11]鄒國(guó)霞,何南.一種改進(jìn)的二分查找算法[J].軟件導(dǎo)刊,2010,9(3):53-55.ZOU Guoxia,HE Nan.An improved binary-search algo?rithm[J].Software Guide,2010,9(3):53-55.

        [12]汪紅.用普阿松分布逼近二項(xiàng)分布的誤差估計(jì)[J].綿陽(yáng)師范學(xué)院學(xué)報(bào),1997,(Z1):16-18.WANG Hong.The error estimate of using Possion distri?bution to approximate Binomial distribution[J].Journal of Mianyang Normal University,1997,(Z1):16-18.

        猜你喜歡
        二項(xiàng)分布泊松商家
        The Thin Line
        基于泊松對(duì)相關(guān)的偽隨機(jī)數(shù)發(fā)生器的統(tǒng)計(jì)測(cè)試方法
        二項(xiàng)分布與超幾何分布的區(qū)別與聯(lián)系
        深度剖析超幾何分布和二項(xiàng)分布
        概率與統(tǒng)計(jì)(1)——二項(xiàng)分布與超幾何分布
        帶有雙臨界項(xiàng)的薛定諤-泊松系統(tǒng)非平凡解的存在性
        商家出售假冒商品,消費(fèi)者獲十倍賠償
        公民與法治(2020年9期)2020-05-30 12:45:12
        二項(xiàng)分布參數(shù)的E-Bayes估計(jì)及其應(yīng)用
        泊松著色代數(shù)
        春節(jié)黃金周陜西省商家攬金二百一十億元
        狂猛欧美激情性xxxx大豆行情| 亚洲国产精品久久性色av| 国产亚洲欧美在线观看的| 日本在线观看不卡| 福利片免费 亚洲| 成年女人18毛片观看| 日韩人妻免费视频一专区 | 尤物yw午夜国产精品视频| 国产97色在线 | 日韩| 婷婷综合久久中文字幕蜜桃三电影| 欧美日韩中文字幕久久伊人| 国产综合一区二区三区av| 日本二区三区在线免费| 又黄又刺激的网站久久| 国产肉体xxxx裸体784大胆| 55夜色66夜色国产精品视频| 色一情一乱一伦一区二区三欧美| 人人妻人人澡av| 国产一区二区免费在线视频| 国产精品永久久久久久久久久| 99久久国产综合精品五月天| 亚洲欧洲精品成人久久曰不卡| 日韩精品免费在线视频| 国产精品美女主播一区二区| 台湾佬中文网站| 国产做a爱片久久毛片a片| 四虎精品成人免费观看| 国产精品不卡免费版在线观看| 伊人加勒比在线观看视频| 五月天国产成人av免费观看| 丰满人妻被中出中文字幕| 老熟妇Av| 亚洲处破女av一区二区| 开心久久综合婷婷九月| 国产精品国三级国产av| 亚洲精品人成无码中文毛片| 99热成人精品国产免| 熟女少妇av一区二区三区| 97久久婷婷五月综合色d啪蜜芽| 亚洲av无码一区二区三区人妖| 亚洲—本道中文字幕久久66|