Prolog-如何获取由树上所有可能路径组成的列表的列表?

时间:2018-10-13 02:30:51

标签: list tree prolog

我想在Prolog中建立一个谓词,该谓词返回具有所有树路径的列表的列表。

所以,我有这些谓词:

component(solarSystem, earth).
component(solarSystem, mars).
component(earth, water).
component(earth, land).

关键是要获得这样的列表:

?- tree_list(solarSystem, L).
L = [(solarSystem, [(earth,[water,land]),mars])]

让我们假设谓词get_childs(solarSystem, L)我已经实现了该谓词并在工作)会返回一个包含所有太阳系子项的列表,如下所示:

/* ALREADY IMPLEMENTED */
?- get_childs(solarSystem, L).
L = [earth, water, land, mars]

有什么建议吗? 谢谢

顺便说一句:我看到了这个问题(Tree path in a List of Lists),但是解决方案并不完全是我想要的。就像我在这里发布的一样,我在知识库中有相关信息,重点是制作一个接收根目录的代码,然后获取所有路径。

0 个答案:

没有答案