当前位置: 首页 > news >正文

图的同态Graph Homomorphism与同构Graph Isomorphism

  • 图的同态Graph Homomorphism

图的同态(Graph Homomorphism)是图论中的一个重要概念,用于描述图之间的一种映射关系。图的同态描述了一个图如何通过映射保留其边的结构。

### 图的同态定义

设有两个图 \( G = (V_G, E_G) \) 和 \( H = (V_H, E_H) \)。一个从图 \( G \) 到图 \( H \) 的映射 \( f: V_G \to V_H \) 被称为图的同态,如果对于 \( G \) 中的每一条边 \( (u, v) \in E_G \),在 \( H \) 中对应的边 \( (f(u), f(v)) \) 也在 \( E_H \) 中,即:
\[ \forall (u, v) \in E_G, (f(u), f(v)) \in E_H \]

这个定义意味着,图的同态映射保留了边的存在性,但不要求完全保留顶点间的连接关系。

### 例子

#### 例子 1:简单图的同态

**图 \( G \)(完全图 \( K_3 \))**:
- 顶点集合 \( V_G = \{a, b, c\} \)
- 边集合 \( E_G = \{(a, b), (b, c), (c, a)\} \)

**图 \( H \)(具有两个顶点和一条边的图)**:
- 顶点集合 \( V_H = \{x, y\} \)
- 边集合 \( E_H = \{(x, y)\} \)

**映射 \( f \)**:
- \( f(a) = x \)
- \( f(b) = x \)
- \( f(c) = y \)

**验证同态**:
- 对于 \( G \) 中的每一条边:
  - 边 \( (a, b) \) 映射到 \( (x, x) \),但 \( E_H \) 中只有边 \( (x, y) \),因此这条边的映射不是有效的。
  - 边 \( (b, c) \) 映射到 \( (x, y) \),这是有效的。
  - 边 \( (c, a) \) 映射到 \( (y, x) \),这也是有效的。

在这个例子中,映射 \( f \) 并没有完全保留边的结构,因为 \( (a, b) \) 在 \( H \) 中并没有对应的边。因而,\( f \) 并不是一个有效的同态。

#### 例子 2:完整图的同态

**图 \( G \)(有三个顶点和两条边的图)**:
- 顶点集合 \( V_G = \{1, 2, 3\} \)
- 边集合 \( E_G = \{(1, 2), (2, 3)\} \)

**图 \( H \)(有四个顶点和两条边的图)**:
- 顶点集合 \( V_H = \{a, b, c, d\} \)
- 边集合 \( E_H = \{(a, b), (b, c)\} \)

**映射 \( f \)**:
- \( f(1) = a \)
- \( f(2) = b \)
- \( f(3) = c \)

**验证同态**:
- 对于 \( G \) 中的每一条边:
  - 边 \( (1, 2) \) 映射到 \( (a, b) \),这在 \( H \) 中是存在的。
  - 边 \( (2, 3) \) 映射到 \( (b, c) \),这在 \( H \) 中也是存在的。

在这个例子中,映射 \( f \) 是一个有效的同态,因为每条边在 \( G \) 中都有相应的边在 \( H \) 中与之对应。

### 总结

- 图的同态保留了边的存在性,但不要求顶点间的连接关系完全一致。
- 同态映射可以用来研究图的结构特性和图的简化问题。
- 在第一个例子中,映射并不是有效的同态,因为并不是所有边都可以映射到目标图中;而在第二个例子中,映射是有效的同态,因为所有边在目标图中都有对应的边。

  • 同构Graph Isomorphism

图的同构(Graph Isomorphism)是图论中的一个核心概念,用于描述两个图在结构上的完全等价关系。两个图 \( G \) 和 \( H \) 被称为同构的,如果存在一个顶点的双射(双向一一映射) \( f: V_G \to V_H \),使得对于 \( G \) 中的每一条边 \( (u, v) \in E_G \),在 \( H \) 中有一条边 \( (f(u), f(v)) \in E_H \),且这种映射保留了图的边的连接关系。即:
\[ \forall (u, v) \in E_G, (f(u), f(v)) \in E_H \]

### 例子

#### 例子 1:三角形图的同构

**图 \( G \)(完全图 \( K_3 \))**:
- 顶点集合 \( V_G = \{a, b, c\} \)
- 边集合 \( E_G = \{(a, b), (b, c), (c, a)\} \)

**图 \( H \)(另外一个完全图 \( K_3 \))**:
- 顶点集合 \( V_H = \{x, y, z\} \)
- 边集合 \( E_H = \{(x, y), (y, z), (z, x)\} \)

**同构映射 \( f \)**:
- \( f(a) = x \)
- \( f(b) = y \)
- \( f(c) = z \)

**验证同构**:
- 对于 \( G \) 中的每一条边:
  - 边 \( (a, b) \) 映射到 \( (x, y) \),这在 \( H \) 中存在。
  - 边 \( (b, c) \) 映射到 \( (y, z) \),这在 \( H \) 中存在。
  - 边 \( (c, a) \) 映射到 \( (z, x) \),这在 \( H \) 中存在。

在这个例子中,映射 \( f \) 是一个有效的同构映射,因为它保留了边的结构,说明图 \( G \) 和图 \( H \) 是同构的。

#### 例子 2:具有不同标签的同构图

**图 \( G \)(两个三角形共享一个公共边)**:
- 顶点集合 \( V_G = \{a, b, c, d, e\} \)
- 边集合 \( E_G = \{(a, b), (b, c), (c, a), (b, d), (d, e), (e, b)\} \)

**图 \( H \)(另一个具有相同结构的图)**:
- 顶点集合 \( V_H = \{1, 2, 3, 4, 5\} \)
- 边集合 \( E_H = \{(1, 2), (2, 3), (3, 1), (2, 4), (4, 5), (5, 2)\} \)

**同构映射 \( f \)**:
- \( f(a) = 1 \)
- \( f(b) = 2 \)
- \( f(c) = 3 \)
- \( f(d) = 4 \)
- \( f(e) = 5 \)

**验证同构**:
- 对于 \( G \) 中的每一条边:
  - 边 \( (a, b) \) 映射到 \( (1, 2) \),这在 \( H \) 中存在。
  - 边 \( (b, c) \) 映射到 \( (2, 3) \),这在 \( H \) 中存在。
  - 边 \( (c, a) \) 映射到 \( (3, 1) \),这在 \( H \) 中存在。
  - 边 \( (b, d) \) 映射到 \( (2, 4) \),这在 \( H \) 中存在。
  - 边 \( (d, e) \) 映射到 \( (4, 5) \),这在 \( H \) 中存在。
  - 边 \( (e, b) \) 映射到 \( (5, 2) \),这在 \( H \) 中存在。

在这个例子中,映射 \( f \) 是一个有效的同构映射,因为它保留了边的结构,说明图 \( G \) 和图 \( H \) 是同构的。

### 总结

- **图的同构** 需要存在一个顶点的双射,使得图的每条边在两个图中都有对应的边,并且这种映射完全保留了图的结构。
- **例子 1** 展示了两个完全图 \( K_3 \) 的同构,它们的结构完全相同,但顶点标签不同。
- **例子 2** 展示了两个具有不同标签但结构相同的图,它们之间的映射也是同构的。

通过这些例子,可以看到图的同构不仅考虑了图的结构,而且还允许不同的顶点标签,只要边的连接关系被保留。

相关文章:

图的同态Graph Homomorphism与同构Graph Isomorphism

图的同态Graph Homomorphism 图的同态(Graph Homomorphism)是图论中的一个重要概念,用于描述图之间的一种映射关系。图的同态描述了一个图如何通过映射保留其边的结构。 ### 图的同态定义 设有两个图 \( G (V_G, E_G) \) 和 \( H (V_H, …...

使用 Python 对雷达卫星 sar 图像进行降噪的三种方法

合成孔径雷达 (SAR) 图像广泛应用于各种领域(航空航天、军事、气象等)。问题是这种图像在其原始格式中受到噪点的影响。虽然这些图像通常也是沉重的文件,但从科学的角度来看,有效地对其进行去噪的任务似乎既具有挑战性,又在现实世界中非常有用。 卫星图像有两大类: 光学…...

C# Unity 面向对象补全计划 之 初识继承方法与多态

本文仅作学习笔记与交流,不作任何商业用途,作者能力有限,如有不足还请斧正 本系列旨在通过补全学习之后,给出任意类图都能实现并做到逻辑上严丝合缝 1.继承方法 C# & Unity 面向对象补全计划 之 继承(字段与属性&…...

突破PyCharm索引瓶颈:提升文件索引速度的策略

突破PyCharm索引瓶颈:提升文件索引速度的策略 PyCharm作为Python开发者的首选IDE,以其强大的功能和灵活的配置而广受好评。然而,当处理大型项目或复杂文件结构时,文件索引慢的问题可能会显著降低开发效率。本文将提供一系列优化技…...

体素相关的快速计算

“体素”通常是指在三维空间中具有固定尺寸和位置的小立方体单元。 体素的优点包括: 易于处理和计算:在计算机图形学和三维建模中,体素的结构相对简单,计算和操作较为方便。能精确表示物体的内部结构:对于一些需要了…...

Python 爬虫项目实战(二):爬取微博热搜榜

前言 网络爬虫(Web Crawler),也称为网页蜘蛛(Web Spider)或网页机器人(Web Bot),是一种按照既定规则自动浏览网络并提取信息的程序。爬虫的主要用途包括数据采集、网络索引、内容抓…...

文件解析漏洞复现

一、IIS 6.X 1.在网站目录创建文件夹名为xxx.asp/xxx.asa 文件夹,里面的任意文件都会被当作asp文件执行 创建1.asp 访问 2.ooo.asp.jpg会被当做asp文件执行 创建一个ooo.asp;.jpg 访问 二、IIS 7.X 上传1.jpg文件在网址后/.php可以成功执行 写一个1.jpg文件内容…...

git push报错 pre-receive hook declined

今天使用git提交的代码的时候,不然报错 pre-receive hook declined提交不上去,昨天还好好的。 经过检查发现,原来对应的分支被leader设置成受保护分支了,导致代码提交不上去。 然后在git管理平台取消分支保护,或者将我…...

打造个性化代码审查工具:在Perl中实现自定义审查的艺术

打造个性化代码审查工具:在Perl中实现自定义审查的艺术 代码审查是软件开发过程中的关键环节,它有助于提高代码质量和发现潜在缺陷。Perl作为一种灵活的编程语言,提供了丰富的特性,使得在Perl中实现自定义的代码审查工具成为可能…...

RabbitMq架构原理剖析及应用

文章目录 RabbitMQ 架构组件1. **Broker** (Broker Server)2. **Exchange**3. **Queue**4. **Producer** (消息生产者)5. **Consumer** (消息消费者)6. **Virtual Hosts** (虚拟主机) 工作流程内部原理1. **队列管理**2. **集群**3. **持久化与内存**4. **性能优化** 高级特性1…...

c# 对接第三方接口实现签名

官网文档要求如下: Sign算法说明 举例:假设请求参数键值对如下 appkey : test2-xx page_no : 0 end_time : 2016-08-01 13:00:00 start_time : 2016-08-01 12:00:00 page_size : 40 sid : test2 timestamp : 1470042310 第一步 对数所有请求参数按照…...

数学建模评价类模型—层次分析法(无数据情况下)

目录 前言 一、评价类问题概述 二、AHP建模流程 1、过程描述 2、层次分析法—Matlab代码 三、权重计算 1、算术平均法 2、几何平均法 3、特征值法 目录 文章目录 前言 一、评价类问题概述 二、AHP建模流程 1、过程描述 2、层次分析法—Matlab代码 三、权重计算 算术平均法 前言…...

模拟实现strcat(字符串追加)

1.我们要知道stcat的作用是什么,字符串追加。 2.我们进行模仿,我们先将arr1不断,直到“\0”,我们加在后面。 //模拟实现strcat(字符串追加) char* my_strcat(char* arr1, const char* arr2) {assert(arr1 && arr2);char ret arr1;…...

HTTP简单概述

一. HTTP HTTP(HyperText Transfer Protocol)是用于在客户端和服务器之间传输超文本数据(如HTML)的应用层协议。它是万维网的基础协议,定义了浏览器和服务器之间如何请求和传输文档。HTTP有多个版本,每个版…...

掌握PyCharm代码片段管理器:提升编码效率的秘诀

掌握PyCharm代码片段管理器:提升编码效率的秘诀 PyCharm作为业界领先的集成开发环境(IDE),提供了许多便利的功能来提升开发者的编码效率,其中之一就是代码片段管理器。代码片段管理器允许开发者保存、管理和重用代码模…...

MyBatis动态代理和映射器

目录 1、映射器简介 (1)什么是mapper动态代理? (2)动态代理的规范 (3)如何使用动态代理 (4)为什么学映射器 (5)映射器与接口 (…...

ShardingSphere中的ShardingJDBC常见分片算法的实现

文章目录 ShardingJDBC快速入门修改雪花算法和分表策略核心概念分片算法简单INLINE分片算法STANDARD标准分片算法COMPLEX_INLINE复杂分片算法CLASS_BASED自定义分片算法HINT_INLINE强制分片算法 注意事项 ShardingJDBC Git地址 快速入门 现在我存在两个数据库,并…...

SpringBoot整合Flink CDC实时同步postgresql变更数据,基于WAL日志

SpringBoot整合Flink CDC实时同步postgresql变更数据,基于WAL日志 一、前言二、技术介绍(Flink CDC)1、Flink CDC2、Postgres CDC 三、准备工作四、代码示例五、总结 一、前言 在工作中经常会遇到要实时获取数据库(postgresql、m…...

ThinkPHP事件的使用

技术说明 1.ThinkPHP版本:支持6.0、8.0 2.使用场景:用户登陆后日志记录、通知消息发送等主流程、次流程分离等场景 3.说明:网上很多帖子说的不明不白的,建议大家自己手动尝试总结一下 4.事件手动绑定的时候,一定要…...

【Nuxt】服务端渲染 SSR

SSR 概述 服务器端渲染全称是:Server Side Render,在服务器端渲染页面,并将渲染好HTML返回给浏览器呈现。 SSR应用的页面是在服务端渲染的,用户每请求一个SSR页面都会先在服务端进行渲染,然后将渲染好的页面&#xf…...

keil 使用UTF8格式的文件,但是printf打印中文已经是乱码的问题

文件格式是UTF8 无bom格式 打开文件显示是正常的 编译器选择的是ANSI格式 编译依旧产生警告 在 Project → Options → C/C → Misc Controls 添加 --no-multibyte-chars就可以解决; 但是ai给我这个方案,我还没有尝试 –wide-chars 示例是这样的 wchar_…...

开源情报工具Openeir:自动化资产发现与关联分析实战指南

1. 项目概述:一个开源情报(OSINT)工具的诞生与使命 在信息爆炸的时代,数据本身不再是稀缺品,如何从海量、异构、碎片化的公开信息中,精准、高效地提取出有价值的情报,才是真正的挑战。无论是安全…...

语音真实度突破98.7%的关键在哪?ElevenLabs最新v3.2引擎深度测评,附权威MOS评分对比表

更多请点击: https://intelliparadigm.com 第一章:语音真实度突破98.7%的关键在哪?ElevenLabs最新v3.2引擎深度测评,附权威MOS评分对比表 ElevenLabs v3.2 引擎在2024年Q2发布的音频合成基准测试中,首次在自然度&…...

家庭影院系统构建指南:从流媒体技术到硬件选型

1. 疫情下的娱乐变局:从影院到客厅的深度迁移作为一名长期关注消费电子与家庭娱乐领域的从业者,我亲历了过去几年行业最剧烈的震荡。疫情像一只无形的手,强行按下了社会运行的暂停键,却又为另一个赛道按下了加速键。当电影院的大门…...

AI助手碳核算技能:基于MCP协议与CCDB数据库的实战指南

1. 项目概述:当AI助手学会“碳核算” 如果你是一名开发者、数据分析师,或者任何需要处理碳排放相关工作的从业者,最近可能被一个词频繁刷屏:AI Agent。我们总希望手边的AI编程助手(比如Cursor、Claude Code&#xff0…...

基于OneBot协议与Go语言的QQ机器人框架Samantha开发实践

1. 项目概述:一个开源的QQ机器人框架 最近在折腾QQ机器人,想给自己的社群或者频道加点自动化功能,比如定时提醒、关键词回复、游戏查询什么的。市面上现成的机器人框架不少,但要么功能臃肿,要么配置复杂,要…...

APK Installer完整指南:在Windows上快速安装Android应用的终极方案

APK Installer完整指南:在Windows上快速安装Android应用的终极方案 【免费下载链接】APK-Installer An Android Application Installer for Windows 项目地址: https://gitcode.com/GitHub_Trending/ap/APK-Installer 你是否曾经想在Windows电脑上轻松安装An…...

AI编程规划工具vibe-driven-dev:从模糊想法到清晰开发蓝图

1. 项目概述:从“感觉”到“计划”的桥梁在AI编程助手(或者说“编码智能体”)越来越普及的今天,一个常见的困境是:我们脑子里有一个很棒的产品想法,但当你试图把它交给Claude Code、Cursor或者Windsurf这类…...

跨境直播里,为什么很多团队设备很强,画面却依旧不稳定?

做跨境直播的人,基本都会经历一个阶段:疯狂升级设备。更贵的相机更强的显卡更高规格的采集卡更多灯光但实际开播后:直播依旧掉帧OBS 占用异常推流延迟增加画面偶发模糊音视频不同步很多时候,问题并不是设备性能不够。而是&#xf…...

国产能量阀品牌推荐

在国产能量阀品牌中,天津水阀机械有限公司(简称“天津水阀”)无疑是一颗耀眼的明星。它以卓越的产品品质、先进的技术和广泛的应用案例,在行业内树立了良好的口碑。下面,让我们深入了解一下这个值得推荐的品牌。 一、…...