2 qq 22144385 qq_22144385 于 2016.02.28 15:54 提问

关于二叉树的prolog问题

前几天才开始学prolog的东西,遇到的一个关于二叉树的prolog问题就不会写了,想请教一下大家。
譬如说这里有一个二叉树,facts我就不一一列举了,主要有两种
一个是 leftchild(X,Y) 另一个是 right(X,Y)
下面有几个rule
第一个rule我就懵了。
第一个rule是justabove(X,Y)。
我想的是,X justabove Y 如果 Y is leftchild X 或者 Y is leftchild X。
所以我就这样写:
justabove(X,Y) :- leftchild(Y,X) ; rightchild(Y,X).
我查的说分号代表或者,我原以为只要facts满足其中之一就会返回true。
但事实是尽管第一条满足了,它依旧会继续问你true?使用”;“继续搜索,第二条目标不满足就return no了。

这下我就不知道该怎么办了。。。有什么办法可以无论既不继续搜索,答案始终和事实相符???

。。。。能看的懂吗?我表述好像不是很清楚。。。

1个回答

devmiao
devmiao   Ds   Rxr 2016.03.08 13:03
Csdn user default icon
上传中...
上传图片
插入图片
准确详细的回答,更有利于被提问者采纳,从而获得C币。复制、灌水、广告等回答会被删除,是时候展现真正的技术了!
其他相关推荐
城市间最短距离Prolog源程序
一道作业题:  已知北京、上海、广州、昆明和西安五城市航线里程如图。分别实现: 1)找到北京到昆明的最短路径。 2)找到北京到昆明,必须途径上海的路径。 3)找到北京到昆明,必须途径上海,但不能去广州的路径。    
描述亲属关系的PROLOG程序
是人工智能的一个习题,要求是编写一个描述亲属关系的PROLOG程序。做的时候发现,网站上很少有关于人工智能的这个PROLOG程序,拿出来分享一下。
用Prolog求解传教士和野人问题
用Prolog求解传教士和野人问题,程序报告。
prolog学习_八皇后问题
初步学习prolog语言,感觉上手还是挺容易的,虽然不是很深,但基本的语法结构比较简单,然后看了一些入门资料:prolog语言,耐心看完你就入门了 链接:http://pan.baidu.com/s/1mijQUrY 密码:3yb5 prolog环境搭建: 链接:http://pan.baidu.com/s/1cj5tGa 密码:7olj prolog语言教程: 链接:http:/
子集枚举问题求解-Prolog
 子集枚举由n个元素构成的集合有2^n个子集,例如,集合{1,2,3}的子集有:空集:1个     {}一元子集:3个     {1},{2},{3}二元子集:3个     {1,2},{1,3},{2,3}三元子集:1个     {1,2,3}共8个子集。下面我们考虑一个集合S的所有子集的枚举方法。首先,空集仅有一个子集,即空集本身。其次,当S非空集时,我
Prolog案例三
开发工具依然是GNU-Prolog,在案例中有这样的小问题如下:here(kitchen). move(Place):- retract(here(X)), asserta(here(Place)). 我执行move(office).后, 错误提示如下: ERROR: retract/1: No permission to modify static_procedure `here/1' 错误很
prolog学习_修道士野人问题
只贴代码跟样例输出:move(1,0).%表示船上有一位牧师,没有野人。 move(0,1). move(0,2). move(2,0). move(1,1). legal((X,Y,_)):- %X为左岸状态,Y为右岸状态。 legal_temp(X), %分别判断两岸的状态是否合法。 legal_temp(Y). legal_temp((X,Y)):- (X=:=0,Y>=0,!);
二叉树常见问题整理
做leetcode二叉树的题目做了不少,觉得有必要总结一下。因为题型多归多,但其实无非就是dfs和bfs,总结一些常见的解法,对于加深这两周算法的理解很有帮助。 在做dfs的时候,主要思路是可以从上到下也可以从下到上,也就是分析每一个子树的根节点,然后分析该子树的内部子树或者外部子树的根节点,以此得出递归关系,也即是分治的思想。同时,对于每个节点的处理尝试利用前序、后序、中序遍历三种方法。 做b
prolog语言解决八皇后问题
3种方法用prolog解决八皇后问题,每种方法运行结果都一样,但是解题方式思考角度不一样
基于prolog的迷宫系统
人工智能 基于prolog的迷宫方案 代码加文档