魔术里的集合、映射和关系(三)——关系和映射的关系


上回说到,集合的用法。从表示,关系,运算以及性质四个角度展开,并最后尝试构建了一个集合观下的世界。

不妨注意这四个角度,很多数学概念都是从这些角度展开的:先有表示,然后是性质,以及内部关系,和在关系上定义的运算。大家从小数学课里学四则运算,三角形,函数,解方程等等,都是这个套路。为什么会这样呢?回忆一下数学的定义啊:

数学是利用符号语言研究数量、结构、变化以及空间等概念的一门学科,从某种角度看属于形式科学的一种。数学透过抽象化和逻辑推理的使用,由计数、计算、量度和对物体形状及运动的观察而产生。

看见没有,数学天然就是要观察对象,把握规律,天然就是要建模的。除了基础数学研究的是纯数学内容以外,都是以模型为基础的,甚至基础数学也在模型的帮助下被使用,比如欧拉定理到RSA算法的应用等等。为什么说数学是智慧是哲学呢?因为它研究所有事物都用的是一套普世适应的逻辑,用抽象和逻辑推理,逼近这个世界的真理。

我们研究集合时候的表示,然后是性质,关系,运算,也是研究任何一个数学结构的基本内容。

今天,我们从基本集合出发,通过笛卡尔积运算得到更高级别的集合——关系,以及由此加上一些特殊性质以后得到的,后来被单独抽象出来的特殊关系——映射,以及其内的各种变种。这一切不是为了搞复杂来考试的,而是,世界只有这样描述,才最真实和接近本质。

 

前面内容,请参考往期回顾:

 

魔术里的集合、映射和关系(二)——集合怎么用?

魔术里的集合、映射和关系(一)——集合是个啥?

下面正式来讲讲,集合是怎么进化成关系和映射的,又有着怎样的内在演化逻辑?

从集合到映射

 

集合是一种特殊的函数,但全集,尤其是函数里的定义域,更多的是取一个范围的意思,而其映射到bool集的函数只是一种表示而已,和本义有区别,就像爱情的本质用多巴胺表示是没错,可是还是觉得别扭。而很多东西是需要在定义域内来映射表达的,或者生成值域为其他集合来表达的。比如说,水果的质量。就是水果对象上的属性函数了,其结果值域也是水果集合在重量相等等价关系上的商集(水果集/质量相等关系)。所以比集合更加通用的概念其实是函数,它包含:

 

定义域:一个全集到bool的函数形成的集合,全集是什么往往看语境决定,比如我们在谈论数的时候经常用R,C作为全集,在没有函数和第一个集合以前,用基本集合来标示。

 

对应关系:对于每一个定义域中的对象,都有唯一对象与之对应(可以想象是每个对象都有个属性函数,或者有个箭头指出去到某特定对象上)

 

值域:所有对应关系的终点值组成的集合(以存不存在定义域中的值能映射过来为判断依据的集合)

 

可以看到,其定义核心是定义域和对应关系,本质就是每个要考虑的元素都找到了对应的元素,并把它们组成去重的集合,称为值域(注意去重,如果是苹果的质量,那两个都是2两的苹果就只会留下一个2两了,这在抽象概念上很容易接受,但注意真的把两袋子苹果合在一起,那就不能去重,而要假期来了,因为袋子里的苹果是真的,没有抽象的,绝不会有完全一样的,这个合起来的过程,可以用加法)。

 

所以,比集合,函数更为底层的是“对应关系”这个概念。抽象上看就是一个二元元组的集合,实际上就是对象作用某个属性函数后的结果。从基本的到01的对应关系开始,衍生出集合和函数的概念,而这里的核心就是:

 

考察需要映射的对象,每个仅仅给一个对应结果,绝没有多个。

这在函数关系上看起来稀松平常,不值一提,但是有大量关系并不满足,比如收信人和发信人是最普通的关系,所有老虎和兔子的吃与被吃是二部图关系;朋友关系是对称关系,系谱关系和食物链是DAG(自然界应该不存在食物链圈吧?),而层级关系一般是一棵有根树等等。

 

映射的概念就是这样的,它应该是“对应关系”的集合。如果你能把用元组表达的一个个对应关系理解成元素本身,那么应该能理解什么叫对应关系的集合这一描述了。而且,作为映射的对应关系,还要求这些对应关系里每个对应前的元素(前项)都只有唯一元素(后项)对应,而且在一个指定空间里。而这个映射的意义和执行方式,其实是人给的,比如看一眼女孩照片就知道漂亮与否,以及要不要追了等等。

 

这里有两个相反的方向值得拓展思考:

 

  1. 这里的映射的定义还比较粗糙,很多我们想描述的诸如可逆性等的性质如果从映射的角度来看,还要求满足什么条件呢?

  2. 映射是一种特殊的二元元组构成的关系集合,那关系全集应该什么样子的?如何从一个一元元素的集合通过运算变成多元元组的高维关系集合?

 

在下文中,我们分别予以说明:

映射的类型

 

有两种特殊的映射值得关注:

 

满射(surjection):在规定的象空间的元素里,每一个都有原象空间的对应;

 

我们再看函数的定义,其象空间就是对应关系生成的,所以自然成立,因此,函数和满射是一样的东西,是同一对象的两个不同名字。

 

单射(injection):对于值域中的元素,都仅有唯一定义域元素对应回来,这个在函数里并不要求,却是一个很好的性质。因为此时反函数存在,自然也就是逆映射存在,说明这条路径正反都能走通了。

 

单满射:又叫双射(bijection),或者一一映射(one to one map),在函数里,也就是可逆函数了。

 

所以按照一条包含关系的偏序集,我们有:

 

单满射 < 单射 / 满射 < 映射

 

这玩意合在一起也是个集合,图示看起来像是一个DAG图,学名叫做偏序集(partially ordered set),这种带特殊结构的集合,我们后面有机会再讲。

 

你可能会问,为什么要造这些概念出来呢?为了考试让我们难堪?

当然不是,自然是因为这些结构本就是我们认知事物时候发现的普遍规律,我们把他们明确下来,有很多实际研究对象满足这些性质,并使用这些性质的结论会对我们理解事物有所帮助了。 

从映射到关系

 

最后,我们说说关系,嗯嗯,都叫英文relationship,可不是人际关系那个关系,而据我所知,英文中也不太有人际关系的意思。

 

自然中,除了从一个对象走对应关系到另个一对象这种集合以外,还有很多对应到不止一个的情形,比如你的朋友,桌子上的东西,房屋的材料等等,一种粗暴的策略就是直接把值域变成集合,当然这确实是一种表示方式,但是图的二元关系结构才是根本。就像前面说用多巴胺来表示爱情有点别扭一样,我们得找最合适的表示结构。

 

g = (v, e | e in v ^ 2)

 

关系和图在离散数学里几乎就是同义词了,除了图特意强调了构成关系的单元元素全集,可以有不存在于关系内的单元元素,这有点像满射和一般映射的区别,一个是从映射去生成函数关系,一个是先有了集合,再添加边得到的映射或者一般关系。一个特定的图是一个二元元组集,两个元素都是集合,第二个是第一个笛卡尔平方集合的子集,即关系集。当第二个元素是定义在其上的函数的时候,又可以叫做加权图,即,以关系集为定义域的函数,既包括关系全集下子集定义域,也包括定义域上的对应关系这些内容,而对应过去的东西,可以是数值权,也可以复合任何结构,这就是前面说的集合的可扩展性。

 

我们很多现实中的网络都满足这样的数学结构,比如人际关系,互联网,文献引用关系等等,他们并不像对象的属性这样的函数映射这么简单。因此,这种最不加限定的笛卡尔积生成的关系子集恰是我们关心的。而且,这样还形成了新的高维元素,叫做元组,以此还可以不断复合,构成我们抽象理解的全部。

 

比如:

 

(({empty, 1}, pi), {1.5, N, {(2, 3),{empty}}})

 

你看着这样的元祖和里面的集合可能没有什么意义,但是自然语言包装下的人类抽象理解的层级可是远远要比这个复杂的。比如看下面的句子:

 

潇洒的王老师是在历史悠久的雅礼中学教语文和英语吗?

 

如果用元组和集合来表达这句话的语义,你就明白人类听懂一句话有多少看起来轻描淡写的思考了:

谨以此例子怀念我的母校和大小王老师对我的悉心教导。

 

S = (A, f1) in 句式集,f1表示一般疑问,吗?;A是被疑问对象

A = (B, C) in 一般状态表示集,B是对象;C是状态内容

B = (D, f2) in 形容词修饰关系集的风格属性集,D是被修饰对象,王老师;f2表示其风格属性值,潇洒

C = (E, f3) in 副词修饰关系集中的强调与否集,E是被修饰对象;f3表示强调的状态,是

E = (F, f4) in 状语关系集,F是描述对象;f4表示状语

F = (G, H) in 动宾关系集,G是动作,教;H是宾语

f4 = (I, f5) in 形容词修饰关系集,I是被修饰对象,雅礼中学;f5是特点属性,历史悠久的

H=(J, K, f6) in 二元对象关系集,f6表示两个元素形成的集合{J, K},和;J为语文,B为英语

其实雅礼中学和历史悠久的还可往下继续拆分,直到字,到偏旁部首,到比划,而且每个人因为知识粒度,思考时候的速度条件不同,粒度,内容都有区别,这里问题应该已经说明白了就没必要再进行了。

 

这里是按照广度优先策略对句子作了自顶向下的拆解,其中很多信息是隐含的。比如为什么要这么分词,要这么构成树结构,为什么表达的这些关系;以及,在每一个层级的节点扩展中,用集合的话说,到底是在哪个全集的范围内给出了具体的选项或者数值结果呢?

 

这全靠序列里的先后顺序关系给定以及经验常识猜测,任何一步错误都有可能造成理解歧义。而且,这些还只是字面意思的理解,以上下文无关文法来拆解,要知道,真正的语言中还有省略,倒装,比喻,双关等手法,根本不是计算机可以通过堆数据来轻易攻破的。

这里的拆解最后可以列为一棵树,fi表示的就是某个关系集内的属性修饰部分,自然语言中大部分都是分类变量,也不排除数值度量;大写字母则表示如此描述对应的抽象对象本身。自然语言的理解需要从序列里还原回每一步的全集是谁,部分全集的判断甚至都没有修饰提示(两个大写字母的关系),是完全隐含的,哪怕有,理解得和说话者不同也会有误解。更何况,这还是在字面意思的角度分析,加上意图,语义,语境等等,理解语言可不是一件容易的事。

从关系到映射

 

如果反过来理解上面的概念,有一个二元关系是一个全集,由两个基本集合作笛卡尔积复合而来。关系上引入很多限定以后构成一些特定场景下的建模数学工具:

 

  1. 一般二元关系集:A * B -> bool,比如好友关系,胜负关系,上下级关系,单行道路等;

  2. 对称关系:if (a, b) in A * B, then(b, a) in A * B,比如朋友关系,交战关系,双行道,迷宫等;

  3. 序关系:满足传递性与非对称性(自反性取决于是否严格序),可用迹(trail)来表达,是排序问题的基础结构;

  4. DAG:有向无环图,表面上看是没有圈(cycle),但是其对应的往往是变量或对象的依赖和生成关系,是有序的,强调每一个对象都必须有确定的依赖来生成,比如Bayesian模型,工序网络等,对应的数学结构也叫做偏序集,是贝叶斯网络的基本结构;

  5. :无向无环图,给定根节点以后为有根树,可等效为有向图。此时,除了根节点外每个节点都仅有一个入度(父亲)的DAG,这样不仅有对象的依赖关系,而且还有唯一固定追溯到根节点的迹(trail),由此多了层次,高度等属性,可以表达上下级,系谱图关系(有点特殊,每个节点有2个入度,当然如果出现了爷孙恋就另说了)等对象;

  6. 二叉树:每个父亲最多有两个孩子,以及由此的变种平衡二叉树,B,B+,B*树和红黑树等,都是在优化查找排序时候效率的考虑,是常用的数据结构。

 

以上只是经典常用的关系类型而已,实际问题中完全可以根据需要自行设定关系的性质内容,活学活用。

 

最后,我们从关系到又可以回到一开始提到的映射及其限定形式:

 

  1. 映射关系,对于A中的a,B中仅有唯一b与之对应,正因为这个唯一性,我们可以构造此映射函数来保证之;

  2. 单射:若B存在A中元素与之对应,这个对应是唯一的;

  3. 满射:B中的每个元素都有A中的元素对应,是函数的另一种定义方式;

  4. 双射(一一映射):单射加满射;

 

以及回到最初的那个不加定义的概念集合:

 

当象空间为bool集的时候,此映射等价为集合,也被认为是最基础的关系。

 

如果你学过乔姆斯基文法,会发现本文的展开方式综合运用了复制(copy)语言和回文(palindrome)语言的技巧,分别对应上下文无关有相关文法。

最后总结一下,回答一下标题里的问题:关系和映射的关系是什么?

答曰:包含关系罢了,但是一个集合带上他的子集组成的元组,居然是这个元组前项集合里的元素,是不是很酷!

 

到此,本系列纯数学部分的讲解就全部结束了。老规矩,最后我们看一个魔术,下一讲开始,我们会对他们进行讲解,敬请期待。

 

视频1 移动幻想预言


我们是谁:MatheMagician,中文“数学魔术师”,原指用数学设计魔术的魔术师和数学家。既取其用数学来变魔术的本义,也取像魔术一样玩数学的意思。文章内容涵盖互联网,计算机,统计,算法,NLP等前沿的数学及应用领域;也包括魔术思想,流程鉴赏等魔术内容;以及结合二者的数学魔术分享,还有一些思辨性的谈天说地的随笔。希望你能和我一起,既能感性思考又保持理性思维,享受人生乐趣。欢迎扫码关注和在文末或公众号留言与我交流!
扫描二维码关注更多精彩
魔术里的集合、映射和关系(二)——集合怎么用?
我和Double Lift的故事(五)——升华篇闯红灯到底该不该罚款?——逻辑推理浅谈(二)循环、递归与魔术(五)——再谈递归的魔术逻辑与欣赏Roberto Giobbi的纸牌大学
  • 3
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值