編輯推薦
程序員的數學三書包括《程序員的數學》《程序員的數學2:概率統計》《程序員的數學3:綫性代數》,這套書通俗易懂,穿插大量有趣的實例和圖錶,以獨特的編排巧妙闡述程序員和數學愛好者所需掌握的數學基礎知識、概率統計和綫性代數知識。三者同時也是機器學習、數據挖掘、模式識彆領域必學。
內容簡介
《程序員的數學》講解瞭二進製計數法、邏輯、餘數、排列組閤、遞歸、指數爆炸、不可解問題等許多與編程密切相關的數學方法,分析瞭哥尼斯堡七橋問題、高斯求和方法、漢諾塔、斐波那契數列等經典問題和算法。
《程序員的數學2:概率統計》涉及隨機變量、貝葉斯公式、離散值和連續值的概率分布、協方差矩陣、多元正態分布、估計與檢驗理論、僞隨機數以及概率論的各類應用。
《程序員的數學3:綫性代數》主要內容包括嚮量、矩陣、行列式、秩、逆矩陣、綫性方程、LU分解、特徵值、對角化、Jordan標準型、特徵值算法等。
作者簡介
結城浩(Hiroshi Yuki),生於1963年,日本技術作傢和程序員。在編程語言、設計模式、數學、加密技術等領域,編寫瞭很多深受歡迎的入門書。代錶作有《數學女孩》係列、《程序員的數學》等。
平岡和幸,專攻應用數學和物理,對機器學習興趣濃厚。喜歡Ruby,熱愛Scheme。近期被Common Lisp吸引,正在潛心研究。工學博士。
堀玄,專攻應用數學和物理,主要從事腦科學與信號處理領域的研究。喜歡Ruby、JavaScript、PostScript等語言。近期正在研究基於統計學理論的語言處理。工學博士。
目錄
前言
第1章0故事——無即是有閱讀
第2章邏輯——真與假的二元世界
第3章餘數——周期性和分組
第4章數學歸納法——如何徵服無窮數列
第5章排列組閤——解決計數問題的方法
第6章遞歸——自己定義自己
第7章指數爆炸——如何解決復雜問題
第8章不可解問題——不可解的數、無法編寫的程序
第9章什麼是程序員的數學——總結篇
譯者序
前言
第1部分聊聊概率這件事
第1章概率的定義
第2章多個隨機變量之間的關係
第3章離散值的概率分布
第4章連續值的概率分布
第5章協方差矩陣、多元正態分布與橢圓
第2部分探討概率的應用
第6章估計與檢驗
第7章僞隨機數
第8章概率論的各類應用
附錄A本書涉及的數學基礎知識
附錄B近似公式與不等式
附錄C概率論的補充知識
參考文獻
前言
譯者序
第0章:動機
第1章用空間的語言錶達嚮量、矩陣和行列式
第2章秩、逆矩陣、綫性方程組——溯因推理
第3章計算機上的計算(1)——LU分解
第4章特徵值、對角化、Jordan標準型——判斷是否有失控的危險
第5章計算機上的計算(2)——特徵值算法
參考文獻
前言/序言
大傢好!我是結城浩。歡迎閱讀《程序員的數學》。
本書是為程序員朋友們寫的數學書。
編程的基礎是計算機科學,而計算機科學的基礎是數學。因此,學習數學有助於鞏固編程的基礎,寫齣健壯的程序。
有的讀者可能會說“但我數學不好啊”。特彆是很多讀者“一碰到算式就跳過不讀”。坦率而言,我自己遇到書中的算式也想跳過不看。
本書盡可能減少瞭“大傢不想看的算式”,也沒有過多的定義、定理和證明。
這是為幫助程序員更容易理解編程而寫的書。希望你能通過本書學到有助於編程的“數學思維”。
數學思維示例
學習“數學思維”說起來太抽象瞭,我們來舉些具體的例子。
【條件分支和邏輯】
在編程時,我們按照條件將處理方法分為多個“分支”。C語言和Java語言中使用的是if語句。處理方法為:當滿足條件時執行這條語句,不滿足條件時執行另一語句。這時,我們就使用瞭數學領域的“邏輯”來控製程序。因此,編程時必須熟練掌握“與”“、或”“、非”、“蘊涵”等邏輯構成元素。
【循環和數學歸納法】
我們在處理大量的信息時,使用程序進行“循環”操作。比如使用for語句可以循環處理大量數據。循環中使用的就是“數學歸納法”。
【分類和計數方法】
在將許多條件和數據“分類”時,程序員必須注意不能有遺漏。這時加法法則、乘法法則、排列、組閤等“計數方法”將助你一臂之力。這是程序員應該熟記於心的數學工具。
通過本書,也可以學到遞歸、指數、對數、餘數等重要的基礎思維方式。
人類和計算機的共同戰綫
我們寫程序是為瞭解決人類解決不瞭的問題。程序員理解問題,編寫程序;計算機運行程序,解決問題。
人類不擅長重復勞動,很容易厭倦,有時還會齣錯,但人類擅長解決問題。與此相對,計算機擅長重復勞動,但不能自行解決問題。
於是,人機閤力,如虎添翼。
遇到難題,光靠人類不能解決,光靠計算機也不能解決。而人機閤力就能解決問題。這也是本書要傳達的主旨之一。
不過,編寫程序也非易事,無論人類和計算機如何齊心閤力,總有解決不瞭的問題。本書也對人類和計算機的極限進行瞭分析。
希望你在讀完本書後能對以程序為媒介的人機閤作有更深刻的理解。
本書麵嚮的讀者
本書主要麵嚮的讀者是程序員。不過若你對編程或數學感興趣,讀起來也會一樣有意思。
你不需要精通數學。書中不會齣現∑和∫等很難的算式,因此自認為數學不太好的讀者也完全可以閱讀。閱讀本書隻需具備四則運算(+-×÷)和乘方(23=2×2×2)等基礎知識。除此以外的知識在書中皆有說明。
如果你對數字和邏輯感興趣,可能會更喜歡本書。
你也不需要精通編程。不過如果稍有一些編程經驗,可能會更容易理解本書內容。書中有個彆例子是用C語言寫的程序,不過即使不懂C語言也不妨礙理解。
本書結構
本書各章內容可以按任意順序閱讀,但筆者推薦從第1章開始按順序閱讀。
第1章對0進行討論。以按位計數法為核心,學習如何用0來簡化規則,並對“無即是有”的意義進行瞭思考。
第2章學習使用邏輯來整理繁瑣的內容。介紹邏輯錶達式、真值錶、德?摩根定律、三值邏輯、卡諾圖等。
第3章討論餘數。我們要記住“餘數就是分組”的觀點。對於一些難題,有時隻要找到周期性規律就能解決。
第4章學習數學歸納法。數學歸納法隻需要兩個步驟就能證明無窮的斷言。本章還會舉例介紹使用循環不變式寫齣正確的循環。
第5章學習排列組閤等計數方法。計數的關鍵在於“認清對象的性質”。
第6章學習自己定義自己的遞歸。通過漢諾塔、斐波那契數列、分形圖形等,練習從復雜事物中發現遞歸結構。
第7章學習指數爆炸。計算機也很難解決含有指數爆炸的問題。我們將在這裏思考研究如何將指數爆炸為我所用,解決大型問題。另外本章還將以二分法檢索為例,學習將問題空間一分為二的意義。
第8章以停機問題為例,來說明許多程序上的問題是計算機如何發展都解決不瞭的。本章也會學到反證法和對角論證法。
第9章迴顧本書學習內容,思考人類全麵把握結構的能力對解決問題有多大幫助,以及人機協作具有何種意義。
緻謝
首先要感謝馬丁?伽德納。小時候我癡迷於閱讀您所著的《數學遊戲》,至今仍記憶猶新。
此外,還要感謝支持我的廣大讀者和為我祈禱的基督教朋友們。
以下各位為本書提齣瞭寶貴建議並給予瞭極大幫助,在此深錶謝意(按日語五十音圖順序):天野勝、石井勝、岩澤正樹、上原隆平、佐藤勇紀、武笠夏子、前原正英、三宅喜義。
特彆感謝在本書編寫過程中給予我極大關懷和支持的SoftBank齣版有限公司的野澤喜美男主編。
感謝一直鼓勵我的愛妻和兩個兒子。
本書獻給在餐桌上教我方程式乃至微積分的父親。父親,謝謝您!
2005年2月
結城浩
程序員的數學1+2+3 數學思維+概率統計+綫性代數(套裝共3冊) [プログラマの數學プログラミングのための確率統計プログラミングのための線形代數] 下載 mobi epub pdf txt 電子書 格式
程序員的數學1+2+3 數學思維+概率統計+綫性代數(套裝共3冊) [プログラマの數學プログラミングのための確率統計プログラミングのための線形代數] 下載 mobi pdf epub txt 電子書 格式 2024
程序員的數學1+2+3 數學思維+概率統計+綫性代數(套裝共3冊) [プログラマの數學プログラミングのための確率統計プログラミングのための線形代數] 下載 mobi epub pdf 電子書
程序員的數學1+2+3 數學思維+概率統計+綫性代數(套裝共3冊) [プログラマの數學プログラミングのための確率統計プログラミングのための線形代數] mobi epub pdf txt 電子書 格式下載 2024