28、归纳式Mercury编程与生物语法学习的ILP优化

归纳式Mercury编程与生物语法学习的ILP优化

在逻辑编程和生物序列分析领域,归纳式逻辑编程(ILP)有着重要的应用。下面将详细介绍归纳式Mercury编程(IMP)以及用于生物语法学习的ILP优化。

1. IMP的搜索优化

IMP目前实现了一些搜索优化,主要借鉴了ALEPH的思想:
1. 分支限界搜索 :当IMP检测到给定子句的任何细化都不可能超过目前找到的最佳子句的得分时,会在该点进行剪枝。
2. 父覆盖集交集考虑 :当一个子句有多个父子句时,只考虑父覆盖集交集中的示例作为该子句覆盖集的可能成员。
3. 子句ID优化 :每个生成的子句都有一个ID,它是该子句使用的底层子句中文字的有序列表,这样可以去除仅在主体文字顺序上不同的子句。
4. 最大长度子句负例检查 :在考虑最大长度子句时,先检查负例覆盖情况,如果发现覆盖了太多负例,则提前终止覆盖测试。

目前,IMP中只有一些ILP优化,未来有可能将更多高级优化(如查询包、缓存和制表)集成到IMP中。

2. 诱导子句的地面表示

2.1 Prolog与Mercury的差异

在Prolog ILP系统中,诱导子句(包括底层子句)内部构建为术语,随后进行断言以构建诱导理论。而在Mercury中,子句在运行时既不能被断言也不能被撤销,因此诱导子句必须保持为术语,并且由于当前Mercury实现不允许部分实例化的术语,这些术语将是地面术语。

2.2 IMP的地面表

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值