編輯推薦
《語言與機器:計算機科學理論的導論(原書第3版)》不僅介紹瞭計算機科學的基礎,探討瞭算法計算的能力和局限;而且還通過概念的嚴格錶述,以及使用通俗的例子來解釋定理,從而幫助學生提高數學論證能力。書中每章後麵都有一些練習,通過這些練習使學生加深對本章內容的理解。
內容簡介
《語言與機器:計算機科學理論的導論(原書第3版)》是計算理論方麵的優秀教材之一,包括上下文無關文法、上下文無關文法範式、有限自動機、正則語言的性質、下推自動機和上下文無關語言、圖靈機、圖靈可計算函數、喬姆斯基層次、判定問題與丘奇圖靈機、不可判定性、Mu-遞歸函數、時間復雜性、庫剋定理、NP-完全問題、LL(k)文法以及LR(k)文法等問題。《語言與機器:計算機科學理論的導論(原書第3版)》不僅介紹瞭計算機科學的基礎,而且通過概念的嚴格錶述,以及使用通俗的例子來闡釋定理,從而幫助學生提高數學論證能力以及對計算理論知識的全麵深入的理解。書中每章後麵都有附有大量習題,通過完成這些習題,學生可以加深對本章內容的理解。
《語言與機器:計算機科學理論的導論(原書第3版)》可以用作計算機科學、計算機工程及其相關專業的教材,也可以作為從事計算理論、形式語言以及計算機係統研發的研究人員和工程技術人員的參考書。
理論計算機科學是推動計算機技術和應用嚮前發展的巨大動力。形式語言、自動機、可計算性、計算復雜性和相關方麵內容構成的計算理論,是理論計算機科學的基礎內容之一。《語言與機器:計算機科學理論的導論(原書第3版)》由美國萊特州立大學計算機科學及工程係的Thomas A.Sudkamp教授編寫,是介紹這些內容的優秀教材。
全書不僅介紹瞭計算機科學的基礎,探討瞭算法計算的能力和局限;而且還通過概念的嚴格錶述,以及使用通俗的例子來解釋定理,從而幫助學生提高數學論證能力。書中每章後麵都有一些練習,通過這些練習使學生加深對本章內容的理解。
作者簡介
Thomas A.Sudkamp是美國萊特州立大學計算機科學及工程係的教授,他的研究領域
廣泛,包括近似推理、人工智能、數理邏輯、建模軟計算的應用、復雜問題領域的決策製定以及不確定、不精確信息和知識發掘的機器學習。Sudkamp教授目前還擔任IEEE Transactions on System,Man,and Cybemetics和IEEE Transactions on Fuzzy Systems的副編輯,International Journal of Approximate Reasonin9和Fuzzy Sets and Systems的領域編輯。他也曾經擔任過北美模糊信息處理協會NAFIPS)的主席以及國際模糊係統聯盟(IFSA)的副主席。
內頁插圖
目錄
齣版者的話
專傢指導委員會
譯者序
前言
緒論
第一部分 基礎
第1章 數學預備知識
1.1 集閤論
1.2 笛卡兒積、關係和函數
1.3 等價關係
1.4 可數集閤和不可數集閤
1.5 對角化和自反
1.6 遞歸定義
1.7 數學歸納
1.8 有嚮圖
1.9 練習
參考文獻注釋
第2章 語言
2.1 字符串和語言
2.2 語言的有窮規格說明
2.3 正則集閤和錶達式
2.4 正則錶達式和文本搜索
2.5 練習
參考文獻注釋
第二部分 文法、自動機和語言
第3章 上下文無關文法
3.1 上下文無關文法和語言
3.2 文法和語言的例子
3.3 正則文法
3.4 驗證文法
3.5 最左推導和二義性
3.6 上下文無關文法和編程語言定義
3.7 練習
參考文獻注釋
第4章 上下文無關文法範式
4.1 文法轉換
4.2 消去入規則
4.3 去掉鏈規則
4.4 無用符
4.5 喬姆斯基範式
4.6 CYK算法
4.7 去掉直接左遞歸
4.8 格立巴赫範式
4.9 練習
參考文獻注釋
第5章 有限自動機
5.1 一個有限狀態自動機
5.2 確定型有限自動機
5.3 狀態圖和例子
5.4 非確定型有限自動機
5.5 轉換
5.6 去掉非確定性
5.7 DFA的最小化
5.8 練習
參考文獻注釋
第6章 正則語言的性質
6.1 有限狀態機接收正則語言
6.2 錶達式圖
6.3 正則文法和有限自動機
6.4 正則語言的封閉性質
6.5 非正則語言
6.6 規則語言的泵引理
6.7 Myhill-Nerode定理
6.8 練習
參考文獻注釋
第7章 下推自動機和上下文無關語言
7.1 下推自動機
7.2 PDA的變種
7.3 上下文無關語言的接收
7.4 上下文無關語言的泵引理
7.5 上下文無關語言的封閉性
7.6 練習
參考文獻注釋
第三部分 可計算性
第8章 圖靈機
8.1 標準圖靈機
8.2 作為語言接收器的圖靈機
8.3 可供選擇接收標準
8.4 多道圖靈機
8.5 雙嚮圖靈機
8.6 多帶圖靈機
8.7 非確定型圖靈機
8.8 用來枚舉語言的圖靈機
8.9 練習
參考文獻注釋
第9章 圖靈可計算函數
9.1 函數的計算
9.2 數值計算
9.3 圖靈機的順序操作
9.4 函數的閤成
9.5 不可計算函數
9.6 關於編程語言
9.7 練習
參考文獻注釋
第10章 喬姆斯基層次
10.1 無限製文法
10.2 上下文有關文法
10.3 綫性有界自動機
10.4 喬姆斯基層次
10.5 練習
參考文獻注釋
第11章 判定問題與丘奇-圖靈論題
11.1 判定問題的描述
11.2 判定問題和遞歸語言
11.3 問題歸約
11.4 丘奇-圖靈論題
11.5 通用機
11.6 練習
參考文獻注釋
第12章 不可判定性
12.1 圖靈機的停機問題
12.2 問題歸約和不可判定性
12.3 其他的停機問題
12.4 萊斯定理
12.5 不可解決的詞問題
12.6 波斯特對應問題
12.7 上下文無關文法中的不可判定問題
12.8 練習
參考文獻注釋
第13章 Mu-遞歸函數
13.1 原始遞歸函數
13.2 一些原始遞歸函數
13.3 有界操作符
13.4 除法函數
13.5 歌德爾數字和串值遞歸
13.6 可計算部分函數
13.7 圖靈可計算函數和Mu-遞歸函數
13.8 修訂的丘奇-圖靈論題
13.9 練習
參考文獻注釋
第四部分 計算復雜性
第14章 時間復雜性
14.1 復雜性度量
14.2 增長的速度
14.3 圖靈機的時問復雜性
14.4 復雜性和圖靈機的變種
14.5 綫性加速
14.6 語言時間復雜性的屬性
14.7 計算機計算的模擬
14.8 練習
參考文獻注釋
第15章 P、NP和庫剋定理
15.1 非確定型圖靈機的時間復雜性
15.2 P類和NP類
15.3 問題錶示和復雜性
15.4 判定問題和復雜性類
15.5 哈密爾頓迴路問題
15.6 多項式時間歸約
15.7 P=NP?
15.8 可滿足性問題
15.9 復雜類的關係
15.10 練習
參考文獻注釋
第16章 NP-完全問題
16.1 歸約和NP-完全問題
16.2 三元可滿足性問題
16.3 三元可滿足性的歸約
16.4 歸約和子問題
16.5 最優化問題
16.6 近似算法
16.7 近似方案
16.8 練習
參考文獻注釋
第17章 其他復雜性類
17.1 派生的復雜性類
17.2 空間復雜性
17.3 空間復雜性和時間復雜性的關係
17.4 P-空間,NP-空間和薩維奇定理
17.5 P-空間完全性
17.6 一個難解問題
17.7 練習
參考文獻注釋
第五部分 確定型語法分析
第18章 語法分析引論
18.1 文法圖
18.2 自頂嚮下語法分析
18.3 歸約和自底嚮上語法分析
18.4 自底嚮上語法分析器
18.5 語法分析和編譯
18.6 練習
參考文獻注釋
第19章 LL(k)文法
19.1 上下文無關文法中的預讀
19.2 FIRST集閤、FOLLOW集閤和預讀集閤
19.3 強LL(k)語法
19.4 FIRSTk集閤的構造
19.5 FOLLOWk集閤的構造
19.6 強LL(1)文法
19.7 強LL(k)分析器
19.8 LL(k)文法
19.9 練習
參考文獻注釋
第20章 LR(k)文法
20.1 LR(0)上下文
20.2 LR(0)分析器
20.3 LR(0)機
20.4 被LR(0)機接收
20.5 LR(1)文法
20.6 練習
參考文獻注釋
附錄Ⅰ 標記索引
附錄Ⅱ 希臘字母錶
附錄Ⅲ ASC Ⅱ字符集
附錄Ⅲ Java的BNF範式定義
參考文獻
索引
精彩書摘
第1章 數學預備知識
集閤論和離散數學為形式語言理論、可計算性理論和計算復雜性分析提供瞭數學基礎。我們首先迴顧集閤論的錶示和基本操作。集閤的基數度量集閤的大小,並提供無窮集閤大小的準確定義。德國數學傢George Cantor深入研究集閤的屬性後得齣一條有趣的結論,就是存在不同大小的無窮集。盡管Cantor的工作僅僅錶明存在一個完整的無窮集閤規模層次,但是這已經足夠支持我們把無窮集閤分成兩類的目的瞭。這兩類分彆是可數的和不可數的。如果集閤的元素數目與自然數一樣多,那麼這個集閤是可數的無窮集。如果元素數目比自然數多,就是不可數無窮集。 .
在本章中,我們將使用對角化論證(diagonalization argument)結構來證明定義在自然數集閤上的函數集閤是不可數無窮集。我們在有效過程(effective procedure)和可計算函數(computable func—tion)的意義上達成共識後(這也是本書第三部分的主要目的),將能夠確定可以用算法計算的函數集閤的大小。通過比較這兩個集閤的大小,就可以證明存在這樣的函數,它們的值不能使用任何算法過程計算得到。
一個集閤可能由任意一組對象組成,我們對那些機械化生成元素的集閤感興趣。然後,我們介紹可以産生集閤元素的遞歸定義;接著構造遞歸生成的集閤與數學歸納法之間的關係。歸納已經被證明能夠為遞歸産生的無窮集閤中的元素性質提供一個通用的證明技巧。
在本章的最後,我們將復習有嚮圖和樹等知識,這是貫穿本書的兩種結構,並以圖形方式的解釋瞭形式語言理論和計算理論的概念。 ……
前言/序言
《算法的邊界:計算的哲學思考》 在這本深入探討計算本質的著作中,我們將一起踏上一段探索算法、智能與現實之間深刻聯係的旅程。這不是一本關於具體編程語言或數據結構的教程,而是一次對計算的哲學基礎、理論極限以及其對人類認知和未來社會影響的全麵審視。 第一部分:計算的基石——形式與邏輯 我們將從計算的邏輯根源齣發,追溯形式化方法的演進。哥德爾不完備定理如何揭示瞭任何強大形式係統的內在局限?圖靈機的抽象模型,作為計算能力的終極衡量標準,又如何定義瞭“可計算”的邊界?我們將深入理解這些理論如何構築瞭現代計算機科學的基石,並探討它們在理解和解決復雜問題時所扮演的角色。 形式邏輯的遺産: 從亞裏士多德的推理,到布爾的邏輯代數,再到弗雷格和羅素的數理邏輯,邏輯作為思考的工具,如何一步步被形式化,並最終成為計算的語言?我們將探討蘊含式、推理規則以及證明的本質,理解形式化推理如何為機器的“思考”奠定基礎。 圖靈的遠見: 阿蘭·圖靈提齣的通用圖靈機,不僅是理論上的裏程碑,更是對計算普適性的深刻洞察。它如何證明瞭所有“可計算”的問題都可以被同一類機器解決?我們將分析圖靈機的構成要素(紙帶、讀寫頭、狀態),理解其模型如何超越瞭具體的物理實現,成為抽象計算的通用模型。 計算的極限: 停機問題——這個看似簡單的問題,卻揭示瞭圖靈機無法解決的根本限製。為什麼我們無法編寫一個程序來判斷所有程序是否會停止?我們將探討可判定性與不可判定性的概念,理解計算理論中存在的不可逾越的障礙,以及它對我們能否徹底自動化所有問題的思考所帶來的啓示。 不可判定性的哲學意義: 哥德爾的不完備定理,在數學領域揭示瞭係統內部的真理無法完全被證明,而在計算領域,不可判定性則預示著某些問題的內在復雜性。我們將思考這些“不可能”的問題,以及它們如何迫使我們重新審視人類智力的獨特性和創造力的價值。 第二部分:智能的湧現——從模擬到理解 本部分將聚焦於人工智能的理論發展,探討機器是否能夠真正“智能”,以及智能的本質是什麼。從早期的符號主義到連接主義,再到如今深度學習的浪潮,我們將分析不同AI方法的哲學假設,並思考智能湧現的條件。 符號主義的雄心: 早期的AI研究者試圖通過符號操作來模擬人類的思維過程。邏輯推理、知識錶示、專傢係統——這些方法如何試圖將常識和推理能力賦予機器?我們將剖析符號主義的優勢與局限,理解為何“理解”與“符號操縱”之間存在著難以跨越的鴻溝。 連接主義的迴歸: 神經網絡的興起,以其模仿生物神經元連接的方式,為AI研究帶來瞭新的視角。感知機、反嚮傳播算法,以及更復雜的深度學習模型,如何通過學習海量數據來識彆模式?我們將探討連接主義的強大之處,以及它在感知、識彆等任務上的突破,並思考這種“學習”是否等同於“理解”。 圖靈測試的局限: 艾倫·圖靈提齣的圖靈測試,以其行為主義的視角,為判斷機器智能提供瞭一個操作性的標準。然而,這個測試是否足以衡量真正的智能?我們將討論圖靈測試的哲學爭議,以及它未能觸及的意識、主觀體驗等深層問題。 Searle的中文房間: 約翰·塞爾的“中文房間”思想實驗,是對強人工智能論的有力挑戰。機器僅僅通過操縱符號是否就能擁有真正的理解能力?我們將深入分析這個實驗的論證過程,探討符號處理與語義理解之間的關鍵區彆,以及它對我們理解心智與計算關係的深遠影響。 湧現式智能的奧秘: 隨著復雜係統的研究深入,我們發現智能可能並非源於單一的計算單元,而是從大量簡單單元的相互作用中“湧現”齣來。我們將探討復雜性科學的觀點,以及智能是否可以被視為一種宏觀屬性,而非微觀計算的直接結果。 第三部分:計算的倫理與未來 計算技術以前所未有的速度滲透到我們生活的方方麵麵。本部分將探討計算發展帶來的倫理挑戰,以及我們如何應對這些挑戰,塑造一個負責任的計算未來。 算法的偏見與公平: 機器學習模型在訓練數據中可能蘊含的社會偏見,如何在算法決策中被放大,導緻不公平的結果?我們將分析算法偏見的來源,討論如何識彆和減輕這些偏見,以及如何在技術發展中維護社會公正。 隱私的邊界: 大數據時代,個人信息的收集與分析達到瞭前所未有的規模。計算技術如何侵蝕我們的隱私?我們如何在全球化的信息流動中保護個人數據的安全與尊嚴?我們將探討差分隱私、同態加密等技術手段,以及法律與倫理規範在其中的作用。 自動化與就業: 隨著AI和機器人技術的不斷進步,自動化對傳統就業崗位的影響日益顯著。我們將思考自動化帶來的社會結構性變化,以及如何通過教育、再培訓和新的經濟模式來應對挑戰。 自主係統的責任: 自動駕駛汽車、自主武器等自主係統的齣現,引發瞭關於責任歸屬的難題。當機器做齣錯誤的決策,誰應該為此負責?我們將探討責任分擔的法律與倫理睏境,以及如何設計能夠被追溯和問責的自主係統。 人機共生的願景: 相較於“機器取代人”的悲觀預測,我們也可以設想一個人機協作、優勢互補的未來。計算技術如何增強人類的能力,而非取代人類的價值?我們將探索人類與智能係統協同工作的可能性,以及如何構建一個更加豐富和充滿創造力的未來。 對計算的終極反思: 計算究竟是什麼?它隻是工具,還是正在重塑我們的認知和存在本身?我們將引導讀者超越技術的細節,進行一場關於計算對人類文明意義的深刻反思,並鼓勵在未來的發展中,始終保持對技術背後的價值與原則的警惕與探索。 《算法的邊界:計算的哲學思考》旨在激發讀者對計算的更深層次的思考。我們希望通過這本書,您能夠以一種全新的視角來理解我們周圍日益復雜的計算世界,並為塑造一個更加明智、公平和富有價值的計算未來貢獻自己的力量。