离散数学入门级概念理解:集合、关系、元组

本文解析了离散数学的基本概念与典型习题,包括集合、二叉树及带权无向图等,并尝试从自动机的角度重新定义二叉树与树的概念。

离散数学

本文主要是对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 rV 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 k1,pk(v)=v, and
b) ∀ v ∈ V ∖ { r } , ∃ 1 k ≥ 1 \forall v \in V\setminus \{r\},\exists1 k\geq1 vV{r},1k1,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(pk1(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} rV 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^+ vV{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^+ vV,!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} EV×V is the set of edges, and ω : V × V ↦ R ∪ { 0 } \omega:\bm{V}\times\bm{V}\mapsto \R\cup\{0\} ω:V×VR{0} is the edge weight function,and ⟨ v i , v j ⟩ ∈ E \langle v_i,v_j \rangle\in\bm{E} vi,vjE iff ⟨ v j , v i ⟩ ∈ E \langle v_j,v_i \rangle\in\bm{E} vj,viE

习题 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} rV 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 k1,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 vV{r},1k1,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} q0Q is the start state;
d) T ⊆ Q \bm{T} \subseteq \bm{Q} TQ 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} rV 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\} vV{r} is the start node;
c) r ∈ V r \in \bm{V} rV 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 k1,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 vV{r},1k1,st. p k ( v ) = r p^k(v)=r pk(v)=r.

仅供参考,正确性还未知。

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值