У меня есть несколько списков, которые можно рассматривать как строки целых чисел. Например:Алгоритм - найти наименьшее подмножество ячеек, представляющих все строки
[1 3 5]
[3 7]
[3 5 7]
[1 5 9]
[3 9]
[1 7]
[5 9 11]
Я хотел бы найти наименьшее возможное множество целых чисел, представленных на этих строках, так что:
- каждая строка имеет по крайней мере один из выбранных чисел,
- в случай связей мощности, выберите набор, имеющий самую высокую сумму.
В моем примере я считаю, что результат должен быть [5 7 9] (предпочтительнее [3 5 7] или [1 3 11] или ... много возможностей).
Вторая часть тривиальна (выбор высшей суммы), но поколение всех минимальных подмножеств в мощности кажется трудным.
Знаете ли вы, хороший способ достичь этого?
Редактировать
Размер данных медленно растет с итераций, но мне нужно точное совпадение.
Ооочень приятно спасибо еще больше.Ну, мне не нравится ответ, но я думаю, что я должен буду с этим поработать. :) – glmxndr