基于实例自动推断一般规则

时间:2015-10-29 23:44:49

标签: logic grammar induction

我对以下要调查的问题感兴趣。我遇到的一个问题是我甚至不确定搜索背景信息的条件。我尝试查找语法归纳和类似的技巧,但似乎没有解决这个问题。

假设我在几个小域上观察到一组逻辑规则。我想推断出它们的一般规则,它允许我为更大的域生成类似的规则,这仍然与较小的域一致。

示例1

Rule:   (x_1 < x_2), 
Domain: Z^2 (Pairs of integers)

Rule:   (x_1 < x_2) and (x_2 < x_3),
Domain: Z^3

Rule:   (x_1 < x_2) and (x_2 < x_3) and (x_3 < x_4),
Domain: Z^4

General rule: (x_i < x_(i+1)) for all i <= n, Domain: Z^n

所以我希望能够观察这三个实例并使用某种算法自动推断出一般规则。

另一个例子:

Rule: (x = 1, y = 2)
Rule: (x = 2, y = 4)
Rule: (x = 3, y = 6)
General Rule: (x = n, y = 2*n) for all n.

我知道第二个例子可以通过线条拟合轻松解决。

我想要的是一些适用于这两类问题的方法。对于可以应用的一阶逻辑或算术,是否存在某种机器学习?有没有办法使用模式学习和模式生成来实现这一目标?我对任何想法持开放态度。

稍微不同但足够的解决方案是生成算法,语法或函数,而不是生成一般规则,给定值n作为输入,生成对应于规则n的规则。

0 个答案:

没有答案