离散数学
本文主要是对minfanphd的博客中的概念以及相应习题进行作答,欲知详细内容请点击该链接。
概念:
大概了解一下离散数学的研究对象,离散数学(Discrete mathematics)是研究离散量的结构及其相互关系的数学学科,是现代数学的一个重要分支。离散的含义是指不同的连接在一起的元素,主要是研究基于离散量的结构和相互间的关系,其对象一般是有限个或可数个元素。
习题 1: { 0 , 1 , { 0 , 1 } , { 1 , 2 } } 有几个元素? 机器学习中, 这类形式的集合有什么优点和缺点?
答:一个集合内所有元素的个数称为基数(cardinal number),因此若A={ 0 , 1 , { 0 , 1 } , { 1 , 2 } } ,那么|A|=4(cardA=4)。优点是可以存入各种数据类型,缺点是数据难以统一,可能同时存在多种数据,因此处理起来比较麻烦。
习题 2: ∅的基数是多少? { ∅ } 呢?
答:前者为空集,因此基数为0;后者则是以空集作为一个元素,基数为1.
习题 5: 多标签学习中, 输出为一个向量,相应的学习器算不算函数呢?
答:算,在多标签学习中,我认为定义域相当于是笛卡尔集,均在值域中能够找到唯一的向量与之对应.
习题 6: 元组只能表达对象的数据部分, 还是可以完整地表达? 用一个具体的程序来说明.
答:可以完整的表达,代码如下:
class TupleClass:
name = "tuple"
size = -1
id = 123456
test = TupleClass()
tuple1 = (test.name,test.size,test.id)
print(tuple1)

习题 7: 定义二叉树.
答:首先先看看树的定义,这是由闵老师定义的:
Definition 7. A tree is a triple T = ( V , r , p ) T =(V,r,p) T=(V,r,p), where V = { v 1 , … , v n } V=\{v_1,\dots,v_n\} V={v1,…,vn}is the set of nodes, r ∈ V r\in V r∈V is the root, and p : V ∖ { r } → V p:V\setminus \{r\}\to V p:V∖{r}→V is the parent function satisfying.
a) ∀ k ≥ 1 , p k ( v ) ≠ v \forall k \geq1,p^k(v)\neq v ∀k≥1,pk(v)=v, and
b) ∀ v ∈ V ∖ { r } , ∃ 1 k ≥ 1 \forall v \in V\setminus \{r\},\exists1 k\geq1 ∀v∈V∖{r},∃1k≥1,st. p k ( v ) = r p^k(v)=r pk(v)=r.
几点说明:
a) ∃ 1 \exists 1 ∃1 表示 “存在唯一”.
b) 条件 a) 表示没有环, 条件 b) 表示连通到根节点.
c) p 1 ( v ) = p ( v ) , p k ( v ) = p ( p k − 1 ( v ) ) p^1(v)=p(v),p^k(v)=p(p^{k-1}(v)) p1(v)=p(v),pk(v)=p(pk−1(v)). 数学上一般这样约定, 所以在定义里面没写.
d) p ( r ) p(r) p(r)是没有定义的, 所以 p k p^k pk的 k k k值有上限, 由于不存在歧义, 也没写.
经由闵老师与其它同学的讨论得出以下定义
Definition. Let Σ = { l , r } \Sigma = \{\mathrm{l}, \mathrm{r}\} Σ={l,r} be the alphbet and ϕ \phi ϕ be a null node. A binary tree is a triple T = ( V , r , c ) T=(\bm{V},r,c) T=(V,r,c), where V = { v 1 , … , v n } \bm{V}=\{v_1,\dots, v_n\} V={v1,…,vn} is the set of nodes, r ∈ V r\in \bm{V} r∈V is the root, and c : V ∪ { ϕ } × Σ + → V ∪ { ϕ } c:\bm{V}\cup\{\phi\}\times\Sigma^+\to \bm{V}\cup\{\phi\} c:V∪{ϕ}×Σ+→V∪{ϕ} satisfying
a) c ( ϕ , l ) = c ( ϕ , r ) = ϕ c(\phi,\mathrm{l})=c(\phi,\mathrm{r})=\phi c(ϕ,l)=c(ϕ,r)=ϕ;
b) ∀ v ∈ V ∖ { r } , ∃ 1 s ∈ Σ + \forall v\in \bm{V}\setminus\{r\},\exists 1 s\in\Sigma^+ ∀v∈V∖{r},∃1s∈Σ+ st. c ( r , s ) = v c(r,s)=v c(r,s)=v;
c) ∀ v ∈ V , ! ∃ s ∈ Σ + \forall v\in \bm{V},!\exists s\in \Sigma^+ ∀v∈V,!∃s∈Σ+ st. c ( v , s ) = v c(v,s)=v c(v,s)=v.
习题 8: 定义带权无向图.
答:
Definition. A weighted undirected graph is a tuple G w ( V , E , ω ) G_w (\bm{V},\bm{E},\omega) Gw(V,E,ω) ,where V = { v 1 , … , v n } \bm{V} = \{v_1, \dots, v_n\} V={v1,…,vn} is the set of nodes, and E ⊆ V × V \bm{E}\subseteq\bm{V}\times\bm{V} E⊆V×V is the set of edges, and ω : V × V ↦ R ∪ { 0 } \omega:\bm{V}\times\bm{V}\mapsto \R\cup\{0\} ω:V×V↦R∪{0} is the edge weight function,and ⟨ v i , v j ⟩ ∈ E \langle v_i,v_j \rangle\in\bm{E} ⟨vi,vj⟩∈E iff ⟨ v j , v i ⟩ ∈ E \langle v_j,v_i \rangle\in\bm{E} ⟨vj,vi⟩∈E
习题 9. 考虑 ϕ \phi ϕ, 重新写 Definition 7 以解决其存在的问题, 见其讨论 d).
答:
Definition 7. A tree is a triple T = ( V , r , p ) T =(\bm{V},r,p) T=(V,r,p) and ϕ \phi ϕ be a null node, where V = { v 1 , … , v n } \bm{V}=\{v_1,\dots,v_n\} V={v1,…,vn}is the set of nodes, r ∈ V r\in \bm{V} r∈V is the root, and p : V ∖ { r } → V p:\bm{V}\setminus \{r\}\to \bm{V} p:V∖{r}→V is the parent function satisfying.
a) ∀ k ≥ 1 , p k ( v ) ≠ v \forall k \geq1,p^k(v)\neq v ∀k≥1,pk(v)=v, and p k ( v ) = ϕ p^k(v)=\phi pk(v)=ϕ iff v = { ϕ } v=\{\phi\} v={ϕ},
b) ∀ v ∈ V ∖ { r } , ∃ 1 k ≥ 1 \forall v \in \bm{V}\setminus \{r\},\exists 1k\geq1 ∀v∈V∖{r},∃1k≥1,st. p k ( v ) = r p^k(v)=r pk(v)=r.
习题 3.1 模仿自动机的样子来重新定义二叉树.
确定的有穷状态自动机定义如下:
A deterministic finite state automata (DFA) is a 5-tuple M = ( Σ , Q , q 0 , T , f ) M = (\Sigma, \bm{Q}, \bm{q}_0, \bm{T},f) M=(Σ,Q,q0,T,f), where
a) Σ \Sigma Σ is the alphabet;
b) Q \bm{Q} Q is the set of states;
c) q 0 ∈ Q \bm{q}_0 \in \bm{Q} q0∈Q is the start state;
d) T ⊆ Q \bm{T} \subseteq \bm{Q} T⊆Q is the set of terminal states;
e) f : Q × Σ ∗ → Q f: \bm{Q} \times \Sigma^* \to \bm{Q} f:Q×Σ∗→Q is the transition function.
Any s ∈ Σ ∗ s \in \Sigma^* s∈Σ∗ is accepted by the automata iff f ( q 0 , s ) ∈ T f(\bm{q}_0, s) \in \bm{T} f(q0,s)∈T.
说明:
a) DFA 的开始状态只有一个, 因此为 Q \bm{Q} Q 的元素;
b) DFA 的终止状态可以有多个, 因此为 Q \bm{Q} Q 的子集;
c) DFA 的基础目标是看状态 s s s 是否合法 (被接受).
如果将二叉树看作是一个自动机, 它包括如下几个方面:
a) 有一个字母表, 即 ( l , r ) (\mathrm{l}, \mathrm{r}) (l,r), 完美;
b) 有一个状态集合, 包括所有节点与空节点, 完美;
c) 有一个开始状态, 即根节点 r r r, 完美;
d) 有一个终止状态, 即空节点 ϕ \phi ϕ, 这里稍微有一点不同, 稍后重点讨论;
e) 从任一状态读入任一字母, 确定地转移到下一状态 (可以是自己), 这个用状态转移函数来描述,完美.
从如上 5 点分析可以看出, 二叉树在其中 4 点都与自动机完全契合, 唯一有问题的是终止状态. 二叉树本身没有一个“判断字符串是否合法”的目标,因此不存在终止状态. 但它又有一个特殊的状态, 即 ϕ \phi ϕ.
通过以上的定义,可以重新用自动机定义二叉树:
A binary tree is a 5-tuple T = ( Σ , V , r , ϕ , c ) T = (\Sigma, \bm{V}, r, \phi,c) T=(Σ,V,r,ϕ,c), where
a) Σ \Sigma Σ is the alphabet: { l , r } \{\mathrm{l}, \mathrm{r}\} {l,r};
b) V \bm{V} V is the set of node;
c) r ∈ V r \in \bm{V} r∈V is the root;
d) ϕ \phi ϕ is the set of terminal states;
e) c : V ∪ { ϕ } × Σ + → V ∪ { ϕ } c:\bm{V}\cup\{\phi\}\times\Sigma^+\to \bm{V}\cup\{\phi\} c:V∪{ϕ}×Σ+→V∪{ϕ} is the transition function.
Exists 1 s ∈ Σ + s \in \Sigma^+ s∈Σ+ is accepted by the automata iff c ( r , s ) ∈ V ∖ { r } c(r, s) \in \bm{V}\setminus\{r\} c(r,s)∈V∖{r}.
习题3.2 模仿自动机的样子来重新定义树.
如果将树看作是一个自动机, 它包括如下几个方面:
a) 有一个状态集合, 包括所有节点与空节点,;
b) 有一个开始状态, 即非根节点 v v v,;
c) 有一个终止状态, 即根节点 r r r;
d) 从任一状态都可以连通到根节点,因此用状态转移函数来描述.
A tree is a 4-triple T = ( V , v , r , p ) T =(\bm{V},v,r,p) T=(V,v,r,p), where
a) V \bm{V} V is the set of nodes;
b) v ∈ V ∖ { r } v\in \bm{V}\setminus \{r\} v∈V∖{r} is the start node;
c) r ∈ V r \in \bm{V} r∈V is the root and the terminal state;
d) p : V ∖ { r } → V p:\bm{V}\setminus \{r\}\to \bm{V} p:V∖{r}→V is the transition function.
∀ k ≥ 1 , p k ( v ) ≠ v \forall k \geq1,p^k(v)\neq v ∀k≥1,pk(v)=v, and p k ( v ) = ϕ p^k(v)=\phi pk(v)=ϕ iff v = { ϕ } v=\{\phi\} v={ϕ};
∀ v ∈ V ∖ { r } , ∃ 1 k ≥ 1 \forall v \in \bm{V}\setminus \{r\},\exists 1k\geq1 ∀v∈V∖{r},∃1k≥1,st. p k ( v ) = r p^k(v)=r pk(v)=r.
仅供参考,正确性还未知。
本文解析了离散数学的基本概念与典型习题,包括集合、二叉树及带权无向图等,并尝试从自动机的角度重新定义二叉树与树的概念。
2万+

被折叠的 条评论
为什么被折叠?



