所以我試圖用prolog解決kenken,但是我從一開始就遇到了幾個問題,首先讓我說我像kenken([X1,X2,X3,...) .X16])。我想用我之前定義的規則解決這個x的問題。所以可以說第一個單元格有3個值X1,X2和X3,我想通過使用乘法來得到2,這意味着X1 * X2 * X3 = 2,現在如何設置規則以查看所有可能的解決方案類似的東西。 也我如何告訴我的x只使用值的範圍1-4。 我試圖做一些像Prolog kenken solver 4 by 4
:- use_module(library(clpr)).
solve([X1,X2,X3]):-
{X1*X2*X3=2}.
但它給了我一個非常奇怪的輸出。
現代的Prolog系統提供* *約束作爲用於更加聲明替代'是/ 2'。 OP已經在使用CLP(R),它不需要'is/2',並且還允許在算術表達式中使用變量。 – mat