問題タブ [instantiation-error]
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 - Prolog 制約プログラミングでのラベル付け
私は Prolog を初めて使用し、現在単純な制約プログラミングの問題に取り組んでいます。したがって、A + B + C + d = A B C * D = 7.11というプロパティを持つ 4 つの実数 A、B、C、D があります。整数で作業する方が簡単なので、次の実装を試しました。
上記は部分的に解決された答えを与えるので、キーワードlabel(Vars)
を最後に入れてみました。しかし、これにより、私の実行がgrocery(V)
生成されます
をgrocery([V])
与えてくれますfalse
。ラベル付けの方法を教えてもらえますか? ありがとう
編集:以前にライブラリclpfdへの呼び出しを入れませんでした
prolog - 単純な Prolog プログラム:「引数が十分にインスタンス化されていません」エラー
番号付きリストから最初の 3 つの要素を切り取り、結果を出力する Prolog 述語を作成しています。番号付きリストの例:
通常のリストの元の述語は次のようになります。
したがって、長さの述語は番号付きリストに対しても完全に機能するため、ある番号付きリストを別の番号付きリストに追加する述語を記述するだけで済みました。
番号付きリストの述語は、通常のリストの述語を少し変更したバージョンになると予想していたので、次のように書きました。
ただし、次のエラーが発生します。
誰かがエラーの原因とそれを回避する方法を説明してもらえますか? 私はプロローグが初めてです。
prolog - プロローグ エラー: is/2: 引数が十分にインスタンス化されていません
私はプロローグが初めてです。私は次のように非常に短いプログラムを書きました:
実行すると、次の問題が発生します。
エラーが発生するのはなぜですか?同じ目標を達成するためにコードを変更するにはどうすればよいですか? 私を助けてくれてありがとう!
prolog - Prolog count 要素数エラー
私はプロローグを学んでいて、リスト内の特定の要素の出現を数えたいと思っています。
だからここにコードがあります -
したがって、基本的にはコンソール check([3,4,3], [2,3,4,5,2]) に渡したいのですが、list1 での 3 の出現は次の出現と同じであるため、true を返す必要があります。リスト2の2。しかし、代わりにそれは私を投げます -
これは何が原因で、どうすれば解決できますか? フォーラム全体をチェックしましたが、どこでもこれが機能するはずだと書かれています。これはある種のバージョン関連のものですか、それとも本当にここに何か欠けていますか?
編集: SWI-Prologを使用します。
EDIT2:
うまくいきました、ありがとう!
コード:
prolog - Prolog 引数が十分にインスタンス化されていない (リストの長さを計算する関数)
リストの長さを計算する関数を作成しました。以下は私のコードです。
このコードを入力で実行すると
?- listLength([1, 2, 3, 4, 5, 6, 7])。
次に、インタープリターがエラーメッセージを表示しましたsolve/2 : Arguments are not sufficiently instantiated.
上記のコードを以下のように変更したとき。
このコードを同じ入力で実行すると、常に0が書き込まれます。
LENGTH を計算したいのですが、変数を listLength 関数で使用したいと考えています。
私がどうかしましたか、まずいことでもありましたか?(私はswi-prologを使用していることに注意してください。)
prolog - 再帰中の変数のカウント
長さが等しい 2 つのリストの違いを判断し、変数の違いの数を示すプログラムを作成したいと考えています。これまでの私のコードは次のとおりです。
プログラムは 2 つの同一のリストに対して機能しますが、リスト間の違いはカウントされません。十分にインスタンス化されていません。」これを修正する方法は?
前もって感謝します!
prolog - 引数が十分にインスタンス化されていません
コードを 1 時間読みましたが、どこに問題があるのか わかりません。このエラーは、以前にインスタンス化していない引数を使用していることを意味すると読みましたが、それがどこにあるのかわかりません。手伝って頂けますか?
as/is_polynomial のコードは含めません。以前に使用していて、そのコードに問題はありません。助けてください。私が試した例は、maxdegree(x^5+y^500+4, R) です。(最小度も同じ)
recursion - プロローグ:: f(x) 再帰
私は Prolog の初心者で、2 つの要件があります。
f(1) = 1
f(x) = 5x + x^2 + f(x - 1)
ルール:
f(1,1).
f(X,Y) :-
Y is 5 * X + X * X + f(X-1,Y).
クエリ:
f(4,X).
出力:
ERROR: is/2: Arguments are not sufficiently instantiated
f(X-1) の値を追加するにはどうすればよいですか?