私は、データログプログラムのセミナイーブな評価のためのアルゴリズムを実装しようとしてきましたが、簡単な言葉で違いを説明する簡単な答えをどこにも得ることができませんでした.
私の理解によると、ナイーブはボトムアップの評価手法であり、セミナイーブです。
最初の反復では、両方の評価手法が空のセットから始まります。
反復がさらに進むと、新しいタプルに到達するまで、反復が行われ、タプルが生成されます。
ではセミナイーブはルールの頭から始めるのか、体から始めるのか?
path (X,Y):- edge(X,Y).
path (X,Y):- edge(X,Z),path (Z,Y).
上記のプログラムの各反復の最後に EDB と IDB がどのように更新されるかを説明してください。各述語の下に格納されているタプルです。エッジの別の列とパスの別の列のように、またはコレクションとして保存されます。
また、グローバル統一とローカル統一の違いは何ですか?