問題タブ [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.

0 投票する
1 に答える
35696 参照

prolog - Prolog で目標に対するすべての解を見つけるにはどうすればよいですか?

次のように値を次々に返す述語 P1 があります。

P2 という別の述語もあります。

RETURNのすべての値を見つけてに割り当てるにはどうすればよいLISTですか?

0 投票する
1 に答える
2615 参照

prolog - setof / bagof を使用したプロローグの存在修飾子

早速質問させていただきました。プロローグで setof を使用する存在修飾子 (つまり ^)。

SICStus を使用すると (多くの Web サイトが主張しているにもかかわらず)、S は実際に以下のコードで定量化されているように見えます (事実の母/子の沼地標準を使用して、ここには含めていません):

私は以下を使用して統一をチェックします:

したがって、存在演算子を使用した次のコードは違いがないようです。

これはなぜですか?その場合、ユニファイヤが必要になる状況はどのようなものでしょうか?

ありがとう!

0 投票する
2 に答える
2915 参照

prolog - 重複するソリューション

クエリに対して一意の回答を返すコードを取得しようとすると問題が発生します。たとえば、

その後、実行中

出力を与えます:

ご覧のとおり、2 つのソリューションは同じです。PROLOGに一意のソリューションを返す方法はありますか? 出力を与える:

0 投票する
2 に答える
2635 参照

prolog - プロローグのsetof

プロローグのsetofのソースコードは何ですか?

0 投票する
1 に答える
250 参照

prolog - Prolog のリスト内の最初のクエリと複製要素

私はプロローグが初めてです。以下に基本的なコードを書きました。

やりたいことは2つ。最初に次のようにクエリすると

プロローグが最初に見せてくれるのは

しかし、最初のクエリでリスト内のすべての要素を表示したい。

すなわち

もう 1 つは、リスト内の要素が重複しないようにすることです。

例えば;

私はそのような最後のリストを望んでいません。

これら2つのことをどのように修正できますか?ありがとう。

0 投票する
2 に答える
63 参照

prolog - プロローグなしでトランザクションからアイテムセットを効率的に取得する方法はありますか?

この質問をして申し訳ありませんが、私がPrologでプログラムして以来、多くのことがありました。私は命令型のパラダイムに慣れていると思います。:-(

Prologリレーションからアイテムセットを取得しようとしています:

次に、main(X)を参照すると、次の情報を取得したいと思います。

私はこれを行う適切な方法を理解することができません。

ポインタや少しの助けを得ることができれば、私は非常に感謝します。

ベスト、

B。

0 投票する
2 に答える
910 参照

prolog - リスト内の最大オカレンス

次のように、リストを指定すると、そのリストで最も多く繰り返される要素を返す Prolog 関数を作成しようとしています。

['a', 'a', 'b', 'c', 'b'] は ['a', 'b'] ['c', 'a', 'a', 'c', ' を返す必要があります。 b', 'c', 'b'] は ['c'] などを返す必要があります...

私は別の関数でそれをやろうとしています(リスト(カウントリスト)に何かが存在する回数を数えますが、どこにも行きません。少し助けてください?

0 投票する
3 に答える
949 参照

recursion - 同じ結果をスキップするプロローグ再帰

私のコードは実行されますが、問題は同じ結果が複数回表示されることです。これが私のコードです:

プロローグで実行したときの結果:

同じ結果を避けるにはどうすればよいですか?ここで見つけた他の方法を使用してみました:

しかし、それを自分のコードに適用できませんでした。助けてください。

0 投票する
1 に答える
65 参照

database - この特定の状況でリトラクトを使用して繰り返しを削除するにはどうすればよいですか?

day(sat,1,_,c6301,_,_,_,_)たとえば、すべての(日)ファクトには、各日とスロットの例に対して1つの部屋のみが必要であると 主張した後、特定のファクトを削除する方法day(sat,1,_,c6302,_,_,_,_)を見つけたいと思いますday(sat,1,_,c6301,_,_,_,_)

0 投票する
1 に答える
197 参照

prolog - setof/3およびNAF

だから私は一連の事実を持っています:

彼が受けたすべてのクラスに参加したgood_standing(Student)かどうかを判断するために、述語を定義する必要があります。私は2つの異なるアプローチを使用する必要があります:StudentA

  1. 使用するsetof/3
  2. NAFを使用する

1日。私はgetを理解しようとしましたResult_list:彼が受けたすべてのクラスからAを得た学生のセット。次に、を呼び出しますmember(Student, Result_list)Result_listしかし、構文が少し奇妙なので、何を取得すればよいかわかりません。