1、什么是同构?如果判断同构?
参考自知乎:https://www.zhihu.com/question/326620873/answer/1063169941
同构想讲的是一个什么事呢?通俗的说,就是在两个没啥直接关系的图中去找到他们结构上的相同点。这个结构指的是什么呢?就是关系(Relation),到了图中,两个点之间有关系,说得就是它们之间有一条边相连(假设是简单图)。那么,就很好理解什么叫做图同构了,图 G1的全部顶点被映射到图 G2后,这些顶点可能标号变了,但是如果在“旧”的图中有的关系,在“新”图中依然保留,只不过是“位置”变了。你可以想象这样一个场景:
1、我们把人与人之间的关系画成一张图,如果两个人是朋友,就在地图上给这两个人的家之间连一条线,你可能会改名字,可能搬家去任何一个地方,但是都不影响你与朋友之间的交情,你们之间依然会有一条线连接。你搬家之后画的图与旧图就是同构的。
2、一个图我们可以把它想象成一些小球被绳子绑在了一起,小球就是顶点,绳子就是边。现在随意移动小球,小球可以去任何地方,绳子也会随着小球到处移动。在移动过程中每一个时刻所形成的图都是同构的。
3、假设图中每一个顶点都有一个名字,比如:1, 2, 3, ... ,n。现在擦去这些顶点上的名字。擦完后随机给这些顶点写上新的名字,可以是任何的名字,相当于给它们换了一个“身份”。前后的两个图是同构的。
2、为什么要判断两个图是否同构? 判断两个图有什么现实意义?
参考自:https://www.zhihu.com/question/343456444/answer/807832678
意义非常大,通过判断两个图是否同构可以知道是否能以同样的方式画出两个图,举几个例子:
1、分子式相同,但结构不同的化合物不是同一种化学合成物。分析出新的化合物时,可检查分子图数据库,判断是否是已知的化合物。
2、通过寻找芯片的图模型中的最大构字图,来判断两个芯片是否有相同的知识产权。
3、可以验证由自动化工具设计的电路是否与最初的设计一致。
3、同构只能适用于几何图形吗?
同构并不是只能适用于几何图形,同构可以用来判断的图像范围很广,但是复杂图像对应的图结构需要事先构建好,而针对复杂图像构建合适的图结构则又是一个研究方向。
4、同构是否支持翻转呢?