Дано бесконечное множество / Вселенная (U) буквенно-цифровых элементов и семейство (F) подмножеств (U).
Рассчитать / сгруппировать все связанные подмножества в (F), где все элементы покрыты или меньше, см. Пример.
Вселенная на самом деле не бесконечна, но очень велика, примерно 59 миллионов элементов и растет. Семейные (F) подмножества, также не являются постоянными, примерно 13Mil элементов и растут.
Пример:
U = {9b3745e9
, ab70de17
, 1c410139
, 44038bbf
, 9c610bb
, ..., N}
F1 = {9b3745e9
, 07ee0220}
F2 = {9b3745e9
, ab70de17
, 99b5d738}
F3 = {99b5d738,07ee0220}
F4 = {9b3745e9
, ab70de17
, 1c410139
}
F4 * +1030 * высчитывает () * +1031 * = {F2, (2), F1 (1)} * * одна тысяча тридцать две
Конечно, вы можете сделать это на брутальной итерации, но со временем это не оптимальное решение (NP-полная задача).
Есть идеи, как это можно решить более эффективно? Кодирование подмножеств при использовании элемента / вектора Codebook, который больше, чем Universe, например, 70Mil или 100Mil. Но я не уверен насчет расчета.