两个事物之间的关系称之为二元关系。在数学上,二元关系指的是这样的一个集合S,它的所有元素都为二元有序对。它反映的是有序对中第一个元素组成的集合与第二个元素组成的集合之间的关系。举个例子,集合S={<天秤座,libra>,<狮子座,leo>} 就表示了中文集合{天秤座,狮子座}与英文集合{libra,leo}之间的对应关系。

二元关系可以用集合表示,就像我们上面提到的。而除此之外,还可以用其他数学工具来描述它——矩阵和图。矩阵的基本元素是数字及其所处的位置。直觉上,我们很自然的想到用它的下标来体现两个集合中的元素,用数字体现它们是否具有关系。这便得出了以下定义:

【定义】设集合A={x1,x2,…,xm},B={y1,y2,…,yn},R为A,B之间的二元关系。称矩阵M(R)=(rij)m×n为R的关系矩阵,其中

这样我们定义了一个映射,把集合R映射为一个矩阵M。如此定义,首先保证了R的集合表达式和R的关系矩阵是一一对应的。其次,这样的定义会带来很多好的性质。我们可以应用矩阵的语言把整个二元关系的理论重新叙述一遍:

  • 关系R的逆,记作R-1,表示的是集合{<x,y>|<y,x>εR},我们有 M(R-1)=(M(R))T. 这样,我们求关系的逆就转化为了求一个矩阵的转置矩阵。
  • 两个关系的合成(复合),记作R2•R1,表示的是集合

为了用矩阵表示关系的合成,我们可以定义{0,1}中元素的加法为逻辑加法(0+0=0,0+1=1,1+0=1,1+1=1),于是便有

M(R2•R1)=M(R1)•M(R2)

这样,关系的合成这一运算就转化为了矩阵的相乘。

  • R在D上的限制就等价于找M(R)中相应行中为1的元素;D在R下的象就等价于M(R)中相应行为1的元素的列坐标。
  • 关系R是单根的,指的是对任意的yεranB,存在唯一的xεdomR,使得<x,y>εR。这意味着M(R)的每一列有且仅有一个1
  • 关系R是单值的,指的是对任意的xεdomR,存在唯一的yεranB,使得<x,y>εR。这意味着M(R)的每一行有且仅有一个1

特殊的,集合A上的二元关系R指的是A×A={<x,y>|xεA,yεA}。这样像前面第二条性质就有M(R2)=(M(R))2

  • 自反的二元关系R相应的关系矩阵主对角线元素都为1
  • 反自反的二元关系R相应的关系矩阵主对角线元素都为0
  • 对称的二元关系R相应的关系矩阵也是对称的
  • 反对称的二元关系R相应的关系矩阵也是反对称的(这里定义1的反为0)
  • 传递的二元关系R,相应的关系矩阵R中若rij=1,rjk=1,则rik=1

等价关系R(同时具有自反,对称,传递性质的二元关系)可以确定集合A上的一个划分,那么如何从关系矩阵中找出相应的等价类?如下图所示:

如何用图来表示等价关系呢?由于关系中的元素是有序对,直觉上,我们很自然的想到用有向图。于是定义如下:

【定义】设集合A={x1,x2,…,xm},B={y1,y2,…,yn},R为A,B之间的二元关系。以A,B中的元素为顶点,若<xi,yj>εR,则从顶点xi向yj引有向边,称所画出的图G(R)为R的关系图。
这样,我们就可以用图论的语言把整个二元关系的理论重新叙述一遍:

  • R的逆:只需把图中的箭头反向
  • 两个关系的合成:通过过渡集合把两个图拼接为一个图,然后把长为2的有向通路变为起点指向终点的长为1的有向通路
  • R在D上的限制就等价于找G(R)中起点包含在集合D中的部分;D在R下的象就等价于G(R)中包含在集合D中的起点所指向的终点
  • 关系R是单根的,指B中顶点的入度均为1
  • 关系R是单值的,指A中顶点的出度均为1

特殊的,集合A上的二元关系R对应的关系图将为多重图(有重边和环的出现)。

  • 自反的二元关系R相应的关系图每个顶点处都有环
  • 反自反的二元关系R相应的关系图每个顶点处都无环
  • 对称的二元关系R相应的关系图中两个顶点间如果存在有向边,必有两条反向的有向边
  • 反对称的二元关系R相应的关系图中两个顶点间的有向边必是单重的
  • 传递的二元关系R,相应的关系图中长度为2的有向通路的起点和终点间必存在由起点指向终点的有向线段

如何从关系图中找出一个等价关系所确定的划分?
对于二元关系中的其他一些理论(如闭包和序关系),用关系矩阵和关系图描述一下试试。我们经常把一件事物抽象为数学模型来表达。有时换一种数学工具可能在处理某些运算时给我们带来方便。用不同的工具思考,能更深刻的理解数学各个分支之间的联系。

二元关系的矩阵和图表示相关推荐

  1. ML之MIC:利用某数据集计算机最大信息系数MIC并可视化MIC矩阵热图及其代码实现

    ML之MIC:利用某数据集计算机最大信息系数MIC并可视化MIC矩阵热图及其代码实现 目录 利用某数据集计算机最大信息系数MIC并可视化MIC矩阵热图及其代码实现 实现结果 实现代码 利用某数据集计算 ...

  2. 推荐算法三视角:矩阵,图,时间线

    关于推荐系统,如果在忘掉所有的公式和代码,忘记所有的语言描述,脑海里就剩下几张图景,会是什么?一张二维表格,一个拓扑图,一条时间线.这三幅图景,是我看待推荐算法的三种视角. 视角一:矩阵视角 在脑中想 ...

  3. gram矩阵_推荐算法三视角:矩阵,图,时间线

    关于推荐系统,如果在忘掉所有的公式和代码,忘记所有的语言描述,脑海里就剩下几张图景,会是什么?一张二维表格,一个拓扑图,一条时间线.这三幅图景,是我看待推荐算法的三种视角. 视角一:矩阵视角 在脑中想 ...

  4. 无向图g的邻接矩阵一定是_矩阵是图

    无向图g的邻接矩阵一定是 To study structure,tear away all flesh soonly the bone shows. 要研究结构,请尽快撕掉骨头上所有的肉. Linea ...

  5. 【Pytorch神经网络理论篇】 25 基于谱域图神经网络GNN:基础知识+GNN功能+矩阵基础+图卷积神经网络+拉普拉斯矩阵

    图神经网络(Graph Neural Network,GNN)是一类能够从图结构数据中学习特征规律的神经网络,是解决图结构数据(非欧氏空间数据)机器学习问题的最重要的技术. 1 图神经网络的基础知识 ...

  6. SRA 练习:解释 CRUD 矩阵方法,并从上面 “用于化学品跟踪管理系统的 CRUDL 矩阵示例”图中找出被遗漏的需求,并解释是如何找的?

    文章目录 一.练习题目 二.CRUD 矩阵介绍 三.矩阵分析 四.寻找遗漏需求 一.练习题目 解释 CRUD 矩阵方法,并从上面 "用于化学品跟踪管理系统的 CRUDL 矩阵示例" ...

  7. matlab绘制矩阵色块图

    本文转载于https://blog.csdn.net/zzx2016zzx/article/details/80635840 文章目录 1.绘制网格线,网格中显示矩阵元素,显示黑色文字. 2.根据矩阵 ...

  8. matlab 色块图,matlab绘制矩阵色块图

    function matrixplot(data,varargin) % 根据实值矩阵绘制色块图,用丰富的颜色和形状形象的展示矩阵元素值的大小. % % matrixplot(data) 绘制矩阵色块 ...

  9. 矩阵和图结构(图论) 最短路径问题 学习笔记

    矩阵和图是可以相互转换的,这里的图不仅仅是图片,还包括图结构(图论) 所以最短路径问题解决矩阵和结局图论均是一个问题.

  10. 利用MATLAB 绘制矩阵色块图

    %% http://www.matlabsky.com/thread-32849-1-1.html % 根据实值矩阵绘制色块图,以下为测试代码. x = [1,-0.2,0.3,0.8,-0.5   ...

最新文章

  1. 计算机的桌面图标都没有了怎么办,电脑桌面图标都没了怎么办 怎么恢复
  2. windows下PXE+TFTP+HTTP自动安装ubuntu server
  3. 一些C和C++的常见问题集锦 ----不停更新
  4. java快速教程_Java快速入门
  5. html aside元素
  6. 为并发而生的 ConcurrentHashMap,基于 Java8 分析
  7. C++表白代码--Beating heart
  8. Nginx中的upstream轮询机制介绍
  9. 【前端面试】变量和类型计算
  10. 快速傅里叶变换FFT(一维)
  11. 三星4k3d电视测试软件,三大硬性指标 揭开伪4K电视真实面目
  12. win10系统恢复win7的照片查看器
  13. 推荐几部不错的网络玄幻小说
  14. vs2015发布网站到IIS
  15. 计算机网络思维导图 (免费下载)
  16. 瀚高CEO苗健:用开源软件改变中国基础软件产业格局
  17. LTE小区搜索-物理小区ID和同步信号PSS、SSS
  18. iOS6和iOS7代码的适配(4)——tableView
  19. 魔兽世界怎么找回以前的服务器,魔兽世界怀旧服无法连接世界服务器怎么办?...
  20. 番外篇2.3 图像处理与深度学习 - 模式识别

热门文章

  1. 虚拟网卡服务器端软件,不再挤房间!自己动手架设自己的“浩方”对战平台
  2. 开源爱好者李涛:三人行必有我师
  3. 扫码枪收银有手续费吗_生意好时最怕收银出故障,这几个扫码枪的常见问题你一定要知道...
  4. 点餐小程序开发(软件源码)
  5. php实现豆瓣isbn查询API接口制作
  6. rm -rf —— 删库跑路教程详解
  7. 如何在iPhone上禁用Apple CarPlay
  8. mysql查询周数_MySQL根据年份的周数获取该周起始时间
  9. 日常问题解决之JAVA标签打印设置纸张大小
  10. JavaScript 3D球形标签云代码