3
私は簡単な知識ベースを作ろうとしています。しかし、私はカテゴリシステムを動作させるのに苦労しています。ここでこのプロローグプログラムが無限再帰を引き起こすのはなぜですか?
プログラムは、これまでのところです:
subset(tomatoes, fruits).
subset(fruits, food).
subset(X, Z) :- subset(X, Y), subset(Y, Z), not(X==Y), not(Y==Z), not(X==Z).
member(X, Z) :- member(X, Y), subset(Y, Z).
member(t1, tomatoes).
クエリ:
member(t1,tomatoes).
ERROR: Out of local stack
Exception: (1,765,494) member(t1, _G28504) ? abort
% Execution Aborted
私はPrologで少し錆びますが、あなたの事実を最初に入れてみましたか?のように、移動するメンバー(t1、トマト)再帰的なルールの上に? – acjay