Обсуждение статьи "Роль качества генератора случайных чисел в эффективности алгоритмов оптимизации"

 

Опубликована статья Роль качества генератора случайных чисел в эффективности алгоритмов оптимизации:

В этой статье мы рассмотрим генератор случайных чисел Mersenne Twister и сравним со стандартным в MQL5. Узнаем влияние качества случайных чисел генераторов на результаты алгоритмов оптимизации.

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

Давайте вместе разберемся в этом вопросе, но прежде, чем приступить, познакомимся с различными типами генераторов случайных чисел, их влиянием на результаты и где можно найти надежные варианты.

Генераторы случайных чисел (СЧ) — это алгоритмы или устройства, которые создают последовательность чисел или значений и числа кажутся случайными. Важно отметить, что в компьютерных науках и математике такие последовательности обычно называются "псевдослучайными", так как они генерируются детерминированными алгоритмами, а не истинно случайными процессами.

Автор: Andrey Dik

 
Спасибо. Ожидал большего влияния. Возможно существуют какие то особые ситуации в которых качество ГПЧ раскрывается сильнее
 
Rorschach #:
Спасибо. Ожидал большего влияния. Возможно существуют какие то особые ситуации в которых качество ГПЧ раскрывается сильнее

Да, я тоже ожидал гораздо большего влияния. Но, как оказалось, на качество оптимизации гораздо сильнее влияет сама стратегия алгоритма, нежели качество ГСЧ, а это само по себе - ценная информация.

Ну, кончено, если не брать в расчет откровенно кривые ГСЧ с огромными перекосами в десятки процентов, но их в любом случае нет смысла применять.

 

Прикольная тема. ИМХО либо числа случайные, либо качественные!

Если 100 баксов нашел, случайность качественная, а под машину попал - некачественная?

Потому и нет влияния, что его не должно быть. А если ГСЧ даёт какие-то дурные отклонения, то это уже не ГСЧ, а генератор ошибочно заложенного задания генерить эти самые отклонения (т.е. какую-то функцию). Есть же требования к ГСЧ. ИМХО для пригодности к тестированию генератору достаточно быть близким к этим требованиям.

 
Михалыч Трейдинг #:

Прикольная тема. ИМХО либо числа случайные, либо качественные!

Если 100 баксов нашел, случайность качественная, а под машину попал - некачественная?

Потому и нет влияния, что его не должно быть. А если ГСЧ даёт какие-то дурные отклонения, то это уже не ГСЧ, а генератор ошибочно заложенного задания генерить эти самые отклонения (т.е. какую-то функцию). Есть же требования к ГСЧ. ИМХО для пригодности к тестированию генератору достаточно быть близким к этим требованиям.

Похоже, Вы не читали статью.

Не путайте случайные процессы в природе со случайными числами, полученными с помощью ГСЧ. ГСЧ бывают разными и количество тестов, которые они проходят, значительно разнятся. Чем больше различных тестов проходит генератор, тем он качественнее.

 
Andrey Dik #:
ГСЧ бывают разными
ГПСЧ
 
Sergey Gridnev #:
ГПСЧ
Как угодно можно называть, свойства генераторов от этого не изменятся. Важно понимать, что программные генераторы не являются истинно случайными, сокращённо говорят - ГСЧ.
 
Вихрь медленнее стандартного примерно в 3.4 раза, что может заметно повлиять на скорость работы алгоритмов оптимизации.

На каждое вычисление ФФ приходится один вызов ГСЧ для генерации вектора входных ФФ. Торговая ФФ гораздо тяжелее ГСЧ, поэтому утяжеление ГСЧ не должно быть заметно.


Спасибо Автору за ГСЧ-ликбез и эксперимент. Хотелось бы увидеть в будущем ФФ другой природы.

 
fxsaber #:

На каждое вычисление ФФ приходится один вызов ГСЧ для генерации вектора входных ФФ. Торговая ФФ гораздо тяжелее ГСЧ, поэтому утяжеление ГСЧ не должно быть заметно.

Не на один вызов ФФ один вызов ГСЧ, а как минимум один вызов ГСЧ на каждую координату агента, плюс ещё разные вызовы, выбор особи и другие.

Так что, ГСЧ способен сильно тормозить общий процесс, а Вихрь Мерсенна далеко не самый тормозной ГСЧ (отчасти поэтому и был выбран, относительно быстрый и при этом проходит тест на равномерность), хотя сама ФФ, конечно, обычно весит гораздо больше.
 
fxsaber #:

Спасибо Автору за ГСЧ-ликбез и эксперимент.

Хотелось бы увидеть в будущем ФФ другой природы.

Спасибо за отзыв.

Имеете в виду - включить в список тестовых функций синтетический "торговый тест"? Это можно сделать, но думаю, что такой синтетический торговый тест будет практически идентичен по свойствам дискретной функции Megacity, можно и это проверить.

 
Andrey Dik #:

Имеете в виду - включить в список тестовых функций синтетический "торговый тест"?

Да, оптимизируем торговую систему.

Причина обращения: