問題タブ [transitive-closure]
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 でグラフを定義する: エッジとパス、2 つの頂点間にパスがあるかどうかを調べる
私はプロローグが初めてです。graph.pl
次のグラフで定義しました。
そして、ここに私のプロローグコードがあります:
私はそれを次のように理解しています:頂点と頂点の間にエッジがあり、頂点と頂点の間にパスがある場合にのみ、頂点とX
頂点の間にパスがありますY
X
Z
Z
Y
(ある種の再帰)。
提示されたグラフでよろしいですか?A
頂点と頂点の間のパスについて Prolog に尋ねると、F
それは私に与えられますtrue
...これは正しくありません! このコードで何が間違っている可能性がありますか?
prolog - PROLOG 類似のオブジェクトを「接続」する方法
ちょっとプロローグが初めてで、疑問に思っていました:
私はこのコードを持っているとしましょう:
consistsof(X,Y):- component(X,Y); component(Y,Z).
そして私は私に与える引数を作成したい
:
Y = b、c、d、e、f
だから私は "a" の結果と "a" が (b,e) および (b,f) に接続されているものの結果を取得したいと考えています。あまり具体的でない場合は申し訳ありません。
prolog - プロローグ「ローカルスタック不足」エラー
これが私の簡単なPrologプログラムです:
次のクエリを入力すると
Prolog は次の出力を提供します。
さらにセミコロンを入力すると、Prolog は次のように言います。
ここで何が間違っていますか?
prolog - プロローグの対称関係に対する推移閉包
私はプロローグ初心者で、「兄弟」関係を作りたいと思っています。
兄弟 (alin, alex)が true である場合、兄弟 (alex, alin)も同様である必要があるように、関係は対称である必要があります。
また、brother(alin, alex)とbrother(alex, claudiu)が true である場合、brother(alin, claudu ) も true である場合のように、推移的である必要があります。
to プロパティを組み合わせると、brother(alex, alin)とbrother(alex, claudiu)が true の場合、brother(alin, claudu)も true になるはずです。
これが私のコードです:
r_brother - 基本的な関係です
s_brother - 対称的な兄弟関係です (これはうまくいきます)
t_brother - これは推移的で対称的な関係である必要があります。ループが発生しないように中間ノードを保持します
問題は、次の場合の答えです。
は:
トレースを調べたところ、問題の内容は理解できましたが、解決方法がわかりません。
alinは可能な答えであってはならず、他の答えは 1 回だけ現れるべきです。
prolog - リストを使用してAからBへのパスを記録するには?
ノード 1、2、...、n を含むマップがある場合、 からn1
に移動できるかどうかを知りたい場合n2
は、次のコードを使用できます。
A
しかし、 からへのパスを記録しB
て表示するにはどうすればよいでしょうか。
recursion - ローカル スタック スペースからの Prolog アウト/無限再帰
このサイトで他の同様の質問と回答を読みましたが、特定の問題に対する回答が見つからないようです。Prolog で迷路をエンコードしようとしています。領域 0 から領域 1 または領域 3 に自由に移動できます。領域 3 から、領域 0、領域 4、領域 5 などに自由に移動できます。長さ 7 のすべてのパスを最初から最後(0から14まで)。SWI-Prolog で次の方法で問題をエンコードしました。
実行するpath(14,0).
と が得られtrue
ます。ただし、path(0,14) を実行すると、ローカル スタック領域が不足します。それがどのようになるかわかりません。助けてくれてありがとう!