Lec5 Relations(3)

我认为这一章是最难的,图论和树论那里都很简单,一开始的逻辑那里其实感觉比较多。

就把你放到最后解决好了,关系!😎

这一小节描述的是怎么去代表关系,用矩阵或者有向图的方式,比较直接易懂。😺

关于 n-元关系的表示引言

1. 表示 n-元关系的方法

之前我们知道的用来表示关系的方法。

  • 使用 n-元组的列表:这是一种最直观的表示方法,即列出所有满足关系的 n-元组。例如,对于一个二元关系 \(R\),我们可以列出所有满足条件的 \((a, b)\) 对;对于三元关系 \(R\),我们列出所有满足条件的 \((a, b, c)\) 三元组,以此类推。

  • 使用从 n-元域到 {T, F} 的函数:这种方法通过一个函数将每个 n-元元组映射到布尔值 \({T, F}\),表示这个 n-元元组是否属于关系。对于一个三元关系 \(R\),我们可以定义一个函数 \(f(a, b, c)\),如果 \((a, b, c) ∈ R\),则 \(f(a, b, c) = T\),否则 \(f(a, b, c) = F\)

2. 二元关系的特殊表示方法

这一小节会着重讲解的房。

  • 使用零一矩阵:二元关系可以用一个零一矩阵来表示,其中矩阵的行和列分别对应关系中涉及的两个集合的元素,矩阵中的元素为 1 表示对应的元素对属于关系,为 0 表示不属于关系。比如,一个集合 \(A = {a, b, c}\),关系 \(R\)\(a\)\(b\) 之间的关系,那么矩阵中对应的位置就标记为 1。

  • 使用有向图:二元关系还可以通过有向图来表示。在有向图中,每个元素用一个节点表示,关系用从一个节点到另一个节点的有向边表示。比如,如果 \(a\)\(b\) 之间有关系,那么在图中就有一条从 \(a\)\(b\) 的有向边。

3. 为什么使用不同的表示方法?

  • 计算的方便性:不同的表示方法在处理某些计算时有不同的优劣。有些计算在矩阵表示下更容易进行,而有些问题使用图表示会更加直观和高效。例如,判断某些元素是否在关系中可以通过矩阵的简单查找来实现,而图表示更方便用于描述元素之间的路径或联系。

  • 启发性:有时,某种表示方法本身就能够启发我们发现新的问题或解决方法。比如,图表示可以帮助我们直观地理解关系的传递性、对称性等性质,而矩阵表示可以帮助我们快速进行一些代数操作。

二元关系的 0-1 矩阵表示法

在离散数学中,二元关系 \(R: A × B\) 可以通过一个 \(|A| × |B|\) 的 0-1 矩阵来表示,其中 \(|A|\)\(|B|\) 分别是集合 \(A\)\(B\) 的元素个数。在该矩阵中,元素 \(mij\) 被定义为:

  • \(mij = 1\) 当且仅当 \((ai, bj) ∈ R\),即 \((ai, bj)\) 是关系 \(R\) 的一个元素。
  • \(mij = 0\) 否则。

示例:

假设有一个二元关系 \(Likes\),表示 "喜欢" 的关系,集合 \(Boys = {Joe, Fred, Mark}\)\(Girls = {Susan, Mary, Sally}\)。如果:

  • Joe 喜欢 Susan 和 Mary,
  • Fred 喜欢 Mary,
  • Mark 喜欢 Sally,

那么该关系 \(Likes: Boys × Girls\) 可以通过以下 0-1 矩阵表示:

1
2
3
4
         Susan   Mary   Sally
Joe 1 1 0
Fred 0 1 0
Mark 0 0 1

特殊情况:\(R: A × A\) 的 0-1 矩阵表示

当关系定义在同一集合 \(A\) 上,即 \(R: A × A\) 时,0-1 矩阵的行和列将列出集合 \(A\) 中的元素。常见的情况包括:

  • 对角线的 1 和 0:在 0-1 矩阵中,行和列的顺序通常是一致的,因此关系的一些特性可以通过检查矩阵中的对角线来直观地识别。

关系的特性及其在 0-1 矩阵中的表现

  1. 自反关系 (Reflexive)
    • 关系是自反的,当且仅当矩阵的对角线上的所有元素都是 1。即每个元素都与自己相关联。
  2. 非自反关系 (Irreflexive)
    • 关系是非自反的,当且仅当矩阵的对角线上的所有元素都是 0。即没有任何元素与自己相关联。
  3. 对称关系 (Symmetric)
    • 关系是对称的,当且仅当矩阵的对称位置上的元素相等。即 \(mij = mji\) 对所有 \(i, j\) 都成立,表示如果 \((ai, bj)\) 属于关系 \(R\),则 \((bj, ai)\) 也属于 \(R\)
  4. 反对称关系 (Asymmetric)
    • 关系是反对称的,当且仅当矩阵中的每个 \(1\) 都对应一个 \(0\) 在其对角线的对称位置上。即对于所有的 \(i\)\(j\),如果 \(mij = 1\),那么 \(mji = 0\),表示如果 \((ai, bj)\) 属于关系 \(R\),则 \((bj, ai)\) 不属于 \(R\)

一图胜千言,看图知一切。

image-20241121153141639

有向图(Digraph)与关系的图表示

有向图 (Digraph) 是由一组顶点(或节点)和一组有序对元素组成的边(或弧)所构成的。具体来说:

  • 顶点集:\(V\) 表示图中的所有顶点(或节点)。
  • 边集:\(E\) 表示图中所有的有序对,形式为 \((a, b)\),其中 \(a\)\(b\) 都是图中的顶点,\((a, b)\) 称为有向边,其中 \(a\) 是初始顶点,\(b\) 是终止顶点。

有向图 \(G = (V_G, E_G)\) 中:

  • \(V_G\) 是顶点集,
  • \(E_G\) 是边集,包含所有形式为 \((a, b)\) 的有序对。

图形表示

  • 顶点(节点) 用圆点表示。
  • 边(弧) 用箭头表示,指向终止顶点。
image-20241121153814694

关系与图的表示

关系 \(R: A × B\) 可以用图来表示。我们可以构建一个图 \(G_R\),其顶点集为 \(V_G = A ∪ B\),边集 \(E_G = R\),即边集为关系 \(R\) 中的所有元素。

关系图的性质

通过观察图的结构,许多关系的性质可以直观地得出。

  1. 自反关系 (Reflexive)
    • 每个顶点都有一个自环(即从顶点到其自身的边)。如果关系是自反的,图中的每个顶点都会有一个从自己指向自己的箭头。
  2. 非自反关系 (Irreflexive)
    • 没有任何顶点指向自己。如果关系是非自反的,则图中不存在自环。
  3. 对称关系 (Symmetric)
    • 每条边都是双向的。即如果有一条边从顶点 \(a\) 到顶点 \(b\)\((a, b)\)),则一定有一条从 \(b\)\(a\) 的边(\((b, a)\))。如果关系是对称的,图中所有边都是双向的。
  4. 反对称关系 (Asymmetric)
    • 没有边是双向的。即如果有一条边从顶点 \(a\) 到顶点 \(b\),则不会有一条从 \(b\)\(a\) 的边。如果关系是反对称的,图中不会出现任何双向边。
image-20241121153757880

图的其它性质

  1. 孤立元素
    • “关系中是否存在与其他元素无连接的元素?”这一性质是局部的,即每个元素是否存在没有连接到其他元素的情况。
  2. 环 (Cycles)
    • “关系中是否存在环?”这一性质涉及多个元素的组合,即一个元素能够通过一系列关系回到自身。例如,在图中,如果存在从某个节点出发,通过一系列有向边回到该节点,则该图中有环。
  3. 关系的复合
    • 关系的复合(如关系的 n 次幂)也可以通过图的组合来直观地理解。比如,\(R^2\) 表示关系 \(R\) 的两次复合,它可以通过图中的路径来表示,路径长度为 2。

Boolean Operation

image-20241121154022355
image-20241121154634573
image-20241121154335308
image-20241121154419469
image-20241121154816386