Идеальный минимальный хэш для математических комбинаций

Сначала определите два целых числаN а такжеK, гдеN >= K, оба известны во время компиляции. Например:N = 8 а такжеK = 3.

Затем определите набор целых чисел[0, N) (или же[1, N] если это упрощает ответ) и назовите егоS, Например:{0, 1, 2, 3, 4, 5, 6, 7}

Количество подмножествS с участиемK элементы задаются формулойC(N, K), пример

Моя проблема заключается в следующем: создать идеальный минимальный хэш для этих подмножеств. Размер примера хеш-таблицы будетC(8, 3) или же56.

Меня не волнует порядок, только то, что в хеш-таблице содержится 56 записей, и что я могу быстро определить хеш из набораK целые числа. Меня тоже не волнует обратимость.

Пример хэша:hash({5, 2, 3}) = 42, (Число 42 не важно, по крайней мере, не здесь)

Есть ли общий алгоритм для этого, который будет работать с любыми значениямиN а такжеK? Я не смог найти его с помощью поиска в Google или своими собственными наивными усилиями.

Ответы на вопрос(2)

Ваш ответ на вопрос