1

我现在正在研究一个用于预测下一个整数的系统(ALEPH),并且需要引入真正的整数序列来测试它。这是我在 aleph 中的序言编程之一,以诱导斐波那契序列理论:

:- use_module(library(aleph)).
:- if(current_predicate(use_rendering/1)).
:- use_rendering(prolog).
:- endif.
:- aleph.
:- modeh(*,add_sequence(+integer,+integer,+integer,+integer,-integer)).
:- modeb(*,add(+integer,+integer,-integer)).
:- determination(add_sequence/5,add/3).

:- begin_bg.
integer(1,1).
integer(2,2).
integer(3,3).
integer(4,4).
integer(5,5).
integer(8,8).
integer(7,7).
integer(11,11).
add(1,2,3).
add(2,3,5).
add(3,5,8).
add(1,3,4).
add(3,4,7).
add(4,7,11).
add(X,Y,Z):- Z=X+Y.
:- end_bg.

:- begin_in_pos.
add_sequence(1,2,3,5,8).
add_sequence(1,3,4,7,11).
:- end_in_pos.

:- begin_in_neg.
add_sequence(1,2,4,5,2).
add_sequence(1,2,1,2,3).
add_sequence(1,3,1,3,3).
add_sequence(2,3,2,3,3).
:- end_in_neg.
:-aleph_read_all.

这是我的 aleph 归纳规则(以斐波那契数列为例)。Aleph 将向我展示关于下一个数字的理论(这里我使用 4 个数字来预测第 5 个数字)。

[theory]

[Rule 1] [Pos cover = 2 Neg cover = 0]
add_sequence(A,B,C,D,E) :-
add(B,C,D), add(C,D,E).

我的问题是如何将第 5 个数字作为输入数字,然后使用第 5 个数字预测第 6 个数字,就像循环一样。我的老师说我需要做一个接口来导入数据来测试它。我想知道prolog中有没有接口?我需要学习 Python 等其他语言来调用我的 prolog 程序吗?

4

0 回答 0