同济子豪兄--图的基本表示【斯坦福CS224W图机器学习】

news2024/10/19 16:55:56
  1. 无向图(Undirected Graph)

    • 在无向图中,边没有方向,即如果顶点A和顶点B之间有一条边,那么这条边既表示A到B的关系,也表示B到A的关系。换句话说,边是双向的。
    • 无向图的边通常用一条线段表示,两端不区分方向。
    • 无向图中的路径和回路的概念是对称的,即从A到B的路径与从B到A的路径是相同的。
  2. 有向图(Directed Graph)或有向图(Digraph)

    • 有向图中的边有方向,即从一个顶点指向另一个顶点。如果顶点A到顶点B有一条有向边,那么这条边表示从A到B的单向关系,与从B到A的关系是不同的。
    • 有向图的边通常用箭头表示,箭头的方向指示边的方向。
    • 在有向图中,路径的概念是方向敏感的,即从A到B的路径与从B到A的路径是不同的。
  3. 异质图(Heterogeneous Graph)或多重图(Multigraph)

    • 异质图是一种通用的图模型,它允许图中存在不同类型的顶点和边,以及同一对顶点之间可以有多条边(多条边就是多条不同类型的边)。
    • 在异质图中,顶点可以有不同的属性或类型,边也可以有不同的类型或属性,这使得异质图能够表示更复杂的关系和结构。
    • 异质图可以用于表示多种实体和关系,例如社交网络中的用户和用户之间的关系,以及用户和内容之间的关系等。

异质图:节点会是不同的类型、边也是不同的类型比如视频中讲的红楼梦和医疗知识图片图谱的例子就是异质图。同时若节点的种类是2个的话则称为二分图。

展开二分图:

根据中间的U、V关系展开如图ProjectionU和ProjectionV。解释:1和2都和A有联系则在U图中1和2连接一条边,同理3和2都和A有联系则在U图中3和2连接一条边,其他以此类推构成图U(图V同理)。

节点连接数

  1. 出度(Out-degree)

    • 出度是指从一个顶点出发的边的数量。换句话说,它是指向其他顶点的边的数量。
    • 如果一个顶点A有3条边指向其他顶点,那么顶点A的出度就是3。
  2. 入度(In-degree)

    • 入度是指指向一个顶点的边的数量。也就是说,它是从其他顶点指向该顶点的边的数量。
    • 如果有3条边从不同的顶点指向顶点B,那么顶点B的入度就是3。

应用:可以直接用Node Degress直接表示节点的重要程度。

邻接矩阵:图论中用来表示图的一种矩阵形式,特别适用于表示有向图和无向图的顶点间连接关系。邻接矩阵是一个方阵,其行和列分别代表图中的顶点,矩阵中的元素表示顶点之间的边。

无向图的邻接矩阵:对于无向图,邻接矩阵是一个对称矩阵。如果顶点 ii 和顶点 jj 之间有一条边,则邻接矩阵中第 ii 行第 jj 列和第 jj 行第 ii 列的元素为1(或边的权重,如果是加权图),否则为0。

无向图的邻接矩阵:对于有向图,邻接矩阵不一定是对称的。如果从顶点 ii 到顶点 jj 有一条有向边,则邻接矩阵中第 ii 行第 jj 列的元素为1(或边的权重,如果是加权图),否则为0。

连接列表

邻接列表

连通域

  • 在无向图中,连通域是指图中的一个最大的子图,在这个子图中,任意两个顶点都是相互连通的。也就是说,从任何一个顶点都可以到达子图中的任何一个其他顶点。
  • 一个图可以被分割成若干个连通域,每个连通域内部是连通的,但不同连通域之间没有直接的边相连。
  • 例如,如果一个图由两个完全独立的子图组成,那么这两个子图就是两个连通域。

强连通域:

  • 在有向图中,强连通域是指图中的一个最大的子图,在这个子图中,任意两个顶点都是相互强连通的。这意味着对于子图中的任意两个顶点 uu 和 vv,都存在从 uu 到 vv 的有向路径,同时也存在从 vv 到 uu 的有向路径。
  • 一个有向图可以被分割成若干个强连通域。每个强连通域内部是强连通的,但不同强连通域之间可能没有直接的边相连。
  • 强连通域的概念在分析有向图的结构时非常重要,例如在社交网络分析、网页排名算法等领域。

弱连通域:

  • 在有向图中,弱连通域是指图中的一个最大的子图,在这个子图中,如果忽略边的方向,任意两个顶点都是相互连通的。也就是说,如果我们将有向图转换为无向图,那么弱连通域就是这个无向图中的连通域。
  • 弱连通域的概念比强连通域要弱,因为它只要求在忽略边的方向后,顶点之间是连通的。
  • 一个有向图可以被分割成若干个弱连通域。每个弱连通域内部在忽略方向后是连通的,但不同弱连通域之间没有直接的边相连。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2218618.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

WPF基础权限系统

一.开发环境 VisualStudio 2022NET SDK 8.0Prism 版本 8.1.97Sqlite 二. 功能介绍 WPF 基础权限系统,是一个支持前后端分离设计的 客户端(C/S)项目,该示例项目前端xaml使用UI库 ,Material Design Themes UI 来构建用户界面,确保…

Ubuntu如何显示pcl版本

终端输入: apt-cache show libpcl-dev可以看到,Ubuntu20.04,下载的pcl,应该都是1.10版本的

一次性入门三款分布式定时任务调度框架:Quartz、ElasticJob3.0、xxl-job

分布式定时任务调度框架(文末有源码) 前言1、Quartz1.1 数据库1.2 maven依赖1.3 代码实现1.3.1 创建一个job1.3.1 为job设置trigger 1.4 配置文件1.5 启动、测试1.1 单机1.2 集群 2、ElasticJob2.1 下载zk2.2 新建三个类型的作业2.3 配置文件2.4 启动项目…

Windows下配置Nginx和PHP

之前在Windows开发php项目用的是phpstudy,好用的很。但是phpstudy好久没有更新了,感觉PHP像没有人再用了一样。但是PHP拿来开发小系统,还是很高效的,今天记录如何在Windows环境下配置Nginx和PHP。 1. 配置nginx Nginx软件下载解压…

基于Springboot+Vue的宠物管理系统(含源码数据库)

1.开发环境 开发系统:Windows10/11 架构模式:MVC/前后端分离 JDK版本: Java JDK1.8 开发工具:IDEA 数据库版本: mysql5.7或8.0 数据库可视化工具: navicat 服务器: SpringBoot自带 apache tomcat 主要技术: Java,Springboot,mybatis,mysql,vue 2.视频演示地址 3.功能 这个系…

实现双向链表的增删改查

头文件 #pragma once #define _CRT_SECURE_NO_WARNINGS 1 #include <stdio.h> #include <stdlib.h> #include <stdbool.h> typedef int LTDataType; typedef struct ListNode {LTDataType data;struct ListNode* prev;struct ListNode* next; } LTNode; //v…

QGraphics类型学习使用【Qt】【C++】

QGraphics类型学习使用 需求过程全部完整代码 首先已知&#xff0c;QGraphicsView&#xff0c;QGraphicsScene, QGraphicsItem&#xff0c;分别称为&#xff1a;视图&#xff0c;场景&#xff0c;图元&#xff0c;图表就是各种各样的元素&#xff0c;图片元素&#xff0c;线条元…

react18中在列表项中如何使用useRef来获取每项的dom对象

在react中获取dom节点都知道用ref&#xff0c;但是在一个列表循环中&#xff0c;这样做是行不通的&#xff0c;需要做进一步的数据处理。 实现效果 需求&#xff1a;点击每张图片&#xff0c;当前图片出现在可视区域。 代码实现 .box{border: 1px solid #000;list-style: …

ParallelsDesktop20最新版本虚拟机 一键切换系统 游戏娱乐两不误

让工作生活更高效&#xff1a;Parallels Desktop 20最新版本虚拟机的神奇之处 大家好&#xff01;&#x1f44b; 今天我要跟大家安利一款让我工作效率飞升的神器——Parallels Desktop 20最新版本虚拟机。作为一个日常需要在不同操作系统间来回穿梭的人&#xff0c;这款软件简直…

react18中的计算属性及useMemo的性能优化技巧

react18里面的计算属性和使用useMemo来提升组件性能的方法 计算属性 实现效果 代码实现 函数式组件极简洁的实现&#xff0c;就这样 import { useState } from "react"; function FullName() {const [firstName, setFirstName] useState("");const [la…

OpenCV高级图形用户界面(14)交互式地选择一个或多个感兴趣区域函数selectROIs()的使用

操作系统&#xff1a;ubuntu22.04 OpenCV版本&#xff1a;OpenCV4.9 IDE:Visual Studio Code 编程语言&#xff1a;C11 算法描述 允许用户在给定的图像上选择多个 ROI。 该函数创建一个窗口&#xff0c;并允许用户使用鼠标来选择多个 ROI。控制方式&#xff1a;使用空格键或…

明日周刊-第23期

十月已过半&#xff0c;气温也转凉了&#xff0c;大家注意保温哦。冬吃萝卜&#xff0c;夏吃姜&#xff0c;在快要到来的冬季大家可以选择多吃点萝卜。 配图是本周末去商场抓娃娃的时候拍的照片&#xff0c;现在抓娃娃单次普遍都控制在1块钱以下了&#xff0c;还记得多年前的抓…

智能手表PPG技术原理:【图文讲解】

光体积变化描记图法&#xff08;Photoplethysmography&#xff0c;简称PPG&#xff09;是借光电手段在活体组织中监测血液容积变化的一种无创监测方法 目前智能手表比较标配的功能&#xff1a;血糖、血压、心电、心率、血氧 1&#xff1a;人体血管 先温习一下&#xff0c;人…

Java项目-基于Springboot的智慧养老平台项目(源码+文档).zip

作者&#xff1a;计算机学长阿伟 开发技术&#xff1a;SpringBoot、SSM、Vue、MySQL、ElementUI等&#xff0c;“文末源码”。 开发运行环境 开发语言&#xff1a;Java数据库&#xff1a;MySQL技术&#xff1a;SpringBoot、SpringClud、Vue、Mybaits Plus、ELementUI工具&…

TikTok广告账号被封?常见原因及解决方法分享

TikTok广告投放往往会给我们的账号带来高效曝光和精准流量&#xff0c;但同时许多用户也面临着一个困扰——广告账号被封禁的问题。将在此文一起商讨TikTok广告账号被封禁的原因&#xff0c;分析平台的具体规定&#xff0c;提供解决问题的应对策略&#xff0c;帮助大家有效规避…

PRCV 2024 - Day 1

2024年10月18日至10月20日&#xff0c;第七届中国模式识别与计算机视觉大会&#xff08;The 7th Chinese Conference on Pattern Recognition and Computer Vision, PRCV 2024&#xff09;在新疆乌鲁木齐的新疆国际会展中心举办&#xff0c;是国内顶级的模式识别和计算机视觉领…

专家系统简介

本文对基于规则的专家系统进行简介&#xff0c;举例专家系统的结构类似 MYCIN 系统&#xff0c;同时串联介绍专家系统的各种思想。需要注意的是&#xff0c;本文所述仅是专家系统的一种实现途径&#xff0c;其依赖规则进行知识表示和推理&#xff0c;另外还有基于语义网络、框架…

详解23种设计模式——第一部分:概述+创建型模式

目录 1. 概述 2. 创建型模式 2.1 简单&#xff08;静态&#xff09;工厂模式 2.1.1 介绍 2.1.2 实现 2.2 工厂模式 2.3 抽象工厂模式 2.4 单例模式 2.4.1 饿汉模式 2.4.2 懒汉模式 2.4.3 线程安全的懒汉式 2.4.4 DCL单例 - 高性能的懒汉式 2.5 建造者模式 2.6 原…

linux模拟:chrony同步时间

实验材料&#xff1a; 服务器&#xff1a;linux,红帽-9.1 客户端&#xff1a;linux&#xff0c;乌班图-18.4 Server/client; 安装chrony yum install -y chrony 查看chrony的状态&#xff1a; systemctl status chronyd 服务器&#xff1a; 在/etc/chrony.conf文件里面…

理解VSCODE基于配置的设置,避免臃肿

这节课我们讲两点&#xff1a; &#xff08;一&#xff09;下载、安装、汉化及美化 VSCODE&#xff1b; &#xff08;二&#xff09;理解VSCODE中基于配置&#xff08;Profiles&#xff09;的设置&#xff08;Settings&#xff09;&#xff0c;让 VSCODE 保持清爽。 &#xff0…