1. 程式人生 > >連載31:軟件體系設計新方向:數學抽象、設計模式、系統架構與方案設計(簡化版)(袁曉河著)

連載31:軟件體系設計新方向:數學抽象、設計模式、系統架構與方案設計(簡化版)(袁曉河著)

nbsp 定性 之前 發生 修改 TE 主體 .com 方差

貝葉斯網絡模型

貝葉斯定理:

貝葉斯定理是概率論中的一個結論,它跟隨機變量的條件概率以及邊緣概率分布有關。在有些關於概率的解說中,貝葉斯定理能夠告知我們如何利用新證據修改已有的看法。通常,事件A在事件B(發生)的條件下的概率,與事件B在事件A的條件下的概率是不一樣的;然而,這兩者是有確定的關系,貝葉斯定理就是這種關系的陳述。

貝葉斯公式:

技術分享圖片

貝葉斯公式為利用搜集到的信息對原有判斷進行修正提供了有效手段。在采樣之前,經濟主體對各種假設有一個判斷(先驗概率),關於先驗概率的分布,通常可根據經濟主體的經驗判斷確定(當無任何信息時,一般假設各先驗概率相同),較復雜精確的可利用包括最大熵技術或邊際分布密度以及相互信息原理等方法來確定先驗概率分布。

貝葉斯網絡:

貝葉斯網絡又稱信度網絡,是Bayes方法的擴展,是目前不確定知識表達和推理領域最有效的理論模型之一。從1988年由Pearl提出後,已經成為近幾年來研究的熱點.。一個貝葉斯網絡是一個有向無環圖,由代表變量節點及連接這些節點有向邊構成。節點代表隨機變量,節點間的有向邊代表了節點間的互相關系(由父節點指向其子節點),用條件概率進行表達關系強度,沒有父節點的用先驗概率進行信息表達。節點變量可以是任何問題的抽象,如:測試值,觀測現象,意見征詢等。適用於表達和分析不確定性和概率性的事件,應用於有條件地依賴多種控制因素的決策,可以從不完全、不精確或不確定的知識或信息中做出推理。


信息熵模型

技術分享圖片

從信息熵的觀點上可以看出,其實軟件設計與通信、統計學、復雜度、文本識別等處理是一致的,其在這些方面的經驗和結論可以引入到軟件設計中來,只是在軟件設計中存在一些新的研究課題而已。

技術分享圖片

技術分享圖片

所以,如果需要確定此“置換”的設計,我們可以先從其與之相關聯的外圍的“置換”進行分析,此可以降低其設計的不確定性,並能夠更好的進行分析。

技術分享圖片

技術分享圖片

技術分享圖片

最大熵原理:

最大熵原理是一種選擇隨機變量統計特性最符合客觀情況的準則,也稱為最大信息原理。隨機量的概率分布是很難測定的,一般只能測得其各種均值(如數學期望、方差等)或已知某些限定條件下的值(如峰值、取值個數等),符合測得這些值的分布可有多種、以至無窮多種,通常,其中有一種分布的熵最大。選用這種具有最大熵的分布作為該隨機變量的分布,是一種有效的處理方法和準則。這種方法雖有一定的主觀性,但可以認為是最符合客觀情況的一種選擇。

最大熵原理是在1957 年由E.T.Jaynes

提出的,其主要思想是,在只掌握關於未知分布的部分知識時,應該選取符合這些知識但熵值最大的概率分布。因為在這種情況下,符合已知知識的概率分布可能不止一個。我們知道,熵定義的實際上是一個隨機變量的不確定性,熵最大的時候,說明隨機變量最不確定,換句話說,也就是隨機變量最隨機,對其行為做準確預測最困難。

從這個意義上講,那麽最大熵原理的實質就是,在已知部分知識的前提下,關於未知分布最合理的推斷就是符合已知知識最不確定或最隨機的推斷,這是我們可以作出的唯一不偏不倚的選擇,任何其它的選擇都意味著我們增加了其它的約束和假設,這些約束和假設根據我們掌握的信息無法作出。

柯爾莫哥洛夫復雜度:

一個字符串s柯爾莫哥洛夫復雜度K(s))是這個字符串的最短描述的長度。換言之,一個字符串s的柯爾莫哥洛夫復雜度是能夠輸出且僅輸出這個字符串的最短計算機/圖靈機程序的長度。

柯爾莫哥洛夫復雜度具有不可計算性。

如果序列服從熵為H的分布,那麽該序列的柯爾莫哥洛夫復雜度K近似等於香農熵H,實際上,柯爾莫哥洛夫復雜度比香農熵更為基礎。

算法復雜度與計算復雜度二者之間存在微妙的互補關系,計算復雜度(也就是時間復雜度)與柯爾莫哥洛夫復雜度(也就是程序長度或描述復雜度)可以看成是對應於程序運行時間與程序長度的兩條軸。柯爾莫哥洛夫復雜度是沿第二條軸的最小化問題,而計算復雜度是沿第一條軸的最小化問題。沿兩條軸同時進行最小化的工作幾乎沒有。


連載31:軟件體系設計新方向:數學抽象、設計模式、系統架構與方案設計(簡化版)(袁曉河著)