【问题标题】:PROLOG / All paths in a directed graph with loopsPROLOG / 带环的有向图中的所有路径
【发布时间】:2011-09-25 08:38:03
【问题描述】:

我得到了下面的图表:

Diagram here

第一个网关/连接器是 OR 网关/连接器(其中有一个圆圈)。带有“x”的网关/连接器是 XOR 网关/连接器。

OR 网关指定将采用一个或多个可用路径。 XOR-gateway 表示在流中采取恰好一条路径的决定。

我需要将此图转换为 PROLOG 以获得从节点 1 到节点 8 的所有可能路径,但我在编写 OR 网关和查找所有可能路径时遇到问题。

如何轻松将此图转换为 Prolog,以及如何找到关于两个节点之间网关的所有可能路径?

感谢您提前回答。

【问题讨论】:

  • 因为有一个循环,所以路径的数量是无限的。你想怎么处理?

标签: loops path prolog


【解决方案1】:

您应该知道,Prolog 程序基本上是一组规则。从您的图表中,每个节点都可以开始一个规则,其中每个有向边给出一个明确的规则。通过将您的图表编码为一组规则,对满足条件的查询 (1, X, 8) 将为您提供所有可能的路径,甚至是无限的。

编码规则应该很容易(基本的 Prolog)。也许我不了解 OR 和 XOR 背后的特殊功能。如果这不像看起来那么简单,请解释一下。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多