離散數學(和廣義邏輯學)-電腦科學應用數學
前敘
筆記內容著重於,電腦科學與人工智慧領域所應用的數學,目的為快速導讀重點脈絡及公式,類似於直式的心智圖,有助於構思規劃學習路線,或是直接查找應用。
目錄
筆記目前整理部分
-
微積分
(研究連續變化、累積與極限現象的數學,應用於函數分析、優化與動態系統建模)
-
線性代數
(研究向量、矩陣與線性變換的結構與操作,為機器學習與深度學習的核心基礎)
-
離散數學(廣義邏輯學)
(研究離散結構與邏輯基礎,包含集合論、圖論、布林代數等,支撐演算法設計與計算理論)
-
統計學
(研究資料分佈、推論與估計,是資料分析與機器學習模型評估的重要工具)
-
幾何學
(研究形狀、空間關係與度量,在電腦視覺、圖形學與機器人定位中應用廣泛)
-
數學分析
(研究極限、收斂性與嚴格定義的連續性,是微積分的理論基礎並延伸至泛函分析)
-
機率論
(研究隨機事件與不確定性,為貝葉斯推論、馬可夫過程及強化學習等提供理論支撐)
程式函數與數學
程式中陣列資料,或是資料集都是集合論(set theory) 的表現
例如: 一個陣列物件視為一個集合(set),裡面的資料視為元素(object)
U = [1, 2, 3, 4, 5]
累加器
程式迴圈連續加法為∑的表現
例如:
將U = [1, 2, 3]陣列元素相加,i=起始位子(二進制是0為起點),3=終點目標,,
i=1∑3Ui=1+2+3=6
let Sum = 0;
for (let i = 0; i < U.length; i++) {
Sum += U[i]; // 將每個元素累加
}
離散數學
Σ(總和,Summation)
從 i=m 加到 i=n
i=m∑nai=am+am+1+⋯+an
Π(乘積,Product)
從 i=m 乘到 i=n
i=m∏nai=am×am+1×⋯×an
集合論(set theory)
集合與元素(set and object)
A={1,2},B={1,2}
表示符號
N 自然數集合
自然數集合可以表示為:
N={0,1,2,3,…}
Z 整數集合
整數集合包括所有的正整數、負整數和零:
Z={…,−3,−2,−1,0,1,2,3,…}
R 實數集合
實數集合包括所有的有理數和無理數:
R=所有可表示的實數
U 全集
代表 全集,即在特定問題範疇內,包含所有可能元素的集合。
∣A∣
A 集合的元素各數
A={0,1},∣A∣=2
∀ (Universal Quantifier 全稱量詞)
唸作「For all」,表示“對所有”或“對每一個”某個範圍內的元素均成立。
∀x∈N,x+1>x
∣ (Such That 或 Divides)
用來表示“滿足條件”的元素
例如:
從所有實數中,挑出那些滿足 x>0 這個條件的元素,組成集合 A
A={x∈R∣x>0}
P(A) (Power Set)
給定集合 A,幂集 P(A) 是 A 的所有的子集的集合,包括空集和 A 本身
A={1,2},P(A)={∅,{1},{2},{1,2}}
P⟺Q
子集關係
∈ (Element of set)
表示單一元素是某集合的成員
元素屬於集合:
x∈A
元素不屬於集合:
y∈/A
⊆ 子集(Subset)
子集是寬鬆的定義,表示集合 A 的所有元素都在集合 B 中,可以等於 B:
∅⊆A,{a}⊆A,{b}⊆A,{a,b}⊆A
A⊆B
⊂ 真子集(Proper Subset)
真子集是嚴謹的定義,表示集合 A 的所有元素都在集合 B 中,且 A=B:
A⊂B當 A=B
A⊂B
集合操作
使用例子
A={1,2,3},B={3,4,5,6}
A∪B 聯集
聯集包含所有屬於集合 A 或集合 B 的元素。
A∪B={x∣x∈A or x∈B}
A∪B={1,2,3,4,5,6}
A∩B 交集
交集包含所有同時屬於集合 A 和集合 B 的元素。
A∩B={x∣x∈A and x∈B}
A∩B={3}
A−B 差集
差集包含所有屬於集合 A 但不屬於集合 B 的元素。
A−B={x∣x∈A and x∈/B}
A−B={1,2}
Ac 補集
補集包含全集中U不屬於集合 A 的所有元素。
Ac={x∣x∈/A}
U={1,2,3,4},A={1,2},則Ac={3,4}
排列組合
排列
考慮順序,重n個元素中排列進k個位子
- 不重複選擇排列
Pkn=(n−k)!n!
- 可重複選擇排列
nk
組合
考慮可能的組合,重n個元素中排列進k個位子
Ckn=k!(n−k)!n!
Ckn=(kn)=k!Pkn=k!(n−k)!n!=k!(n−k)!n!