我想在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),但是解决方案并不完全是我想要的。就像我在这里发布的一样,我在知识库中有相关信息,重点是制作一个接收根目录的代码,然后获取所有路径。