Лучшая комбинация списков, которая обеспечивает больше уникальных значений - PullRequest
0 голосов
/ 04 июля 2019

Не уверен, что кто-то может мне помочь с этой проблемой.

У меня есть 5 списков значений разной длины. Примечание: одно и то же значение может присутствовать в разных списках.

Кто-нибудь знает, как получить комбинацию из 3 списков, которая даст больше общих уникальных значений?

Заранее спасибо, Miguel

1 Ответ

0 голосов
/ 04 июля 2019

На самом деле у меня нет ответа на ваш вопрос, который кажется скорее вопросом комбинаторики, чем программированием.Я чувствую, что если вы хотите получить точное решение, вам нужно попробовать все возможные комбинации подмножеств из 3 списков из 5 (их 10).Помните, что если вы идете по этому пути, то если вам нужно количество уникальных элементов объединения трех списков, вам не обязательно делать length(unique(c(l1,l2,l3)), что, я думаю, может быть неэффективным, если у вас очень длинные списки.Вы можете использовать формулу для размера пересечения 3 наборов, которую вы можете найти, например, в https://math.stackexchange.com/questions/669249/probability-of-the-union-of-3-events.Для этого вам потребуется только вычислить длину всех возможных пересечений списков.это может быть чисто академическое упражнение: как я уже сказал, я не предлагаю ответ, но если вы не знакомы с этой формулой, ее стоит прочитать, поскольку она имеет отношение к проблеме определения размера набора.

...