經濟學的核心概念是合同(contract),多個利益主體(具有不同的價值目標)在互動中達成一致協議。這本質上是個多目標優化的問題。這與物理學的精 神是有著本質區別的。物理學傳統上認為世界是完美的,存在著唯一的真理。根據lagrange原理,最低能量原理等,物理世界總是在眾多可比的備選結構中 選擇那唯一最優的結果。在經濟學中不存在唯一的價值取向,並不是所有的事物之間都是能夠進行比較並排出座次的。比如,我們大多數人會認為10個老婆餅比一 個老婆餅好,10個蔥油餅比乙個蔥油餅好,10個老婆餅加10個蔥油餅比乙個老婆餅加乙個蔥油餅好,但是10個老婆餅和10個蔥油餅之間如何比較,卻是沒 有確定的結果的。數學上,我們說可以建立偏序(partial order)但無法建立全序。因為多個利益主體對同一事物的評價是不可比的(不同的),因而可以產生交換.交換是乙個互惠互利的過程. a交出了部分老婆餅換來了蔥油餅,因為a覺得自己的老婆餅很多,還是蔥油餅更有吸引力一些,而同樣b認為自己的蔥油餅很多,他寧肯再要一些老婆餅. 通過一番討價還價的互動過程,我們可以達到所謂的pareto有效(optimal): 在最終的優化配置中,沒有人能夠在不使別人受損的情況下使自己得益. 即繼續交換下去,a或b中的乙個就會覺得不值得了. 注意到經濟學的這種雙贏性質與軍事學和權謀術也是不同的,權謀講求爭鋒相對, 損人即利己, 進攻是最好的防守等等.
多目標優化,意味著我們在一族向量中尋找最優的乙個,儘管在每個維度上我們都能很容易的作出比較和判斷,但綜合起來卻需要反覆的權衡。在凸分析 (convex analysis)中標量化(scalarization)是尋找pareto有效點的常用方法. 即定義乙個**向量, 優化時考慮總體**. **的存在意味著市場的存在, 意味著我們在考慮優化問題的時候,可以只考慮自身與市場的互動,而不用考慮眾多其它利益主體的存在(類似於物理中的場方程). 理論上可以證明,在均衡**處可以實現pareto最優。
說了這麼多經濟學,它和軟體有什麼關係呢。稍微留意一下就會發現,現在軟體中越來越強調合同和涉眾(stakeholder)利益了(參考use case)。早期,面向過程程式設計時,系統的目標比較單一:滿足當前系統功能需求。基本上系統中的每乙個函式在編寫的時候都服從於乙個目標,即當前系統的運 行。在編制的時候多半都想著向著最終的目標邁進,系統的各個部分之間是精確(detailed)匹配的。(想想vb的**吧)。採用物件導向的思想方法之 後,系統中出現了多個利益的實體,它們定義並保護著自身的利益。系統的目標不再是完成功能,而是實現使用者價值,穩定執行,便於維護等多重價值目標。在面向 物件以後,我們經常會發現,最終我們實現的功能點會多於面向過程開發的時候。很多物件函式在當前系統中最終並沒有呼叫,但考慮到重用性和完備性等,我們還 是編寫了相應的**。很多商用元件物件的功能集更是大得驚人,我們永遠只是用到其中的一小部分。系統的架構便是由物件之間相互協作並相互競爭支撐起來的. 在物件導向設計中, 我們說物件對外暴露的介面是與外部世界達成的contract, 而介面函式則反映了一次互動過程.有時我們採用如下方法, 讓呼叫雙方都能平等的獲得處理機會.
class a
}xp敏捷程式設計強調快速迭代, 但絕不意味著不進行架構設計. 按照級列設計理論, 複雜性是分級的, 我們要採用滿足當前需求的最簡單的設計,而不是絕對意義上的最簡單的設計. 而且簡單與完備性還是兩回事,雖然簡單,但是功能仍然要是完備的. 這是個架構性問題. 迭代是個逐步精化的過程,而很少是格式塔式的革命. 在xp中我們應該更加強調architecture centric.
重構是不影響系統外部特徵的情況下,對系統內部結構的修改. 但我們現在要從結構a走向結構b,重構的路徑到底在**。推翻了重新寫並不是重構。雖然xp強調當前,不要過多考慮未來,但這只是個重點問題,並不意味著 不考慮未來,我們需要為複雜性的方向性發展保留出一定的通道。實際上重構的過程中,架構本身對應的概念是基本不變的,只是結構在調整,在細化。如果你大腦 痴呆,先天遺傳不利,無論怎麼重構知識結構大概也難以避免被淘汰的命運. 重構也會陷入pareto最優點,因為一些物件作為即得利益者,讓它放棄自己的功能集並不是那麼容易的事情。它會爭辯說,我和xx建立了關聯,基於我的 yy功能,zz已經作了大量開發而且已經發布出去。。。
目前軟體設計中沒有"市場"的概念, 在權衡系統功能歸屬的時候,我們只能兩兩進行: 這個功能放在物件a裡好呢還是放在b裡好呢. 是乙個相當費力的過程.
最後,再為物理學說句話。表面上看起來,物理學是由最優化原理支配的,但它還要受到所謂對稱性的制約。很多時候當我們面臨兩難選擇的時候,對稱性會幫助我 們作出選擇。對稱性(根據nother定理,守恆律也是對稱性的一種)維護了物理學內部的結構張力。
魔鬼經濟學 《魔鬼經濟學3》
1 本書是史蒂芬 列維特暢銷書 魔鬼經濟學 的第三本。2 想要真正認知一件事情,就必須花費時間精力去蒐集事實 分析資料,這是一件苦差事,大多數人都不願意去做。3 為什麼人們往往無法正確地認知世界?主要有兩個原因,人們要麼是不假思索地接受流俗觀點和所謂常識。要麼是僅憑直覺和感性來理解事物,而不是通過客...
幽默的經濟學原理 其實經濟學可以這樣學
from a.一農戶在殺雞前的晚上餵雞,不經意地說 快吃吧,這是你最後一頓!第二日,見雞已躺倒並留遺書 爺已吃老鼠藥,你們別想吃爺了,爺他媽也不是好惹的。當對手知道了你的決定之後,就能做出對自己最有利的決定。納什均衡理論 所以保密 資訊保安很重要 b.魚說 我時時刻刻睜開眼睛,就是為了能讓你永遠在我...
計量經濟學建模 計量經濟學tips
01 計量建模時一般考慮線性模型,why?我的答案很簡單 why not?反正模型的形式是未知的。既然未知,為何不選最簡單的線性模型?02 很多教科書一討論引數估計,就搬出幾大標準 無偏性 有效性和一致性。這幾個性質的地位是不一樣的。一致性是最重要的,而有效性在它面前微不足道。至於有偏無偏,即使有偏...