0

0
1

文字

分享

0
0
1

布爾與電腦——《科學月刊》

科學月刊_96
・2016/01/28 ・3186字 ・閱讀時間約 6 分鐘 ・SR值 548 ・八年級

項潔/臺灣大學資訊工程系特聘教授,兼任臺大數位人文中心與臺大出版中心主任。

布爾邏輯使得二進制在電子元件上得以實現,並且能夠進行基本的算術演算。從前巴貝奇雖然能設計,卻無法建造的可變換程序的計算機,到二十世紀中葉終於在布爾邏輯的基礎上得以完成。布爾對於電腦與資訊時代人類文明的影響,絕不亞於其他更著名的科學家,但是這樣的成就,卻是他所不曾預料的。

1946 年,世界第一台電子計算機(以下簡稱電腦)誕生了, 它的名字叫做ENIAC(Electronic Numerical Integrator And Computer),主要設計者是莫克利(John Mauchly, 1907~1980) 和伊克特(J. Presper Echert, 1919~1995)(當時團隊裡負責除法和開方運算的是一位華裔科學家朱傳榘)。那一年,距離布爾誕生已經131年,布爾也已去世82 年,他有生之年大概沒有想像到現代電腦發展的圖景。所以為何要在布爾誕生200 周年之際,談論布爾和電腦的關係呢?這個問題要從更久遠的過去談起。

01
史上第一台電腦 ENIAC,當時被美軍用於計算火炮彈道。相比現今電腦,其體積可說相當龐大,占地 167 平方公尺,組件包含上萬個真空管與電容器,重量達 27 噸。 (Source: terren in Virginia

計算機的發展

早從人類文明開始有精緻的交易行為起,就知道快速計算的重要。人類的第一個算盤,在西元前2500 年西亞的蘇美文明中就已出現,而且全世界每一個文明幾乎都有類似的工具。隨著工業革命帶來的商業和科技的發展,西方世界對計算的需求也越來越複雜,除了加減乘除外,還需要計算不同的函數,以及能儲存部分計算成果的機制等。換句話說,也就是需要從單純的計算器(calculator)進化到計算機(computer)。1801 年,雅卡爾(Joseph-Marie Jacquard, 1752~1834)就透過打卡(punch card)的設計來編織複雜的布料花樣,從現代的角度來看,那已經是在寫初步的程式了。

02
雅卡爾所設計之打卡編織系統,影響了後來計算機的誕生。(Source: John R. Southern

另一個更重要的發展,是比布爾年長24 歲的巴貝奇(Charles Babbage, 1791~1871)在1834 年開始設計的分析引擎(Analytical Engine)。巴貝奇花了數十年功夫改進這個機器,但一直到1871 年巴貝奇去世,分析引擎始終沒有被製造出來。(巴貝奇設計的另外一個比較簡單,專做多項式運算的差分引擎(Difference Engine),終於在1991 年被完整實現。)雖然如此,巴貝奇的分析引擎已經有了現代計算機的大致模樣。這個分析引擎的設計也是用雅卡爾的打卡機制,不同的是一個分析引擎的運作需要兩組卡片,一組描述要計算的函數及運算的指令,另一組包含函數中各個參數的值。熟悉1970 年代以前電腦的讀者,一定看得出這已經和當時的打卡機與電腦運作類似了。值得一提的是,巴貝奇最重要的同事叫做奧古斯塔‧ 愛達‧ 拜倫(Augusta Ada Byron, 1815~1852), 她是大詩人拜倫的女兒,也被公認為全世界第一位程式設計師。1980 年代美國國防部發展的程式語言Ada 就是以她命名的。

雖然分析引擎已經是一個通用的(general purpose)的計算機:具備中央處理器、記憶體、I/O 設計,甚至可以寫程式,而且距今150 年左右就已經被設計出來。但是,這個機器始終沒有被完全實現,關鍵就是因為分析引擎是機械式的,按照巴貝奇的設想,它必須靠蒸汽機動力來運轉,而當時的零件並沒有精細到如此地步;另一個問題則是經費,當時巴貝奇估計的需求用現在的價格來看,造價將超過8.5 億新臺幣。

NEW
巴貝奇所設計的差分引擎,包含超過 8000 個組件,重量達 5 噸。 (Source: Jitze CouperusMarcin Wichary

布爾和巴貝奇有數面之緣,在一封1862 年給巴貝奇的信裡,他感謝後者為他解釋差分引擎的細節。但布爾兩年後就去世了,所以如果他對巴貝奇的工作產生實質的興趣,兩人會激發出怎樣的火花呢?這部分也就只能靠後人的想像了。布爾的專注點是數學和邏輯,其中一個他感興趣的問題是,如何將人的思維透過數學的方法來呈現。在他1847 年的《邏輯之數學分析》和1854 年的《思想法則之探討》這兩部重要著作裡,布爾發展出一個後世所稱的布爾邏輯(或稱布林邏輯)(Boolean logic)。布爾邏輯的細節在本期中董世平教授〈布爾與邏輯〉的文章裡有深入的介紹,在此不再重複。不過這裡要提的一個重點是布爾的邏輯系統不但往上呼應到比他早2500 年的亞理士多德的邏輯,而且蘊含一個可以運算的方式,也就是布爾代數(Booleanalgebra)。布爾代數使得邏輯(或者說人類思維的方法)得以運算,這是個了不起的發現。

04
在倫敦科學博物館展示的巴貝奇的大腦。 (Source: Ross Huggett

何謂布爾代數?

布爾代數是由AND(x ∧ y),OR(x ∨ y),和NOT(¬x)三個運算組成。我們可以用布爾代數把一個邏輯命題表示成一個數學公式,如「x 或y 為真」變成x ∨ y=1,而「非x和y 為假」就成了¬x ∧ y=0。在這裡我們介紹一個和布爾代數等價,比布爾代數更容易運算但較不為人知的布爾環(Boolean ring)。布爾環和布爾代數不同的是將OR 用另一個運算XOR(Exclusive OR,⊕)代替,這個環的架構使得兩個運算(XOR 和AND)更接近我們熟悉的加法和乘法,所以在邏輯公式的運算上就更加直接。我們以下直接用+ 代表⊕,× 代表∧,推導出一個轉換系統:

05

A 的三個轉換將布爾代數的運算變成布爾環的運算;C 的四個等式僅用來表示 + 和 ×都符合交換律和結合律,所以不用管參數的前後順序;重要的是,B 的六個轉換,可以用來將任何一個用命題邏輯符號表示的布爾公式,簡化成一個唯一的標準型,如下:

06布爾代數造就電腦時代

布爾邏輯和布爾代數雖然在邏輯領域造成很大的影響,但長久以來除了數學界和哲學界之外,並沒有受到太多的重視,直到1937 年一個22 歲美國MIT 的研究生向農(Claude Shannon, 1916~2001)寫了一篇碩士論文〈繼電器與交換電路的符號分析》(A Symbolic Analysis of Relay and Switching Circuits)〉。在這篇劃時代的文章裡,向農觀察到任何電路(circuit)均可用一個方程式來代表,而這個方程式是由AND、OR 和NOT 三個運算(在電路學中稱為gates)組成,透過電壓的強弱可以呈現每個變數(電路學裡的開關,或switch)是正(true)或負(false)的狀態,而布爾代數正是從事這些運算的現成武器。其實不止是電路而已,數字本身也可以用二進制(binary)的方法來表現,如二是10(需要兩個開關),五是101(需要三個開關)等等。換言之,用二進制的開關電路(binary switching circuits)不但可以表示數字、函數,甚至可以透過開關的運作進行運算。這個發現開啟了電腦時代的蓬勃展開,直到今日。

07
向農。(Source: Tekniska museet

回到巴貝奇的分析引擎。前面說過,電腦大致所需要的核心組件,巴貝奇在一百多年前都已經想到了。然而,為何他沒有成功呢?差別在什麼地方?最大的差別,就在於現在的電腦只需要考慮兩個值(0 和1,也就是二進制),一切複雜的運算和數據都可以用這兩個值堆砌出來,而且電壓又是一個精確、快速、又不容易出錯的動源。半導體的發展已可以讓當初ENIAC 一間房子那麼大的電腦的功能濃縮在幾乎看不到的晶片裡還綽綽有餘,如果計算機還是停留在巴貝奇那時機械式的設計裡,這些都是無法想像的。電腦革命可以開展,布爾代數佔了極重要的地位,而布爾當初的純粹學理的研究,造成後代那麼大的影響,恐怕也是他未曾預料過的。

10〈本文選自《科學月刊》2015年11月號〉

延伸閱讀:
喬治.布爾─自學成大器的數學家
布爾與邏輯

什麼?!你還不知道《科學月刊》,我們46歲囉!
入不惑之年還是可以
當個科青


數感宇宙探索課程,現正募資中!

文章難易度
科學月刊_96
224 篇文章 ・ 1775 位粉絲
非營利性質的《科學月刊》創刊於1970年,自創刊以來始終致力於科學普及工作;我們相信,提供一份正確而完整的科學知識,就是回饋給讀者最好的品質保證。


1

2
0

文字

分享

1
2
0

Paxlovid能有效降低死亡風險嗎?COVID-19口服藥現況

台灣科技媒體中心_96
・2022/05/17 ・2421字 ・閱讀時間約 5 分鐘
示意圖/envato elements

今年四月台灣宣布將走向「重症清零,輕症管控」:非放任病毒肆虐式「與病毒共存」(living with covid-19) 的控管疫情策略。 若需要達到「重症清零,輕症管控」的目標,醫療人員的支援與 COVID-19 藥物的使用,將是關鍵手段,對於感染後容易導致重症的個案,也需要有抗病毒藥物來治療或預防惡化

目前有哪些治療新冠肺癌的藥物?

目前首度獲得美國 FDA 許可的抗新冠藥物「Remdesivir」 (瑞德西韋),是透過抑制病毒的 RNA 合成酶達到藥效。美國 FDA 更在近期批准,注射液劑型的 Remdesivir 適用於「出生 28 天及以上、至少 3 公斤」的嬰幼兒染疫患者,成為首款嬰幼兒的新冠療法

然而注射液劑型需要專業的打針技術,並非一般民眾可居家自行使用,因此抗新冠口服藥物的開發,各國一直都很重視。現行已通過美國 FDA 緊急使用授權(EUA)的抗新冠口服藥物,有輝瑞公司研發的「Paxlovid」,以及默克(或稱默沙東)公司研發的「Molnupiravir」(莫納皮拉韋)

而 Paxlovid 是由 Nirmatrelvir(奈瑪特韋)和 Ritonavir(利托那韋)兩種藥物所搭配使用,其中 Nirmatrelvir 主要作用是抑制新冠病毒的 Mpro 蛋白酶活性,進而干擾病毒的複製,達到抗病毒的效果。而 Ritonavir 則是能延長 Nirmatrelvir 在人體內的血中濃度,透過抑制人體內正常酵素 CYP3A4 酵素活性,避免 CYP3A4 快速將 Nirmatrelvir 代謝掉,而失去 Nirmatrelvir 該有的藥效。

這兩個藥物所構成的 Paxlovid 好像一對好夥伴互相協助,成為具有高效力的口服抗新冠藥物

Paxlovid 能有效降低死亡風險?

Paxlovid。圖/ Kches16414 , CC BY-SA 4.0

根據文獻指出,Paxlovid 能降低 COVID-19 感染後的 85-89% 住院或死亡風險,是目前對抗新冠肺炎最佳的選項之一。《新英格蘭醫學期刊》(NEJM)期刊於上個月發表最新 Paxlovid 臨床試驗的研究報告:「Oral Nirmatrelvir for High-Risk, Nonhospitalized Adults with Covid-19」證實,使用 Paxlovid 治療未施打疫苗且有症狀的 Covid-19 患者,能將 Covid-19 的重症風險降低 89%,且藥物的安全性在臨床上可接受,且沒有明顯的安全問題。

不過,此研究個案限於未施打疫苗者,而目前大多數人已經接種過新冠肺炎疫苗,情況略有不同。已有將此藥使用於已施打過疫苗者的研究正進行中,但若在未施打者有幫助,對於施打過疫苗而可能具有部分保護力的人,推測仍應會有治療效果,此研究是在症狀出現三天內給藥得到良好的效果,至於再晚一些時後才給藥,就沒有數據可參考。

但需要注意的是,有在服用其他藥物的患者(如:降血脂、抗腫瘤藥或神經精神藥物等),若服用 Paxlovid 會影響 CYP3A4 的作用,可能也會改變其他藥物的作用效果,若藥物在血中濃度無法被安全控制,往往對病情有負面的影響。因此服用 Paxlovid 需要有專業醫師的評估並開立處方簽才能使用,民眾無法自由服用

Paxlovid 需要有專業醫師的評估並開立處方簽。圖/envato elements

Molnupiravir 口服藥的表現又是如何?

病毒在複製的過程當中,往往需要大量的核糖核苷(ribonucleoside),作為合成新的病毒所需要的材料。而 Molnupiravir 口服藥,是一種「核糖核苷類似物」,也就是病毒在複製所需要的「冒牌」材料,透過這樣的方式干擾病毒的複製過程,進而阻止病毒的繁殖

Molnupiravir 不會像 Paxlovid 去影響到其他藥物在體內的作用,然而這些核糖核苷類似物在人體細胞進行複製的時候也會使用,所以可能具有誘導基因突變的風險

雖然一般來說,口服 Molnupiravir 的療程只有 5 天,在這樣的時間周期來說,對一般成人造成基因突變的風險是很低。但是,Molnupiravir 對於胎兒或哺乳中的嬰兒,風險就顯得高出許多。所以,Molnupiravir 在默克公司的官方網站有聲明,不建議孕婦及哺乳中的女性服用

此外,根據新英格蘭醫學期刊在今年三月的報告中,發現將 Molnupiravir 用於非住院的新冠患者治療中,僅僅將高危新冠患者的住院和死亡風險降低了 30%,低於早前估計的 50%。

Molnupiravir 不建議孕婦及哺乳中的女性服用。圖/envato elements

「老藥新用」的開發策略

環顧目前的抗新冠藥物,大都是利用「老藥新用」(drug repurposing)的藥物開發策略,才能在這麼短的時間達到如此的成就。「老藥」是指已被核准做為臨床使用的藥物,「新用」則是指由原來已核准的藥物中發現新的適應症用途或是新的用法。

老藥的好處就是其藥物臨床前的數據都已經被建立,其中包含藥理實驗、藥物動力學、代謝途徑、副作用等,這些數據對藥物開發相當重要。

在目前這些新冠藥物中,瑞德西韋一開始是用來開發對抗伊波拉病毒,而 Paxlovid 中的 Nirmatrelvir 原先用以治療愛滋病,此外 Molnupiravir 則是為了治療流感。這樣的成功經驗相信能提供政府與學者參考,期望台灣開發新冠藥物有亮眼的成績,也讓我們未來在對抗 COVID-19 疫情當中有更好的手段。

引用文獻

  1. Hammond, Jennifer, et al. “Oral nirmatrelvir for high-risk, nonhospitalized adults with COVID-19.” New England Journal of Medicine 386.15 (2022): 1397-1408.
  2. Coronavirus (COVID-19) Update: FDA Approves First COVID-19 Treatment for Young Children
  3. Coronavirus (COVID-19) Update: FDA Authorizes First Oral Antiviral for Treatment of COVID-19
  4.  Coronavirus (COVID-19) Update: FDA Authorizes Additional Oral Antiviral for Treatment of COVID-19 in Certain Adults
  5. Hammond, Jennifer, et al. “Oral nirmatrelvir for high-risk, nonhospitalized adults with COVID-19.” New England Journal of Medicine 386.15 (2022): 1397-1408.
  6. Cox, Robert M., Josef D. Wolf, and Richard K. Plemper. “Therapeutically administered ribonucleoside analogue MK-4482/EIDD-2801 blocks SARS-CoV-2 transmission in ferrets.” Nature microbiology 6.1 (2021): 11-18.
  7. Jayk Bernal, Angélica, et al. “Molnupiravir for oral treatment of Covid-19 in nonhospitalized patients.” New England Journal of Medicine 386.6 (2022): 509-520.

臨床試驗

  • EPIC-HR: Study of Oral PF-07321332/Ritonavir Compared With Placebo in Nonhospitalized High Risk Adults With COVID-19(NCT04960202

數感宇宙探索課程,現正募資中!

所有討論 1
台灣科技媒體中心_96
9 篇文章 ・ 7 位粉絲
台灣科技媒體中心希望架構一個具跨領域溝通性質的科學新聞平台,提供正確的科學新聞素材與科學新聞專題探討。