图路径定义问题

用户名

解决方案

ppath(X,Y,M,Path,[Y|Path]) :- edge(X,Y,M),\+ memberchk(Y,Path).
path(X,Y,P,SoFar,Path) :- edge(X,W,M), \+ memberchk(W,SoFar),
    path(W,Y,N,[W|SoFar],Path), P is M+N.
 pravilo(X,Y,Z) :-
    aggregate(min(W), P^path(X,Y,W,[],P),Z).

这是我的代码。问题是起点是a,终点是z。

执行后出现错误,结果显示为[z,c,h,b]。但是正确的答案应该是[a,b,c,z]。

请帮助解决我的问题。

头发C.

library(aggregate)允许witness最小/最大标量运算。我们可以使用该功能来报告路径以及行程长度:

path(X,Y,M,Path,FullPath) :-
    edge(X,Y,M), \+ memberchk(Y,Path),
    reverse([Y|Path], FullPath).
path(X,Y,P,SoFar,Path) :-
    edge(X,W,M), \+ memberchk(W,SoFar),
    path(W,Y,N,[W|SoFar],Path), P is M+N.

pravilo(X,Y,Z,Path) :-
    aggregate(min(W,P), P^path(X,Y,W,[X],P), min(Z,Path)).

注意edge / 3中有一个错别字:edge(b,e,16应该是edge(b,e,16).

一旦纠正了数据库,我得到

pravilo(a,z,M,P).
M = 16,
P = [a, b, h, c, z].

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

定义iTween路径时的恒定速度问题

来自分类Dev

循环的最大权重独立设置问题(修改路径图)

来自分类Dev

在Prolog中定义图:边和路径,查找两个顶点之间是否存在路径

来自分类Dev

定义2列x 1行子图的问题

来自分类Dev

iOS可自定义的饼图问题

来自分类Dev

R中的圆环图自定义问题

来自分类Dev

定义PHP路径的问题跨越多个文件夹

来自分类Dev

jQuery文件上传自定义路径问题

来自分类Dev

Laravel:自定义公共路径的上传文件 URL 问题

来自分类Dev

为什么需要考虑负周期图的最短路径问题?

来自分类Dev

路径图未显示

来自分类Dev

Dagre-D3图。egde路径可以自定义吗?

来自分类Dev

Matplotlib子图问题

来自分类Dev

高图填充问题

来自分类Dev

词频图问题

来自分类Dev

绘制 CDF 图的问题

来自分类Dev

谷歌组合图问题

来自分类Dev

Matplotlib 子图问题

来自分类Dev

我的用于领域路径定义的#if TARGET_OS_SIMULATOR代码有什么问题?

来自分类Dev

安装自定义版本会生成heroku并出现库路径问题

来自分类Dev

在React应用程序中定义图像的路径时遇到问题

来自分类Dev

打印图的欧拉路径

来自分类Dev

图最短路径混乱

来自分类Dev

类路径问题

来自分类Dev

Rails路由-路径问题

来自分类Dev

python / pythonpath的路径问题

来自分类Dev

RequireJS路径“别名”问题

来自分类Dev

NPM Windows路径问题

来自分类Dev

类路径有问题