主要内容

等形

确定两个图是否同构

描述

例子

tf = isisomorphic (G1,G2)返回逻辑1.(真正的)如果图的同构存在于图之间G1G2;否则,它将返回逻辑0(假的).

例子

tf = isisomorphic (G1,G2,名称、值)使用一个或多个名称-值对参数指定其他选项。例如,可以指定“NodeVariables”以及节点变量列表,以指示同构必须保持这些变量有效。

例子

全部崩溃

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

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

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

异晶(G1,G2)
ans=符合逻辑的1.

创建并绘制两个图形,G1G2

G1=图([1 1 2 3 4 5 7 7],[2 4 5 3 6 4 7 8 6 8]);图(G1,“扩展数据”,[1 4 4 1 2 3 3 2],“伊达塔”,[4 4 1 1 3 3 2 2])

图形包含轴。轴包含graphplot类型的对象。

G2=图形({“a”“a”“a”“b”“b”“b”“c”“c”“c”“d”“d”“d”},...{“g”“h”“我很高兴“g”“h”“j”“g”“我很高兴“j”“h”“我很高兴“j”});情节(G2,“扩展数据”,[1 2 2 1 2 1 1],“伊达塔”,[4 4 3 2 3 1 2 1])

图形包含轴。轴包含graphplot类型的对象。

确定的同构是否存在G1G2.结果表明,尽管这些图的标签和布局不同,但它们在结构上是相同的。

tf=异晶型(G1,G2)
tf=符合逻辑的1.

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

创建两个类似的图。添加节点属性颜色对每一个图表。

G1=图形({“d”“e”“f”},{“e”“f”“d”}); G1.Nodes.Color={“红色”“红色”“蓝色”}';G2=图({“a”“b”“c”},{“b”“c”“a”});G2.Nodes.Color={“蓝色”“蓝色”“红色”}';

在同一个图中并排绘制这些图表。将具有的节点涂成红色颜色= '红色'

子地块(1,2,1)p1=地块(G1);高亮显示(p1{“d”“e”},“NodeColor”,“r”)子地块(1,2,2)p2=地块(G2);高亮显示(p2,“c”,“NodeColor”,“r”)

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

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

tf=异晶型(G1,G2)
tf=符合逻辑的1.

确定图是否同构,并保留颜色属性。在本例中,自颜色每个图的属性包含不同数量的“红色”“蓝色”价值观

tf=异晶型(G1,G2,“NodeVariables”,“颜色”)
tf=符合逻辑的0

输入参数

全部崩溃

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

G1G2必须两个图表对象或两有向图对象。

例子:G1=图(1,2)

例子:G1=有向图([12],[23])

名称-值对参数

指定可选的逗号分隔的字符对名称、值参数。名称是参数名和价值为对应值。名称必须出现在引号内。您可以按任意顺序指定多个名称和值对参数,如下所示:Name1, Value1,…,的家

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

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

数据类型:烧焦|一串|细胞

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

数据类型:烧焦|一串|细胞

更多关于

全部崩溃

图的同构

两张图,G1G2,如果存在节点的排列,则为同构P以致重新排序节点(G2,P)具有与相同的结构G1

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

R2016b中引入