Сравнение рандомов
От: WolfHound  
Дата: 21.12.02 19:30
Оценка: 35 (4) -1
Процедура: делался дамп из 100000000 случайных чисел далие Rar3 с параметром -m5 пытался это упаковать.
Next1->   dump1.rar=400,000,063 //не сжато совсем!!!63 байта это заголовок дальше дамп без изменений!!!
Next2->   dump2.rar=103,635,181
Next3->   dump3.rar=394,442,359

Итого: По мнению rar'а первый метод рулит.
class C_Rand
{
    int x1;
    int x2;
    int m_rand;
    enum
    {//a, b простые
        a=0x00EC4BA7,
        b=0x00E68B2F,
    };
    void Next()
    {
        x1+=x2+a;
        x2+=x1+b;
        m_rand=x2;
    }
    void Next2()
    {
        x2=x2*a+b;
        m_rand=x2;
    }
    void Next3()
    {//стандартный рандом
        m_rand=rand();
        m_rand+=rand()<<16;
    }
public:
    C_Rand(){}
    operator int()
    {
        Next2();
        return m_rand;
    }
};
... << RSDN@Home 1.0 beta 4 >>
Пусть это будет просто:
просто, как только можно,
но не проще.
(C) А. Эйнштейн
Re: Сравнение рандомов
От: Sergeem Израиль  
Дата: 24.12.02 08:19
Оценка: 7 (1) +1
Здравствуйте, WolfHound, Вы писали:

WH>Процедура: делался дамп из 100000000 случайных чисел далие Rar3 с параметром -m5 пытался это упаковать.

WH>
Next1->>   dump1.rar=400,000,063 //не сжато совсем!!!63 байта это заголовок дальше дамп без изменений!!!
Next2->>   dump2.rar=103,635,181
Next3->>   dump3.rar=394,442,359
WH>

WH>Итого: По мнению rar'а первый метод рулит.
WH>
WH>class C_Rand
WH>{
WH>    int x1;
WH>    int x2;
WH>    int m_rand;

....

WH>public:
WH>    C_Rand(){}

А где иницализация мемберов????
Да, хороший генератор случайных чисел появился :)

WH>    operator int()
WH>    {
WH>        Next2();
WH>        return m_rand;
WH>    }
WH>};
WH>


По мнению рара, рулить может все что угодно. Однако
для генераторов превдослучайных последовательностей
существуют еще и другие параметры, определяющие их
качество. Советую почитать где-нить в специальной
литературе, у Кнута например.
Serge.

Hасколько проще была бы жизнь, если бы она была в исходниках.
Re: Сравнение рандомов
От: Багер  
Дата: 22.12.02 02:24
Оценка:
Я знал, что есть вариант простой и изящный! WolfHound
Ваша программа работает корректно? Один звонок и я всё исправлю!

Делаю потенциальные фичи :))
Re[2]: Сравнение рандомов
От: cpp Россия http://www.elecard.com
Дата: 24.12.02 08:35
Оценка:
Здравствуйте, Sergeem, Вы писали:

абсолютно согласен с вами Sergeem.
Вообще — кто-нить точно знает как рар жмет?
LZ + ARI + ? И как это математически привязать к длине апериодичности и коррелированности псевдослучайных величин?
Конечно это некоторый показатель, но по большей части им можно оценить сам рар
Попробуйте PPM алгоритмы уровня, так скажем, 10-того, вот и посмотрим что такое рар в данном контексте
брать здеся
Сергей.
Re[3]: Сравнение рандомов
От: WolfHound  
Дата: 24.12.02 20:15
Оценка:
Здравствуйте, cpp, Вы писали:

cpp>Конечно это некоторый показатель, но по большей части им можно оценить сам рар

ИМХО не плохой+равномерное распределение.
cpp>Попробуйте PPM алгоритмы уровня, так скажем, 10-того, вот и посмотрим что такое рар в данном контексте
cpp>брать здеся
Ы! Уш больно он тормозной!
... << RSDN@Home 1.0 beta 4 >>
Пусть это будет просто:
просто, как только можно,
но не проще.
(C) А. Эйнштейн
Re[2]: Сравнение рандомов
От: WolfHound  
Дата: 24.12.02 20:15
Оценка:
Здравствуйте, Sergeem, Вы писали:

S>А где иницализация мемберов????

Хвтит придираться к томоже это эму на пользу ибо генератор _случайных_ чисел.
А так тебе больше нравится?
class C_Rand
{
    unsigned int x1;
    unsigned int x2;
    enum
    {
        a=0x00EC4BA7,
        b=0x00E68B2F,
    };
    void Next()
    {
        x1+=x2+a;
        x2+=x1+b;
    }
public:
    C_Rand()
        :x1(0)
        ,x2(0)
    {}
    C_Rand(unsigned int x1_, unsigned int x2_)
        :x1(x1_)
        ,x2(x2_)
    {}
    operator unsigned int()
    {
        Next();
        return x2;
    }
    double Get()
    {
        Next();
        return ((double)x2)/((double)0x100000000);
    }
    double Get(double d)
    {
        Next();
        return (d*(double)x2)/((double)0x100000000);
    }
    double Get(double d1, double d2)
    {
        Next();
        return ((d2-d1)*(double)x2)/((double)0x100000000)+d1;
    }
};


S>По мнению рара, рулить может все что угодно. Однако

S>для генераторов превдослучайных последовательностей
S>существуют еще и другие параметры, определяющие их
S>качество. Советую почитать где-нить в специальной
S>литературе, у Кнута например.
Ой щаз не времени может сам протестишь?

ЗЫ а 0 за что? Я же только хотел показать генератор и все.
... << RSDN@Home 1.0 beta 4 >>
Пусть это будет просто:
просто, как только можно,
но не проще.
(C) А. Эйнштейн
Re[4]: Сравнение рандомов
От: Багер  
Дата: 25.12.02 13:14
Оценка:
cpp>>Попробуйте PPM алгоритмы уровня, так скажем, 10-того
Не понял, а как его юзать? Он только расширяет файлы
Ввожу:
PPMonstr.exe e superfile.rar
PPMonstr.exe e superfile.zip
PPMonstr.exe e AntiTrust.avi
Ваша программа работает корректно? Один звонок и я всё исправлю!

Делаю потенциальные фичи :))
Re[5]: Сравнение рандомов
От: cpp Россия http://www.elecard.com
Дата: 26.12.02 04:18
Оценка:
Здравствуйте, Багер, Вы писали:

cpp>>>Попробуйте PPM алгоритмы уровня, так скажем, 10-того

Б>Не понял, а как его юзать? Он только расширяет файлы
Б>Ввожу:
Б>PPMonstr.exe e superfile.rar
Б>PPMonstr.exe e superfile.zip
Б>PPMonstr.exe e AntiTrust.avi

А кто вам сказал, что информация, с плохой статистикой может быть сжата???
Жмите для сравнения
PPMonstr.exe e superfile.txt
PKZip superfile.zip superfile.txt

и смотрите результ
Сергей.
Re[6]: Сравнение рандомов
От: Багер  
Дата: 26.12.02 05:31
Оценка:
Здравствуйте, cpp, Вы писали:

cpp>А кто вам сказал, что информация, с плохой статистикой может быть сжата???

cpp>Жмите для сравнения
cpp>PPMonstr.exe e superfile.txt
cpp>PKZip superfile.zip superfile.txt

cpp>и смотрите результ


Так жму! И результат смотрю!
Рар в десятки раз быстрее работает и на порядок качественнее сжимает!
Самый яркий пример:
С 25,5 МБ вэйва раром получено за меньше минуты 19,1 МБ, а этой шнягой за 14 минут и 23 МБ!
Ваша программа работает корректно? Один звонок и я всё исправлю!

Делаю потенциальные фичи :))
Re[7]: Сравнение рандомов
От: cpp Россия http://www.elecard.com
Дата: 26.12.02 05:51
Оценка:
Здравствуйте, Багер, Вы писали:

Б>Здравствуйте, cpp, Вы писали:


cpp>>А кто вам сказал, что информация, с плохой статистикой может быть сжата???

cpp>>Жмите для сравнения
cpp>>PPMonstr.exe e superfile.txt
cpp>>PKZip superfile.zip superfile.txt

cpp>>и смотрите результ


Б>Так жму! И результат смотрю!

Б>Рар в десятки раз быстрее работает и на порядок качественнее сжимает!
Б>Самый яркий пример:
Б>С 25,5 МБ вэйва раром получено за меньше минуты 19,1 МБ, а этой шнягой за 14 минут и 23 МБ!

Вы конечно можете не поверить, но PPMonstr входит в тройку САМЫХ МОЩНЫХ ПО СТЕПЕНИ СЖАТИЯ АРХИВАТОРОВ В МИРЕ.
Рар там даже в десятке не фигурирует. Советую посмотреть здесь
Сергей.
Re[8]: Сравнение рандомов
От: Багер  
Дата: 26.12.02 21:09
Оценка:
Здравствуйте, cpp, Вы писали:

cpp>Вы конечно можете не поверить, но PPMonstr входит в тройку САМЫХ МОЩНЫХ ПО СТЕПЕНИ СЖАТИЯ АРХИВАТОРОВ В МИРЕ.

Всё больше и больше мне нравится этот архиватор! Даже ссылка — и та НЕ РАБОТАЕТ!
Ваша программа работает корректно? Один звонок и я всё исправлю!

Делаю потенциальные фичи :))
Re[9]: Сравнение рандомов
От: cpp Россия http://www.elecard.com
Дата: 27.12.02 05:42
Оценка:
Здравствуйте, Багер, Вы писали:

Б>Всё больше и больше мне нравится этот архиватор!

Если подходить предвзято, то конечно

Б>Даже ссылка — и та НЕ РАБОТАЕТ!

Возможно, но я достучался, (хотя есть еще и кэш)

Если еще осталось желание, то можно здесь.

Только без матов, пожалуйста. Я же не виноват, что страницы похерили.
Сергей.
Re[10]: Сравнение рандомов
От: Багер  
Дата: 27.12.02 11:31
Оценка:
Здравствуйте, cpp, Вы писали:

cpp>Если еще осталось желание, то можно здесь.


Отлично. Рара там нет по той причине, что все написанные там результаты у рара в два раза лучше, как время, так и сжатие. Проверьте сами. А потом, если получится что рар где-то проиграл, хотя-бы на процент — пришлите этот файл мне (до 3х метров) и Ваши результаты. Я попытаюсь изменить своё мнение или прокоментировать почему у Вас не сжалось раром.
Ваша программа работает корректно? Один звонок и я всё исправлю!

Делаю потенциальные фичи :))
Re[11]: Сравнение рандомов
От: cpp Россия http://www.elecard.com
Дата: 27.12.02 14:11
Оценка:
Здравствуйте, Багер, Вы писали:

Б>Здравствуйте, cpp, Вы писали:


cpp>>Если еще осталось желание, то можно здесь.


Б>Отлично. Рара там нет по той причине, что все написанные там результаты у рара в два раза лучше, как время, так и сжатие. Проверьте сами. А потом, если получится что рар где-то проиграл, хотя-бы на процент — пришлите этот файл мне (до 3х метров) и Ваши результаты. Я попытаюсь изменить своё мнение или прокоментировать почему у Вас не сжалось раром.


берем признак разумности из раздела "Коллеги улыбнитесь" прямо из веба нажимаем копировать все (Ctrl-A) чтобы со всеми линками (там подписаться-отписаться) в текстовичок и жмем Rar->Best, PPMonstr с дефолтными настройками, я его тебе вышлю, чтобы не было недопонимания в версиях.
ОК?
Сергей.
Re[12]: Сравнение рандомов
От: Багер  
Дата: 27.12.02 14:47
Оценка:
Здравствуйте, cpp

Какой смысл сжимать файлы в три килобайта?
Ваша программа работает корректно? Один звонок и я всё исправлю!

Делаю потенциальные фичи :))
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.