主要内容

isisomorphic

判断两个图是否同构

描述

例子

Tf =同构的(G1, G2返回逻辑1真正的)如果图的同构存在于图之间G1而且G2;否则,返回逻辑0).

例子

Tf =同构的(G1, G2名称,值使用一个或多个名称-值对参数指定其他选项。例如,您可以指定“NodeVariables”和一个节点变量列表,以表明同构必须保留这些变量是有效的。

例子

全部折叠

创建并绘制两个有向图,然后确定它们是否同构。

G1 =有向图([1 1 1 2 3 4],[2 3 4 4 4 1]);G2 =有向图([3 3 3 2 1 4],[1 4 2 3 2 2]);子地块(1,2,1)子地块(G1)子地块(1,2,2)子地块(G2)

图中包含2个轴对象。Axes对象1包含一个graphplot类型的对象。Axes对象2包含一个graphplot类型的对象。

isisomorphic (G1, G2)
ans =逻辑1

创建并绘制两幅图,G1而且G2

G1 = graph([1 1 1 2 2 3 3 4 5 5 7 7],[2 4 5 3 6 4 7 8 8 8 6 8 8 8 8 8 8 8 8 8 8 8 8]);情节(G1,“XData”,[1 4 4 1 2 3 3 2],“YData”,[4 4 1 1 3 3 2 2])

图中包含一个轴对象。axis对象包含一个graphplot类型的对象。

G2 =图({“一个”“一个”“一个”“b”“b”“b”“c”“c”“c”' d '' d '' d '},...‘g’“h”“我”‘g’“h”“j”‘g’“我”“j”“h”“我”“j”});情节(G2,“XData”,[1 2 2 2 1 2 1 1 1 1],“YData”,[4 4 3 2 3 1 2 1])

图中包含一个轴对象。axis对象包含一个graphplot类型的对象。

确定是否存在同构G1而且G2.结果表明,尽管图的标签和布局不同,但在结构上是相同的。

tf =同构(G1,G2)
tf =逻辑1

使用两种不同的比较来确定两个图之间是否存在同构关系。其中一种比较保留节点属性,而另一种比较忽略它。

创建两个相似的图形。添加节点属性颜色对每个图。

G1 =图({' d '“e”“f”}, {“e”“f”' d '});G1.Nodes。颜色= {“红色”“红色”“蓝”} ';G2 =图({“一个”“b”“c”}, {“b”“c”“一个”});G2.Nodes。颜色= {“蓝”“蓝”“红色”} ';

把这些图表并排画在同一幅图中。将节点染成红色颜色= '红色'

subplot(1,2,1) p1 = plot(G1);突出(p1, {' d '“e”},“NodeColor”“r”) subplot(1,2,2) p2 = plot(G2);突出(p2,“c”“NodeColor”“r”

图中包含2个轴对象。Axes对象1包含一个graphplot类型的对象。Axes对象2包含一个graphplot类型的对象。

确定图是否同构,忽略颜色财产。

tf =同构(G1,G2)
tf =逻辑1

的值,以确定图是否同构颜色属性的比较。在这种情况下,没有同构,因为颜色属性的每个图包含不同的数目“红色”而且“蓝”值。

tf =同构(G1,G2,“NodeVariables”“颜色”
tf =逻辑0

输入参数

全部折叠

的单独参数指定的输入图形有向图对象。使用创建无向图或有向图创建有向图。

G1而且G2两者都有对象或两者都有有向图对象。

例子:G1 =图(1,2)

例子:G1 =有向图([1 2],[2 3])

名称-值参数

指定可选参数对为Name1 = Value1,…,以=家,在那里名字参数名称和价值对应的值。名称-值参数必须出现在其他参数之后,但对的顺序无关紧要。

在R2021a之前,使用逗号分隔每个名称和值,并将其括起来名字在报价。

例子:tf =同构(G1,G2,'NodeVariables',{'Var1' 'Var2'})

要保留的边缘变量,指定为逗号分隔的对,由“EdgeVariables”一个字符向量,字符串标量,字符向量的单元格数组,或者字符串数组。使用此选项可指定两者中的一个或多个边变量G1。边缘而且G2。边缘.同构比较必须保留指定的边变量才能有效。对于在相同的两个节点之间有多条边的多重图,相同节点对的边缘变量的顺序是不相关的。

数据类型:字符|字符串|细胞

要保留的节点变量,指定为由逗号分隔的对组成的“NodeVariables”一个字符向量,字符串标量,字符向量的单元格数组,或者字符串数组。使用此选项可指定一个或多个节点变量G1。节点而且G2。节点.同构比较必须保留指定的节点变量才能有效。

数据类型:字符|字符串|细胞

更多关于

全部折叠

图的同构

两个图,G1而且G2,如果存在节点的排列,则是同构的P这样reordernodes (G2, P)有相同的结构G1

同构的两个图具有相似的结构。例如,如果一个图包含一个循环,那么与该图同构的所有图也包含一个循环。

版本历史

在R2016b中引入