問題タブ [prolog-setof]
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 で目標に対するすべての解を見つけるにはどうすればよいですか?
次のように値を次々に返す述語 P1 があります。
P2 という別の述語もあります。
RETURN
のすべての値を見つけてに割り当てるにはどうすればよいLIST
ですか?
prolog - setof / bagof を使用したプロローグの存在修飾子
早速質問させていただきました。プロローグで setof を使用する存在修飾子 (つまり ^)。
SICStus を使用すると (多くの Web サイトが主張しているにもかかわらず)、S は実際に以下のコードで定量化されているように見えます (事実の母/子の沼地標準を使用して、ここには含めていません):
私は以下を使用して統一をチェックします:
したがって、存在演算子を使用した次のコードは違いがないようです。
これはなぜですか?その場合、ユニファイヤが必要になる状況はどのようなものでしょうか?
ありがとう!
prolog - 重複するソリューション
クエリに対して一意の回答を返すコードを取得しようとすると問題が発生します。たとえば、
その後、実行中
出力を与えます:
ご覧のとおり、2 つのソリューションは同じです。PROLOGに一意のソリューションを返す方法はありますか? 出力を与える:
prolog - プロローグのsetof
プロローグのsetofのソースコードは何ですか?
prolog - Prolog のリスト内の最初のクエリと複製要素
私はプロローグが初めてです。以下に基本的なコードを書きました。
やりたいことは2つ。最初に次のようにクエリすると
プロローグが最初に見せてくれるのは
しかし、最初のクエリでリスト内のすべての要素を表示したい。
すなわち
もう 1 つは、リスト内の要素が重複しないようにすることです。
例えば;
私はそのような最後のリストを望んでいません。
これら2つのことをどのように修正できますか?ありがとう。
prolog - プロローグなしでトランザクションからアイテムセットを効率的に取得する方法はありますか?
この質問をして申し訳ありませんが、私がPrologでプログラムして以来、多くのことがありました。私は命令型のパラダイムに慣れていると思います。:-(
Prologリレーションからアイテムセットを取得しようとしています:
次に、main(X)を参照すると、次の情報を取得したいと思います。
私はこれを行う適切な方法を理解することができません。
ポインタや少しの助けを得ることができれば、私は非常に感謝します。
ベスト、
B。
prolog - リスト内の最大オカレンス
次のように、リストを指定すると、そのリストで最も多く繰り返される要素を返す Prolog 関数を作成しようとしています。
['a', 'a', 'b', 'c', 'b'] は ['a', 'b'] ['c', 'a', 'a', 'c', ' を返す必要があります。 b', 'c', 'b'] は ['c'] などを返す必要があります...
私は別の関数でそれをやろうとしています(リスト(カウントリスト)に何かが存在する回数を数えますが、どこにも行きません。少し助けてください?
recursion - 同じ結果をスキップするプロローグ再帰
私のコードは実行されますが、問題は同じ結果が複数回表示されることです。これが私のコードです:
プロローグで実行したときの結果:
同じ結果を避けるにはどうすればよいですか?ここで見つけた他の方法を使用してみました:
しかし、それを自分のコードに適用できませんでした。助けてください。
database - この特定の状況でリトラクトを使用して繰り返しを削除するにはどうすればよいですか?
day(sat,1,_,c6301,_,_,_,_)
たとえば、すべての(日)ファクトには、各日とスロットの例に対して1つの部屋のみが必要であると
主張した後、特定のファクトを削除する方法day(sat,1,_,c6302,_,_,_,_)
を見つけたいと思いますday(sat,1,_,c6301,_,_,_,_)
。
prolog - setof/3およびNAF
だから私は一連の事実を持っています:
彼が受けたすべてのクラスに参加したgood_standing(Student)
かどうかを判断するために、述語を定義する必要があります。私は2つの異なるアプローチを使用する必要があります:Student
A
- 使用する
setof/3
- NAFを使用する
1日。私はgetを理解しようとしましたResult_list
:彼が受けたすべてのクラスからAを得た学生のセット。次に、を呼び出しますmember(Student, Result_list)
。Result_list
しかし、構文が少し奇妙なので、何を取得すればよいかわかりません。