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

参考博客
学习视频

1.集合

1.1 集合 元素

定义:集合 是指由指定范围内的满足给定条件的所有对象聚集在一起构成,每一个对象称为这个集合的元素。
集合的数学符号:通常情况下,用带或者不带下标的大写英文字母表示集合: A , B , C … A 1 , B 1 , C 1 … A,B,C…A_1,B_1,C_1… A,B,CA1,B1,C1
用带或者不带下标的小节英文字母表示元素: a , b , c … a 1 , b 1 , c 1 … a,b,c…a_1,b_1,c_1… a,b,ca1,b1,c1
常用集合:自然数集合N,整数集合Z,有理数集合Q,实数集合R等

习题 1: { 0 , 1 , { 0 , 1 } , { 1 , 2 } } \large\{ \small 0 , 1 , \{ 0 , 1 \} , \{ 1 , 2 \}\large\} {0,1,{0,1},{1,2}} 有几个元素? 机器学习中, 这类形式的集合有什么优点和缺点?
答:4个元素,分别是 0 , 1 , { 0 , 1 } , { 1 , 2 } 0,1,\{0,1\},\{1,2\} 0,1,{0,1},{1,2}
机器学习中,将一个集合看作是一个特征,使用这类形式的集合,个人认为优点是提高了数据集的可扩展性,不局限于单一的数据类型,比如该集合是指身高,但当集合的某元素只能获取到 {体重、年龄、性别} 等时,这三个元素的集合就成了新的元素。 缺点是提高了机器学习的复杂度。

1.2 基数

定义:集合A中的元素个数称为集合的基数,记为|A|。
基数有限、无限决定集合是有限集、无限集。
举例
A = { a , b , c } , ∣ A ∣ = 3 A=\{a,b,c\}, |A|=3 A={a,b,c},A=3
B = { a , { b , c } } , ∣ B ∣ = 2 B=\{a,\{b,c\}\}, |B|=2 B={a,{b,c}},B=2
注意: ∣ ∅ ∣ = 0 , ∣ { ∅ } ∣ = 1 |\emptyset|=0, |\{\emptyset\}|=1 =0,{}=1

习题 2: ∅ \emptyset 的基数是多少? { ∅ } \{\emptyset \} {} 呢?
答: ∣ ∅ ∣ = 0 , ∣ { ∅ } ∣ = 1 |\emptyset|=0, |\{\emptyset\}|=1 =0,{}=1

1.3笛卡尔积

(此处对元组的说法和参考博客有别)定义 序偶:两个元素按照一定的次序组成的二元组称为序偶,记作 ⟨ x , y ⟩ \langle x,y\rangle x,y,其中,x是第一元素,y是第二元素。
序偶不能看成是两个元素平等地在一个集合中:
如果 ⟨ x 1 , y 1 ⟩ = ⟨ x 2 , y 2 ⟩ \langle x_1,y_1 \rangle = \langle x_2,y_2\rangle x1,y1=x2,y2,那么 x 1 = x 2 , y 1 = y 2 x_1=x_2,y_1=y_2 x1=x2,y1=y2
定义 笛卡尔积:设 A , B A,B A,B 是两个集合,称集合 A × B = { ⟨ x , y ⟩ ∣ ( x ∈ A ) ⋀ ( y ∈ B ) } A \times B = \{\langle x,y\rangle|(x\in A) \bigwedge(y\in B)\} A×B={x,y(xA)(yB)} 为集合 A , B A,B A,B 的笛卡尔积。
举例:设集合 A = { 1 , 2 } , B = { a , b , c } A=\{1,2\},B=\{a,b,c\} A={1,2},B={a,b,c},笛卡尔积
A × B = { ⟨ 1 , a ⟩ , ⟨ 1 , b ⟩ , ⟨ 1 , c ⟩ , ⟨ 2 , a ⟩ , ⟨ 2 , b ⟩ , ⟨ 2 , c ⟩ } A\times B = \{\langle1,a \rangle , \langle1,b\rangle,\langle 1,c\rangle,\langle2,a\rangle,\langle2,b\rangle,\langle 2,c \rangle\} A×B={1,a,1,b,1,c,2,a,2,b,2,c}
B × A = { ⟨ a , 1 ⟩ , ⟨ a , 2 ⟩ , ⟨ b , 1 ⟩ , ⟨ b , 2 ⟩ , ⟨ c , 1 ⟩ , ⟨ c , 2 ⟩ } B\times A = \{\langle a,1\rangle,\langle a,2\rangle,\langle b,1\rangle,\langle b,2\rangle,\langle c ,1\rangle, \langle c,2\rangle\} B×A={a,1,a,2,b,1,b,2,c,1,c,2}
设集合 A = { 1 } , B = { 2 } , C = { 3 } A=\{1\},B=\{2\},C=\{3\} A={1},B={2},C={3},笛卡尔积
( A × B ) × C = { ⟨ ⟨ 1 , 2 ⟩ , 3 ⟩ } (A \times B) \times C = \{\langle\langle1,2\rangle,3\rangle\} (A×B)×C={1,2,3}
A × ( B × C ) = { ⟨ 1 , ⟨ 2 , 3 ⟩ ⟩ } A \times (B \times C) = \{\langle1,\langle2,3\rangle\rangle\} A×(B×C)={1,2,3}
可以看出,笛卡尔积不满足交换律,结合律。

1.4幂集

定义:设A为任意集合,把A的所有不同子集构成的集合称为A的幂集,记作 P ( A ) P(A) P(A),即 P ( A ) = { x ∣ x ⊆ A } P(A) = \{x | x \subseteq A\} P(A)={xxA}
举例
A = { a , b , c } , B = { a , { b , c } } A=\{a,b,c\}, B=\{a,\{b,c\}\} A={a,b,c},B={a,{b,c}}求它们的幂集 P ( A ) P(A) P(A) P ( B ) P(B) P(B)
解: P ( A ) = { ∅ , { a } , { b } , { c } , { a , b } , { b , c } , { a , c } , { a , b , c } } P(A)=\large\{\emptyset , \left\{a\right\}, \left\{b\right\}, \left\{c\right\}, \left\{a,b\right\}, \left\{b,c\right\}, \left\{a,c\right\}, \left\{a,b,c\right\}\large\} P(A)={,{a},{b},{c},{a,b},{b,c},{a,c},{a,b,c}}
P ( B ) = { ∅ , { a } , { b , c } , { { a } , { b , c } } } P(B)=\large\{\emptyset ,\left\{a\right\}, \left\{b,c\right\}, \left\{\small\{a\},\{b,c\}\right\}\large\} P(B)={,{a},{b,c},{{a},{b,c}}}

2.二元关系

定义:设 A , B A,B A,B为两个非空集合,称 A × B A\times B A×B的任意子集 R R R为从 A A A B B B的一个二元关系。其中, A A A称为关系 R R R的前域, B B B称为关系 R R R的后域。如果 A = B A=B A=B,则称 R R R A A A上的一个二元关系。
举例:令 A A A为某大学生所有学生集合, B B B表示该大学开设所有课程集合,则 A × B A\times B A×B可以表示该校学生选课的所有可能情况。而真正的选课情况(如{学生 a 1 a_1 a1选了课程 b 1 b_1 b1…学生 a i a_i ai选了课程 b j b_j bj}这一个集合)则会是 A × B A\times B A×B中的某一个子集。

在计算机中,关系可以通过矩阵表示。假设 A , B A,B A,B两个集合的元素 a i , b j a_i,b_j ai,bj之间满足条件,则在关系矩阵 m i j m_{ij} mij中置对应位置为1,这样的矩阵则能完整表示一个二元关系。

3.函数

需要注意的是,函数是特殊的关系,如函数 y = 1 − x 2 y=\sqrt {1-x^2} y=1x2 ,定义域为 D D D,值域为 V V V,对于任意 x x x能找到唯一对应的 y y y,同时,关系为 D × V D\times V D×V的一个子集。但是关系不一定是函数,如 x 2 + y 2 = 1 x^2+y^2=1 x2+y2=1不是函数,但由圆上的所有点(元素)构成此关系,为 R × R R\times R R×R的一个子集。

习题 5:多标签学习中, 输出为一个向量,相应的学习器算不算函数呢?
答:多标签学习相应学习器算作函数。理解函数的输入和输出一一对应的关系。学习器输出的一个维特征向量,是标签的集合,是一个唯一的结果,除非输出的是多个向量。

4.元组

(此处对元组的说法和参考博客有别) 用面向对象的方法理解,k个属性即k元组。

习题 6: 元组只能表达对象的数据部分, 还是可以完整地表达 (既包括数据, 也包括方法/函数)? 用一个具体的程序来说明.
答:元组可以表达完整对象。
举例:现有外星的编码和地球的字符编码,恰好都是同一个编码结构,现在已知字符的整形值和字符,采用字符和其整形值比较的方法来判断是否属于地球的字符编码。

#include <iostream>  
#include <vector>  
#include <tuple>  
using namespace std;

string isASCII(int num, char chr)
{
    if (num - (int)chr == 0)
    {
        return string("earth");
    }
    return string("Mars");
}

int main()
{
    //4元组,依次是整形值,英文字母,映射函数,是否是地球人的ASC码
    //给定一组数据,是否是地球人的asc码暂定火星语
    tuple<int, char, string(*)(int, char), string> t((int)'a', 'a', isASCII, "Mars");

    //获取对象的整体判断
    get<3>(t) = get<2>(t)(get<0>(t), get<1>(t));

    cout << (int)get<0>(t) << "\t" <<  get<1>(t) << "\t"\
        << get<3>(t) <<endl;
    return 0;
}

疑问:前有概念:序偶是二元组。在机器学习中,是否会关注元组中特征的顺序?多个非空集的笛卡尔积是否可以用来直接代表多元组的可能?

最好懂的分割线 以下内容正在研究学习


习题 7:定义二叉树 (待完善)

习题 8:定义带权无向图
a weighted undirected graphs is a tuple G w = ( V , w ) G_w = (V,w) Gw=(V,w), where V = { v 1 , v 2 , … , v n } V = \{v_1, v_2,…,v_n\} V={v1,v2,vn} is the set of nodes, and w : V × V → R + ⋃ { 0 } w:V \times V \to R^+\bigcup \{0\} w:V×VR+{0} is the edge weight function,
∀ ⟨ v i , v j ⟩ ∈ V × V \forall \langle v_i,v_j\rangle \in V\times V vi,vjV×V, w ( v i , v j ) = w ( v j , v i ) w(v_i,v_j)=w(v_j,v_i) w(vi,vj)=w(vj,vi)

习题 9:考虑 ϕ \phi ϕ, 重新写 Definition 6 以解决其存在的问题, 见其讨论 d).
在definition 6 基础上重新定义树
Σ = { u } \Sigma=\{u\} Σ={u}, T = { V , r , p } T=\{V,r,p\} T={V,r,p}, V = { v 1 , v 2 , … , v 3 } V=\{v_1, v_2,…,v_3\} V={v1,v2,v3}, r ∈ V r\in V rV, p : V ⋃ { ϕ } × Σ ∗ → V ⋃ { ϕ } p:V\bigcup\{\phi\} \times \Sigma^* \to V\bigcup \{\phi\} p:V{ϕ}×ΣV{ϕ}
p ( v , ϵ ) = v p(v,\epsilon)=v p(v,ϵ)=v
∀ v ∈ V , ∃ 1 s ∈ Σ ∗ , s t . p ( v , s ) = r \forall v \in V, \exists1 s \in \Sigma^* ,st.p(v,s)=r vV,1sΣ,st.p(v,s)=r

习题3.1:模仿自动机的样子来重新定义二叉树.
T = ( Σ , V , Q , r , ϕ , c ) T=(\Sigma, V, Q, r, \phi, c) T=(Σ,V,Q,r,ϕ,c) where
a) Σ = { l , r } \Sigma = \{\mathrm l, \mathrm r\} Σ={l,r}is the alphabet,
b) V = { v 1 , v 2 , … , v n } V=\{v_1, v_2,…,v_n\} V={v1,v2,vn} is the set of nodes,
c) Q = V ⋃ { ϕ } Q = V \bigcup \{\phi \} Q=V{ϕ} is the set of states, and ϕ \phi ϕ is null node
d) r ∈ V r\in V rV is the root node and start state,
e) ϕ \phi ϕ is the special terminal state,
f) c : Q × Σ ∗ → Q c:Q \times \Sigma^* \to Q c:Q×ΣQ is the transition function satisfying ∀ v ∈ V , ∃ 1 s ∈ Σ ∗ , s t . c ( r , s ) = v \forall v \in V, \exists 1 s \in \Sigma^*, st. c(r,s)=v vV,1sΣ,st.c(r,s)=v.

习题3.2:模仿自动机的样子来重新定义树.
T = ( Σ , V , Q , r , ϕ , p ) T=(\Sigma, V, Q, r, \phi, p) T=(Σ,V,Q,r,ϕ,p) where
a) Σ = { u } \Sigma = \{\mathrm u\} Σ={u}is the alphabet,
b) V = { v 1 , v 2 , … , v n } V=\{v_1, v_2,…,v_n\} V={v1,v2,vn} is the set of nodes,meanwhile V V V is the set of start states,
c) Q = V ⋃ { ϕ } Q = V \bigcup \{\phi \} Q=V{ϕ} is the set of states and ϕ \phi ϕ is null node,
d) r ∈ V r\in V rV is the root node,
e) ϕ \phi ϕ is the special terminal state,
f) p : Q × Σ ∗ → Q p:Q \times \Sigma^* \to Q p:Q×ΣQ is the transition function satisfying ∀ v ∈ V , ∃ 1 s ∈ Σ ∗ , s t . p ( v , s ) = r \forall v \in V, \exists1 s \in \Sigma^* ,st.p(v,s)=r vV,1sΣ,st.p(v,s)=r

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值