アイテムの配列 (〜 5000 アイテム、各アイテムは英単語) と、アイテムのペア間の距離関数があります。グループ内のすべてのアイテムが距離基準を満たす配列内のアイテムのグループを検索したい (たとえば、アイテムのすべてのペアの距離が 2 より小さい)。通常、グループはできるだけ大きくする必要がありますが、これに関する正式な定義や厳密な要件はありません。
私の実装言語は PHP ですが、これを効率的に処理できるアルゴリズムに関する一般的なアドバイスを探しています。
更新:頂点がアイテムであるグラフを作成することでこれを解決できると思います。距離の制約を満たすアイテム間にエッジがあります。グラフを作成したら、Bron–Kerbosch のようなアルゴリズムを実行して、すべての最大クリークをリストできます。これがうまくいった場合は更新しますが、その間にあなたの考えを自由に追加してください.