当前位置: 首页 > 专利查询>中山大学专利>正文

一种基于可视化操作的Halin图最大切割方法及平台技术

技术编号:20485063 阅读:26 留言:0更新日期:2019-03-02 19:02
本发明专利技术公开一种基于Halin图最大切割算法的可视化操作方法及平台,该平台用于实现本方法,本方法大体为:构建Halin图,利用Halin图判定算法提取由结点集合V构成的特征树T及伴随圈C,利用宽度优先遍历Halin图G的特征树T中结点集合V得到面,标记面的奇偶性;对特征树进行初始切割;利用特征树的结点与伴随圈生成扇;将扇收缩成轮,对轮处理标记两两配对奇面对的公共边,将公共边的结点调整至同一结点集合,将公共边对应的奇面对在伴随圈上的边的顶点调整另一结点集合,得到Halin图G的最大切割(V1,V2)。出了Halin图上最大切割的高效算法,时间复杂度为该复杂度为O(6n),其中n为图的顶点数。

【技术实现步骤摘要】
一种基于可视化操作的Halin图最大切割方法及平台
本专利技术涉及关系图计算处理
,特别涉及一种基于可视化操作的Halin图最大切割方法及平台。
技术介绍
使用点和边来表示实体与实体间关系的图在知识库、社交网络、语义网等领域有着广泛的应用,其中,Halin图具有极佳的连通性:同时具有3-点连通和3-边连通的特点,这些连通性可以保证网络的健壮性,因此常被用于构建网络拓扑结构。Halin图是特征树和伴随圈的组合,可以保证网络的拓扑结构不至于太复杂。在许多优化组合方面的问题,也可以通过图来得到多项式时间下的解,如经典的TSP问题等。Halin图在实际生活中的应用有:根据Halin图扇收缩功能求解旅行商路径问题TSP进行无线传感器网络移动节点路径规划,通过Halin图的部分列表着色问题进行防火问题的探讨等。通常,图信息的输入、输出过程是非可视化的,输入信息出错会导致运算结果的出错,程序输出的非可视化在直观性方面也有所欠缺。Halin图可以作为具有低成本和容错性的网络模型。Cornuejols,Naddef和Pulleyblank在带权图上提出了一个解决问题的线性时间算法;Lou证明每个图是哈密顿连通的;Li,Lou和Lu提出了在带权图的每一对顶点之间找一个最小权值的哈密顿路径的线性时间算法;Lou和Liu给出了在线性时间解决图的3正则子图问题的算法;Lou,Liang和Han还给出了求解图中最大线子图问题的线性时间算法,这些问题都是普通图中的问题。而Halin图的最大切割问题仍未被解决。
技术实现思路
本专利技术的主要目的是提出一种基于可视化操作的Halin图最大切割方法,旨在克服以上问题。为实现上述目的,本专利技术提出的一种基于可视化操作的Halin图最大切割方法,包括:S10构建Halin图:输入Halin图G,提取其结点集合V和边集合E,构成Halin图结构G=(V,E);S20面的标记:利用Halin图判定算法提取由结点集合V构成的特征树T及伴随圈C,从伴随圈C上任意相邻两点出发,宽度优先遍历Halin图G的特征树T中结点集合V得到面,根据面边数的奇偶性,将面分别标记为奇或偶面;S30初始切割:以特征树T的任一非叶子结点v0为根,标记为第0层,采用宽度优先算法遍历特征树T的所有结点,从v0点出发,沿特征树T路径历经的第一毗邻点标记为第1层,以此类推,遍历到的第n次毗邻点标记为第n层,将偶数层的所有结点划分到V1中,将奇数层的所有结点划分到V2中,以此将V划分成两个不相交的子集V1和V2,S40扇的生成:令与非叶子结点中任一点v0相邻的叶子结点集合为C(v),这些结点在伴随圈C上一段连续的结点生成扇(fan)=G[{v}∪C(v)],以v0为扇的圆心,扇由v0和C(v)构成的集合;S50扇收缩成轮:采用扇收缩算法,标记并收缩Halin图的扇,使其成为伴随圈C的一个叶结点,该叶结点称为收缩扇的伪点,标记且收缩伪点的相邻奇面,由此生成轮;S60对轮的处理:根据扇的可扩性标记,对扇间、扇中的相邻奇面进行一次两两配对形成奇面对,提取Halin图中最大数目的奇面对,将轮上的伪点依次展开成扇,以进行的二次奇面两两配对,直至恢复成初始的Halin图,将二次两两配对的奇面对的公共边标记为转化边;S70Halin图的最大切割:将转化边的结点(v1,v2)调整至集合V1和V2其中之一集合中,将转化边对应的奇面对在伴随圈C上的边的顶点,划入集合V1和V2的另一其中集合中,得到Halin图G的最大切割(V1,V2)。优选地,所述S50中采用扇收缩算法,标记并收缩扇的具体步骤为:S501标记并收缩扇:若扇中奇面个数为偶数,则扇中奇面两两配对,该扇标记为“不可扩”;若扇中有奇数个奇面,则根据扇中奇面的可扩性,将扇标记为“左可扩或右可扩”;S502采用扇收缩算法,将扇收缩成带有标记的伪点,若伪点向左可扩或向右可扩,则在两个相邻面中间插入一个奇面;若伪点只能向左扩或向右扩,则将其可扩展方向的相邻奇面标记“向下可扩”;若伪点即可向左扩又可向右扩,则将其相邻两个奇面标记为“向下可扩”;若伪点不具有可扩属性,则不对其相邻的奇面做处理;S503扇收缩后生成新Halin图;S504若新Halin图中的扇是否存在偶面,分别按不同的标记方法,标记并收缩新Halin图的扇,S505按以上步骤完成n次Halin图中扇的标记及收缩,直至收缩生成轮。优选地,所述S504中所述若新Halin图中的扇是否存在偶面,分别按不同的标记方法为:若新Halin图中的扇不存在偶面,标记方法为:(1)若扇中有偶数个奇面,则该组奇面已形成两两配对,扇内取得最大数目的奇面对,该扇标记为“不可扩”;(2)若扇中有奇数个奇面,则将该扇标记为“左可扩或右可扩”,若新Halin图中的扇存在偶面,且扇中左右两端分别存在连续奇面,而扇中存在偶面使左右两端的连续奇面不连接,标记方法为:(3)若扇中左右两端连续奇面的连续个数均为奇数,则将该扇标记为“左可扩且右可扩”;(4)若仅扇中右端连续奇面的连续个数为奇数,则标记为“右可扩”;(5)若仅扇中左端连续奇面的连续个数为奇数,则标记为“左可扩”;若扇中左右两端连续奇面的连续个数均为偶数,则标记为“不可扩”。优选地,所述S50中标记且收缩伪点的相邻奇面的方法为:(1)若伪点标记为“左可扩或右可扩”,则在两个相邻面中间插入一个奇面;(2)若伪点标记为“左可扩”或“右可扩”,则将其可扩展方向的相邻奇面标记为“向下可扩”;(3)若伪点标记为“左可扩且右可扩”,则将其相邻两个奇面均标记为“向下可扩”;(4)若伪点标记为“不可扩”,则不对其相邻的奇面做处理。优选地,所述S60具体为:(1)若轮上不存在可扩性伪点且不包含偶面,则奇面两两配对;(2)若轮上不存在可扩性伪点但包括数个偶面,且偶面将轮分隔为若干段连续奇面,则每段连续奇面从左向右两两配对形成奇面对;(3)若轮上存在可扩性伪点,则对伪点的相邻奇面进行标记;(4)若轮上存在标注为“向下可扩”的奇面,将该奇面与伪点中奇面进行配对,其余奇面根据上述(1)、(2)的配对规则进行配对。本专利技术还公开了一种基于可视化操作的Halin图最大切割的平台,用于实现上述方法,包括:输入模块、数据结构模块、存储模块、显示模块、GUI交互模块,其中:输入模块,用于输入绘制的Halin图,且将Halin图转化为底层数据;算法执行模块,用于采用计算机程序执行如权利要求1-5所述基于可视化操作的Halin图最大切割方法的算法逻辑,将底层数据转化为具有标准数据结构的Halin图G,并做邻接表或邻接矩阵的优化;存储模块,用于存储输入模块输入的Halin图;显示模块,用于呈现算法执行模块的执行算法逻辑的操作步骤;GUI交互模块,用于以事件响应模式的GUI程序处理算法执行模块与显示模块之间可视化操作的交互。本专利技术主要在Halin图上找到一个高效的最大切割方法:对于一个给定的图G=(V,E),求G的一种切割方法,将图G的顶点集合V划分成两个不相交的子集V1和V2,使得所有一个端点在V1中,另一个端点在V2中的边数最多。本专利技术技术方案通过在命令行的环境下,用户输入和实验结果都是单纯的字符串,而在图形化界面上,与输入字符串不同,用户可以通过绘本文档来自技高网...

【技术保护点】
1.一种基于可视化操作的Halin图最大切割方法,其特征在于,包括:S10构建Halin图:输入Halin图G,提取其结点集合V和边集合E,构成Halin图结构G=(V,E);S20面的标记:利用Halin图判定算法提取由结点集合V构成的特征树T及伴随圈C,从伴随圈C上任意相邻两点出发,宽度优先遍历Halin图G的特征树T中结点集合V得到面,根据面边数的奇偶性,将面分别标记为奇或偶面;S30初始切割:以特征树T的任一非叶子结点v0为根,标记为第0层,采用宽度优先算法遍历特征树T的所有结点,从v0点出发,沿特征树T路径历经的第一毗邻点标记为第1层,以此类推,遍历到的第n次毗邻点标记为第n层,将偶数层的所有结点划分到V1中,将奇数层的所有结点划分到V2中,以此将V划分成两个不相交的子集V1和V2;S40扇的生成:令与非叶子结点中任一点v0相邻的叶子结点集合为C(v),这些结点在伴随圈C上一段连续的结点生成扇(fan)=G[{v}∪C(v)],以v0为扇的圆心,扇由v0和C(v)构成的集合;S50扇收缩成轮:采用扇收缩算法,标记并收缩Halin图的扇,使其成为伴随圈C的一个叶结点,该叶结点称为收缩扇的伪点,标记且收缩伪点的相邻奇面,由此生成轮;S60对轮的处理:根据扇的可扩性标记,对扇间、扇中的相邻奇面进行一次两两配对形成奇面对,提取Halin图中最大数目的奇面对,将轮上的伪点依次展开成扇,以进行的二次奇面两两配对,直至恢复成初始的Halin图,将二次两两配对的奇面对的公共边标记为转化边;S70Halin图的最大切割:将转化边的结点(v1,v2)调整至集合V1和V2其中之一集合中,将转化边对应的奇面对在伴随圈C上的边的顶点,调整至集合V1和V2的另一其中集合中,得到Halin图G的最大切割(V1,V2)。...

【技术特征摘要】
1.一种基于可视化操作的Halin图最大切割方法,其特征在于,包括:S10构建Halin图:输入Halin图G,提取其结点集合V和边集合E,构成Halin图结构G=(V,E);S20面的标记:利用Halin图判定算法提取由结点集合V构成的特征树T及伴随圈C,从伴随圈C上任意相邻两点出发,宽度优先遍历Halin图G的特征树T中结点集合V得到面,根据面边数的奇偶性,将面分别标记为奇或偶面;S30初始切割:以特征树T的任一非叶子结点v0为根,标记为第0层,采用宽度优先算法遍历特征树T的所有结点,从v0点出发,沿特征树T路径历经的第一毗邻点标记为第1层,以此类推,遍历到的第n次毗邻点标记为第n层,将偶数层的所有结点划分到V1中,将奇数层的所有结点划分到V2中,以此将V划分成两个不相交的子集V1和V2;S40扇的生成:令与非叶子结点中任一点v0相邻的叶子结点集合为C(v),这些结点在伴随圈C上一段连续的结点生成扇(fan)=G[{v}∪C(v)],以v0为扇的圆心,扇由v0和C(v)构成的集合;S50扇收缩成轮:采用扇收缩算法,标记并收缩Halin图的扇,使其成为伴随圈C的一个叶结点,该叶结点称为收缩扇的伪点,标记且收缩伪点的相邻奇面,由此生成轮;S60对轮的处理:根据扇的可扩性标记,对扇间、扇中的相邻奇面进行一次两两配对形成奇面对,提取Halin图中最大数目的奇面对,将轮上的伪点依次展开成扇,以进行的二次奇面两两配对,直至恢复成初始的Halin图,将二次两两配对的奇面对的公共边标记为转化边;S70Halin图的最大切割:将转化边的结点(v1,v2)调整至集合V1和V2其中之一集合中,将转化边对应的奇面对在伴随圈C上的边的顶点,调整至集合V1和V2的另一其中集合中,得到Halin图G的最大切割(V1,V2)。2.如权利要求1所述的基于可视化操作的Halin图最大切割方法,其特征在于,所述S50中采用扇收缩算法,标记并收缩扇的具体步骤为:S501标记并收缩扇:若扇中奇面个数为偶数,则扇中奇面两两配对,该扇标记为“不可扩”;若扇中有奇数个奇面,则根据扇中奇面的可扩性,将扇标记为“左可扩或右可扩”;S502采用扇收缩算法,将扇收缩成带有标记的伪点,若伪点向左可扩或向右可扩,则在两个相邻面中间插入一个奇面;若伪点只能向左扩或向右扩,则将其可扩展方向的相邻奇面标记“向下可扩”;若伪点即可向左扩又可向右扩,则将其相邻两个奇面标记为“向下可扩”;若伪点不具有可扩属性,则不对其相邻的奇面做处理;S503扇收缩后生成新Halin图;S504若新Halin图中的扇是否存在偶面,分别按不同的标记方法,标记并收缩新Hal...

【专利技术属性】
技术研发人员:许莉娄定俊
申请(专利权)人:中山大学
类型:发明
国别省市:广东,44

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1