整理 | 王啟隆
透過「歷史上的今天」,從過去看未來,從現在亦可以改變未來。
今天是 2022 年 11 月 2 日,1815 年的今天,喬治·布爾(George Boole)誕生,他提出的布爾邏輯理論,首次定義了邏輯代數系統。回顧近現代的科技歷史,11 月 2 日這一天還誕生了許多形形色色的事件,對我們如今的科技進程造成了關鍵的影響。
1916 年 11 月 2 日:程式語言先驅 Adriaan van Wijngaarden 出生
Adriaan van Wijngaarden 於 1916 年 11 月 2 日出生在荷蘭,他是程式語言學和語言翻譯的領導者,也是程式語言 ALGOL 60 的貢獻者;他領導將 ALGOL 60 改寫為 ALGOL 68 的項目,這是當時最先進的程式語言,而且激發了遠遠領先於它的時代的特性。1986 年,他獲得了 IEEE 計算機學會先鋒獎。Wijngaarden 於 1987 年逝世,享年 71 歲。

圖源:維基百科
Wijngaarden 於 1939 年從代爾夫特理工大學機械工程專業獲得學位;隨後,他攻讀了流體力學博士學位,但後來放棄了這一領域。1945 年,他加入了國立研究院;第二年,他和一個團隊前往英國,了解二戰期間那裡開發的新技術。
在英國,Wijngaarden 開始對自動計算的新想法感興趣;1947 年 1 月 1 日,他成為阿姆斯特丹全新的數學中心計算部門的負責人,隨後,他進一步訪問了英國和美國,為建造第一臺荷蘭計算機 ARRA 收集想法。
Wijngaarden 是最初的 ALGOL 語言和後來的 ALGOL 68 的設計者之一,為此他開發了一種兩級形式語法,後來被稱為 Van Wijngaarden 語法。1962 年,他作為國際資訊處理聯合會(IFIP)演算法語言和微積分工作組 2.1 成員,指定、維護和支持程式語言 ALGOL 60 和 ALGOL 68;ALGOL 語言極大地影響了許多其他語言,並且是計算機協會 30 多年來在教科書和學術資源中使用的演算法描述的標準方法。
資料來源:維基百科
1948 年 11 月 2 日:NP 問題的提出者 Leonid Levin 出生
P/NP 問題是一個在理論資訊學中計算複雜度理論領域裡至今未被解決的問題,也是克雷數學研究所的七個千禧年大獎難題之一。P/NP 問題中包含了複雜度類 P 與 NP 的關係;1971 年,圖靈獎得主 Stephen A. Cook 和今天要介紹的主角:Leonid Levin,兩人相對獨立地提出了下面的問題,即複雜度類 P 和 NP 是否是等價的(P=NP?),為世人留下了一大難題。

圖源:維基百科
1948 年 11 月 2 日,Leonid Levin 誕生於蘇聯,作為一名蘇聯裔美國電腦科學家,以其在以下方面的工作而聞名:計算中的隨機性、演算法複雜性和難處理性、平均案例複雜度、數學和電腦科學基礎、演算法概率、計算理論和資訊論。他和圖靈獎得主 Stephen Cook 獨立發現了 NP 完全問題的存在。
Levin 於 1970 年在莫斯科大學獲得碩士學位,師從著名蘇聯數學家安德烈·科爾莫戈羅夫,並於 1972 年完成了候選人學位的學業要求。1972 年,Levin 開始在國家科學院莫斯科資訊傳輸研究所研究資訊論演算法問題,1973 – 1977 年在莫斯科國家石油/天然氣工業綜合自動化研究所擔任高級研究科學家。
1978 年,Levin 移民美國,並在一年後自麻省理工學院取得博士學位;他的一生被描述在《Out of Their Minds: the Lives and Discoveries of 15 Great Computer Scientists》一書的一章中,Levin 因發現 NP 完備性和開發平均案例複雜性而在 2012 年獲得了 Knuth 獎;Knuth 獎授予為電腦科學基礎做出傑出貢獻的人,以電腦科學家高德納(Donald E. Knuth)命名。
而關於 NP 問題,也通常被稱為 Cook-Levin 定理,是克雷數學研究所宣佈的 7 個千年獎問題之一的基礎,並由該機構提供了 100 萬美元的獎金。Levin 關於這個定理的期刊文章發表於 1973 年;在那之前的幾年裡,他就其中的思想進行了演講,不過,他對於 NP 問題的完整研究結果是在 Cook 發表之後。
讓時間回到 2022 年,在如今的純粹科學研究,通訊、交通運輸、工業設計,以及社會軍事、政治和商業的鬥爭中都湧現出了大量的 NP 問題。若按經典的純粹數學家們所熟悉的窮舉方法求解,則計算時間動輒達到天文數字,根本沒有實用價值;數學界許多有經驗的人認為對於這些問題根本上就不存在完整、精確、而又不是太慢的求解演算法。因此,NP=P?可能就是這個世紀最重要的數學問題了。
資料來源:維基百科
1988 年 11 月 2 日:第一種蠕蟲病毒 Morris 誕生
1988 年 11 月 2 日,最早通過網際網路傳播的計算機蠕蟲之一莫里斯蠕蟲(Morris worm)誕生,這也是第一個獲得主流媒體顯著關注的蠕蟲,這也導致了 1986 年計算機欺詐和濫用法案下美國第一次重罪定罪。莫里斯蠕蟲是由康奈爾大學的研究生羅伯特·塔潘·莫里斯(Robert Tappan Morris)編寫的,並首先於麻省理工學院的計算機系統發佈。
羅伯特·塔潘·莫里斯(Robert Tappan Morris)誕生於 1965 年 11 月 8 日,是一位美國電腦科學家,因 1988 年製造莫里斯蠕蟲而聞名;在蠕蟲病毒爆發後,他被判處 3 年緩刑、400 小時的社區服務和 1 萬多美元的罰款。1989 年 7 月 26 日,羅伯特·莫里斯成為第一個因計算機欺詐和濫用法案被定罪的人。
出獄後,羅伯特·莫里斯共同創立了 Viaweb 公司,這家初創公司製作用於創建線上商店的軟體,後來以 4800 萬美元的價格賣給了雅虎。羅伯特·莫里斯的父親也叫 Robert Morris,是貝爾實驗室的科學家,Unix 的合著者,NCSC(國家電腦保安中心)的前首席科學家;因此,也許應該稱呼羅伯特·莫里斯為「小莫里斯」或者「莫里斯二世」。

圖源:維基百科
時間回到 33 年前的今天。按照莫里斯的說法,編寫蠕蟲病毒的起因並不是想造成破壞,而是想測量網際網路的規模。然而,選擇在麻省理工學院施放蠕蟲,卻又掩蓋了它其實是來自羅伯特·莫里斯所在的康奈爾大學這一事實;此外,莫里斯蠕蟲利用了 Unix 系統中 sendmail、Finger、rsh/rexec 等程序的已知漏洞以及薄弱的密碼。
雪上加霜,蠕蟲程式碼中一段非本意的效果加劇了其危害性,它使同一臺計算機會被重複感染,每次感染都會造成計算機運行變慢直至無法使用,導致拒絕服務。蠕蟲的主體只能感染 DEC 的 VAX 機上運行的 BSD 4 以及 Sun 3 系統,而程序中的一段 C 語言程式碼會調用程序主體,使其在其它的系統上也能運行。
結果便是,事件第二天,1988 年 11 月 3 日,美國軍方的 DARPA 組建了 CERT(計算機緊急反應小組),用以應付此類事件,標誌著 Internet 保護開始成為一項嚴肅的工作,也促使了美國總統里根因此而簽署了《電腦保安法令》。
如今,莫里斯蠕蟲的源程式碼存放於一個黑色 3.5 英寸軟盤中,存放在波士頓科學博物館中;而羅伯特·莫里斯後來擔任了麻省理工學院電腦科學和人工智慧實驗室的一名終身教授,主攻方向是計算機網路架構,皆大歡喜。
資料來源:維基百科
2002 年 11 月 2 日:域名 Linkedin.com 註冊成功

圖源:維基百科
領英(LinkedIn)是一款社群網路服務網站,域名 Linkedin.com 註冊於 2002 年 11 月 2 日。在該網站完成註冊後會自動產生和帶入電子名片,專門為商業人士設立,堪稱具有社群功能的線上履歷始祖;不只求職者可在平臺上更新自己的履歷,企業或僱主也能發佈職位。
截至 2015 年,領英大部分的收入來自向招募人員及專業銷售人員收取會員訊息的訪問許可權;自 2016 年 12 月起,領英正式成為 Microsoft 全資子公司,連結了全球雲端龍頭和專業社群龍頭。截至 2021 年 2 月,領英擁有來自 150 個國家地區共 7.4 億註冊會員。「歷史上的今天」介紹過的不少工程師和企業家都擁有領英賬戶,比如在 10 月 31 日專欄中介紹的電子書發明者 Florian Brody,便在領英的個人首頁上給自己的傳奇經歷做了一番介紹。
【歡迎投稿】以史為鏡,可以知興替。電腦科學發展至今,有許多至關重要的事件、人物,歡迎所有朋友一起共建「歷史上的今天」,投稿郵箱:tangxy@csdn.net 。