[发明专利]一种基于深度学习的加速最大可满足性问题局部搜索方法在审
申请号: | 202211199815.8 | 申请日: | 2022-09-29 |
公开(公告)号: | CN115456179A | 公开(公告)日: | 2022-12-09 |
发明(设计)人: | 刘婵娟;刘广源;罗川;张文杰 | 申请(专利权)人: | 大连理工大学 |
主分类号: | G06N5/04 | 分类号: | G06N5/04;G06N3/04;G06N3/08 |
代理公司: | 辽宁鸿文知识产权代理有限公司 21102 | 代理人: | 王海波 |
地址: | 116024 辽*** | 国省代码: | 辽宁;21 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 基于 深度 学习 加速 最大 满足 问题 局部 搜索 方法 | ||
1.一种基于深度学习的加速最大可满足性问题局部搜索方法,其特征在于,该方法包括以下步骤:
S1,数据集的收集及处理
使用三种数据集,分别为:大规模随机生成的SAT实例、MAX-SAT国际比赛的PMS实例、只含有硬子句的PMS实例;
S2,将数据集进行WCNF公式图转换
将步骤S1得到的PMS实例数据集F编码为二方图G=(V,C,E)的形式,其中V是所有变量构成的顶点集合,V=X;C是所有子句的集合,C=H∪S;H是所有硬子句的集合,S是所有软子句的集合;E表示描述变量和子句之间关系的边集;
为了区分硬子句和软子句,边集E由两个不相交的子集EH和ES组成,其中EH是反映变量与硬子句之间关系的硬边集,ES是表示变量和软子句之间关系的软边集;具体地,对于每个变量x∈X,若变量x或其否定出现在硬子句h∈H中,则(x,h)∈EH;若变量x或其否定出现在软子句s∈S中,则(x,s)∈ES;
至此,数据集中的PMS实例成功转化为使用WCNF公式图表示的图结构;
S3,使用多边图卷积神经网络MGCN搭建子句信息学习模块
所述子句学习信息模块把步骤S2构造的公式图作为输入,同时提取硬子句和软子句上的特征向量;具体实现过程如下:
对MGCN的输入做初始化定义:对于每个硬子句hi∈H,随机初始化特征向量作为hi的表示;对于每个软子句sj∈S,随机初始化特征量作为sj的表示;其中d是嵌入向量的大小;这些硬子句和软子句的特征向量将被喂入MGCN中来学习子句信息;
随后在MGCN的每次迭代中,通过分别嵌入所有硬子句和所有软子句的总体信息来更新每个硬子句和软子句的特征向量;具体地,在MGCN的第t次迭代过程中,更新过程如公式(3.1)和公式(3.2)所示:
在公式(3.1)和公式(3.2)中,W1、W2是关系图卷积神经网络的权重矩阵且是通过训练来不断更新并最终确定的;Wr是线性转化矩阵,将同类型边的邻居结点,使用同一个参数矩阵进行转化;cj,r是一个正则化常量,取值为对应特征向量结点的数量值;hvi(t)和svj(t)分别代表硬子句hi和软子句sj的在t时刻的特征向量;hvavg(t)是第t次迭代时所有硬子句的向量表示的平均值,具体表示为svavg(t)是第t次迭代时所有软子句的向量表示的平均值,具体表示为tanH表示线性单位激活函数,将双曲正切应用于输入向量的每个元素;⊙表示哈达玛积,即矩阵对应位置相乘;
S4,使用门控图卷积神经网络GGCN搭建变量信息学习模块
所述变量信息学习模块旨在学习硬子句和软子句表示的变量信息,并有效捕获所有变量的表示;具体实现过程如下:
采用GGCN的具体配置如下:对于每个变量xk∈X、特征向量的表示形式被初始化为其嵌入大小与硬子句和软子句的表示形式相同;
在GGCN的每次迭代中,通过合并出现xk的那些子句的信息来更新xk的特征向量;为了增强变量和子句的联合表示,定义两个邻接矩阵AH和AS分别记录了变量与硬子句之间的结构信息、变量与软子句之间的结构信息,通过这两个邻接矩阵,将子句信息有效地合并到变量表示中;具体地,GGCN的更新过程中,在t时刻变量和子句表示的更新过程如公式(3.3)、公式(3.4)、公式(3.5)所示:
在上述等式中,表示变量xk在第t次迭代时的特征向量;xvavg(t)是第t次迭代时所有变量的向量表示的平均值,具体表示为Hu、Su、Xu分别代表对应硬子句、软子句、变量的标准两层长-短期记忆单元;hvhid、svhid、xvhid分别为Hu、Su、Xu对应的隐藏状态;此外为了使GGCN更快的拟合并防止出现梯度消失或梯度爆炸,对邻接矩阵AH和AS执行对称归一化,生成和在GGCN迭代过程中使用归一化后的邻接矩阵和进行更新;使用GGCN更新后,获得每一个变量结点的聚合学习信息;
S5,使用多层感知机MLP搭建变量分配模块
基于步骤S4获得的每个变量xk∈X,变量分配模块通过多层感知器MLP计算每个变量xk为1的概率pk;然后,使用概率pk来决定将布尔值0或1分配给xk;
预测所有变量正概率后,MLP按照每个变量的预测概率来确定初始的分配;在整个预测过程中,通过最小化二元交叉熵损失的方法来优化目标,具体过程表示为其中yk是变量xk的样本取值;
S6,使用多融合训练机制训练模型
第一轮训练使用大规模随机生成的SAT实例数据集,按照8:1:1的比例分别将该数据集划分为训练集、验证集和测试集;进行百万级别步数的训练,获得一个初级模型;
紧接着将只含有硬子句的PMS实例数据集进行第二轮训练;第二轮训练步长应长于第一轮次,至此获得第二轮次训练产生的中间模型;
最后在中间模型的基础上,使用MAX-SAT国际比赛的PMS实例数据集进行最后的训练;停止训练的标准通过实时检查测试集中的准确率来观察,当准确率在长区间内处于平缓接近拟合状态时即停止训练步骤;
S7,使用模型生成预测解并加速局部搜索求解器
通过步骤S6的三轮完整训练,最终得到一个具有高准确率预测功能的模型,该模型能提取不同PMS实例中不同的子句结构,最终生成预测解分配N;随即,将N通过本地文本的方式传入不同的局部搜索求解器中,同时将不同局部搜索求解器中原有的随机初始化方案屏蔽,取而代之使用N作为初始化方案,局部搜索求解器其余的局部搜索参数和启发式算法保持不变;对于具有多轮次搜索机制的求解器,在局部搜索执行到全新的轮次时,需要再次使用N进行再次初始化分配;完成后,局部搜索求解器以分配N为起点,进行更高效率的局部搜索。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于大连理工大学,未经大连理工大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202211199815.8/1.html,转载请声明来源钻瓜专利网。