陳鍾誠

Version 1.0

圖靈獎得主

年份得主重要貢献程式實作
1966Alan J. PerlisALGOL 60 引進了許多新的概念如:局部性、動態、遞歸、 BNF 等等
1967Maurice WilkesEDSAC 設計者,程式庫概念提出者。
1968Richard Hamming發明 漢明碼糾錯編碼法hamming.js
1969Marvin Minsky神經網路電腦,證明單層感知器無法解決 XOR 問題。提出 AI 《框架理論》 與 agent 概念
1970James H. Wilkinson協助《圖靈》設計 Pilot ACE 計算機,提出矩陣計算的 向後誤差分析法 (backward error analysis) ,並主導設計 EISPACK 軟體包
1971John McCarthy提出了「人工智慧」這個概念,發明 LISP 語言,創建 Situation calculus 的邏輯推論體系
1972Edsger W. Dijkstra提出《 GOTO 有害論》,發明 《 信號量 PV 原語》 解決了 《哲學家用餐問題》 ,並提出 《最短路徑演算法》《銀行家演算法》
1973Charles W. Bachman1971 年 DBTG 小組提出了 DBTG 報告,描述了網狀式資料庫系統,資料定義(DDL)和資料操縱語言(DML),確立了《外部、抽象和內部》的三層模型。
1974Donald E. Knuth撰寫《 The Art of Computer Programming 》,1965 年發明 LR parsers 與理論,1974 和學生 Vaughan Pratt 開發了 Knuth-Morris-Pratt 字串快速搜尋算法 。 1978 年開始開發 TEX 排版軟體knuth-morris-pratt.js
1975Allen Newell + Herbert A. Simon1954 年發明 IPL 語言 啟發了 LISP,1956 年開發了 Logic Theorist 程式 證明數學定理,後來又開發 General Problem Solver 解決 AI 推論問題。
1976Michael O. Rabin + Dana S. Scott將有限狀態機 (DFA) 延伸到 《非確定狀態機》 (NFA) 上。 1959 年,兩人共同發表了 論文:「有限自動機與其判定性問題」( Finite Automata and Their Decision Problems ) ,並證明了 NFA 與 DFA 的等價性。
1977John Backus1957 設計 FORTRAN ,他在 ALGOL 58 中發展出 BNF 來描述程式的語法。後來 Peter Naur 在 ALGOL 60 中修改並簡化了 BNF
1978Robert W. Floyd設計出 Floyd-Warshall 算法 可在 $O(n^3)$ 時間內算出所有點間的最短路徑。提出 邏輯斷言 後來演化為 霍爾邏輯 (Hoare logic) 。floydWarshall.js
1979Kenneth E. Iverson1960 年,他開始在 IBM 跟 Adin Falkoff 工作,用他開發的數學表達式建立了 APL 語言
1980Tony Hoare設計了《 快速排序演算法霍爾邏輯CSP 語言 》。開發出第一個商用的 ALGOL 60 編譯器
1981Edgar F. Codd提出 《關連式代數》 成為 《關連資料庫》 的基礎,後來參與 System R 資料庫 設計,成為 SQL 查詢語言
1982Stephen A. Cook1971 年在論文 《 The Complexity of Theorem Proving Procedures 》 提出了 NP-Complete 概念並證明了 Cook 定理 ( SAT 問題是 NP-Complete 的,所有 NP 問題都可以化約為 SAT )
1983Ken Thompson + Dennis M. RitchieKen Thompson 發明了 UNIX, Dennis M. Ritchie 發明了 C 語言,兩人合作將 UNIXC 重寫。
1984Niklaus Wirth創造了《 Algol-WModula-2Pascal 、 Oberon 、 Euler》等語言,並將 BNF 延伸為 EBNF 語法。
1985Richard M. Karp證明了 21 個問題是 NP-Complete 問題。 (Reducibility Among Combinatorial Problems)
1986John Hopcroft + Robert TarjanHopcroft 是 二分圖 (bipartite graph) Hopcroft–Karp 演算法 的發明人。Robert Endre Tarjan 發展出 最近公共祖先(LCA)問題強連通分量問題斐波那契堆伸展樹 (Splay Tree) 等問題的演算法。bipartite-matching.js
1987John Cocke1970 年他們提出 CYK 動態規劃算法(Cocke–Younger–Kasami) ,可在 $O(n^3)$ 內判斷字串是否符合特定 BNF ( CFG , Context-Free Gammar)。1975 年在 IBM 801 計劃中發展出 RISC 架構,成為 RISC 之父。CYK.js
1988Ivan Sutherland1963 年發明 Sketchpad ,透過光筆互動,成為視覺化圖形介面的先驅。
1989William Kahan第一位把浮點運算做成硬體 FPU 的人, IEEE 754 浮點數標準是根據他的文章設計出來的。
1990Fernando J. Corbató分時作業系統 (time sharing system) CTSSMultics 計畫的領導者。
1991Robin Milner1973 年他發明了 ML 語言 ,並設計出 LCF 定理證明程式,以及( concurrency theory )像是 CCS 與 pi 演算等等。
1992Butler W. Lampson1970 年在 Xerox PARC 研究中心提出視窗電腦概念並發展出 Alto 。另外還參與雷射印表機的設計,開發了二階段提交協議,參與第一個所見即所得(WYSIWYG)的文字編輯器 Bravo 開發;參與第一個高速區域網路 Ethernet 的設計。 存取控制矩陣 也是由他提出
1993Juris Hartmanis + Richard E. Stearns1965 年兩人一起寫了 《 On the computational complexity of algorithms 》 這篇論文, 建立起計算理論中的時間複雜度 TIME(f(n)) 階層。
1994Edward Feigenbaum + Raj ReddyEdward Feigenbaum 被人稱為專家系統之父。他建立 DENDRAL 程式分析用專家系統與質譜知識幫助化學家辨認未知的有機分子,啟發了後來的 MYCIN 等著名專家系統程式。Raj Reddy 提出用來協調多組知識的黑板模式 (blackboard model) ,並主持了 Navlab 自動駕駛車, LISTEN 語音辨識教學系統, Dante 火山探測機器人等計畫。 ( 也是李開復的老師 )
1995Manuel Blum1967 提出衡量《計算時間空間複雜度》的《布盧姆測度公理》 (Blum Measure) 。接著提出 Blum’s speedup theorem 《布盧姆加速定理》 。1984 提出 Blum-Goldwasser (BG) 非對稱加解密系統 ,使用 Blum Blum Shub 虛擬亂數產生器 產生加密串流,這比 1982 年的 Goldwasser–Micali(GM) 有不少方面的改進。BlumBlumShub.js
1996Amir Pnueli《時序邏輯》 (temporal logic) 引入驗證(verification) 領域。發展出 Proposition Linear Temporal Logic (PLTL) ,彌補了 Horn Clause 不能描述時序系統的問題。
1997Douglas Engelbart他發明了滑鼠,是人機互動的先鋒,開發了超連結系統,是圖形用戶介面的先驅 ( 1968 年 SRI 的 Fall Joint Computer Conference 公開展示了這套系統)
1998Jim Gray主要貢獻於《資料庫》領域,提出 《兩階段交付》《多粒度鎖 MGL 》《 OLAP 資料方陣》《 ACID 測試》 以確保資料的可靠性
1999Frederick P. Brooks在 IBM 公司主持開發 OS/360 等大型電腦用的作業系統。並著有 《人月神話》 (The Mythical Man-Month) 這本軟體工程的經典。
2000Andrew Chi-Chih Yao (姚期智)因計算理論中的《偽隨機數生成》,《密碼學》與《通信複雜性》的貢獻獲獎。 Yao’s test 證明 BM 亂數產生器是偽隨機的,並提出計算熵的概念。 另有 Yao’s Millionaires’ ProblemDolev–Yao model 等重要理論。
2001Ole-Johan Dahl + Kristen Nygaard1965 年兩人一起發明了 Simula 這個物件導向語言的前身。
2002Ronald L. Rivest + Adi Shamir + Leonard M. Adleman1977 年三人一起發明了 非對稱的 RSA 公開金鑰加解密演算法RSA.js
2003Alan Kay為了發展 Dynabook 發明 Smalltalk 物件導向語言,吸取了 Simula 的 class 的概念,並發展出圖形介面 GUI ,參與 Alto 電腦開發。
2004Vinton G. Cerf + Robert E. Kahn兩人一起發明並實作了 《 TCP/IP 協議》
2005Peter NaurALGOL 58 中實作 BNF ,並在 ALGOL 60 之中改良並簡化 BNF ( Backus Normal Form )
2006Frances E. Allen她和 RISC 之父 John Coke 聯手的一系列編譯器基本原理、代碼優化和平行化論文。
2007Edmund M. Clarke + E. Allen Emerson + Joseph Sifakis因開發自動化方法檢測電腦硬體和軟體中的設計錯誤而獲獎。
2008Barbara Liskov領導 《分時作業系統 Venus 》, 《 CLU 程式語言》 《分散式語言 Argus 》《物件導向資料庫 Thor 》《 Byzantine 分散容錯系統》 設計,CLU 後來啟發了物件導向語言的設計。其中《子類能夠替換父類對象被使用的多型原則》被稱為 Liskov Substitution principle
2009Charles P. ThackerAlto 個人電腦首席設計師。參與 AltoEthernet 、雷射印表機等的設計與開發。
2010Leslie G. Valiant1975 發現辨認 Context-Free Grammar ( CFG ) 的快速逼近演算法。1984 提出機器學習中的 probably approximately correct (PAC) learnable 概念。1986 定義了 #P-completeness 證明若 Unambiguous-SAT ( 只有一個解的 SAT ) 是 P 的話,那麼 NP = RP, 這稱為 Valiant–Vazirani 定理
2011Judea Pearl發明人工智慧中的機率型 《貝氏網路》 (Baye’s Network)
2012Silvio Micali + Shafi Goldwasser1982 Goldwasser–Micali(GM) 密碼系統 1984 Blum–Goldwasser cryptosystem 。兩人都是研究 Zero-knowledge proof, Pseudo-random Functions, Peppercoin 等計算通訊理論領域的專家。
2013Leslie Lamport對於分散式系統的理論與實踐具有基礎性貢獻,尤其是諸如因果邏輯時序Causal Ordering , logical clocks )、 Lamport’s bakery algorithmChandy-Lamport algorithm , Paxos algorithm , Lamport signature 這些關於安全性與存活度( safety and liveness )、複製狀態機( replicated state machines )及循序一致性( sequential consistency )的理論。
2014Michael StonebrakerIngres 資料庫創造者,後來演變為 PostgreSQL
2015Martin E. Hellman + Whitfield DiffieDiffie Hellman Key Exchange 密碼交換程序diffieHallman.js
2016Tim Berners-LeeWorld Wide Web 與《瀏覽器》(browser) 的發明人。