Matlab:isomorphism

语法:

P = isomorphism(G1,G2)  %计算图G1和G2之间的图同构等价关系(如果存在)。若不存在同构,则P为空数组
P = isomorphism(___,Name,Value)                 %使用一个或多个名称-值对组参数指定其他选项
[P,edgeperm] = isomorphism(___)                 %返回边置换edgeperm的向量

计算同构置换:

示例:

%创建两个有向图G1和G2
G1 = digraph([1 1 1 2 3 4],[2 3 4 4 4 1]);
G2 = digraph([3 3 3 2 1 4],[1 4 2 3 2 2]);

%在画布上绘制两个子图,每个子图显示一个有向图
subplot(1,2,1)
plot(G1)
subplot(1,2,2)
plot(G2)

p = isomorphism(G1,G2)

计算具有不同标签和布局的图之间的同构关系:

示例:

%创建并绘制两个图形G1和G2
G1 = graph([1 1 1 2 2 3 3 4 5 5 7 7],[2 4 5 3 6 4 7 8 6 8 6 8]);
plot(G1,'XData',[1 4 4 1 2 3 3 2],'YData',[4 4 1 1 3 3 2 2])
G2 = graph({'a' 'a' 'a' 'b' 'b' 'b' 'c' 'c' 'c' 'd' 'd' 'd'}, ...
    {'g' 'h' 'i' 'g' 'h' 'j' 'g' 'i' 'j' 'h' 'i' 'j'});
plot(G2,'XData',[1 2 2 2 1 2 1 1],'YData',[4 4 3 2 3 1 2 1])


%计算两个图之间的同构关系(如果存在)
p = isomorphism(G1,G2)

计算同构关系并保留节点属性:

示例:

%创建一个由3个节点和3条边组成的无向图G1,其中d,e,f分别为三个节点的名称
%e,f,d分别表示三条边的起始节点和终止节点
G1 = graph({'d' 'e' 'f'},{'e' 'f' 'd'});

%设置节点颜色:blue表示节点d的颜色为蓝色,red表示节点e和f的颜色为红色
G1.Nodes.Color = {'blue' 'red' 'red'}';

%创建一个由3个节点和3条边组成的无向图G2,其中a,b,c分别为三个节点的名称
%b,c,a分别表示三条边的起始节点和终止节点
G2 = graph({'a' 'b' 'c'},{'b' 'c' 'a'});

%设置节点颜色:red表示节点a,b的颜色均为红色,blue表示节点c的颜色为蓝色
G2.Nodes.Color = {'red' 'red' 'blue'}';

%在画布上创建一个包含1行2列的子图,并选中第一个子图。该子图用于显示G1。
subplot(1,2,1)

%使用plot函数将无向图G1绘制在第一个子图上,并返回一个plot对象p1
p1 = plot(G1);

%使用 highlight 函数将节点e,f的颜色设置为红色
highlight(p1,{'e' 'f'},'NodeColor','r')

%在画布上创建一个包含1行2列的子图,并选中第二个子图。该子图用于显示G2
subplot(1,2,2)

%使用 plot 函数将无向图G2绘制在第二个子图上,并返回一个plot对象p2
p2 = plot(G2);

%使用 highlight 函数将节点a和b的颜色设置为红色
highlight(p2,{'a' 'b'},'NodeColor','r')

%使用isomorphism函数比较两个无向图G1和G2是否同构
p = isomorphism(G1,G2)

%使用 isomorphism 函数比较两个无向图G1和G2是否同构,并返回比较结果中包含的节点颜色信息
p = isomorphism(G1,G2,'NodeVariables','Color')

%输出一个包含G1节点名称和G2节点名称映射关系的数组
[G1.Nodes.Name, G2.Nodes.Name(p)]

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

[AutoSar]BSW_OS 01 Autosar OS入门

目录 关键词平台说明一、Autosar OS 的位置二、Autosar OS 与OSEK三、TASK3.1两种task3.2 两种task 的区别3.3task 的抢占机制 四、scalability class五、Task Priorities 关键词 嵌入式、C语言、autosar、OS、BSW 平台说明 项目ValueOSautosar OSautosar厂商vector芯片厂商…

前端h5页面和后端php服务的几种部署方式

一、背景 和java后端服务的部署不同,前端h5的部署有好几种。 CDNOSSnginx反向把输出物全部拷贝到后端 所以,这就带来了部署上的歧义,到底该用哪种部署方式呢? 本文以前端h5搭配后端php程序为示例,试着讨论一下他们…

【STM32】单片机生产实习报告

第1章 概述 1.1 项目背景 在当前科技飞速发展的背景下,嵌入式系统的广泛应用成为推动各行业创新的主要驱动力。我们秉持着培养学生实际操作能力的宗旨,特别设计了这个生产实习项目。通过嵌入式系统开发任务,我们旨在全面锻炼学生的工程实践…

强化学习11——DQN算法

DQN算法的全称为,Deep Q-Network,即在Q-learning算法的基础上引用深度神经网络来近似动作函数 Q ( s , a ) Q(s,a) Q(s,a) 。对于传统的Q-learning,当状态或动作数量特别大的时候,如处理一张图片,假设为 210 160 3 …

一键完成爬虫之Cookie获取:利用浏览器模拟一个cookie出来、面对反爬虫、加密的cookie的应对方法

一键完成爬虫之Cookie获取:利用浏览器模拟一个cookie出来、面对反爬虫、加密的cookie的应对方法 本文提供一个快速取得cookie的办法,用来应对一些网站的的反爬虫和cookie失效等情况本接口是收费的(1分钱1次调用,不愿付费自行折腾…

Java 内存模型(JMM)

1. 从 Java 代码到 CPU 指令 如上图: 最开始,我们编写的 Java 代码是 *.java 文件;在编译(javac 命令)后,从刚才的 *.java 文件生成一个新的 Java 字节码文件(*.class);…

云计算任务调度仿真04

这次分享一篇更加高级的云计算任务调度的文章和代码, 基于A3C学习和残差回归神经网络的随机边缘云计算环境动态调度 网络结构 结果 代码示例 这是基于pytorch实现的,所以复现起来没有什么难度,但是可以看到这有六层网络,而且…

运筹说 第97期|非线性规划-一维搜索

第二节 一维搜索 通过上期学习,大家已经了解了非线性规划的基本内容,那么如何求解一个非线性规划问题呢?本期小编就带大家来学习用于求解单变量无约束极值问题的方法——一维搜索,该方法也是后面求解更复杂问题的基础。 一、引入…

C++六大组件之一:仿函数

场景一&#xff1a; 与其过多叙述定义&#xff0c;不如在下面一个场景中来理解仿函数&#xff1a; #include<iostream> using namespace std; template<class T> void bubbles_sort(T* arr,int size) //冒泡排序 {for (int i 0; i < size - 1; i){for (int j…

测试 ASP.NET Core 中间件

正常情况下&#xff0c;中间件会在主程序入口统一进行实例化&#xff0c;这样如果想单独测试某一个中间件就很不方便&#xff0c;为了能测试单个中间件&#xff0c;可以使用 TestServer 单独测试。 这样便可以&#xff1a; 实例化只包含需要测试的组件的应用管道。发送自定义请…

从源码中分析SDS相较于C字符串的优势

文章目录 前言Type && EncodingsdsencodingcreateStringObjectcreateEmbeddedStringObject总结 createRawStringObject总结 createStringObjectFromLongDouble总结 createStringObjectFromLongLongWithOptions总结 相关操作sdscatlen总结 阈值44sds VS C字符串 前言 从…

数据完整性

数据完整性 一、实验目的 掌握使用SQL语句CREATE TABLE定义约束的方法。掌握使用SQL语句ALTER TABLE增加或删除约束的方法。了解约束的各种类型。掌握使用SQL语句CREATE TRIGGER创建触发器的方法。掌握引发触发器的方法。掌握使用SQL语句DROP TRIGGER删除触发器的方法。 二、…

扫雷游戏【可展开一片,超详细,保姆级别,此一篇足够】

一、C语言代码实现的扫雷游戏的运行 C语言实现扫雷 二、扫雷游戏的分析与设计 1.扫雷游戏的界面设计 在玩家玩扫雷的时候&#xff0c;它会给你一个二维的棋盘&#xff08;下面的讲解都以9x9规格为例子&#xff09;&#xff0c;然后点击你想排查的坐标&#xff0c;若不是雷的&…

KubeSphere 核心实战之一【在kubesphere平台上部署mysql】(实操篇 1/3)

文章目录 1、登录kubesphere平台2、kubesphere部署应用分析2.1、工作负载2.2、服务2.3、应用路由2.4、任务2.5、存储与配置2.6、部署应用三要素 3、部署mysql3.1、mysql容器启动实例3.2、mysql部署分析3.3、创建mysql的配置3.4、创建mysql的数据卷pvc3.5、创建mysql工作负载3.6…

MySQL之导入导出远程备份(详细讲解)

文章目录 一、Navicat导入导出二、mysqldump命令导入导出2.1导出2.2导入&#xff08;使用mysqldump导入 包含t_log表的整个数据库&#xff09; 三、LOAD DATA INFILE命令导入导出3.1设置;3.2导出3.3导入(使用单表数据导入load data infile的方式) 四、远程备份4.1导出4.2导入 一…

市场下行,中国半导体进口数量、金额双双两位数锐减 | 百能云芯

根据中国海关总署最新统计&#xff0c;2023年中国累计进口集成电路&#xff08;半导体晶圆&#xff09;数量为4795亿颗&#xff0c;较2022年下降10.8%&#xff1b;而进口金额为3494亿美元&#xff0c;下降15.4%。这一数据显示&#xff0c;中国半导体进口在数量和金额两方面均出…

第十三课:eNSP BGP协议教程

系列文章目录 第一课&#xff1a;eNSP第一个网络拓扑配置教程 第二课&#xff1a;eNSP vlan网络拓扑图配置教程 第三课&#xff1a;eNSP WIFI网络拓扑配置教程 第四课&#xff1a;eNSP 路由器路由配置拓扑教程 第五课&#xff1a;eNSP DHCP拓扑配置教程 第六课&#xff1…

林江院长:让斜视的孩子改“斜”归正,“正视”未来

读写时跳行、不敢和别人对视、拍照时不敢看镜头......这些不便是不少斜视患儿每天都在经历的日常。 斜视是目前儿童常见的眼科疾病之一&#xff0c;该眼病不仅给孩子的外在形象带来影响&#xff0c;更重要的是会影响双眼视功能及身心健康&#xff0c;其危害不容小觑。 7岁男孩晓…

Microsoft Remote Desktop for Mac 中文正式版下载 微软远程连接软件

Microsoft Remote Desktop 是一款专为 Mac 用户设计的远程桌面工具&#xff0c;它可以帮助用户通过网络连接到其他计算机&#xff0c;实现远程控制和操作。 软件下载&#xff1a;Microsoft Remote Desktop for Mac 中文正式版下载 该工具支持多种远程连接协议&#xff0c;包括 …