4

解決定理証明にKowalskiグラフアルゴリズムを使用しようとしています。http://www.doc.ic.ac.uk/~rak/でのアルゴリズムの説明は、 生成される多数の重複句について何をすべきかについては言及していません。それらに対処するためのよく知られたテクニックがあるかどうか疑問に思いますか?

特に、重複する句の生成を単純に抑制することはできません。これは、それらに付随するリンクが関連しているためです。

これまでに生成されたすべての句のセットを追跡する必要があるように思われます。複製が生成されたら、代わりに既存のインスタンスに新しいリンクを追加します。これは、句が名目上削除された場合でも、再生成された場合のために、おそらく維持する必要があります。

異なる句のリテラルは、同一であっても別個のオブジェクトであるため、重複は、オブジェクトの同等性ではなく、テキスト表現の観点から定義する必要があります。

私がここで正しい方向に進んでいるかどうかを誰かが確認できますか?また、このアルゴリズムについて私が見つけた唯一の重要なオンラインリファレンスは上記のリンクでした。他の誰か、またはそれを実装している既存のコードを知っている人はいますか?

4

2 に答える 2

0

これはほとんど完全にもっともらしく見えます。一部のグーグルは、明らかな実装を提示していません。私は同意します、あなたはアイデンティティの代わりに表現間の平等を見たいと思っています。

于 2008-12-12T21:56:27.103 に答える
0

コワルスキー アルゴリズムは、思ったほど役に立たないことがわかりました。基本的に、同じ句を何度も何度も生成するために CPU 時間をほぼすべて費やさないように、生成したものはすべて保持する必要があります。すべてを保持するということは、重複を見つけたいということです。つまり、すべてをハッシュ化したいということです。これには、単純なポインター比較によって ID をチェックできるという便利な副作用があります (各式のコピーが 1 つしかないため)。

于 2009-02-02T14:53:22.930 に答える