私は、合理的なアルゴリズムを見つけようとしています。 some researchによると、この問題はNP完全です。私はすべてのパターンマッチを見つける必要はありません、私はちょうど存在するパターンマッチングを見つける必要があります。好ましくは、ツリー上で「削除」を実行する必要はありません(ノードを削除するコピーを作成する必要はありません)。順序付けられていないツリーパターンマッチングアルゴリズム
もう1つ注目すべきことは、ツリーがツリー照合クエリ間で更新されることです。この事実を利用するアルゴリズムが存在する可能性もあります。これは、以前の部分的な将来のマッチを最適化するためにツリー内で一致します。
私が言及した基準でこの問題を解決できる簡単なアルゴリズムはありますか?純粋な単純なブルートフォースアプローチよりもまだ優れていますか?
注:私の問題はthis previously asked questionと似ていますが、その問題は順序付けられたツリーに固有です。
「ツリーマッチング」とはどういう意味ですか? 1つの木がいつ別の木と同じ形をしているか把握していますか?それとも、1つのツリーがいつ別のツリーの形状に収まるかを理解することですか?または、他の何か? – btilly
複数の割り当てが可能な場合、どのパターンサブツリーとどの入力サブツリーが一致するかを決めることが難しいため、この問題はNP完結と思われます。頂点のカバーなどからの縮小があります。たぶんあなたはこれを心配する必要からあなたの人生の問題について何かがありますか? –
@btilly私は私の質問を編集しました、私は質問で引用した記事のイントロで定義されているようなツリーパターンマッチングを指しています。 – saltthehash