Использование aleph с SWI-прологом: source_sink `library(aleph)'не существует
Я пытаюсь работать Алеф со Swi-прологом. Когда я запустил свою программу, я получил ошибку здесь. Что я могу сделать, чтобы импортировать библиотеку (aleph)? Кстати, я уже скачал Aleph.pl для своей программы. Вот моя тестовая программа, я знаю, что с библиотекой aleph должно быть что-то не так.
:- use_module(library(aleph)).
:- aleph.
Я получил ошибку:
ERROR: c:/users/mac/desktop/swi-prolog/aleph draft/1.pl:1:
source_sink `library(aleph)' does not exist
Предупреждение: c: / users / mac / desktop/swi-prolog/aleph draft/1.pl:1: Цель (директива) не выполнена: user:use_module(library(aleph)) ОШИБКА: c:/users/mac/desktop/swi-prolog/aleph draft/1.pl:2: catch/3: неопределенная процедура: aleph/0 Предупреждение: c: / users / mac / desktop / swi-prolog / aleph draft / 1.pl: 2: цель (директива) fail: user: aleph Добро пожаловать в SWI-Prolog (с резьбой, 32 бита, версия 7.6.4) SWI-Prolog поставляется с АБСОЛЮТНО НЕТ ГАРАНТИИ. Это бесплатное программное обеспечение. Пожалуйста, запустите?- Лицензия. для юридических деталей.
Для получения справочной информации и справочной информации посетите веб- сайт http://www.swi-prolog.org/ Для получения встроенной справки используйте?- help (Тема). или?- кстати (слово).
2 ответа
Вы должны использовать установщик:
?- pack_install(aleph).
% Contacting server at http://www.swi-prolog.org/pack/query ... ok
Install aleph@5 from GIT at https://github.com/friguzzi/aleph.git Y/n?
% Cloning into '/home/carlo/lib/swipl/pack/aleph'...
% Contacting server at http://www.swi-prolog.org/pack/query ... ok
% "aleph.git" was downloaded 6 times
Package: aleph
Title: Aleph Inductive Logic Prorgramming system
Installed version: 5
Author: Fabrizio Riguzzi <fabrizio.riguzzi@unife.it>
Activate pack "aleph" Y/n?
true.
?- use_module(library(aleph)).
true.
Вот пример, который я попробовал, и я не получил теорию индуктивности.
% Aleph initialization
:- aleph.
% Mode declarations
% mode(RecallNumber,PredicateMode).
% - output
:- modeh(*,grandparent(+person,+person)).
:- modeb(*,father(-person,-person)).
:-begin_bg.
person(john).
person(johnJunior).
person(johnJuniorJunior).
person(jack).
person(jackJunior).
person(jackJuniorJunior).
father(johnJunior, john).
father(johnJuniorJunior, johnJunior).
father(jackJunior, jack).
father(jackJuniorJunior, jackJunior).
:-determination(grandparent/2,father/2).
:-end_bg.
:-begin_in_pos.
grandparent(john, johnJuniorJunior).
grandparent(jack, jackJuniorJunior).
:-end_in_pos.
:-begin_in_neg.
grandparent(jack, john).
:-end_in_neg.
:-aleph_read_all.
Вот мой вывод:
[theory]
[Rule 1] [Pos cover = 1 Neg cover = 0]
grandparent(john,johnJuniorJunior).
[Rule 2] [Pos cover = 1 Neg cover = 0]
grandparent(jack,jackJuniorJunior).
[time taken] [0.015625]
[total clauses constructed] [2]
true.
Я предполагаю, что система aleph не сработала.