spamsink: (Default)
[personal profile] spamsink


Стоит задача эффективно и без использования рандомизации строить N M-битных кодов, как можно более удаленных друг от друга в смысле Хемминга, в которых ровно K бит равны 1 (в типичном случае N в разы, а то и на порядки меньше, чем C(M, K)). Например, нужно получить пару тысяч 32-битных кодов с 3 битами, равными 1 (C(32, 3) = 4960); или пару десятков тысяч 32-битных кодов с 16 битами, равными 1 (C(32, 16) = 601080390, что всё ещё не ужас-ужас-ужас).
Я предлагаю пройтись (например, хаком Госпера для небольших M) по всем C(M, K) от "K младших единиц" до "K старших единиц", более или менее равномерно выбирая в общей сложности N кодов с помощью Брезенхема.
Что скажете?
This account has disabled anonymous posting.
If you don't have an account you can create one now.
HTML doesn't work in the subject.
More info about formatting
Page generated Mar. 5th, 2026 05:33 pm
Powered by Dreamwidth Studios