При условии, что у вас есть базовый набор, который вам необходим для генерации 4-элементных подмножеств,
baseSet = Flatten[Table[{i, j}, {i, 1, 96}, {j, 1, 4}], 1];
вы можете использовать RandomSample
следующим образом:
RandomSample[baseSet, 4]
Это дает вамдлина 4 случайное подмножество baseSet
.Генерация миллиона из них занимает 2,5 секунды на моей очень старой машине:
Timing[subsets = Table[RandomSample[baseSet, 4], {1000000}];]
Не все из того, что мы получаем, будут разными подмножествами, поэтому нам нужно удалить дубликаты, используя Union
:
subsets = Union[subsets];
После этого у меня все еще остается 999 971 элемент в пробном прогоне благодаря гораздо большему числу возможных подмножеств (Binomial[Length[baseSet], 4] == 891 881 376
)