Prolog でサイクルを使用して (実行時に) 有向グラフを作成する必要がありますが、それを表現する方法がわかりません。私の要件は、一定時間内に 1 つの頂点からその隣の頂点に到達する必要があるということです。
それをツリーとして表現することは可能ですか?例えば:
t(left_son,V,right_son)
しかし、どのようにサイクルを解決するのですか?
エッジのリストを作成できます。
graph([a,b,c,d],[e(a,b),e(b,c),e(c,a),e(c,d)])
あるいは単に
[a->[b],b->[c],c->[a,d],d->[]]
しかし、線形時間を消費する隣人を検索しているときに、リストで関数「メンバー」を呼び出さないようにするにはどうすればよいですか?
ご協力いただきありがとうございます