次のように定義されたユーザーファクトのリストがあります。
user(@michael).
user(@ana).
user(@bob).
user(@george).
user(@john).
等々。さらに、次のような一連の事実があります。
follows(@michael,@ana).
follows(@ana,@bob).
follows(@bob,@michael).
user1 が間接的に user2 をフォローしているかどうかを教えてくれる関係 indirect(user1,user1) を書き込もうとしています。しかし、循環関係をなくすことはできません。
与えられた例のように、マイケル -> アナ -> ボブ -> マイケルはサイクルを引き起こします。
indirect(user1,user2) の結果からこれらのサイクルを排除する最良の方法は何ですか?