有向图

概述

有向图(directed graph / digraph)由顶点有向边 组成,其中 中有序对的集合。有向图是表示有限集上二元关系的直观工具:顶点对应集合元素,有向边对应有序对,(loop)对应 形式的有序对。关系的自反性、对称性、反对称性和传递性都可以通过有向图的视觉特征直接判定:自反性要求每个顶点都有环,对称性要求边成对出现,反对称性要求无双向边,传递性要求路径可闭合为三角形。

定义

有向图(Directed Graph / Digraph)

一个有向图(digraph)由顶点(vertices/nodes)集 (edges/arcs)集 组成,其中 中有序对的集合。边 中, 称为初始顶点(initial vertex), 称为终端顶点(terminal vertex)。

  • 形如 的边称为(loop),表示从顶点 回到自身的边
  • 集合 上的关系 对应一个有向图:以 的元素为顶点,以 中的有序对为边
  • 关系与有向图之间存在一一对应关系

路径(Path)与回路(Circuit/Cycle)

在有向图 中,从顶点 到顶点 的一条路径是一个边序列 ,其中 。这条路径的长度(即边的条数)。

  • 长度为 0 的路径(空边集)是从 的路径
  • 长度为 1 且起点等于终点的路径称为回路(circuit)或(cycle)
  • 路径可以经过同一顶点多次,同一条边也可以在路径中出现多次

有向图判定关系性质

是集合 上的关系, 是其对应的有向图,则:

性质有向图判定条件
自反性每个顶点都有(loop)
对称性任意两个不同顶点之间,若有边则必有反向边
反对称性任意两个不同顶点之间,不能同时存在双向边
传递性若存在从 的边和从 的边,则必存在从 的边(三角形闭合

核心性质

性质图论特征矩阵对应
自反性每个顶点都有环主对角线全为 1
对称性不同顶点间的边成对出现矩阵关于主对角线对称
反对称性不同顶点间无双向边非对角线无
传递性所有长度为 2 的路径可闭合(逐元素)
路径与关系幂长度为 的路径
连通性关系任意长度的路径(长度
从顶点到自身的边,即

关系网络

graph TB
    A["有向图"] --> B["基本结构"]
    A --> C["性质判定"]
    A --> D["路径概念"]
    A --> E["等价表示"]

    B --> B1["顶点集 V = 集合元素"]
    B --> B2["有向边 E = 有序对"]
    B --> B3["环 Loop = (a,a)"]

    C --> C1["自反性:每个顶点有环"]
    C --> C2["对称性:边成对出现"]
    C --> C3["反对称性:无双向边"]
    C --> C4["传递性:路径闭合"]

    D --> D1["路径长度 = 边数"]
    D --> D2["长度 n 路径 ⟺ Rⁿ"]
    D --> D3["连通性关系 R*"]

    E --> E1["[[离散数学/concepts/零一矩阵]]"]
    E --> E2["[[离散数学/concepts/二元关系]]"]

    A --> F["关联概念"]
    F --> F1["[[离散数学/concepts/传递闭包]]"]
    F --> F2["[[离散数学/concepts/二元关系]]"]
    F --> F3["[[离散数学/concepts/零一矩阵]]"]
  • 前置知识二元关系(有向图是关系的图形表示)
  • 核心关联:有向图、零一矩阵和有序对集合是同一关系的三种等价表示。有向图便于直观理解关系性质,零一矩阵便于计算机处理
  • 后继概念传递闭包(有向图中的路径概念是传递闭包的理论基础)

章节扩展

第09章:关系

有向图是 Rosen 第8版第9章第9.3节的核心内容之一,与零一矩阵共同构成关系表示的两大工具。

有向图与无向图的关系:对称关系可以用无向图(undirected graph)来表示,因为对称关系中的每条有向边 都伴随反向边 ,可以简化为一条无向边 。有向图是更一般的表示方式,可以表示任意二元关系。

传递性判定的复杂性:传递性要求所有满足条件的路径都必须闭合,而非只检查某几条。即使大部分路径都闭合了,只要存在一条 但没有 ,关系就不是传递的。判定传递性需要穷举检查所有长度为 2 的路径,对于 个元素的关系,最多需要检查 种情况。

实际应用:有向图广泛用于建模网页之间的超链接(PageRank 的基础)、社交网络中的关注关系、程序中的函数调用关系、编译器中的数据流分析等。

第10章:图论

有向图在图论中的角色

在第10章图论中,有向图从关系的可视化工具扩展为独立的数学对象:

  • 入度(in-degree)与出度(out-degree):有向图中顶点的度分为入度 和出度
  • 强连通(strongly connected):任意两个顶点之间互相可达
  • 弱连通(weakly connected):忽略方向后图是连通的
  • 邻接矩阵:有向图的邻接矩阵 不一定对称, 表示存在从 的边
  • 有向图的强连通分量可通过 Warshall 算法(传递闭包)计算

第11章:树

有向树(rooted tree)是有向图中的一类重要结构。一棵有向树的根节点到所有其他节点都存在唯一的有向路径。有向树在文件系统、HTML DOM、组织架构等领域有广泛应用。

有向生成树:在有向图中,一棵有向生成树(arborescence)是从根出发可以到达所有顶点的生成子树。有向图的最短路径树(shortest path tree)就是一棵以源点为根的有向生成树。

补充

有向图在计算机科学中的应用

有向图是计算机科学中最基础的数据结构之一:

  • 网页排名:Google 的 PageRank 算法基于网页之间的超链接有向图
  • 社交网络:Twitter/X 的关注关系、Instagram 的关注关系都是有向图
  • 编译器:函数调用图(call graph)是有向图,用于死代码消除和内联优化
  • 版本控制:Git 的提交历史是有向无环图(DAG)
  • 依赖管理:软件包依赖关系构成有向图,用于拓扑排序

常见误区

  • 传递性在有向图中的判定需要检查所有长度为 2 的路径,不能只检查部分路径
  • 对称性与反对称性不互斥:恒等关系既是对称的又是反对称的
  • 一个关系可以既不是对称的也不是反对称的
  • 路径可以经过同一顶点多次,这与简单路径(simple path)不同

参见