文章目录
- 一. 图的组成
- 二. 本体图
- 2.1 什么是本体图
- 2.2 怎么设计本体图
- 三. 图的种类
- 3.1 按连接是否有向分
- 3.2 按本体图分
- 3.3 按连接是否带权重分
- 四. 节点连接数(节点的度)
- 4.1 无向图节点的度
- 4.2 有向图节点的度
- 五. 图的表示方法
- 5.1 邻接矩阵
- 5.2 连接列表、邻接列表
- 六. 图的连通性
一. 图的组成
- 图(graph,G)由节点(nodes,N)与连接(edges,E)组成。
二. 本体图
2.1 什么是本体图
- 设计本体图是设计图的第一步。
- 即在设计图之前,要明确可能存在的节点种类以及连接种类。
- 下图为某医疗知识图谱的本体图。
- 在设计好本体图后导入数据即可生成图。
- 下图即为根据上图所生成的医疗知识图谱(部分)。
2.2 怎么设计本体图
- 首先,原则是取决于我们想解决什么问题;
- 其次,一般本体图是唯一的、无歧义的。比如,人际关系网,其节点就是人物,连接就是是否有关系;
- 再次,像前面医疗知识图谱的例子,节点有很多种,关系也有很多种;
- 总之,根据目标任务灵活地设计本体图。
三. 图的种类
3.1 按连接是否有向分
- 有向图:如:地铁线路图。
- 无向图:如:微博关注图。
3.2 按本体图分
- 普通图:节点和连接的种类都只有一种;
- 异质图:节点和连接的种类不止一种;
- 二分图:节点种类为二的特殊异质图。
注:可以把二分图展开成两个图来分别做处理。
3.3 按连接是否带权重分
- 连接带权重的图:字面意思连接带权重。
- 两节点间存在多条通路的:权重是各通路权重的和。
四. 节点连接数(节点的度)
- 节点的度可以作为衡量节点重要性的指标。
4.1 无向图节点的度
- 一个节点存在多少个连接即为该节点的度。
- 无向图的平均度为 K ˉ = 2 E N \bar{K} = \frac{2E}{N} Kˉ=N2E 。其中E为总连接个数,N为总结点个数。
4.2 有向图节点的度
- 有向图节点的度分为入度和出度。
- 入度:是指向该节点的连接个数。
- 出度:是该节点发出的连接个数。
- 整个节点的的度就是入度与出度的和。
- 入度为0的节点称为源(source)节点,出度为0的节点称为汇聚(sink)节点。
- 有向图的平均度为 K ˉ = E N \bar{K} = \frac{E}{N} Kˉ=NE,平均出度与平均入度是相同的。
五. 图的表示方法
5.1 邻接矩阵
- 有连接的地方为1,无连接的地方为0.
- 特点:无向图的邻接矩阵是对称阵,有向图的邻接矩阵是非对称阵。
- 对于无向图,连接总数为邻接矩阵逐元素求和的一半;节点的度沿行或列求和均可。
注意:若存在自连接,则求连接总数时自连接的总数不用除以二。
- 对于有向图,连接总数为邻接矩阵逐元素求和;节点的入度为按列求和,出度为按行求和。
5.2 连接列表、邻接列表
邻接矩阵多为稀疏矩阵,这造成了存储空间的浪费。
- 连接列表:只记录存在连接的节点对。
- 邻接列表:只记录各节点发出的连接。
- 邻接列表在连接列表的基础上更进一步的压缩存储需求。
六. 图的连通性
- 对于无向图,如果任意两节点都能互达则称为连通图;否则称为非连通图,非连通图的极大连通子图称为连通域。
- 对于有向图,如果任意两节点都能互达则称为强连通图;若非强连通图除去方向后是连通图,则称为弱连通图。
- 强连通域(SCC):即符合强连通图定义的极大子图。对于一张图来说做SCC分解是十分必要的。