0

0
1

文字

分享

0
0
1

電腦運算的基礎——布林代數,是麼搞出來的?│《電腦簡史》數位時代(三)

張瑞棋_96
・2020/09/07 ・3025字 ・閱讀時間約 6 分鐘

「糾正我們推理的唯一方法,是使它們像數學家的推算一樣實在可靠,這樣我們就能一目了然地發現錯誤。當人與人之間爭論不休時,我們只要說:別再吵了,讓我們算算看誰才是對的。」

—— 萊布尼茲 1685 年致 Philipp Spener 信。

本文為系列文章,上一篇請見:易經、巴別塔、通用文字——萊布尼茲研究二進位之路│《電腦簡史》數位時代(二)

亞里斯多德開創邏輯系統好棒棒,but……

萊布尼茲提出只用 0 與 1 的二進位算術,成為現代電腦的運算方式。不過,現代電腦可不是之前的計算器,藉由齒輪轉動的圈數來做加減乘除,而是利用電子零件的開關狀態。開關狀態如何做二進位算術?這就需要藉助「邏輯運算」。

邏輯運算這個詞在現代聽起來理所當然,但你若拿去問十八世紀以前的人,他一定覺得莫名其妙,邏輯用的都是文字語句,又不是數學,怎麼運算呢?

是的,打從亞里斯多德開創有規則可循的邏輯系統,兩千年來表達邏輯的方式都是用自然語言做為陳述句,例如下面這個最具代表性的三段論。

大前提:所有人都會死。

小前提:蘇格拉底是人。

結論:蘇格拉底會死。

亞里斯多德雕像。 圖:WIKI

然而自然語言不免會有多重涵義,或是容易有歧義的問題,不僅翻譯成不同語言可能造成誤解,就算是使用同一種語言的人,也可能會對其中的邏輯關係有不同認知。例如「有關係就沒關係,沒關係就有關係」這句俗諺裡面,「關係」這個詞項顯然有不同涵義,而「有」與「沒」的用法也前後不一。

況且除了簡單的三段論,還有其它形式更複雜的邏輯陳述,用自然語言確實無法精確地表示各種邏輯形式和規律。

你以為數學式本來就長這樣?

其實數學早期也都是用自然語言,如果翻開當時的數學書籍,只見盡是長長的文字敘述,即使看得懂,恐怕也難以聯想到它就是代表一個簡單的公式而已。這是因為直到十六世紀,數學才開始用符號來表達,像加、減、乘、除、等於都是約莫那個時候才改用 +、-、×、÷、= 代表。而我們現在熟悉的數學式記法,包括用字母代表未知數,更是十七世紀才盛行。

加、減、乘、除、等於,約莫到 16 世紀才改用 +、-、×、÷、= 代表。圖:Pexels

數學符號化之後,表述方式更加簡短精確,計算也變得方便許多。而且由於符號不受語文隔閡,不同國家的數學家都能一目了然,因此得以加速數學與科學的傳播與交流,是促成科學革命的重要基石。

萊布尼茲本身遊歷德國、法國、英國三地,又曾為微積分創造新的符號,更能感受符號化的重要性,因此在他夢想有數學般的通用文字之前,就已經試圖把邏輯轉換為數學那樣的表示方式,也就是現代所稱的「數理邏輯」。

萊布尼茲致力於邏輯數學化,可惜無人知

萊布尼茲先於 1679 年設想各種基本概念都用某個質數代表,例如「動物」用 “2” 代表,「理性」是 “3”,那麼「人是理性的動物」這個句子就相當於 “6=2×3”,也就是說代表「人」的數字是 “6”。從 6=2×3 可以推導出 6÷3=2,代表「人失去理性等於動物」,這樣便能透過計算完成邏輯推論。

1686 年,萊布尼茲改用 A、B、C……等字母符號代表普通命題,並引入「非」、「等於」、「不等於」、「屬於」、「不屬於」等符號,然後用這些符號列出交換律、傳遞關係……等處理集合關係的運算規則。

到了 1690 年,他又將加法與減法納入邏輯演算之中,讓邏輯的符號化與數學化更加完整,可以說已經為數理邏輯打下堅固的地基。無奈這些手稿在萊布尼茲生前從未公開,直到二十世紀初世人才知道他這方面的研究,數理邏輯的發展因此延遲了一個半世紀,才由英國數學家布爾 (George Boole) 重新開創。

布爾繪於 1860 年的肖像。圖:WIKI

布爾公親變事主,重新開創數學邏輯

布爾於 1815 年出生在一個鄉下小鎮,父親是個鞋匠。因為家境清寒,他自小學畢業後就沒再受正式教育,而是靠自學習得語文與數學知識。

布爾十六歲時被當地一所學校聘為教師,成為家中經濟支柱;到了十九歲乾脆自己開辦學校,同時更投入數學的研究。布爾二十三歲開始發表數學論文,逐漸獲得倫敦學術圈的注意,其中一位數學家德摩根 (Augustus De Morgan) 與他結為好友,後來竟為他帶來開創邏輯新局的契機。

話說十九世紀的哲學家已經注意到亞里斯多德的三段論有許多問題,因此包括德摩根在內的一些學者開始思考如何將邏輯數學化(如之前所說,他們渾然不知萊布尼茲早已做了研究)。1846 年,德摩根發表了一篇關於三段論的論文,主要是針對命題中的「所有」、「有些」,或「大部分」提出量化的討論。

沒想到論文發表後,另一位英國哲學家漢彌爾頓 (Sir William Hamilton) 立即跳出來指控德摩根剽竊自己的想法。布爾身為德摩根好友,自然要關切兩人爭執的內容,沒想到他深入研究後,竟從原本的旁觀者搖身一變為一代宗師。

布爾為了朋友踏入邏輯數學化領域。圖:Pexels

命題真偽改用 1 與 0 代表,邏輯關係化為數學運算

1847 年,布爾出版了《邏輯的數學分析》(The Mathematical Analysis of Logic),這本僅僅 82頁的小冊子立即撼動了哲學界與數學界。這裡面完全用代數的形式來表達傳統邏輯,像「且」、「或」、「非」、「若……則……」等邏輯關係都化為乘法與加、減法;命題的真偽就用 1 與 0 兩種數值代表;另外布爾再訂出結合律、分配律、……等基本公理,成功地將邏輯數學化。

從此邏輯推論可以改用簡潔精確的數學式計算,不但避免語意模稜兩可造成的謬誤,也大幅增加處理命題的效能。在許多學者投入之下,數理邏輯這門全新的路線迅速發展,布爾自己也在 1854 年出版的《思維法則》(The Laws of Thought) 中,把整個系統補強得更完整。

其實布爾的研究成果有許多都是萊布尼茲已經做過的,但歷史就是這麼奇妙,萊布尼茲被視為二進位制的創立者,是因為一個世紀前的哈里厄特沒有公開發表論文。如今換成萊布尼茲自己沒有將邏輯代數的研究整理發表,而讓邏輯代數在一個半世紀後冠上布爾之名(稱為「布林代數」(Boolean algebra),”Boolean”意指「布林的」)。

用布林代數表示邏輯命題。圖:WIKI

還有一點令人惋惜的是,萊布尼茲如此看重二進位制,卻沒有像布爾那樣,用 1 與 0 代表命題運算後的真偽。對於電腦運算而言,這是絕對必要的,因此從電腦發展的角度而言,即使萊布尼茲的文稿更早公開,布爾一定還是會在發明電腦的功勞簿上記上一筆。

二進位制與布林代數就緒,現代電腦只欠東風

事實上,布爾對計算機也不陌生。由於好友德摩根是愛達·勒芙蕾絲的數學家教,透過這層關係,布爾曾經跟巴貝奇書信往來。他在 1862 年寫給巴貝奇的一封信中,還特地感謝他為自己解釋差分機的細節。就像當年萊布尼茲曾設想過二進位的計算機,我們不禁要想像若是結合布爾的全新觀點與巴貝奇的設計天分,是否會改變計算機的歷史?

但這已無從得知了,因為布爾在兩年之後就死於非命。原來布爾冒著大雨到學校教課,因此感冒發燒,不料他那迷信順勢療法的老婆,竟繼續往布爾身上澆了好幾桶水,反而導致他嚴重肺炎,才四十九歲就因病過世。

無論如何,沒有電力還是不會有現代電腦,因此儘管二進位制與布林代數早已就緒,仍需等待東風——也就是電力系統與硬體零件,計算機才能航向全新的世代。當然,東風起了,還得有個諸葛孔明運籌帷幄呢……。

文章難易度
張瑞棋_96
423 篇文章 ・ 300 位粉絲
1987年清華大學工業工程系畢業,1992年取得美國西北大學工業工程碩士。浮沉科技業近二十載後,退休賦閒在家,當了中年大叔才開始寫作,成為泛科學專欄作者。著有《科學史上的今天》一書;個人臉書粉絲頁《科學棋談》。

0

7
0

文字

分享

0
7
0

「駝背、變矮、下背痛」是骨質疏鬆警訊!及早治療以免骨折造成失能

careonline_96
・2021/09/21 ・2705字 ・閱讀時間約 5 分鐘
駝背、變矮、下背痛,當心骨質疏鬆警訊,以免骨折害性命!骨科醫師圖文解析

李女士是活動力很好的人,到了六十多歲依舊忙進忙出。這天她如往常般彎腰搬起一個箱子時,突然感到背部劇痛,整個人跌坐在地,完全站不起身,最後只能在救護人員的協助下抵達急診室。

「聽完病人的描述,我們大概就可以猜到是因為骨質疏鬆,彎腰搬重物所造成的脊椎骨骨折。」義大醫院骨科部脊椎科楊士階醫師表示,「骨質疏鬆患者因為彎腰搬重物所導致的脊椎骨折比較常發生在胸腰椎交界的地方,若是在滑倒時用手去撐地,可能骨折的部位是手腕關節,或是髖關節的股骨頸。」

骨質疏鬆症是全身性骨骼疾病,會在無聲無息中逐漸惡化,倘若沒有接受檢查,患者大多沒有自覺,楊士階醫師說,很多患者都是在骨折突然發生時才發現嚴重骨質疏鬆。

骨質疏鬆本身雖然不會致命,但是在骨折之後,患者可能被迫臥床且疼痛難耐,生活品質大受影響,各種併發症也會接踵而至。根據統計,髖部骨折患者一年內的平均死亡率高達 22% [1],對中老年人而言,是不容忽視的健康威脅。

此外,在骨折之後,患者可能會失能,甚至得完全仰賴他人照顧,為個人及家庭帶來沉重的負擔。

台灣人口逐漸高齡化,楊士階醫師強調,及早發現、積極治療,才能預防骨質疏鬆症造成的危害。

三項自我檢查,及早發現骨質疏鬆

骨質疏鬆症常發生在停經後的婦女,大概五十多歲,楊士階醫師指出,不過較高齡的老人大概六十五歲以後不管男性、女性都有可能出現骨質疏鬆。2005〜2008 年國民營養調查報告指出台灣 50 歲以上男性與女性,以雙能量 X 光吸光式測定儀檢測骨鬆症,分別為 23.9% 及 38.3% [2]。

我們可以替自己或家人先做個簡單的評估,如果有駝背現象、身高變矮 4 公分以上、常常感到下背疼痛,就要懷疑有骨質疏鬆的問題。

骨質疏鬆警訊要注意

年紀較大或出現骨質疏鬆警訊的民眾,務必盡快就醫,楊士階醫師說,檢查骨質密度可以利用定量超音波骨密度檢查儀或雙能量 X 光吸光式測定儀(dual-energy X ray Absorptiometry,DXA),超音波檢查的速度較快、便利性高、沒有侵入性,X 光檢查的準確度較高,能夠針對脊椎與髖關節進行掃描,檢查時間大約 15〜20 分鐘。

骨密度檢查的報告會標示 T 值(T-Score):

  • 當 T 值大於或等於 -1.0 時屬於「正常」
  • 當 T 值介於 -1.0 至 -2.5 之間稱為「骨質缺乏(osteopenia)」
  • 當 T 值等於或小於 -2.5 時,稱為「骨質疏鬆症(osteoporosis)」。
  • 如果患者已有骨折發生時,稱為「嚴重性骨質疏鬆症」。

運用骨密度檢查我們可以利用較客觀的數據了解骨質的狀況,楊士階醫師說明,如果骨密度檢查屬於骨質缺乏、甚至骨質疏鬆,建議要接受進一步的治療。

國際骨質疏鬆症基金會也有製作骨折風險評估工具(Fracture Risk Assessment Tool,FRAX),填入年齡、性別、體重、身高、骨折病史、父母髖骨骨折病史、抽菸、類固醇使用、股骨頸骨質密度等資料,便能估算未來十年發生骨折的風險。

積極治療骨質疏鬆,預防骨折

我們骨頭中具有造骨細胞與破骨細胞,造骨細胞(Osteoblast)會產生新的骨質,破骨細胞(Osteoclast)則會吸收骨質,讓骨頭一直處在動態平衡的狀態。

楊士階醫師解釋,想要治療骨質疏鬆,可以從這兩個方面著手,抑制破骨細胞或刺激造骨細胞。

抑制破骨細胞的藥物包括雙磷酸鹽、雌激素、選擇性雌激素調節劑、RANKL 單株抗體、抑鈣素等,可以減少骨質被吸收。

刺激造骨細胞的藥物源自人類的副甲狀腺素,可以促進造骨細胞生成骨質,需要每天皮下注射。

積極治療骨質疏鬆

目前還有一類藥物屬於雙重機轉藥物,能夠降低破骨細胞的骨質吸收作用,且能增加造骨細胞的骨質生成作用,有助降低骨質疏鬆患者發生骨折的機率。接受骨質疏鬆治療時,請記得每天要補充鈣質與維生素 D。

預防骨質疏鬆,可以這樣做

隨著年紀增加,骨質會持續流失,我們要從年經時便增高最大顛峰骨量,預防骨質疏鬆,楊士階醫師說,日常生活中請盡量減少骨質疏鬆的危險因子,包括戒菸、戒酒,也要減少咖啡因的攝取。

每天攝取足量的鈣質與維生素 D,有助維持骨骼健康。國際骨質疏鬆症基金會建議,50 歲以上成人每日鈣質攝取量須達1200 毫克,維生素 D 攝取量須達 800 至 1000 IU 國際單位(international units,IU)[2]。

鈣質必須由食物中獲得,富含鈣質的食物包括乳製品、豆類、深綠色蔬菜、海帶、香菇、堅果、芝麻等。

接受日照後,身體可以合成維生素 D,每天要適度接受日照,食物方面可選擇牛奶、起司、蛋黃、海水魚、淡水魚、蕈菇、黑木耳等。

倘若無法由食物中攝取足量鈣質與維生素 D,便可適度補充。

預防骨質疏鬆,可以這樣做

負重運動有助增加骨質密度,肌力足夠也能改善平衡、減少跌倒及骨折風險。從年輕便養成規律運動的習慣,好處多多!

貼心小提醒

骨質疏鬆是每個人都可能遭遇的問題,由於骨質流失時通常沒有明顯感覺,很多患者都是在骨折發生後,才驚覺患有骨質疏鬆症,楊士階醫師叮嚀,如果具有危險因子,如年紀較大、抽菸、飲酒過量等,或是觀察到有駝背現象、身高變矮 4 公分以上、常常感到下背疼痛,建議就醫接受骨質密度檢查。
如果有骨質缺乏、甚至骨質疏鬆的狀況,務必定期追蹤並積極接受治療,以降低骨折及其他併發症發生的機會!

本衛教文章由台灣安進協助刊登

參考資料

  1. Downey C, Kelly M, Quinlan JF. Changing trends in the mortality rate at 1-year post hip fracture – a systematic review. World J Orthop. 2019;10(3):166-175. Published 2019 Mar 18. doi:10.5312/wjo.v10.i3.166
  2. 2020台灣成人骨質疏鬆症防治之共識及指引

careonline_96
5 篇文章 ・ 11 位粉絲
台灣最大醫療入口網站
網站更新隱私權聲明
本網站使用 cookie 及其他相關技術分析以確保使用者獲得最佳體驗,通過我們的網站,您確認並同意本網站的隱私權政策更新,了解最新隱私權政策