[devel] вопрос про числа

Денис Смирнов mithraen at altlinux.ru
Sat Nov 7 19:54:36 UTC 2009


On Sat, Nov 07, 2009 at 10:34:02PM +0300, Алексей Турбин wrote:
AT> Сгенирируем n случайных чисел из диапазона 0..2^m-1 и упорядочим их
AT> по возрастанию.  Для примера m=32, n порядка 10^3.
AT> Вычислить энтропию и предложить оптимальную процедуру кодирования
AT> (сжатия) последовательности.  Сколько битов на число можно получить?

1. Попробовать для начала представить это в виде последовательности
разностей соседних чисел? (сжимаем диапазон)

2. При кодировании результата разделяем на два потока значение количества
нулевых битов перед первым значащим битом в конечном числе и собственно
значение. Второе, я так понимаю, сжать невозможно, а первое должно
сжиматься неплохо -- во-первых для кодирования нужно не более чем log2 m
(в нашем случае 5) бит. Во вторых распределение вероятностей будет
неравномерным, и тут можно воспользоваться каким-нибудь арифметическим
кодером.

Как отправная точка сойдет?

-- 
С уважением, Денис

http://freesource.info
----------------------------------------------------------------------------
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 198 bytes
Desc: Digital signature
URL: <http://lists.altlinux.org/pipermail/devel/attachments/20091107/50bffcf0/attachment.bin>


More information about the Devel mailing list