資訊科學的高中數學 (High School Math in Computer Science)
- 本文整理資訊科學 (computer science) 中會使用到的中學數學 (特別是高中數學),適合需要快速回顧的學員或者想超前學校進度的學員。保守初估實體教室上課需花費約三小時。
- 數學的目的是透過簡化問題的方式了解世界,並非要用抽象的符號來困惱學生。
- 抽象的工具才有一般性,因此才能重複使用,能夠以一招打天下,做到見山不是山、見水不是水,培養看透外表、潛藏在背後的模式 (pattern)。
- 因此對我個人而言,數學是工具,如同時下熱門的程式語言,有需求的時候才回頭補齊數學也不遲,唯一要考慮的代價就是成長曲線有可能比較平緩:年紀小的學員普遍吸收新知與計算能力較成年人來得強,可以有較陡峭的成長曲線。
Image Not Showing
Possible Reasons
- The image was uploaded to a note which you don't have access to
- The note which the image was originally uploaded to has been deleted
Learn More →
- 本文內容的預備知識:
- 基礎算術能力:數數、四則運算、九九乘法、交換律、結合律、平方運算、根號運算。
- 基礎幾何能力,例如:圓形、三角形等,並能夠計算周長、面積等。
- 基礎代數能力,例如: 且 ,則 。
- 基礎邏輯能力,例如:且 (and)、或 (or) 的定義。
- 如果想要快速具備上述基礎能力,可以參考日劇東大特訓班的訓練方式。
- 熟能生巧,勤能補拙。學程式語言、演算法、做專案亦如是。甚至任何一種專業都需要這段量變產生質變的過程。
- 中國人的說法也可以參考:量變產生質變。
- 台灣現行課綱可於此網頁取得:教育部數學領域課程手冊、國高中數學學習清單
- 以台大資訊系為例,大學部的基礎數學課程有微積分、線性代數、離散數學、機率論等,近年還有開設工程數學,包含微分方程式、傅立葉分析、拉普拉斯轉換和複變分析等工程領域通用的數學。
集合論
集合
定義
- 元素 屬於集合 ,記作為 。
- 例 1:假設一枚硬幣有面朝上 與面朝下 兩種可能。則擲一次硬幣的結果 (,讀作 omega) 為 。此時我們可以說 和 。
Image Not Showing
Possible Reasons
- The image was uploaded to a note which you don't have access to
- The note which the image was originally uploaded to has been deleted
Learn More →
- 例 2:交通號誌燈號有三種狀態:紅 、黃 、綠 。令 。白燈 不是交通號誌燈號的一種可能,記作 。
- 例 3:假設 。則我們可以知道 ,但 且 。
- 是 的子集合,記作為 。
- 若集合內沒有任何元素,則稱之為空集合,記作為 。
- 的大小 (基數) 是指集合的元素個數,記作為 。
- 假設 。則 的冪集 (power set) 有 個子集合:、、、、、、、。
集合的運算
宇集 (universal set)
- 宇集代表一個問題所有的可能性 (所有的元素),常記作為 。
交集 (intersection)
聯集 (union)
差集 (difference)
- 差集 的結果為 ,記作為 或者 。
- 差集 的結果為 ,記作為 或者 。
對稱差集 (symmetric difference)
- 取 和 對稱差集為 ,記作為 。
- 由此運算可發現,。此性質稱之為可互換 (commutative)。
- 其他的可交換操作如:;。
- 但像是差集為不可交換順序。
- 等價於 。 (Why?)
- 在 Boolean algebra 中,對稱差集相當於互斥或 (exclusive or)。
補集 (complement)
- 假設 且 。
- 則 的補集為 ,記作為 。
- 則 的補集為 ,記作為 。
文氏圖
Image Not Showing
Possible Reasons
- The image was uploaded to a note which you don't have access to
- The note which the image was originally uploaded to has been deleted
Learn More →
狄摩根定律
Image Not Showing
Possible Reasons
- The image was uploaded to a note which you don't have access to
- The note which the image was originally uploaded to has been deleted
Learn More →
請根據 集合找出 與 。
邏輯
- 考慮 與 兩個布林變數 (Boolean variable),則其真值表 (Truth table) 如下:
|
|
|
AND |
OR |
XOR |
F |
F |
T |
F |
F |
F |
F |
T |
T |
F |
T |
T |
T |
F |
F |
F |
T |
T |
T |
T |
F |
T |
T |
F |
AND 可以用 或者 替換;OR 可以用 或者 替換;XOR (互斥或) 可以用 或者 替換。
- 問:若 P 則 Q 的等價敘述 (equivalence) 是?
映射 (mapping) & 函數 (function)
Image Not Showing
Possible Reasons
- The image was uploaded to a note which you don't have access to
- The note which the image was originally uploaded to has been deleted
Learn More →
- 假設 為使 中元素 映射到 中的元素 的函數,記作為 ,或者 。
- 例 1:販賣機有三個按鈕,編號分別是 ,選定後分別對應到紅茶、綠茶、奶茶。則我們可以說販賣機 : 。
- 例 2:考慮 且 ,則 ,記作為 。我們說 是一個 的函數,將 映射到 。
- 此時,我們稱 為定義域, 為值域。若 ,且 中的元素沒有對應到 ,則稱 為對應域。一般而言,。
- 假設 且 。則合成函數 。
- 假設 ,若存在一個函數使得 ,則稱之為反函數,記作為 。
- 注意,這個定義並不完整,但是說法上比較容易想像這個概念。
- 例 1:。
- 從這個關係來看,可以逆推反函數成立的條件是一對一且映成 (值域內所有元素都能對應到定義域的某元素)。
- 例 2:指數與對數互為反函數,如下圖所示。特別可以留意的是,兩個函數以 這條直線作鏡射 (mirroring)。
Image Not Showing
Possible Reasons
- The image was uploaded to a note which you don't have access to
- The note which the image was originally uploaded to has been deleted
Learn More →
現代集合論
Image Not Showing
Possible Reasons
- The image was uploaded to a note which you don't have access to
- The note which the image was originally uploaded to has been deleted
Learn More →
康德爾集合 (Cantor Set)
Image Not Showing
Possible Reasons
- The image was uploaded to a note which you don't have access to
- The note which the image was originally uploaded to has been deleted
Learn More →
- 康德爾集合為在 數線上,挖掉中間 的部分,然後再從剩下的線段,重複挖掉該片段的 ,如上圖所示。
- 有趣的是,此線段是一個非空集合 (因為還有剩下類似 等等之類的有理數),但是集合的大小 (總長度) 為零。
- 這個結果在現代機率論上面是一個重要的結果:該事件的機率為零,不代表該事件不會發生。
Image Not Showing
Possible Reasons
- The image was uploaded to a note which you don't have access to
- The note which the image was originally uploaded to has been deleted
Learn More →
代數
基本算術
數字系統
- 自然數 (natural number) 或稱正整數,記作 。
- 整數 (integers) 包含自然數、 與負整數,記作 。
- 有理數 (rational number) 包含整數與可以透過兩個整數相除 (分母不為零) 表示的非整數,記作 。
- 實數 (real number) 包含有理數與非有理數 (例如:、 等),記作 。
- 一般而言,沒有特別說明的話,我們討論的數字都是實數。
- 複數 (complex number) 包含實數與帶虛數 () 的數,記作 。
四則運算
運算子名稱 |
符號 |
案例 |
注意事項 |
加法 |
|
|
基本運算。 |
減法 |
|
|
減法可以視作為加上一個負數 (加法反元素)。 |
乘法 |
|
|
基本運算。 |
除法 |
|
|
除法可以視作為乘上一個倒數 (乘法反元素)。 |
餘數 |
|
|
基本運算。 |
- 四則運算具備交換律與結合律。
- 在資訊系大一下有一門數學課稱作為離散數學,其中幾章會討論到代數 (環 ring、群 group、體 field)。以下為一些可以先知道的事實:
- 為加法單位元素,任何數字加上 都是原來的數字,例如:。
- 對應到撰寫程式中,如果要對累加的變數初始化,則通常是設定為 0。
- 為乘法單位元素,任何數字乘上 都是原來的數字,例如:。
- 對應到撰寫程式中,如果要對累乘的變數初始化,則通常是設定為 1。
- 0 在乘法運算中是毀滅性元素。
連加與連乘積
- 例 1:。 高斯的梯形公式
- 例 2:。 稱為 階乘
- 例 3:。
- 以上的等式可以透過數學歸納法 (mathematical induction) 證明之。
無窮 (Infinity)
- 無窮可以是無窮大、無窮小、無窮多等等的概念,記作為 ,直覺是無止盡的逼近。
- 例 1:在除法運算中,若分母為零,則計算結果為無窮大。
- 例 2:當 ,則 。
- 例 3:當 ,則 。
- 例 4:。
- 任何數字與無窮大作運算,可以得到下面結果:
- 下列集合的大小皆為無窮大。
- 因為 ,一個有趣的結果是 。也就是說單獨看都是無窮大的集合,但是自然數的無窮大比實數的無窮大來得小?!
- 第一類無窮大:one-to-one correspondence with 。 直覺:與自然數一樣大,可以利用自然數編號列隊者
- 第二類無窮大:無法利用自然數編號的集合。 直覺:比自然數多很多的概念
- 無窮悖論
指數
使用時機
- 科學記號
- 金融計算
- 例 1:假設年利率為 ,持有年數為 。則初始金額為 元,持有 年後本利和為 。
- 例 2:假設年利率為 ,持有年數為 。則未來價值為 元,則現在的價值為 ,稱之為折現 (discounting)。
- 演算法分析中,若程式的計算時間具有遞迴關係 ,則經過進一步計算後可得 ,稱為指數時間的演算法。
- 傳染病防治
- Ct (cycle threshold) 值,全名為循環數閾值,是 COVID-19 (新冠肺炎) 病毒基因在實驗室中,透過病毒核酸檢測 (PCR) 之後所測出來的數值。由於 COVID-19 病毒極小,必須透過 PCR 放大基因觀測,每放大 2 倍就是 1 單位的 Ct 值,複製的次數越多次,表示感染者體內的病毒含量越低;也就是 Ct 值越高,越沒有傳染力。Ct 值若檢測在 35 以下為確診者;目前日本、美國的確診 Ct 值則為40。
定義
- 假設 ,我們將 記作為 。
- 例 1:。
- 例 2:。 指數加法
- 例 3:。 指數乘法
- 例 3:。 乘法反元素
- 例 4:。
- 例 5:。
- 假設 ,則 。
- 故指數律可以推廣至 ,在未來微積分的課程中,我們會推廣至 ,甚至 。
歐拉數
- 例 1:半衰期。
- 例 2:連續複利。
- 假設 為年利率, 年分 期計息。
- 令 。
- 則我們可以得到 。
- 例 3:秘書問題 (Secretary problem) aka 相親問題、止步問題、見好就收問題、蘇丹的嫁妝問題、挑剔的求婚者問題。
- 要聘請一名秘書,有 個應聘者。每次面試一人,面試後就要及時決定是否聘他,如果當時決定不聘他,他便不會回來。面試後總能清楚了解應聘者的合適程度,並能和之前的每個人做比較。問什麼樣的策略,才使最佳人選被選中的概率最大。
- 解法是從第 個人開始,遇到比過去已經面試過的人都好,就直接錄取。
對數
使用時機
- 地震的芮氏規模
- 化學的酸鹼度
- 編碼長度
- DNA 的 ATCG 四種胺基酸,如果透過二進位做編碼的話,請問需要幾個 bit?
- 消息理論
- 假設 為某一集合,其中 出現的機率是 。
- 則其熵值 (entropy) 為 。
- 如何解讀 ?
- 演算法的複雜度分析
- 對數時間的演算法:。
- 資料結構中的二元樹 (binary tree),若節點數量為 ,若該樹是左右平衡,則搜尋深度為樹高,記作為 。
定義
- 我們透過稍早學到的指數律可知,,則對數是指數的反函數,即
- 意思是說,如果想要知道 的幾次方才會是 ,此時可以透過 。
- 在高中數學中,寫 時通常是指 以 為底,即 。
- 在大學數學中,寫 時通常是指 以歐拉數 為底,或記作為 。
- 在資訊科學中,寫 時通常是指 以 為底。
函數圖形

常用的結果
- with
- with
- (相乘變相加)
- (指數在取 之後變成倍數)
- (換底)
練習題
參考材料
進階性質

- 對數函數的微分:。
- 這個性質非常有趣。概念上就是當 越大,則斜率越小。
- 斜率代表的是增加率。
- 結果就是"越跑越慢",到最後增加的幅度幾乎是微乎其微。
方程式 & 多項式
一次方程式 (直線)
二次方程式 (拋物線)
圓方程式
橢圓方程式
雙曲線方程式
次多項式
幾何
邏輯
敘述 & 真偽
- 例 1:今天天氣晴。這句話是對的還是錯的?
- 例 2:十進位的 。這句話是對的還是錯的?
- 以上兩例,前句為敘述 (statement),後者的判斷是針對這句話是否為正確。
- 一般而言,我們用布林變數 (boolean variable) 表示之。
- 布林 (boolean) 是紀念英國數學家 George Boole 發明了一套代數規則,故稱之為布林代數 (Boolean Algebra)。

排列組合 (組合數學)
重複排列
- 假設有 種相異物,考慮個別的選取與否 (兩種狀態),總共有 種可能性。
- 例 1:假設 ,則 的所有子集合有 個。 冪集合
- 例 2:十進位的三位數有 種可能的數字。
- 例 3:二進位的 32 bits 可以表示 種可能的狀態。若只考慮正整數,則最大值為 。
不重複排列
- 假設有 種相異物,考慮所有可能的排列順序 (順序交換算不同排排列),總共有 種可能性。
不重複組合
- 假設有 種相異物,任意挑選 個為一組 (排列順序無差異,但每項只能挑一個),則總共有 種可能性,其中
- 二項式定理:

重複組合
- 假設有 種相異物,任意挑選 個為一組 (排列順序無差異,但是每項可以重複選,或者是所謂的取後放回),則總共有 種可能性,其中
線性代數
線性轉換與線性運算子
- 令 為一個轉換關係使得 ,記作為 。
- 假設 。若 滿足 則 為一個線性運算子。
- 例 1:
向量
內積和長度
正交性
矩陣
微積分
連續
極限
可微
微分
連鎖律
泰勒展開式 (Taylor's expansion)
- 對於任何可微分的函數 ,。
- 例 1:考慮連續複利 。若 ,則 。
- 例 2:令 為靜止質量, 為光速。在相對論性力學中,運動體的總能量 (total energy) 為 。若此運動體相對某相對靜止的參考坐標系運動速度為 ,則 ,其中第一項為著名的質能方程式,後者古典牛頓力學的動能項。
積分
機率和統計
機率測度
機率密度函數 (pdf) 和累積機率函數 (cdf)
常見機率分佈:均勻分佈、伯努利分佈、二項式分佈、常態分佈
描述統計:平均值、變異數、標準差、最小值、最大值、全距、-百分位數
抽樣
估計
參考書目
離散數學
- Ali Grami, Discrete Mathematics: Essentials and Applications, 2022

- Kenneth Rosen,Discrete Mathematics and Its Applications, 8/e, 2018

- Harry Lewis and Rachel Zax, Essential Discrete Mathematics for Computer Science, 2019

- Susanna Epp, Discrete Mathematics with Applications, 5/e, 2019

線性代數
微積分
機率
統計
競程