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 кодов с помощью Брезенхема.
Что скажете?

Date: 2011-10-28 12:55 am (UTC)
From: [identity profile] vgramagin.livejournal.com
Лично я - не возражаю!

Date: 2011-10-28 01:12 am (UTC)
vak: (Default)
From: [personal profile] vak
Звучит как "ватман для кульмана". :)

Date: 2011-10-28 02:31 am (UTC)
vak: (Default)
From: [personal profile] vak

Date: 2011-10-28 02:45 am (UTC)
vak: (Default)
From: [personal profile] vak
А, ну да...

Date: 2011-10-28 04:31 am (UTC)
From: [identity profile] scolar.livejournal.com
А откуда берётся это неестественное требование обойтись без рандомизации? При таких соотношениях мощностей множеств энтропии-то совсем чуть-чуть нужно.
Page generated Mar. 5th, 2026 05:32 pm
Powered by Dreamwidth Studios