首页 > 其他分享 >浅谈关系矩阵

浅谈关系矩阵

时间:2023-07-19 19:22:50浏览次数:32  
标签:关系 图论 end 浅谈 align 矩阵 times

浅谈关系矩阵

什么是关系矩阵

关系矩阵就是用矩阵来表示关系,关系矩阵中的数值皆为**0**或**1**(也就是**bool**型)。
  • 举个例子:

\[\begin{vmatrix} 1& 0& 1\\ 0& 0& 1\\ 1& 0& 0 \end{vmatrix} \]

  • 这个关系矩阵就表示了3个抽象物体的关系:

\[\begin{vmatrix} 1->1有& 1->2没& 1->3有\\ 2->1没& 2->2没& 2->3有\\ 3->1有& 3->2没& 3->3没\\ \end{vmatrix} \]

  • 注意:关系是有向的,也就是说1->2有关系不一定2->1也有关系。

关系矩阵和图论中的邻接矩阵本质上是一样的,所以我们也可以用图论的方式来理解关系矩阵。

关系矩阵的表示

对于元素集合 \(A={a_1,a_2,a_3,...,a_n}\) ,关系\(R\subseteq A\times A\)。

\(R\) 用关系矩阵表示为 \(M(R)=(r_{i,j})_{n\times n}\)

关系矩阵的性质

自身性质

  1. 自反性

    关系矩阵主对角线上所有元素的值都为1。在图论中则表示每个点都存在自环。

  2. 反自反性

    关系矩阵主对角线上所有元素的值都为0。在图论中则表示每个点都不存在自环。

  3. 对称性

    对于 \(\forall {i,j}(i\ne j)\),关系矩阵D中的元素 \(d_{i,j}\) 与 \(d_{j,i}\) 相等。在图论中则表示为每一条边都为双向边或自环。

  4. 反对称性

    对于 \(\forall {i,j}(i\ne j)\),关系矩阵D中的元素 \(d_{i,j}\) 与 \(d_{j,i}\) 不相等或全为0。在图论中则表示为任意两点之间仅有一条单向边或无边,允许存在自环。

  5. 非对称性

    对于 \(\forall {i,j}(i\ne j)\),关系矩阵D中的元素 \(d_{i,j}\) 与 \(d_{j,i}\) 不相等或全为0,且 \(d_{i,i}\) 等于0。在图论中则表示为任意两点之间仅有一条单向边或无边,无自环。

运算性质

  1. 逆运算相关性质

    \(M(R^{-1})=(M(R))^T\)

    关系的逆的关系矩阵等于关系矩阵的逆

  2. 合成运算相关性质

    \(M(R_1 \circ R_2)=M(R_2)\bullet M(R_1)\)

    其中 \(\bullet\) 是矩阵的逻辑乘法,运算法则与矩阵乘法类似,逻辑乘法使用 \(\wedge\) 运算逻辑加法使用 $\vee $ 运算

食用方法及技巧

图论

逻辑矩阵在图论中的应用十分广泛,例如邻接矩阵就是一种逻辑矩阵的拓展,由于应用的实在是太广了,所以就先鸽了这部分。

反演

反演本身就是求两个函数之间的关系,很适合用关系矩阵来推导。

小试牛刀:

我们最常见到的反演关系就是前缀和与差分了,我们尝试用关系矩阵证明一下,设 \(F_n\) 为前缀和,\(G_n\) 为差分,则有:

\[\begin{align*} F_n&=\sum_{i=0}^{n}G_i\\ G_n&=F_n-F_{n-1} \end{align*} \]

我们设 \(A\) 为关系矩阵,用于描述求和关系:

\[\begin{align*} F_{n}&=\sum_{i=0}^{n}G_i\\ &=\sum_{i=0}^{\infty}A_{n,i}G_i\\ \\ F&=G\times A\\ G&=A^T\times F \end{align*} \]

设 \(B\) 为差分关系矩阵:

\[\begin{align*} G_n&=\sum_{i=0}^{\infty}B_{n,i}F_i\\ &=F_n-F_{n-1}\\ G&=F\times B\\ F&=B^T\times G \end{align*} \]

  • 上面写的可能有些冗长,目的是为了帮助像我一样的蒟蒻理解,大佬误喷。

那么有

\[\begin{align*} A_{n,i}&=i\le n\\ B_{n,i}&= \end{align*} \]

标签:关系,图论,end,浅谈,align,矩阵,times
From: https://www.cnblogs.com/mjsdnz/p/17566526.html

相关文章

  • 线性代数4 初等变换、初等矩阵、分块矩阵、方阵行列式
    1.1初等变换和初等矩阵的概念初等变换的概念:初等变换并不是一个运算操作,而是一类对矩阵的操作的统称对于m×n矩阵A:(1)倍乘:对A的某行或某列元素乘上一个非零常数k(2)互换:互换A的某两列或某两行元素的位置(3)倍加:将A的某行或某列元素的k倍加到另一行或列上这三种变换统称为初等(行......
  • 【Spring Cloud Alibaba】毕业组件版本关系
    目录cloud组件版本关系框架版本依赖关系cloud组件版本关系SpringCloudAlibabaVersionSentinelVersionNacosVersionRocketMQVersionDubboVersionSeatacVersion2021.0.1.0*1.8.31.4.24.9.22.7.151.4.22.2.7.RELEASE1.8.12.0.34.6.12.7.131.3.0......
  • Java 生成旋螺矩阵
    @TestpublicvoidvirtualMain(){int[][]matrix=generateMatrix(9);MyArray.printSquareArray(matrix,2);}publicint[][]generateMatrix(intn){int[][]res=newint[n][n];intsquare=n*n,i=(int)......
  • 浅谈时间复杂度与空间复杂度
    算法的时间与空间复杂度(一看就懂)算法(Algorithm)是指用来操作数据、解决程序问题的一组方法。对于同一个问题,使用不同的算法,也许最终得到的结果是一样的,但在过程中消耗的资源和时间却会有很大的区别。那么我们应该如何去衡量不同算法之间的优劣呢?主要还是从算法所占用的「时间」......
  • 浅谈Java容器
    Java容器容器类是Java以类库的形式供用户开发程序时可直接使用的各种数据结构。所谓数据结构就是以某种方式将数据组织在一起,并存储在计算机中。数据结构不仅可以存储数据,还支持访问和处理数据的操作。在面向对象思想里,一种数据结构被认为是一个容器。数组是一种简单的数据结构,......
  • hbase和hadoop的关系
    HBase和Hadoop的关系概述本文将向刚入行的小白介绍HBase和Hadoop之间的关系以及实现的流程。首先,我们将介绍整个流程,并使用表格展示每个步骤。然后,我们将详细说明每个步骤需要执行的操作,并提供相应的代码和注释。流程概览步骤操作第一步安装Hadoop第二步配置Hado......
  • 正则表达式解析StarRocks雾化视图中的血缘关系
    解析SQL中的底表主要目标是获取出StarRocks雾化中的底表和字段备注,之后给字段赋予备注值,存入库表,可以动态生成数据字典,web可以利用该表实现mybatis的动态sql拼接,动态化的excel导出导入,魔板等功能。尝试使用了Jsqlparser解析sql语句,发现遇到部分复杂的子查询内包含unionall情况......
  • 怎样优雅地增删查改(八):按用户关系查询
    @目录原理实现正向用户关系反向用户关系使用测试用户关系(Relation)是描述业务系统中人员与人员之间的关系,如:签约、关注,或者朋友关系。之前我们在扩展身份管理模块的时候,已经实现了用户关系管理,可以查看本系列博文之前的内容。怎样优雅地增删查改(二):扩展身份管理模块原理查询依据......
  • 浅谈 OI 中各种合并操作
    前言合并操作一直是OI中一大考点,今天请各位跟着笔者来梳理一下各种合并操作。启发式合并几乎可以说是最经典的合并了。假定我们可以在\(O(k)\)的时间内往某个集合中插入一个数,那么我们就可以在\(O(n\lognk)\)的时间内合并若干个元素总量为\(n\)的集合。集合启发式......
  • 浅谈虚树优化线段树
    前言我们都知道动态开点权值线段树的空间复杂度是\(O(n\logV)\)的,但是很多题目中这样的空间是会被卡的,那我们能不能优化呢?实现看看下面这一棵树:在上图中,红色节点使我们平常会开的点。但是我们发现,其实只要维护绿色的点和红色的叶子结点。其实,绿色节点就是所有叶子结点......