此文是對《得到》萬維鋼[精英日課]之《“蝴蝶效應(yīng)”我們都理解錯了》一文的敘述形式和目的改寫扮匠。原作者如有異議可告知則立行刪除。
“蝴蝶效應(yīng)”是人們經(jīng)常談?wù)摰囊粋€典故捣郊,是說巴西的一只蝴蝶扇動翅膀咆耿,有可能在幾周之后像街,在美國德克薩斯州,導(dǎo)致一場颶風(fēng)梦谜。人們經(jīng)常用蝴蝶效應(yīng)形容微小的事情可能帶來很大的影響叹螟。這是一個以訛傳訛式的誤傳,實際上沒有這回事秸侣。為什么要對這種傳聞進(jìn)行糾正存筏,是因為這種說法會造成很嚴(yán)重的觀念錯誤。
我們應(yīng)該首先了解一下“蝴蝶效應(yīng)”說法的來歷味榛。1961年椭坚,美國數(shù)學(xué)家愛德華·洛倫茲在用計算機(jī)通過某種算法模擬天氣變化,原本某個輸入?yún)?shù)的數(shù)值應(yīng)該是 0.506127搏色,有一次洛倫茲為了省事善茎,就把該輸入數(shù)值末尾進(jìn)行了四舍五入,用 0.506 代替频轿。這樣的做法其實誤差不到萬分之二垂涯,是一個非常非常小的變化『叫希可是洛倫茲發(fā)現(xiàn)耕赘,計算機(jī)輸出的結(jié)果,卻不是相差萬分之二膳殷,甚至不止相差百分之二十操骡,而是導(dǎo)致天氣狀態(tài)顛覆,變成了一個完全不同的天氣狀況赚窃。這就相當(dāng)于說册招,你測量某地大氣壓數(shù)值如果有萬分之二的誤差,結(jié)果預(yù)測出來的天氣就從晴天變成下雨了勒极。這是一個令人絕望的發(fā)現(xiàn)是掰。如果是這樣的話,請問誰能保證測量的參數(shù)都無比準(zhǔn)確呢辱匿?那所謂的天氣預(yù)測還有什么意義呢键痛?
數(shù)學(xué)家們可不是第一次遇到這種情況炫彩。數(shù)學(xué)家早就知道,對于“非線性系統(tǒng)”散休,結(jié)果有時候就是會對初始值非常敏感:初始值差一點點媒楼,結(jié)果就會相差很大。這也是“混沌”這個概念的起源戚丸。比如著名的“三體問題”就是一個非線性系統(tǒng)划址。三個臨近的星球在引力作用下會如何運(yùn)動?開始的位置差一點點限府,后面的結(jié)果就會很不一樣夺颤。而“線性系統(tǒng)”就簡單得多,輸入差一點胁勺,輸出就僅差一點世澜,不會更多。洛倫茲有感于非線性系統(tǒng)的這個性質(zhì)實在太不好對付署穗,就作了一個夸張的比喻表述寥裂,說這簡直就像是巴西的蝴蝶扇動翅膀所帶來的德克薩斯的一場颶風(fēng)啊……請注意,洛倫茲說的只是一個夸張的比喻而已案疲,事實上蝴蝶是不會導(dǎo)致颶風(fēng)的封恰。
“蝴蝶效應(yīng)”的誤傳使得人們對非線性系統(tǒng)無端地產(chǎn)生了惡劣的印象,其實非線性系統(tǒng)并非是完全不可控的系統(tǒng)褐啡。今天我們的天氣預(yù)報是相當(dāng)準(zhǔn)確的诺舔,氣象局通過衛(wèi)星云圖和地面氣象數(shù)據(jù),能夠很好地預(yù)測陰备畦、晴低飒、雨、雪懂盐、颶風(fēng)和臺風(fēng)褥赊,他們并不需要關(guān)注什么蝴蝶之類的無關(guān)因素。洛倫茲當(dāng)初的計算機(jī)模擬算法存在一定的弊病莉恼,使用了一個過于敏感的模型崭倘。事實上并不是所有的非線性系統(tǒng)對所有的輸入?yún)?shù)都那么敏感。天氣系統(tǒng)并不是一個特別夸張的變化多端的系統(tǒng)类垫。人們經(jīng)常把股市也想象描繪成混沌系統(tǒng),似乎有些看起來很無害的小波動琅坡,有可能帶來股市比較大的波動悉患。但就像古話比喻的那樣,“沒病不死人”榆俺,事實上小波動是不會導(dǎo)致股災(zāi)之類的大事件的售躁。用“蝴蝶效應(yīng)”形容小事導(dǎo)致了大事坞淮,這個觀念是錯誤的。讓我們分析一下什么叫“導(dǎo)致”陪捷。
我們先進(jìn)行一個多米諾骨牌實驗:從小到大的一堆多米諾骨牌排在一起回窘,最大的一塊有一個人那么大,最小的一塊比指甲蓋還小市袖,只能用鑷子拿啡直。放倒最小的一塊,骨牌就會連鎖反應(yīng)苍碟,最終把最大的一塊也推倒酒觅。這不就是“蝴蝶效應(yīng)”嗎?一個極其微小的骨牌微峰,卻把一個很大的骨牌放倒了舷丹。但是我們要問,放倒最大一塊骨牌的根本原因蜓肆,是那塊極其微小的骨牌嗎颜凯?
不是。根本原因是這些骨牌的排列方式仗扬。這是一個極其危險的系統(tǒng)症概。因為就算最小的骨牌不倒,只要中間任何一個骨牌倒下厉颤,都會導(dǎo)致后面所有的骨牌倒下穴豫。
如果一定要追因問責(zé)的話,那么你要問的不是誰推倒了最小的骨牌逼友,最小的骨牌有權(quán)做它想做的事情精肃;你應(yīng)該問的是,誰把骨牌排列成這個樣子帜乞!這就好比說如果你把一堆炸藥堆放在一起司抱,只要一個火星就能引起爆炸,那么爆炸發(fā)生了黎烈,你埋怨的不應(yīng)該是那個火星习柠,你應(yīng)該反思為什么炸藥會以不安全的方式存放,并存放在不安全的地方照棋。
火星總是會有的资溃,微小的骨牌總是不穩(wěn)固的,蝴蝶也一定要煽動它的翅膀烈炭。你應(yīng)該關(guān)注和能夠管理的是系統(tǒng)本身溶锭,而不是關(guān)注哪些微小外因最后變成導(dǎo)火索。什么樣的系統(tǒng)是脆弱的符隙、危險的系統(tǒng)呢趴捅?1979 年垫毙,美國賓夕法尼亞州的三里島核電站,發(fā)生了一次嚴(yán)重的反應(yīng)堆的融毀事故拱绑。事故雖然沒有造成直接或者間接的人員傷亡综芥,但卻造成了 10 億多美元的經(jīng)濟(jì)損失。當(dāng)時美國政府請了一位叫查爾斯·佩羅的社會學(xué)家?guī)椭治鍪鹿试蛄圆ΑE辶_的研究膀藐,從此改變了人們對大事故的看法。與一般公眾的想象相反迟几,目前的核電站其實是一種非常不容易出毛病的設(shè)施消请。切爾諾貝利核電站是早期的沒經(jīng)驗的設(shè)計,如同中國大煉鋼鐵似的蠻干的杰作类腮。三里島核電站也是老式的設(shè)計臊泰,安全性能與今天的新型核電站不能比。即便如此蚜枢,它也沒那么容易出問題缸逃。佩羅發(fā)現(xiàn),三里島事故是由三個原因同時起作用導(dǎo)致的厂抽。第一需频,反應(yīng)堆有個給水系統(tǒng),正常情況下應(yīng)該供水筷凤,但不巧的是昭殉,給水系統(tǒng)發(fā)生故障,而備用的給水系統(tǒng)在之前維護(hù)時被關(guān)閉了藐守,沒有按規(guī)定打開挪丢。第二,給水故障了卢厂,反應(yīng)堆溫度上升乾蓬,這時候有個泄壓閥就會自動開啟以降低溫度。等到溫度降下來后泄壓閥應(yīng)該自動關(guān)閉慎恒,但是泄壓閥也發(fā)生了故障任内,沒有及時關(guān)閉,于是導(dǎo)致反應(yīng)堆的冷卻劑往外流融柬;第三死嗦,如果工作人員能正確判斷發(fā)生了什么,也能立即采取有效措施粒氧≡阶撸可是工作人員看到的指示燈顯示泄壓閥已經(jīng)關(guān)閉了。這是由于指示燈的設(shè)計缺陷,顯示燈應(yīng)該顯示泄壓閥的真實狀態(tài)廊敌,是處在打開還是關(guān)閉的狀態(tài),而不是顯示已經(jīng)“命令 ”泄壓閥關(guān)閉门怪,工作人員被誤導(dǎo)了骡澈。這三件事只要有一件不發(fā)生,大事故就不會發(fā)生掷空。英文中有個詞叫“完美風(fēng)暴”肋殴,意思是幾個因素恰好一起發(fā)生而導(dǎo)致一個劇烈的后果。三里島核電站事故坦弟,就是一場“完美風(fēng)暴”护锤。如果我們問,在這個事故中誰是那只煽動翅膀的蝴蝶酿傍,應(yīng)該指責(zé)誰呢烙懦?可以想象,局外中的人們本能地都會是指責(zé)當(dāng)時負(fù)責(zé)操作的工作人員赤炒,可這三件事情是在 13 秒內(nèi)發(fā)生的氯析,工作人員根本來不及反應(yīng)。佩羅說莺褒,我們真正應(yīng)該指責(zé)的是系統(tǒng)掩缓。
從三里島事故出發(fā),佩羅總結(jié)遵岩,現(xiàn)代幾乎所有重大事故你辣,包括飛機(jī)墜毀、化工廠爆炸等等尘执,具有兩個共同特征:第一個特征是“復(fù)雜”舍哄。中文的“復(fù)雜”對應(yīng)到英文有兩個詞,一個是 complex正卧,一個是 complicated蠢熄。后者的意思差不多是“很麻煩、不容易理解”炉旷,而前者的意思是系統(tǒng)的各個部分互相關(guān)聯(lián)签孔,不是簡單的連接。我們說的這個復(fù)雜是 complex窘行。我們應(yīng)該了解什么是系統(tǒng)饥追,并盡量學(xué)會“系統(tǒng)思維”。任何系統(tǒng)都有正反饋和負(fù)反饋回路罐盔。正反饋回路會讓系統(tǒng)不穩(wěn)定但绕,負(fù)反饋回路會讓系統(tǒng)回歸穩(wěn)定。核電站這種系統(tǒng)實在太復(fù)雜了,其中有各種反饋回路捏顺,有些部分之間的關(guān)聯(lián)還是隱藏的六孵,隱藏于設(shè)計者的設(shè)計意圖之外。如果有一個正反饋關(guān)聯(lián)回路是設(shè)計者沒想到的幅骄,在事故中開啟了劫窒,就會很麻煩。第二個特征是“緊致耦合(tight coupling)”拆座。所謂緊致耦合主巍,就是這個系統(tǒng)缺少緩沖地帶,錯誤冗余度太差挪凑。出現(xiàn)這種情況往往是系統(tǒng)過于追求效率孕索,搞得系統(tǒng)元素都是一環(huán)套一環(huán)可丁可卯,結(jié)果錯一步就導(dǎo)致后面全錯躏碳。
比如大型橋梁就是一個不復(fù)雜搞旭、耦合也不緊的系統(tǒng)。哪個橋墩有問題唐断,不至于馬上波及別的橋墩选脊,大橋?qū)Ω吨€能用上一段時間。道路交通也不復(fù)雜脸甘,但是耦合比較緊恳啥,一條路上任何一個地方出事故,整條路都得堵車丹诀。高等學(xué)府系統(tǒng)很復(fù)雜钝的,但是耦合不緊,教授們就算搞搞政治斗爭也翻不了天铆遭∠踝可是像核電站和化工廠這種東西,如果又復(fù)雜耦合又緊枚荣,那就容易出大事故碗脊。
系統(tǒng)思維的結(jié)論是:大事故不會是蝴蝶隨意煽動翅膀引起的。沒有一個安全的系統(tǒng)橄妆,所謂安全意識就是一句空話衙伶。安全意識一定是在系統(tǒng)設(shè)計之初才能起到真正的作用。要把系統(tǒng)設(shè)計或調(diào)整好害碾,要有定回路矢劲、緩沖區(qū),要有錯誤冗余空間慌随,這樣我們才可以有恃無恐芬沉。反過來說躺同,如果系統(tǒng)性能不行,人就算整天戰(zhàn)戰(zhàn)兢兢也難保不出事兒丸逸。