About虛擬&實際

@分享虛擬與實際的世界中所遊玩的心得紀錄,從物理化學到生命科學、從人文藝術到現代科技、從虛擬介面到實際生命體。享受的只是一種學習與體驗。若文章內容有誤,歡迎提出以供修改,對文章的回饋,歡迎寄信給我!一起分享,互相學習成長的環境。
@個人簡介在『關於韃靼』
@我是韃靼~我的信箱:chenyuquan at gmail dot com

2017年7月22日 星期六

百日計畫:024-軟體系統的穩定性

(ET-024)
7/21依然是個晴朗的好天氣,中午過後去散步與用餐,想到這幾日交通事故、意外事故以及一些時事議題(如燒香、腳踏車道、共享腳踏車等)。有句俗話說得挺有趣的,有人就有複雜!這並不是只說因為人較為高等所以顯得議題複雜,而是每個人的真理(價值觀)並不同,在決定任何事情之上,都必須經過提出、爭執、理解、妥協等階段,來取得議題的解決方案。

但即使是同樣(或勉強說是類似的)議題,因為時間、地點、參與人、影響事物的不同,也會有不同的解決方案。以上看起來好像是老生常談,毫無意義。的確!是挺無趣的,
可是這麼無趣的結論卻不斷地在家庭、團體、社會、國家中發生。

先提個跟自動化(或智能化、物聯網、雲端等)相關的議題,如果任何載具(如汽車、大眾運輸等)可以真正實現車聯網,在車子準備進行任務前,其實就可以先經過一系列的自我檢查,而在行進中也能不斷的進行系統確認,也會真實地遵守初始設定的條件。可以使許多意外的狀況減少或者不會發生。

當然現實運行中有無數的可能性,從Google的無人車到Uber也進行無人車的測試,都依然會有意外,可是這些意外依然是處於複雜系統中(即有人為的介入)。

我舉個有點簡化的範例,若以Python(或其他任何程式語言),我撰寫了一個簡單的數數字,從一數到十,再從十數回到一,不斷重複100次。實務上,這段程式碼進行無數次依然不會出現問題。但當演算法的邏輯開始複雜化,即使是”軟體”的程式碼運行,仍然有機會出現狀況,因為可能要考量電腦處理器時脈、暫存記憶體容量、演算法的浮點數運算等許多“電腦硬體”問題。若再更複雜化一點與馬達、感測器、制動器結合,需要與實體世界的互動。要考量“例外狀況”的議題就更多了,記住,例外狀況(Exception)不是程式錯誤(BUG),許多非軟體工程背景的(好吧、即使是有寫軟體經驗的人)都會忽略或搞混。而程式運行中的些許誤差,就會像似蝴蝶效應般的,慢慢地擴大,最終可能在某個點上使整個系統遇上大麻煩了。

智能化(自動化)是否可以解決許多問題呢?我的想法是會的,從歷史的紀錄可以得知。但是否會創造更多的問題呢?這也是會發生的,但如何去修正、改善、進步,就是我們該去思考並執行。

沒有留言:

張貼留言