Recursion Prolog中两个置换(循环)的乘积

Recursion Prolog中两个置换(循环)的乘积,recursion,prolog,logic-programming,Recursion,Prolog,Logic Programming,我想在Prolog中找到两个排列的乘积(以循环形式),我对它有问题(主要是因为我甚至无法想象它会是什么样子) 我想把这些排列换成另一种表示,但我不确定哪种方式是正确的 所以请帮帮我,任何提示都将不胜感激 %置换积(+P1,+P2,-结果) 编辑:在排列的乘积下,我的意思是:(但是我们的输入是循环符号,这使得项目更加困难)。输入为2个置换(P1,P2),预期结果为第3个参数-置换的乘积 实际上我正在做一个更大的项目,这只是其中的一部分,但正如前面提到的,我甚至不能启动它,因为我无法想象它。什么是置

我想在Prolog中找到两个排列的乘积(以循环形式),我对它有问题(主要是因为我甚至无法想象它会是什么样子)

我想把这些排列换成另一种表示,但我不确定哪种方式是正确的

所以请帮帮我,任何提示都将不胜感激

%置换积(+P1,+P2,-结果)

编辑:在排列的乘积下,我的意思是:(但是我们的输入是循环符号,这使得项目更加困难)。输入为2个置换(P1,P2),预期结果为第3个参数-置换的乘积


实际上我正在做一个更大的项目,这只是其中的一部分,但正如前面提到的,我甚至不能启动它,因为我无法想象它。

什么是置换产品?输入是什么?预期产量是多少?你尝试了什么?对不起,我编辑了这篇文章。Prolog的列表是有序的。因此,
[3,1,2,5,4]
是排列的完美表示。您可以查找用于处理列表的Prolog谓词。若你们还并没有读过Prolog是如何工作的(通过教程或书),那个么你们需要。您的
permutation\u乘积(P1,P2,Result)
可以接受两个这样的列表,并生成第三个列表,这是两个列表的乘积。这足以让你开始吗?它应该很简单。如果你被卡住了,试着问一个具体的问题。我认为应该是列表列表,因为单个排列可以写成
(a,b,c)(d,e)
。本例中的产品只是列表的串联。但若你们想让它处于一个不相交的循环中,那个么需要一些努力。第4页的表单已经很好地解释了这一点。从那以后,这只是一个技术问题。。