問題タブ [clp]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
prolog - CSP でソリューションを数える
私はプロローグを使用しており、次のコードがあります。
すべてのソリューションを数えたい場合、どうすればよいですか? clpb で使用される sat_count(+Expr, -Count) について読んだことがありますが、エラーなしで実装することはできません
prolog - Prolog CLP FD を使用して経路制限を行う方法は?
Prolog CLP FD を介して制限プログラミングを使用して、提案されたパズルを解こうとしています。このパズルは、次の簡単なルールで構成されています。
さて、私のコードでは、すでに 2x2 グリッドの制限をカバーしており、1 つのピースを少なくとも同じ色の 1 つに接続する必要があります。
問題は、反対の色のピースを通過せずに、1 つのピースが同じ色の他のすべてのピースへのパスを持っている (接続されている) 必要があるという制限を構築する方法を見つけることができないことです。この種の出力:
1 がすべて互いに接続されているわけではありません。
この種のグラフ制限を CLP FD に記述するにはどうすればよいですか?
編集: SICStus Prolog を使用しています。
recursion - Prolog を使用した CLP(R) での再帰関数の正しい書き方
Prolog で CLP がどのように機能するかについて、私は非常に混乱しています。利点を理解するのが難しいだけでなく (特定のケースではそれを理解できますが、それらを一般化するのは難しいと思います)、さらに重要なことに、再帰述語を正しく記述する方法をほとんど理解できません。次のうち、CLP(R) の方法で正しい形式はどれですか?
また
言い換えれば、いつ制約外にコードを書くべきかわかりません。PrevN
私には、最初のケースの方がより論理的に見えるでしょうNewF
。しかし、それが本当なら、再帰関数の制約の外側で述語を使用することがどのような場合に役立つかを知りたいです。