计算事件知识库

时间:2014-12-03 13:37:26

标签: count prolog

% Knowledgebase

parents (pedro, jose).
parents (pedro, john).
parents (pedro, mary).    
parent (john, leidis).    
parent (john, marten).    
parents (leidis, berta).    
parents (berta, pepe).

它具有如上所述的知识库,其中父母互动和 孩子(第一个元素是父亲和第二个儿子),就是要养成一个 传讲是因为父母已经归还了许多孩子。 根据以前的知识,以下问题的答案是:

? - Cant_hijos (pedro, Cant).
Qty = 3

? - Cant_hijos (john, Cant).
Qty = 2

? - Cant_hijos (leidis, Cant).
Qty = 1

1 个答案:

答案 0 :(得分:3)

cant_hijos(P, N) :-
   setof(C, parent(P,C), Cs),
   length(Cs, N).

请注意,许多孩子都没有成功。问:

是没有意义的
?- cant_hijos(P, 0).

因为有无数的名字不是父母。