問題タブ [clpq]
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 - SWI-Prolog と制約、ライブラリ CLP(FD)
clpfd ライブラリを使用して (swi) プロローグで制約をいじっています。
ある制約セットが他の制約セットをカプセル化または包含している場合を特定しようとしています。たとえば、前者が true の場合は常に後者が true であるため、X<4 は X<7 をカプセル化します。これは、論理的含意を使用して簡単に表すことができます。ただし、 #==> 演算子を使用しても希望どおりの結果が得られなかったため、not(Co1 #/\ #\Co2) を使用することにしました。Co1 と Co2 は制約です。これは個々の制約には問題ありませんが、制約の結合を Co1 と Co2 に渡したいと考えました。
今ここに摩擦があります。やってみると
私は戻ってきます
(奇妙なことに、Sicstus でこれを行うと、セグメンテーション違反が発生します)
通り過ぎると
私は希望を得る
明らかに、後者を not(Co1 #/\ #\Co2) に渡すことはできませんが、前者では必要な結果が得られません。2 つのアプローチが異なる結果をもたらす理由と、前者を後者のように動作させる方法を説明できる人はいますか?
optimization - シンプレックスを解くためのswi prologs clpqライブラリの代替
質問する場所が間違っていたらすみません。
SWI Prolog の clpq ライブラリを使用してシンプレックスを解いています。構文は非常にシンプルで表現力豊かです。次のようになります。
特別な形式に変換する必要はありません。制約とオブジェクト関数を入力するだけです。素晴らしいですが、clpq にはバグがあり、メンテナンスされていないことに気付きました。そのため、自信がありません。
それで、誰かがバグのないオープンソースで同じくらいシンプルなものを知っているかどうか疑問に思っていましたか? 私がこれまでに見つけた最高のものは、GNU 線形プログラミング キットです。シンプレックスを実験するために他の人は何を使用していますか?
prolog - プロローグのゴール/クエリで渡される方程式をどのように処理しますか?
私はこのシナリオを持っており、以下のようなPrologクエリで線形方程式を取得します。
したがって、私のクエリには3X + 5Y = 10の方程式があり、これは一般にAX + BY = Cの形式を想定しています。ここで、A = 3、B = 5、C=10です。
今、私のプロローグプログラムで、上記のクエリで言及された式を取り入れることができる述語を定義しようとしています。つまり、どういうわけか、A、B、Cの値と、関連する演算子(上記の場合はplus演算子)を格納して、プログラムで定義したロジックで使用したいと考えています。どうすればこれができるのだろうか。
より一般的に言うと、問題は、ゴール/クエリを介して渡される方程式に関係する定数と演算子をどのように識別するかということです。
prolog - 論理プログラムで代数ができるかどうか興味があります
Prolog と Logic Programming に関する短い記事を読みました。論理プログラムで代数ができるかどうか興味があります。式 5+X = 7 で X の変数が何であるかを尋ねて、-2 の答えを得ることができますか?
prolog - SWI-Prologの方程式ソルバー
SWI-Prolog
方程式を解くプログラムを書きたいです。私は知っGNU Prolog
ています、そしてそれは私を緊張させます...ここで何が悪いのですか?
X1
常にまたはにX2
等しい。0
1
prolog - Prolog で立方体と 3 つの区間を定義する
立方体と 3 つの間隔 Cx、Cy、および Cz を、それぞれ x、y、および z 軸上の立方体の投影として定義する必要があります。interval predicate を使用することになっていますinterval_dur
。リンク上の画像は、私が本当に必要としているものをより明確にするかもしれません。
元の質問は次のようになります。
各軸上の投影間の定性的な関係を考慮することで、直方体の内側と上部などの 3 次元の定性的な空間関係を定義できます。図 1 は
C
、x 軸、y 軸、および z 軸上に間隔投影された直方体を示しています。(a) 立方体を定義しC
ます。3 つの区間Cx
、Cy
、およびCz
を、それぞれ x 軸、y 軸、z 軸上の直方体の射影として定義します。インターバル述語を使用しますinterval_dur
。
prolog - プロローグを使用した不等式ソルバー
Prologと不等式は初めてです。Prologを使用して次のタイプの不等式の問題を解決したいと考えています。SWI-Prolog を使用しています。
例: 2x+3>5 が問題です。このプログラム x>1 の答えを得るには、どのようにプログラムを作成すればよいでしょうか。