代码之家  ›  专栏  ›  技术社区  ›  cala

Prolog图表示缺少事实

  •  1
  • cala  · 技术社区  · 6 年前

    我有一个在序言中有边的图。我将这个图表示为一组Prolog事实。其中,例如, s(a,b,2). =b是a的继承者。here are my factures in prolog for this graph.

    事实:

    s(a,b,2).
    S(A,C,1)。
    S(B,E,4)。
    S(B,G,2)。
    S(C,D,1)。
    S(C,X,3)。
    S(x,g,1)。
    目标(G)。
    < /代码> 
    
    

    我错过了一个事实吗?s(e,g,1). G是E的继承者?或者在这个节点上搜索它,因为“b”只有两个分支“e”和“g”。有人能给我解释一下吗?谢谢<这是我在Prolog中为这个图表所做的事实。

    Graph rep

    事实:

    s(a,b,2).
    s(a,c,1).
    s(b,e,4).
    s(b,g,2).
    s(c,d,1).
    s(c,x,3).
    s(x,g,1).
    goal(g).
    

    我错过了一个事实吗?s(e,g,1). G是E的继承者?或者在这个节点上搜索它,因为“b”只有两个分支“e”和“g”。有人能给我解释一下吗?谢谢

    1 回复  |  直到 6 年前
        1
  •  1
  •   willeM_ Van Onsem    6 年前

    breadth-first [Wiki]

    s(a, b, 2).
    s(a, c, 1).
    s(b, e, 4).
    s(b, g, 2),
    s(c, d, 1).
    s(c, x, 3).
    s(e, g, 1).
    s(x, g, 1).
    goal(g).

    s(e, g, 1).