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

习题1 {0,1,{0,1},{1,2}} 有几个元素? 机器学习中, 这类形式的集合有什么优点和缺点?

{0,1,{0,1},{1,2}} 有4个元素。
这类形式的集合优缺点如下:
优点:可以表示多种类型的数据。
缺点:对于0维元素和一维元素同时存在的集合吗,就不太好处理,需要处理时将低维元素升维,个人认为可以填充0。

习题2 ∅ 的基数是多少? {∅} 呢?

∅ 的基数是0,表示没有元素。
{∅} 表示一个空集组成的集合,基数为1。

习题5 多标签学习中, 输出为一个向量,相应的学习器算不算函数呢?

函数在数学中为两不为空集的集合间的一种对应关系:输入值集合中的每项元素皆能对应​​唯一一项输出值集合中的元素。

根据定义,输入与输出存在一一对应的关系。输入向量与最终的分类存在一一对应,算作是函数。

习题6 元组只能表达对象的数据部分, 还是可以完整地表达(既包括数据, 也包括方法/函数)? 用一个具体的程序来说明.

元组可以完整的表达一个对象。
以一个简单学生对象为例,学生对象存在如下几个属性:

  1. 学号。
  2. 姓名。
  3. 班级。
  4. 年级。
  5. 入学日期。

约定元组的下标-1 依次对应一个学生对象,如Tuple[0]为学号,后面的属性以此类推。

if __name__ == '__main__':
    stu1 = ('2016', 'stu1', 1, 2, 2016)
    print("学生相关信息", stu1)

如果使用元组保存一个对象,则可以使用元组保存此对象对应的操作方法,函数定义。

if __name__ == '__main__':
    Student = (enteredYear, name, grade, class, definition updateClass(): "set class +1", etc.. )

思考: 无向图和有向图, 哪个更特殊? Definition 5 定义的是有向图还是无向图? 如何分别定义它们, 以及带权图? 答案在稍后给出.

Definition 5. A graph is a tuple G = ( V , E ) G = ({V}, {E}) G=(V,E), where V = { v 1 , … , v n } {V} = {v_1, \dots, v_n}V={v
1,…,v n} is the set of nodes, and E ⊆ V × V \mathbf{E} \subseteq \mathbf{V} \times \mathbf{V}E⊆V×V is the set of edges.

简单一点说,有向图是特殊的无向图,仅含单边关系。无向图是包含双边关系的有向图,即有向图可以视为无向图特例。

Definition 5 定义的有向图。

带权图也可以视为特殊的无向图,无向图看作权为0的带权图,万物皆可延伸。

增加定义,增加一个新元素,在储存点边时,同时储存对应的权值。

2021年5月2日

习题 7: 定义二叉树.

可以参照线索二叉树的定义,以三元组的方式储存。

A tree is a tuple T = (N, r, l), N is a set of tree node, and r, l is the right child node of n ⊆ N, l is the left child node of n ⊆ N. while n is ϕ, the r, the l also is ϕ.

习题 8: 定义带权有向图.

Definition: A graph is a tuple G = ( V , E , W ) G = ({V}, {E})G=(V,E), where V = { v 1 , … , v n } {V} = {v_1, \dots, v_n}V={v1,…,vn} is the set of nodes, and E ⊆ V × V {E} {V} {V}E⊆V×V is the set of edges, and e ⊆ E is the side where v1 ⊆ V points to v2 ⊆ V , w ⊆ W is the weight of e.

习题 9. 考虑 ϕ, 重新写 Definition 7 以解决其存在的问题, 见其讨论 d).

老师的定义确实比我的定义更简洁,条件a不冗余,可以作为补充条件。
ϕ:if the node c is ϕ, it means c does not have right node, and left node, the parent of c does not have right child or left child.

2021年5月8日

引入三个概念,字母表,正闭包,克林闭包。

字母表 ∑ 是一个有穷符号集合,例如,阿拉伯数字的字母表 ∑ = {0, 1, 2… }

正闭包:长度为正数的符号组成的集合。
eg : {a, b, c, d }+ = {a, b, c, d, aa, ab, ac, ad, ba, bb, bc, bd, ……, aaa, aab, aac, aad, aba, abb, abc, ……}

克林闭包:任意长度符号串组成的集合,长度可以为0.
相比较正闭包,相同字母表的克林闭包元素个数多1。

有关有限状态自动机的理论,请自行查阅或移步。 有限状态自动机

习题 3.1 模仿自动机的样子来重新定义二叉树.

A binary tree is a Quintuple T = (Σ, N, r, T, f),where
where
a) Σ is the alphabet, Σ = {l, r};
b) N is the set of nodes;
c) r ∈ N is the start nodes;
d) T ⊆ N is the set of terminal nodes, if f(s, l) = ϕ, s is the terminal node relative to left subtree, No longer accept left jumps,The same is true for the right subtree.
e) f : N × Σ∗ → N, f is the transition function.

说明:

  1. 对于终止结点定义,如果一个节点的左子树为空,那么不再接受向左跳转,此时终止跳转。同理对于右子树,跟群里的同学讨论稍有不同。
  2. 定义当前节点为s, f(s, l)表示向左跳转.

习题3.2 模仿自动机的样子来重新定义树.

树的自动机定义跟二叉树类似,仅存在树节点的个数无法决定,对于树更新以下定义:
a) Σ is the alphabet, Σ = R;
d) T ⊆ N is the set of terminal nodes, if f(s, i) = ϕ, i ⊆ R, s is the terminal node relative to left subtree, No longer accept left jumps,The same is true for the right subtree.

例如定义当前节点为s, f(s, 2)表示向从左至右第二个子树跳转。

2021年5月10日

如有错误,请指出!

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值