看到一篇不錯的文章,與大家分享下。
----------------------------------------------------
元旦到來,炮竹聲聲,辭舊迎新,喜氣洋洋。
然而我卻高興不起來,又老了一歲,離死又近了一年!
雖然說得不吉利,但卻是事實(shí)。靈丹妙藥只能讓人早死,體格強(qiáng)壯并不增壽延年,求佛信神更是自欺欺人。我?guī)资陙砟芯浚Y(jié)果卻一次次讓人失望。
原來人以及每一個高等生物都有“設(shè)計(jì)壽命”,大多數(shù)器官都沒有再生能力,甚至沒有自我修復(fù)能力。隨著年齡的增長,功能逐步衰退。最核心的器官,大腦,更是連細(xì)胞的再生能力都沒有,每天死掉
10
萬個細(xì)胞,成年后,大腦就進(jìn)行性的不斷萎縮。死亡,不可抗拒!
我絕望了,女媧造人,水平不高。
我開始研究進(jìn)化論。進(jìn)化論告訴我們,一個物種要生存,必須與時(shí)俱進(jìn)。這一點(diǎn)很容易接受,因?yàn)樽匀画h(huán)境在變化,其他物種在變化。但為什么不是這個物種的每個個體“與時(shí)俱進(jìn)”,而是不斷的用新一輩替換老一輩?君不見要讓一個新的個體成長到成年是多么困難,讓老一輩死掉對一個物種來說是多大的浪費(fèi)。大自然幾億年的生物進(jìn)化,為什么選擇了這樣的方案?為什么物種的生存要以其個體的死亡為代價(jià)?為什么不是“適者生存”,而是“適者的后代生存”?
直到我做了多年的軟件,才終于明白了這里的道理。
我早期的程序大多是用原有程序改寫而成。漸漸的,我發(fā)現(xiàn),改程序越來越不容易,當(dāng)程序大到一定程度后,改寫不如重寫。后來,我進(jìn)入了專業(yè)軟件公司,一位前輩告訴我,早在
60
年代,
IBM
就有專家得出結(jié)論,如果對一個軟件的改動超過
15%
,則改寫不如重寫。
原來,跟人一樣,軟件也會死亡!或許,我們可以從這里入手,搞清人為什么會死亡。
如果我們要制作一個有
N
個對象構(gòu)成的軟件,第二個對象需要關(guān)心與第一個對象的關(guān)系,第三個對象需要關(guān)注與第一、第二個對象的關(guān)系,第
n
個對象需要關(guān)注(
n-1
)個關(guān)系。或者說,在構(gòu)筑新軟件的過程中,進(jìn)行一步的難度正比于
N
,或者說正比于系統(tǒng)的復(fù)雜度。
如果我在老程序上改動一個對象,則要改動(
n-1
)個關(guān)系,改動(
n-1
)對象,而這(
n-1
)個對象又要牽扯
(n-2)
關(guān)系和對象,推延下去,在“完全耦合”的前提下,改動一個對象需要對系統(tǒng)中所有對象和所有關(guān)系都改動一遍。也就是說,進(jìn)行一步的難度正比于
N
平方!這就是為什么對于強(qiáng)耦合復(fù)雜系統(tǒng),修改往往不如重做,這一點(diǎn)結(jié)論適用于軟件,也適用于生物界。
看來女媧造人時(shí)作出了最佳選擇,因?yàn)槿耸且粋€強(qiáng)耦合復(fù)雜系統(tǒng),改進(jìn)一個成年人要比重新培養(yǎng)一個孩子困難得多。要讓人類發(fā)展,只好讓人死亡。
這讓我想起了作人工智能軟件時(shí)的經(jīng)歷。我們當(dāng)年做的智能軟件要用大量數(shù)據(jù)“訓(xùn)練”。從一個嘗試解開始,通過一次又一次的迭代,每一次迭代生成新一代的嘗試解,扔掉上一代的嘗試解。這樣看來,我們每個人只是人類在適應(yīng)環(huán)境的過程中的一個嘗試解。我的壽命,只是構(gòu)筑、測試我這個嘗試解所需要的時(shí)間。復(fù)雜的生物、生存方式應(yīng)該有更長的壽命。長期穩(wěn)定環(huán)境下的生物也應(yīng)該有更長的壽命。
總結(jié)之,我之所以不能長生不老,是因?yàn)椋?/span>
1
)我是強(qiáng)耦合構(gòu)造(
2
)我只是一個嘗試解。
但是,我還是想長壽!只要能長壽,我愿意答應(yīng)任何要求!
冬日細(xì)雨中突然炸出一聲雷響,嚇得我手足無措,魂不附體。那是女媧的聲音,“嘗試弱耦合”。
(From
http://gocom.primeton.com/
)