You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

无向图所有不重复环查找的SWI-Prolog程序实现求助

无向图所有不重复环查找的SWI-Prolog程序实现求助

嗨,各位大佬!我现在遇到了个Prolog编程的难题,想请大家帮忙支支招。我需要实现一个SWI-Prolog程序,用来找出无向图里的所有环,而且输出的结果绝对不能有重复。

给大家举个具体的例子,当我执行查询:

?- find_cycles([a-[b,c,d],b-[a,c],c-[a,b,d],d-[a,c]])

期望得到的输出是:

Cycle = [a,b,c]
Cycle = [a,d,c]
Cycle = [a,b,c,d]

我自己试着用DFS算法来写,但折腾了半天就是跑不对,实在没思路了。有没有大佬能给我讲讲实现思路,或者提供一个可行的代码示例呀?

备注:内容来源于stack exchange,提问作者Slave

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.04.22 15:49:41