運用條件概率分析合情推理模式
1. Goldbach猜想是說,任一大於等於4的偶數一定能表示成兩個質數之和。關於質數,我們還有這樣一個有趣的結論:對於任何整數n>1,存在質數p滿足n<=p<2n。這個結論對Goldbach猜想是很“有利”的,因為它是Goldbach猜想的一個必要條件。倘若對於某個正整數n,n和2n之間沒有質數,那麼偶數2n就不能表示為兩個質數之和了,因為所有可以用的質數都比n小,再怎麼也加不出2n來。注意,如果這個結論錯了,猜想也就被推翻了;但如果這個結論對了,猜想也不一定是對的。但即使這樣,我們仍然習慣性地認為,驗證了推論的正確性後猜想的可靠程度也或多或少的有了些提高,換句話說猜想為真的可能性更大了。這種思維合理嗎?
2. 長期以來,人們都在思考:對任一給定的平面圖進行染色,要想使得有公共邊的區域顏色不同,最少需要多少種顏色。四色猜想(現在已經是四色定理了)認為,只需要最多四種不同的顏色就足夠了。我們可以隨便畫一些圖進行驗證,每一次檢驗後我們都會或多或少地更加相信結論的正確性。你可以嘗試尋找下面的圖1、圖2和圖3的合法解,檢驗一下猜想是否正確。驗證哪一個圖更有價值?你或許會這樣回答:驗證第一個圖毫無價值,因為它顯然有可行的染色方案;驗證第三個圖最有價值,因為它看上去最像反例,證實了它確實有解後,你會更加堅信四色猜想的正確性。1975年的4月1日,雜誌Scientific American的數學專欄作家Martin Gardner宣佈他找到了一個四色猜想的反例(圖4)。當然,這只是一個愚人節的笑話。尋找圖4的解非常困難,以致於看上去幾乎是不可能的。一旦你成功找出了圖4的解,對四色猜想的信任程度可就不只提高一點點了。“對猜想的某個結論進行驗證,結論越是不可思議,證實以後原猜想的可靠程度就提高得越多”,這種思維是合理的嗎?
3. 你認為,是否有可能把一個直角三角形分成若干個銳角三角形?你很可能花了一節古代漢語課的時間苦思冥想,結果直角三角形沒搞出來,倒是碰巧把一個正方形分成了8個銳角三角形。雖然你仍不知道一個直角三角形是否能分成若干個銳角三角形,但你找到了一個正方形的解,你會強烈地感覺到直角三角形也是有解的。這是什麼原因呢?注意到,如果三角形能分的話正方形一定能分,但反過來卻不一定。不過,這裡面還有一些更微妙的關係:我們傾向於相信如果連直角三角形都沒法分,正方形應該更沒法分了。既然現在正方形已經解決了,那三角形也就快了。“B是A的結論,且沒有A的B很不可靠,則證實了B可以極大地提高A的可信度”,這種思維合理嗎?
4. 關於“如果他錯了,那我對的概率就更大了”的思維。A、B兩人被一個實際問題難住了,雙方就問題中的兩個變數的變化關係爭執不休。A認為,函式影象畫出來應該是一個開口朝上的二次函式;B則認為,函式影象應該是一個正弦函式。注意到一個有趣的事實:這兩種猜測滿足矛盾率,但不滿足排中率。就是說,有可能A和B都錯了,但是A和B不可能都對。緊接著他們發現,這個函式存在至少一個極大值,A的猜測顯然是錯的。雖然這並不能表明B的猜測就是對的,但我們能不能說B猜對的概率變大了?
下面的內容是G.Pólya的Mathematics and Plausible Reasoning Vol 2裡的精華:用概率來分析合情推理模式。我們可以用概率知識來描述上面這些合乎情理的推測。如果你還不知道什麼叫做條件概率,建議你先看一看這篇文章。
注意到P(A)*P(B|A)永遠等於P(B)*P(A|B),它們都等於P(A∩B)。如果B是A的一個推論,那麼有P(B|A)=1(若A為真則B必為真)。於是我們有P(A)=P(B)*P(A|B)。這裡,P(A|B)有一個形象的意義:結論B的證實可以使我們對A的信任改變多少。假如P(A|B)不變,則如果等式右邊的P(B)增加了,P(A)也會增加。這也就說明了我們的第一個合情推理模式:對猜想的一個結論更加信任,對猜想本身也更加信任。
這個式子還能告訴我們更多的東西。把P(B)除過去,我們有P(A|B)=P(A)/P(B),其中等式左邊的P(A|B)表示的仍然是證實了B以後A為真的概率,也就是驗證B結論的價值。我們很清楚地看到,P(B)處於分母的位置。那麼,結論B本身為真的概率越小,證實了B後對A的影響也就越大。
注意P(B)=P(A∩B)+P(~A∩B)=P(A)*P(B|A)+P(~A)*P(B|~A),而B是A的一個結論,即P(B|A)=1。於是,等號右邊變為P(A)+[1-P(A)]*P(B|~A)。利用前面的結論,我們用P(A)/P(A|B)代替等式左邊的P(B),則有P(A|B)=P(A)/[P(A)+[1-P(A)]*P(B|~A)]。可以看到,如果P(B|~A)越小,則P(A|B)越大。這就是說,在沒有A的前提下B成立可能性越小,證實了B之後A為真的可能性就越大。
最後,我們看一看A和B不相容的情況。此時,P(A∩B)=0,於是
P(A) = P(A∩B) + P(A∩~B)
= P(A∩~B)
= P(~B) * P(A|~B)
= [1-P(B)] * P(A|~B)
把1-P(B)除過去,就有P(A|~B)=P(A)/[1-P(B)],顯然P(A|~B)是大於P(A)的,也即排除了B的猜測後A對的可能性比原來更高了。我們還可以清楚地看到,如果我們之前越相信B,則B被駁倒後A正確的可能性提高得就越多。
相關文章
- 條件概率與全概率公式公式
- 條件概率、全概率、貝葉斯公式理解公式
- 胡家奇:警惕人工智慧 比無條件擁抱更合情合理人工智慧
- JavaScript 條件運算子JavaScript
- js條件運算子JS
- objective-c 條件運算子Object
- 布朗語料庫中條件概率分佈函式ConditionalFreqDist使用概率分佈函式
- 有條件分析oracle日誌Oracle
- 一條關於swap爭用的報警郵件分析
- 一條關於swap爭用的報警郵件分析(二)
- 一條關於swap爭用的報警郵件分析(一)
- Lua騷操作——三元條件運算子
- javaSE練習--運算子和條件結構Java
- javascript運算子——條件、逗號、賦值、()和void運算子JavaScript賦值
- 免費模式成功的六個有利條件模式
- IORegistryIterator競爭條件漏洞分析與利用
- 【C進階】22、條件編譯分析編譯
- 13張動圖助你徹底看懂馬爾科夫鏈、PCA和條件概率!馬爾科夫PCA
- 運輸計劃和處理的前提條件
- doxygen 宏定義/宏編譯/條件編譯/預處理/預編譯 不處理、忽略條件、分析所有條件、滿足所有條件的方法編譯
- 如何運用安全模式模式
- 附個人工作程式碼 條件變數深度運用、互斥鎖+訊號量變數
- shell指令碼中的運算子和條件判斷指令碼
- 不停機條件下部署 Django 應用Django
- 條件隨機場CRF(二) 前向後向演算法評估標記序列概率條件隨機場CRF演算法
- 條件反射反射
- 條件渲染
- 策略模式簡單運用模式
- 【開發篇sql】 條件和表示式(五) 集合運算SQL
- Java 設定Excel條件格式(高亮條件值、應用單元格值/公式/資料條等型別)JavaExcel公式型別
- PLSQL條件(CASE WHEN)語句小應用SQL
- 分析:應用收費模式分析模式
- 模式識別與機器學習——概率分佈模式機器學習概率分佈
- 重構複雜條件的規則設計模式 - levelup設計模式
- SQL中on條件與where條件的區別[轉]SQL
- 一條看似平常的報警郵件所做的分析
- golang常用手冊:運算子、條件語句、迴圈語句Golang
- PL/SQL 條件SQL