問題タブ [prolog]

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 投票する
4 に答える
5262 参照

prolog - プロローグ パス検索

次の述語doorがあるとします。これは、2 つの部屋の間にドアがあることを宣言します。

そして、ドアの状態を宣言する述語doorstate :

2 つの部屋の間のすべてのドアが開いている場合、2 つの部屋の間に通路があります。

2 つの部屋の間にそのような経路があるかどうかを検出するルールを作成するにはどうすればよいでしょうか?

0 投票する
4 に答える
4910 参照

prolog - プロローグからのユニークな結果

プロローグで各結果を 1 回だけ返すクエリを作成する簡単な方法はありますか?

たとえば、私は次のようなことを試みています:

そして得る

私にとって役に立たない。

0 投票する
6 に答える
5301 参照

sql - prolog から SQL へのコンバーター

あまり考えなくても、Prolog の機能の大部分はリレーショナル計算 (別名 SQL) として実装できるように思えます。

Prolog を SQL に自動的に変換するツールについて聞いたことがありますか?

0 投票する
7 に答える
8008 参照

prolog - SML は何に使用されますか?

本当の意味での SML の用途は何ですか?

その実用的な用途は Prolog と似ていますか?

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

prolog - ハノイの塔パズル (プロローグ)

誰もが有名なハノイのプロローグを知っています

ここで見つけることができます

素晴らしいですが、このクエリを書くと move(3,left,right,center) になります。

これらの結果が表示されていません

私が得たものは

それで、どうすればより良い方法で結果を印刷できるのでしょうか。また、ディスクに名前を付けて、次の「ディスクAを左から右に移動」のように結果を表示するようにプログラムに名前を付けることができますか?

いろいろ聞いてすみませんが、私はPROLOGが大好きです。

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

prolog - Prolog 演算子の優先順位とルールの一致

次の 2 つのファクトをプロローグ インタープリターにロードしました。

次に、その結​​果で次のクエリを試します。

次に、次のクエリを試します。

私が理解しているように、これは演算子の優先順位がツリー式を構築する方法によって説明されます。

この説明は正しいですか?

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

prolog - Prolog の幅優先

Prolog のデフォルトの深さ優先検索スキームよりも幅優先を使用する一般的な考え方は何ですか?

無限の枝を取りませんか?

Prolog で幅優先を使用する一般的な方法はありますか? 私はグーグルで検索してきましたが、初心者にとって有用な情報があまり見つかりませんでした.

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

prolog - Prolog — 対称述語

プロローグで家系図をシミュレートする必要があります。そして、対称述語の問題があります。 事実:

ルール:

blood_relation頭が痛いです。これは私がやったことです:

そして、満足のいく結果が得られていると思います(二重印刷があります-これを修正できますか)、問題は、この関係を対称にしたいということです。今ではありません。

だから..これを修正する方法はありますか。そして、クエリが必要です: Blood_relation にないすべてのペア..

アップデート:

最初のステートメントは、どのような関係を満たす必要がありますか? 血の関係(X,Y):-血の関係(X,Y)。

申し訳ありません..それは悪いコピー/貼り付けです..それ

以上で修正されました。

その他のルールは次のとおりです。

母の弟は叔父の定義です。ちょっと変です。実装する必要があるルールがありますが、それ以外のルールを実装する方法がわかりません。私はただ混乱しています。

blood_relation対称にする方法はありますか?そしてnot_blood_relation新ルールです。そして、クエリが必要です。これは本当に頭が痛いです。多分関係ががらくたのように書かれているからです。

そして、これ以上の事実はありません。それで全部です。すべてのルール、すべての事実。

query..not(blood_relation(X,Y))は機能しません。その理由は本当にわかりません。クエリの例:

うまく動作します

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

artificial-intelligence - 後継者を使用して合計とサブをプロローグしますか?

後継者を使用した減算と合計とは何ですか。通常の方法でそれを行う方法を知っている例を教えてください。

/* sub(X, Y, Z) ---減算 */

sub(X, Y, Z) :- add(Y, Z, X).