Document
拖动滑块完成拼图
个人中心

预订订单
服务订单
发布专利 发布成果 人才入驻 发布商标 发布需求

在线咨询

联系我们

龙图腾公众号
首页 专利交易 科技果 科技人才 科技服务 国际服务 商标交易 会员权益 IP管家助手 需求市场 关于龙图腾
 /  免费注册
到顶部 到底部
清空 搜索
当前位置 : 首页 > 专利喜报 > 恭喜山东大学李子任获国家专利权

恭喜山东大学李子任获国家专利权

买专利卖专利找龙图腾,真高效! 查专利查商标用IPTOP,全免费!专利年费监控用IP管家,真方便!

龙图腾网恭喜山东大学申请的专利一种用于程序合成的方法及装置获国家发明授权专利权,本发明授权专利权由国家知识产权局授予,授权公告号为:CN119440480B

龙图腾网通过国家知识产权局官网在2025-04-29发布的发明授权授权公告中获悉:该发明授权的专利申请号/专利号为:202510039514.6,技术领域涉及:G06F8/20;该发明授权一种用于程序合成的方法及装置是由李子任;王惠中;余仲星设计研发完成,并于2025-01-10向国家知识产权局提交的专利申请。

一种用于程序合成的方法及装置在说明书摘要公布了:本申请涉及计算机技术领域,公开一种用于程序合成的方法及装置。该方法包括:获取并筛选可以在可满足性模理论(SMT)求解器中形式化的TensorFlow数学计算表达式;将上述数学表达式进行可满足性模理论编码;编码方法包括广播方法、倒序遍历、多重遍历、双指针法、分治计算、分组处理、展开循环;引入满足程序合成方法的约束条件;使用者提供满足自己期望的TensorFlow程序的输入和输出,最终经过该方法合成出满足输入输出约束的程序。本方法具有更高的合成效率和更强的可扩展性,为程序合成领域提供了新的思路和方法。

本发明授权一种用于程序合成的方法及装置在权利要求书中公布了:1.一种用于程序合成的方法,其特征在于,包括:获取并筛选满足可满足性模理论的TensorFlow数学计算表达式,所获取的表达式基于无循环的组件程序合成,排除循环次数不固定或循环次数上限与输入规模无关的表达式;将筛选出的数学计算表达式进行可满足性模理论编码;引入满足程序合成方法的约束条件;接收TensorFlow程序的输入和输出,利用编码后的数学计算表达式和引入的约束条件,合成出满足输入和输出约束的TensorFlow程序;所述将筛选出的数学计算表达式进行可满足性模理论编码,具体方式如下:判断数学计算表达式类型,将加法表达式tf.add、减法表达式tf.subtract、乘法表达式tf.multiply、除法表达式tf.divide、判断大小关系表达式tf.greater、tf.greater_equal、取最值表达式tf.maximum、tf.minimum、条件分支表达式tf.where,有三个参数进行广播方法编码;将寻找最大值下标表达式tf.math.argmax、搜索位置表达式tf.searchsorted进行倒序遍历编码;将切片表达式tf.gather、tf.gather_nd、统计出现次数的表达式tf.math.bincount、根据下标更新内容的表达式tf.SparseTensor和tf.sparse.to_dense、tf.tensor_scatter_nd_update、滚动表达式tf.roll进行多重遍历编码;将掩码表达式tf.boolean_mask、筛选非零值表达式tf.where进行双指针法编码;将迭代处理表达式tf.math.reduce_max、tf.math.reduce_min、tf.math.reduce_sum、tf.math.reduce_prod、tf.math.reduce_mean进行分治计算编码;将分段获取段内最值表达式tf.math.segment_max、分组计数表达式tf.unique_with_counts进行分组处理编码;将重复展开表达式tf.tile进行展开循环编码;所述广播方法编码具体方式如下:获取所有输入中的两个维度数值,如果所有输入的同一维度数值相等,则满足广播方法编码条件,但不进行广播方法编码;如果同一维度中至少一个输入的维度数值为1,且其他输入的该维度不全为1,所有输入其他不为1的维度数值均相等,则满足广播方法编码条件,将维度数值小的输入进行广播方法编码,广播方法编码方式如下:获取其维度数值为1的维度下输入值,将该值复制,按照该维度增长的方向填充值,直至维度数值等于其他输入同维度的数值为止;对不满足广播方法编码条件的输入终止此次程序合成;所述倒序遍历编码具体方式如下:获取需要处理的输入中的两个维度的数值,从该输入的最大维度开始,按照数值减少的方向遍历,遍历过程中,如果存在多个满足表达式的结果,使用维度数值小的位置的值覆盖维度数值大的位置的值;所述多重遍历编码包括外层遍历和内层遍历,所述外层遍历方式如下:获取需要处理输入的一个维度数值,设置循环变量值为0,从维度数值0开始,按照数值增大的方向遍历,直至等于该维度数值为止;所述内层遍历方式如下:获取需要处理输入的另一个维度数值,设置循环变量值为0,从维度数值0开始,按照数值增大的方向遍历,直至等于该维度数值为止;当内层遍历遇到的维度数值等于需要处理输入的维度数值时,获取外层遍历当前维度数值对应输入的值,比较内层遍历中循环变量的值与需要处理输入的维度数值,如果二者不相等则输出中该维度位置的值不变,如果二者相等则按照表达式语义进行处理;所述双指针法编码方式如下:设置两个变量,第一个变量记录经过表达式语义计算得到的结果保存在输出中的位置,第二个变量保存第一个变量的值;如果当前维度数值对应输入中的值不满足表达式语义,则将第一个变量设置为超出维度数值范围的值,第二个变量自增1;否则将第二个变量的值赋值给第一个变量,且第二个变量保持不变;根据第一个变量的值将结果存储至输出中,存储位置与第一个变量的值相同;所述分治计算编码方式如下:对于一个输入的两个维度,每一个维度都平均分组;在每组内部完成符合表达式的语义计算,当该表达式语义满足交换律与结合律,且输出只有单个值,处理所有输入内容与处理组内输入内容等价;所述交换律为输出结果与输入在表达式的位置无关,所述结合律为输出结果与输入在表达式处理的先后顺序无关,所述单个值为该输出的两个维度数值均为1;在组间完成符合表达式的语义计算,当该表达式语义满足交换律与结合律,且输出只有单个值,处理所有输入内容与处理组间输入内容等价;所述分组处理编码方式如下:对于需要处理的输入分组信息,记录分组信息的标识,根据分组信息,按照表达式语义处理输入内容,如果根据分组信息标识查找到对应的分组信息,则根据同组内容处理,否则不对其进行处理;所述展开循环编码方式如下:获取需要循环的次数,重复编写满足表达式语义的编码,且语义上与循环操作等价,编写次数与循环次数相等。

如需购买、转让、实施、许可或投资类似专利技术,可联系本专利的申请人或专利权人山东大学,其通讯地址为:250100 山东省济南市历城区山大南路27号;或者联系龙图腾网官方客服,联系龙图腾网可拨打电话0551-65771310或微信搜索“龙图腾网”。

免责声明
1、本报告根据公开、合法渠道获得相关数据和信息,力求客观、公正,但并不保证数据的最终完整性和准确性。
2、报告中的分析和结论仅反映本公司于发布本报告当日的职业理解,仅供参考使用,不能作为本公司承担任何法律责任的依据或者凭证。