a は複数の「カテゴリ」、b を持つオブジェクトです。たとえば、a1 には 3 つのカテゴリ b1、b2、b3 があります。問題は、カテゴリの数 (かなり大きくなる可能性があります) を、常に一緒に発生するグループに減らすことです。「最大共通サブセット」のこと。
たとえば、次のデータセットがあるとします。
a1{ b1,b2,b3 }
a2{ b2,b3 }
a3{ b1,b4 }
b2 と b3 は常に一緒になることがわかります。
b23 = {b2,b3}
..そして、カテゴリ セットを次のように減らすことができます。
a1{ b1, b23 }
a2{ b23 }
a3{ b1,b4 }
したがって、私の問題は、この問題を解決するためのアルゴリズムを見つけることです。
Longest Common Sequence問題を調べ始めましたが、解決策になるかもしれません。b' = LCS(set_of_As)
つまり、すべてのカテゴリがトラバースされるまで、このようなカテゴリを繰り返しグループ化するようなものです。ただし、これは完全ではありません。これを可能にするには、何らかの方法で入力ドメインを制限する必要があります。
明らかな何かを見逃していますか?あなたが私に指摘できる問題のドメインのヒントはありますか? そのような問題に対する他のアプローチを誰もが認識していますか。