Prolog Language
制約論理プログラミング
サーチ…
CLP(FD)
CLP(FD)制約 ( 有限ドメイン )は、 整数に対する算術演算を実装します 。それらはすべての深刻なPrologの実装で利用可能です。
CLP(FD)制約には2つの大きなユースケースがあります。
- 宣言的整数演算
- 計画、スケジューリング、割り当てタスクなどのコンビナトリアル問題の解決
例:
?- X #= 1+2.
X = 3.
?- 3 #= Y+2.
Y = 1.
2番目のクエリでis/2
を使用すると、インスタンス化エラーが発生することに注意してください。
?- 3 is Y+2.
ERROR: is/2: Arguments are not sufficiently instantiated
CLP(Q)
CLP(Q)は有理数に対して推論を実装します。
例:
?- { 5/6 = X/2 + 1/3 }.
X = 1.
CLP(H)
Prolog自体は、 CLP(H) : Herbrand用語での Constraint Logic Programmingと考えることができます。この観点から、Prologプログラムは条件に制約を加えます 。例えば:
?- X = f(Y), Y = a.
X = f(a),
Y = a.
Modified text is an extract of the original Stack Overflow Documentation
ライセンスを受けた CC BY-SA 3.0
所属していない Stack Overflow