これは宿題ではありませんが、調査中に遭遇した質問です。この問題が NP 困難かどうかを知る必要があります。前者の場合は近似アルゴリズムが必要であり、後者の場合は最適解を提供する効率的なアルゴリズムが必要です。
非公式の説明:
p 人が t 個のツールを使用していると想像してください。すべての人がすべてではなく、2、3 のツールしか使用していません。誰がどのツールを使用したかを誰かが書き留めます。質問: 各人が少なくとも k 個のツールを使用し、他の人も使用する最大のグループを見つける方法は? 【事前問題解説:みんなと同じ道具?】 道具の数がt'に制限されている
この問題の正式な説明を作成しました。これは役立つ場合があります。
G=(P,T,E) を2 部グラフとします。ここで、P は人の集合を表し、T はツールの集合を表します。人がそのツールを使用した場合、P のノード p と T の t の間にエッジがあります。目標は、次の条件が適用されるセット P'、T' を見つけることです。1) P' 内の任意の p' から、T' 内の任意の t' に単一のエッジで到達できます。2) |P'|、つまり P' 内のノードの数は最大です。
非効率的なアプローチは、各サブセット P' を取得し、P' 内の p' に関連付けられた各 t' の交差を計算することです。残念ながら、そのようなサブセットの数は指数関数的に増加し、計算はすぐに扱いにくくなります。
どうもありがとうございました!