考虑国家名单如下: [仙,S2,S3,...,SOUT]使用序言产生句子
及以下规则:
就可以回去从S(n)与S(N-1)如果有这样 S(N-1)
,不可能从S(下)
一个本身回去ntence总是以S开头(中)与S(出)结束
我想有可能这样被激活的规则:
?- sentence(X, backs)
其中“背影”是指如何许多时候允许“返回”。
对于这个列表[A,B,C,d]
?- sentence(x, 2)
会产生:
[a,b,c,d] %no backs
[a,b,a,b,c,d] %one back
[a,b,c,b,c,d] %from d we cannot go back
[a,b,a,b,c,b,c,d] %two backs
[a,b,c,b,a,b,c,d] %two backs
您的问题,如目前所述,将返回1它列表只有两个项目或无限其他。例如。 (a,b,c),(a,b,a,b,c),(a,b,a,b,a,..., c)其中...是任意数量的(b,a)子序列。 – gusbro 2012-03-09 12:57:05
查询中存在预期的约束。有了“backs”参数,我希望控制返回的次数。这将使其有限。 – 2012-03-09 18:28:57
所以你有没有发现这里的答案有帮助,值得赞扬和接受? – 2012-03-16 09:48:28