子图同构问题Ullmann 算法(二)

本文详细介绍了Ullmann算法,旨在解决图的子图同构问题。通过映射矩阵和邻接矩阵的概念,阐述了算法如何寻找图G中与给定图Q同构的所有子图。内容包括算法定义、数学描述和初步实现思路,适合对图论和算法感兴趣的读者学习。
摘要由CSDN通过智能技术生成

#目录索引


写在前面的话

以上的内容均出自这篇论文ullmann algorithm,所有的表述竟可能的和论文中的表述保持一致。 我要做的事情就是竟可能的讲的很清楚,尽可能的做到准确完备。

谨以此系列献给 my best love, grandpa~ 还有昆明宝石蓝的天空,2月的梨花,三月的樱花,10月的桂花,星光璀璨的星空陪我入梦乡,安静而又安抚人的环境,总是让我心很静,那些美好的事物总是想让我保持一颗干净温暖的内心。

要写点没有中国人写的,要搞点没有人做的事情才有意思,能做点推动中国计算机科学发展的事情,才有意义。老嚼别人吃过的东西,没有任何意义。不能推陈出新是件非常失败的事情。

这个世界是你们的,也是我的,终究还是我们的,这个世界不够完美不够好,一定是在等我们把它变美好!

还是那句话,focus on security! 认定好什么事情就要做到极致,做到很难被人超越。



#1.Ullmann算法的定义

1.1背景知识

对于图的同构问题,Ullmann 算法是一个简单的图同构算法,它采取的手段就是利用枚举找到子图同构。

这个算法的目的就是 对于一个给定的图Q,要找出在图G当中的和图Q同构的所有的子图。

用我们上一张的例子来说:

这里写图片描述

我们把左边的这个图叫做图A,右边的这个图叫做图B,那么我们要找出在图B中和图A同构的所有子图。

我们先找出几个看看。我们说过,子图同构就是根据点和边的关系,在另外一个图中找到对应的点,并且对应的点,边之间完全一样,就是存在相同的关联矩阵。

说明,我们考虑的还是不带标签的图,请忽略下面的A,B,C,D

这里写图片描述

这里写图片描述

这里写图片描述

这里写图片描述

这里写图片描述

这里写图片描述

这里写图片描述

这里写图片描述

当然我们举完全,你可以自己再看一下,但是绝对不像其他的博客当中说的只有两个,这是不对的。

Ullmann算法的基本思想我们在说一遍,就是要找到一个映射矩阵,然后找出这个映射矩阵对我们的图B做变换之后得到的矩阵中,只要图A的关联矩阵中数值为1的位置,对应的变换矩阵C也为1。

看不懂的看前一篇文章。


1.2 数学定义和描述

对于一个给定的图 $ G_{\alpha} = (V_{\alpha},E_{\alpha}) $ 和一个给定的图 $ G_{\beta}= (V_{\beta},E_{\beta}) $ ,我们的任务就是找出在 G β G_{\beta} Gβ 中和 G α G_{\alpha} Gα 同构的所有子图。 我们把在图
G α = ( V α , E α ) G_{\alpha} = (V_{\alpha},E_{\alpha}) Gα=(Vα,E

评论 26
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值