日韩av黄I国产麻豆传媒I国产91av视频在线观看I日韩一区二区三区在线看I美女国产在线I麻豆视频国产在线观看I成人黄色短片

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 >

算法心经:数学的应用:概率的应用

發(fā)布時(shí)間:2025/3/15 29 豆豆
生活随笔 收集整理的這篇文章主要介紹了 算法心经:数学的应用:概率的应用 小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.
終于寫到重頭戲了,如果說前面的微分積分還屬于基礎(chǔ)理論,而與我們?nèi)粘5乃惴ㄔO(shè)計(jì)距離有點(diǎn)遠(yuǎn)的話,那么后面的概率、矩陣、空間立體幾何,可就是和應(yīng)用息息相關(guān)了。

為什么要有概率
概率是個(gè)數(shù)學(xué)概念,但它在計(jì)算機(jī)軟件設(shè)計(jì)上有很多應(yīng)用,數(shù)學(xué)概念是留給數(shù)學(xué)系的人討論的事情,我們這里側(cè)重的它的應(yīng)用。那么為什么會(huì)在應(yīng)用中用到概率,概率真正體現(xiàn)的是什么呢?我個(gè)人理解,概率的本質(zhì)是體現(xiàn)了一種模糊的思想,既可以是A、又可以是B,甚至本身概率的值就是模糊的,因?yàn)闆]有人知道真正的概率是什么,我會(huì)在后面解釋這句讓人暈的話。
理解了概率要表達(dá)模糊的思想后,我們會(huì)發(fā)現(xiàn)世界上絕對(duì)的事太少,甚至就是0、1寫入都存在微小的寫錯(cuò)概率,說不好的事情太多,也就決定了概率絕對(duì)是大有用處。

概率的內(nèi)容
目前市面本科的概率書的標(biāo)題一般為“概率和數(shù)理統(tǒng)計(jì)”,表明了概率實(shí)際分為兩部分內(nèi)容:概率和統(tǒng)計(jì)。統(tǒng)計(jì)是在概率分布的基礎(chǔ)上,而單純的概率統(tǒng)計(jì)不是這里要講的重點(diǎn),所以下面主要把概率理論部分分成了兩塊,“概率的計(jì)算”和“概率的分布”。

概率的計(jì)算
概率的求解絕對(duì)是數(shù)學(xué)的東西,這里不討論,什么全概率、獨(dú)立時(shí)間、貝葉斯公式,書上都有。這里舉幾個(gè)實(shí)際的例子,首先概率在算法設(shè)計(jì)分析時(shí)會(huì)碰到,就像我們?cè)诜e分那節(jié)舉的例子,計(jì)算出的公式幾乎都基于vector里面的對(duì)象分布完全隨機(jī)的,也就是每個(gè)對(duì)象在各個(gè)位置的概率都一樣導(dǎo)出的,如果概率不一樣呢?結(jié)果當(dāng)然會(huì)不一樣,有關(guān)計(jì)算不詳加討論。談到了分布的概率,TAOCP《計(jì)算機(jī)程序設(shè)計(jì)藝術(shù)》在動(dòng)態(tài)分配內(nèi)存那章的課后題專門有一題討論了,最佳匹配分配內(nèi)存的一個(gè)最大弱點(diǎn),最后的結(jié)果就是分配完空間的出現(xiàn)概率不平均。再有,BM字符串匹配比KMP算法的一個(gè)重要改進(jìn),就是假設(shè)字符串比較時(shí),從后位首先出現(xiàn)不一樣的概率比從頭起出現(xiàn)字符不一樣的概率大。甚至在搜索引擎里,pagerank的那個(gè)0.85都是模擬了用戶從瀏覽器直接跳轉(zhuǎn)的概率(盡管客觀上起到了,避免矩陣奇異的效果)。
概率計(jì)算很多都是基于經(jīng)典的模型(后面會(huì)說明模型的思想在概率起到重要作用),高中數(shù)學(xué)排列組合上讓我記憶猶新的一個(gè)模型就是問什么人排成一隊(duì),怎么分法時(shí),會(huì)想象每人之間一個(gè)空格,然后對(duì)空格取組合運(yùn)算。值得一提的計(jì)算模型是生日模型,由此引申的計(jì)算可以應(yīng)用到判斷hash的沖突的概率,比如做人機(jī)博弈時(shí),每次alpha beta剪枝搜索(也可以不同次)需要對(duì)棋盤做hash,然后在每次再對(duì)棋局評(píng)估時(shí),利用hash值看該棋局是否已經(jīng)被評(píng)估過。應(yīng)用概率,我們可以設(shè)計(jì)合理的hash code長度,然后利用生日模型,估算出該hash code長度下,棋盤的沖突概率,然后把概率限制在可接受的范圍內(nèi)。 因?yàn)檫@個(gè)計(jì)算模型太重要了,所以寫一下,將M個(gè)球,放入到N個(gè)(N>M)桶時(shí),每個(gè)桶的沖突概率是:1-N*(N-1)*(N-2)....(N-M+1)/power(N,M),可以看出,當(dāng)N個(gè)足夠大時(shí),沖突概率幾乎為0。
最后說一個(gè)曾經(jīng)讓我犯暈的小題,看你完全理解概率計(jì)算沒?

題一:打雷后下雨的概率是80%,而打閃電后下雨的概率是70%,那么即打雷又打閃電后下雨的概率是多少?不會(huì)計(jì)算沒關(guān)系,直覺告訴我們肯定比80%高,恩,沒錯(cuò),把這題改一改變成另外一題

題二:打雷后下雨的概率是80%,但是沒打閃電后下雨的概率是20%,那么打雷了但沒打閃電后下雨的概率是多少?不會(huì)計(jì)算沒關(guān)系,直覺告訴我們肯定位于80%和20%之間。

哦???暈了,怎么兩個(gè)題產(chǎn)生的效果不一樣,一個(gè)是比最高的高,一個(gè)是兩個(gè)概率之間,我們的直覺錯(cuò)了嗎,還是忽略什么重要的東西,請(qǐng)獨(dú)立思考1分鐘再看答案。

相信直覺沒錯(cuò)的,看第一題怎么解:
解=1-又打雷又閃電但沒下雨的概率= 1 - 0.2 *0.3 = 94%
第二題:
解=0.8 *0.2 /( 0.8 *0.2 +(1-0.8)*(1-0.2) )= 0.16/0.32= 50%
與直覺一樣,相當(dāng)于大家互相拖了一下后腿,而大家的力量一樣,所以扯平了,哈哈,我故意沒寫第二題解的說明,你是否明白了呢?

其實(shí)真正忽悠人的地方在于對(duì)獨(dú)立事件的理解,題一中的打雷下雨是獨(dú)立事件,類似于我踢一腳門塌的概率是80%,你踢一腳的概率是70%,我們同踢時(shí)門塌的概率是94%,但是如果我不踢,對(duì)你踢有影響嗎?沒影響,所以結(jié)果相當(dāng)于一個(gè)合力。
題二里的事件,并不是獨(dú)立事件,相當(dāng)于考慮利益去做某事的概率是80%,考慮危險(xiǎn)去做該事的概率是20%,兩個(gè)是互相影響的,隱含了這個(gè)條件,你考慮了利益決定不去做這事而又考慮了危險(xiǎn),這時(shí)去做該事的概率是0!!!同理,你考慮了危險(xiǎn)決定不去做這事,但是你又考慮了利益,但結(jié)果仍然去做該事的概率是0!!!實(shí)際上是一個(gè)類似單票否決的機(jī)制,最后的概率只由兩部分構(gòu)成,考慮了利益考慮了危險(xiǎn)做的概率和考慮了利益又考慮了風(fēng)險(xiǎn)但不做的概率,那么做的概率就是做的概率比這兩個(gè)加起來的概率的值。
題二的關(guān)鍵我們的潛意識(shí)在作崇,類似于認(rèn)為廠長就是男的那種,所以這題也有腦筋急轉(zhuǎn)彎的類型。
BTW:這道題的思考來源網(wǎng)上的一篇著名的文章“貝葉斯過濾垃圾郵件”,該文章中有一個(gè)類似的公式,但啥都沒說明直接就說叫聯(lián)合概率公式,后來我查書發(fā)現(xiàn)沒這個(gè)公式,所以才反復(fù)思考這個(gè)公式是怎么出來的。

概率的分布
前面提過,概率的分布是另一個(gè)大部分,而且是極其龐大的部分,總體上可以分為連續(xù)變量分布和離散變量分布,對(duì)計(jì)算機(jī)應(yīng)用來說,離散研究得更多一些,不過由于理論深度太高,我的水平不允許我在這里推導(dǎo)公式,所以建議大家去看書,這里只提一提正態(tài)分布,隨機(jī)變量合符合正態(tài)分布,這是一個(gè)極為有用的結(jié)論。用瀏覽器瀏覽頁面,可以有前進(jìn)和后退,那么在N次瀏覽后,應(yīng)該是按照初始的URL呈正態(tài)分布,那么多維的正態(tài)分布怎樣呢,比如前進(jìn)到頁面里的URL每個(gè)的概率是1/N,那么瀏覽和后退N次后,呈現(xiàn)的分布是什么呢?是不是預(yù)示某些閱讀習(xí)慣呢?我也不知道,留做思考吧:)

(非常)+重要的定理:大數(shù)定理
這里采用正則語法,表明再怎么重要也不過分。前面提到過一句話,就是概率本身的值表達(dá)的意思是個(gè)模糊的含義,甚至該值都是模糊的。現(xiàn)在作出解釋,事實(shí)上一個(gè)事件的概率,我們根本不知道,Miller投中一個(gè)三分的概率是什么?沒人知道,也沒法測量,所以說所謂的概率都是近似值,因?yàn)檎嬷挡淮嬖?#xff0c;這好象是講哲學(xué)了。不管你接受不接受這樣的觀點(diǎn),大數(shù)定理是同樣為我們解決這個(gè)問題來準(zhǔn)備的。
大數(shù)定理說明:當(dāng)事件發(fā)生足夠多次時(shí),它的發(fā)生頻率就是它單次發(fā)生的概率。
不用去管它怎么證明,我們還是要驚呼,這個(gè)看似常識(shí)的定理為宇宙把概率模型和統(tǒng)計(jì)模型兩大世界聯(lián)系了起來!!!讓我們知道了對(duì)概率的分析可以用統(tǒng)計(jì)的方法去解決,這個(gè)定理,就是搭起統(tǒng)計(jì)和概率的橋梁。Miller的三分命中率終于可以算了,讓他投1000個(gè),看他進(jìn)了幾個(gè):)


還有一個(gè)公式,也可以起到橋梁作用,那就是貝葉斯公式,P(A/B)=P(B/A)*p(A)/P(B),這個(gè)公式太深?yuàn)W,以至都創(chuàng)立了兩大學(xué)術(shù)派,我只有用的份,不敢多作半點(diǎn)解釋,那么這唯一半點(diǎn)解釋就是建立正推反推的模型,我們會(huì)在后面的三維概率模型中用到它。

概率的三維空間模型:
這是我寫的概率應(yīng)用的重點(diǎn),重在應(yīng)用舉例,首先說明一點(diǎn),為什么要用三維空間模型呢,是因?yàn)槲铱紤]任何問題都愛往矩陣上靠,一想到矩陣自然而然就聯(lián)想到了空間模型,如果你不接受這個(gè)觀點(diǎn),沒關(guān)系,看看有沒有空間的味道。

概率一維空間模型的應(yīng)用:
從概率點(diǎn)說起。空間模型里最低級(jí)的就是一個(gè)點(diǎn), 那么在概率世界里,點(diǎn)就是一個(gè)概率值,不管概率怎么得出的,反正有個(gè)23%的概率,那么它就是一個(gè)點(diǎn)了,它可以代表任何東西,數(shù)或者一個(gè)事件的概率,甚至一系列的事件的概率,總之,只要你想把它看成一個(gè)封裝的點(diǎn),它就是點(diǎn)。
有了點(diǎn),自然需要線,也就是一維概率模型的內(nèi)容:線。一個(gè)點(diǎn)到另一個(gè)點(diǎn)有一個(gè)概率,那么把這樣的一些點(diǎn)連起來,就形成了一條線。A推B,B推C,C推D....,那A能不能推C呢?當(dāng)然可以了,但是推了,就不是一維模型了,我們會(huì)在后面的二維模型里講。這樣依此串成串后,會(huì)發(fā)現(xiàn)和一個(gè)大名鼎鼎的名字能聯(lián)系一起,那就是馬爾可夫鏈,沒錯(cuò),這就是馬爾可夫鏈了。
馬爾可夫鏈有什么用?哇塞,用處太多了,按照書上的理論,可以做個(gè)簡單的聊天機(jī)器人,完全基于統(tǒng)計(jì)模型。利用大數(shù)定理,建立統(tǒng)計(jì)頻率等于概率的思想,我們統(tǒng)計(jì)上萬篇文章,按語素分詞(如何按語素分詞?不是我要講的重點(diǎn)),例如“今吃了嗎?”分成“今”和“吃了嗎”兩部分,然后我們發(fā)現(xiàn)在這上萬篇文章里,”今吃了嗎“后面跟的最多就是“吃了”和“沒吃”,那么我們?nèi)∽疃嗟陌l(fā)生頻率的回答隨機(jī)做出回答,比如回答“沒吃”。接下來,語素變成了“吃了嗎”和“沒吃”,然后再在上萬篇里發(fā)現(xiàn)“吃了嗎-沒吃”后面跟的“沒吃回家吃去吧”最多,那么我們就把這句話選成回答。呼呼,好簡單,是地,這就是模型的威力,有了模型,萬事不難。

上面的例子是經(jīng)典書籍的例子,我再舉一個(gè)我真實(shí)解決的例子。
研二的時(shí)候,我的上鋪去給一家手機(jī)游戲公司兼職,我對(duì)做手機(jī)游戲也很有興趣,不免時(shí)常和他探討一下。他做的街頭對(duì)打游戲,雙緩沖呀切圖啊這些自然不在話下,不過在測試階段遇到一個(gè)問題,游戲里面的NPC太傻。NPC和PC有很多動(dòng)作,比如跑,跳,橫拳,下蹲,防,下防等等,他設(shè)計(jì)是基礎(chǔ)是隨機(jī)出招,然后會(huì)根據(jù)NPC與PC的距離調(diào)整一個(gè)好斗值,當(dāng)然這個(gè)好斗值也會(huì)跟血有關(guān),當(dāng)NPC的血快沒時(shí),它會(huì)過多采用進(jìn)攻動(dòng)作。而在時(shí)間快結(jié)束,如果NPC發(fā)現(xiàn)自己的血多于PC時(shí)會(huì)降低好斗值,反之增加,而好斗值直接關(guān)系它發(fā)招的進(jìn)攻招的比例。但這么設(shè)計(jì)有個(gè)很重要的弱點(diǎn),當(dāng)PC用些固定招術(shù)取勝時(shí),NPC就會(huì)變得像傻子一樣,比如PC跳起落下再掃堂腿,NPC就掛,結(jié)果PC反復(fù)使這招,結(jié)果NPC反復(fù)掛。如此的現(xiàn)象,讓我不得不想起曾經(jīng)的FC游戲,魂斗羅啊,赤色要素啊,我每次遇到大BOSS的時(shí)候,BOSS發(fā)子彈時(shí),我都會(huì)躲到一個(gè)固定角落貓起來,每次都打不到我,此時(shí)多自豪自己為人類啊。
為了影響玩家感受的自豪感,游戲NPC必須克服這個(gè)缺點(diǎn),那怎么辦呢?概率一維模型coming!!!
我們?yōu)镻C動(dòng)作建立4元組馬爾可夫鏈,比如對(duì)動(dòng)作A,B,C,D,E建立兩個(gè)四元組(A,B,C,D)和(B,C,D,E),以此類推。在游戲中維護(hù)該一堆四元組,隨著游戲的進(jìn)行,就會(huì)出現(xiàn)一些重復(fù)項(xiàng)了,比如B到C到D到E的出現(xiàn)次數(shù)很多,也就是從B到C到D到E的概率很高,OK,我們記下,那么也會(huì)隨著游戲的進(jìn)程,各種各樣的四元組越來越多,那么就把頻率(概率)的小的刪除,始終把四元組們維持在一個(gè)在手機(jī)內(nèi)存里可接受的范圍內(nèi),(怎么存儲(chǔ)四元組來使存取最快,與我談的主線無關(guān))。哈哈,我們達(dá)到目的了,我們可以記錄下游戲中NPC的一些習(xí)慣了,那么下一步呢?那就是預(yù)測唄,如前假設(shè),B到C到D到E的概率很高,當(dāng)PC再次在游戲中打出B+C+D的連招時(shí),NPC提前可以預(yù)測出PC的下一招極有可能是E,于是就采用對(duì)E的防御招術(shù)。NPC終于智慧了,好興奮啊,試試吧,把代碼一往原程序一加,效果確實(shí)比原來好多了。
一維概率模型是這么厲害啊!!

轉(zhuǎn)自:http://hi.baidu.com/jrckkyy/blog/item/3228b846f402f3036a63e56f.html

總結(jié)

以上是生活随笔為你收集整理的算法心经:数学的应用:概率的应用的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。