☰
离散数学1:集合论与序论在计算机的联系
2026/9/26 19:57:40 网站建设 项目流程

笛卡尔积:

两个集合笛卡尔积后的结果,是元素为有序对的集合。

例如:

A = {1, 2}, B = {x, y},则 A × B = {(1, x), (1, y), (2, x), (2, y)}

B × A = {(x, 1), (x, 2), (y, 1), (y, 2)}。

有序对:

有序对的性质:∀a,b,c,d ((a,b)=(c,d)↔a=c∧b=d),这是唯一性质

python中的tuple或者list就是有序对,tuple和list允许其中的元素不一定是同类型,像“集合的有序,可重复版”用代码构建集合时,要检查遍历每两个元素是否相同,不需要顺序,但构建有序组(后面会提到),不需要遍历每两个元素,但需要额外内存保存下标。

但C++和java里的数组必须要求同类型。

其集合论定义有多种,主流zfc系统用的是库拉托夫斯基(Kazimierz Kuratowski)的定义:
(a,b)={{a},{a,b}}

优点:只使用集合没有额外定义,也没有循环定义,结构简单,证明有序对性质的过程简单

缺点:有序对的秩比元素的秩高2(集合论中的秩表示一个集合中根元素被多少层集合括号包裹了的最大数,和矩阵的秩不是一回事,虽然都是rank。即使在数学里,很多英语术语相同但又指向不一样的概念,比如纤维和原像,向量和矢量等等),这在某些集合论系统(如新基础 NF)中会造成麻烦

以下还有其他关于有序对的定义

1.库拉托夫斯基定义变体:短定义(a,b)={a,{a,b}}

2.维纳(Wiener)定义:(x,y)={{{x},∅},{{y}}}

3.冯诺依曼(John von Neumann)序数定义:(x,y) = { {∅, x}, {{∅}, y} }
......

etc.

以上定义因为各种原因,综合考量而放弃

数学系统构建者在用最少的公理构建并解释所有的数学,但目前对于有序对的用哪种形式系统更加合适没有明确标准,所以非数学工作者最好把有序对看成一个公理初始概念。

有序n元组:

有序n元组(tuple),也简化为有序组或者序组,和有序对一样也有多种定义:例如有序3元组

左嵌套(a,b,c)=((a,b),c)

右嵌套(a,b,c)=(a,(b,c))

混合嵌套etc.

这些定义看实际用途而编码,依旧建议看作是公理初始概念,

多个集合笛卡尔积的结果,就是元素为有序n元组的集合。

序列就是一种有序n元组,序列也有有限序列,无限序列,可变序列之分。数列其实是序列的子集,但一些高数教材依旧称呼序列完全等价数列

坐标,向量和矩阵:

坐标,向量本质上就是特殊的一维的有序n元组,有序n元组的i下标对应的值叫做第i分量,例如有序3元组(5,6,7)的第0分量是5,第1分量是6,分量和元素等价,分量更强调位置。

m×n矩阵就是每个元素都为有序n元组的有序m元组,

例如m×n矩阵A,就可以表示成A=((a11​,…,a1n​), (a21​,…,a2n​), …, (am1​,…,amn​))。就是特殊的二维数组。

张量:

如果写代码自动构建一个矩阵不做限制,那么可能会产生不是矩阵的结构,如A=[[1,2],[3]]

或者B=[ [1,2], [ [3,4],[5,6,7] ] ],如果构建张量(后面会提到,矩阵是特殊的张量),就更加复杂。

做限制以前,先明确以下概念:序组的结构可以画成树结构,叶结点就是最底层的元素(机器学习里,和以上举例的AB两个数组,是数字,更抽象来讲可能是字符串,布尔值,函数等等)

序组的嵌套深度分为最大嵌套深度和最小嵌套深度,以序组B为例,最大嵌套深度是2,最小嵌套深度是3 。如果把这个序组转化为树结构,那么树结构的深度+1,就是最大嵌套深度,毕竟树结构的深度是按照边来计算的而不是结点。最小嵌套深度,就是叶结点最小的深度。

因此可以对矩阵进行限制:1.同一阶的数组长度要一致。2. 同一阶的数组的最大嵌套深度相等。3.只能是二阶数组。

第三个限制是针对矩阵的,如果删除这个限制这个以推广到新的概念:张量。

0阶张量就是标量,1阶张量就是向量,2阶张量就是矩阵。

tensorflow中shape函数就可以知道一个张量的结构,shape(2,3,4)表示一个2×3×4的张量

矩阵:

n×m矩阵可以看作一个m输入n输出的函数,矩阵的乘法就是两个函数的复合。矩阵乘列向量,可以看作向量作为1阶张量输入到矩阵这个函数中,输出结果也会是向量,即序组

梯度:

二元函数的输出只能对其中一个输入求导,也就是偏导。偏导可以看作在x轴或者y轴上放置一个垂直于xy平面的平面,对截取的函数图像求导。方向导函数不限制位置,在xy平面上的任意直线上竖直放置一个平面,对截取的函数图像求导。某个点在某个方向上的最大的方向导数就是梯度,因此梯度是一种向量。

需要专业的网站建设服务?

联系我们获取免费的网站建设咨询和方案报价,让我们帮助您实现业务目标

立即咨询