Posted on 2005-12-27 01:22
canonical 閱讀(747)
評論(0) 編輯 收藏 所屬分類:
設計理論
實際觀測到的結果是系統內在結構的外在表現,而軟件開發是從需求分析開始,經歷系統分析,設計并實現的過程,即從用戶需求逆推出軟件的結構。這種根據外在
表現求解內部結構的模型的過程,在數學上稱為反問題(inverse
problem)。關于反問題,一個眾所周知的難點在于解的不適定性。因為不同的結構可以有類似的外在表現,因而反問題的解是不穩定的。在一個既定的情況
下,我們按照某種粗略的外在度量標準,從反問題的眾多近似解中選擇了一個。但是當所需的外在表現發生微小變化后,我們第一次選擇出來的結構可能無法適應這
一微擾,而我們再次求解出來的結構可能與原先的結構有著巨大的差別。因而原先選擇的解在結構上是不穩定的。在數學上,我們稱之為奇異解(singular
solution)。在數學上,在求解反問題的時候為了避免選擇到奇異解,經常采用的技術手段就是類似于級列理論的所謂鎮定方法。即我們提出一系列的模
型,對它們進行一維參數化。當參數較大時相當于對原有模型的一種近似,原有模型的細節被淹沒在正定泛函的大范圍結構中,整體呈現出一種簡單的結構,而當參
數越來越小時,原有模型的細節被逐漸識別出來,整體模型逐漸復雜化,最終參數為0時恢復到原始情況。常見的模擬退火算法(simulated
annealing)就屬于這一策略族。通過模型的連續性,我們建立了一個復雜模型與一個簡單模型(因而物理意義明確)之間的一條連續的紐帶,沿著這條可
退化的途徑,我們才有可能回避奇異解,保證復雜模型的物理有效性。
在軟件設計中,我所提出的級列設計思想正是這樣一種漸進演化的設計思想。我們極力維護模型的可退化性,保證復雜的模型不至于鎖定在錯誤的角落中。而基于模型的連續性,我們對于未來的發展進行外推才有了一定的根據。