Вы упускаете торговые возможности:
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Регистрация
Вход
Вы принимаете политику сайта и условия использования
Если у вас нет учетной записи, зарегистрируйтесь
Андрей, ещё вопрос.
Можно ли сказать, что такие значения этих переменных годятся для большинства задач оптимизации?
Можно.
Настройки взяты с некоторым "запасом", для повышения поисковой способности (покрытия поля поиска). Для более точных значений (но снижается вероятность что вообще будет найден глобальный экстремум) можно уменьшить параметры мутаций и коэффициент смещения границ интервала.
Андрей, ещё вопрос.
Можно ли сказать, что такие значения этих переменных годятся для большинства задач оптимизации? Как пишут в некоторых источниках "... 90% задач могут быть решены с использованием обычного перцептрона".
ЗаГАште ГА :)
Алгоритм однопоточный, легко встраивается в советник, запускаете в тестере и устраиваете соревнования среди ГА бу-га-га.
Замечательно.
Андрей, Вы знаете, дивлюсь своей наглости, но вынужден озвучить некоторую "критику" ))
В коде UGA в трех местах вызывается функция ServiceFunction(). Но это ни к чему. На экране, конечно, динамика видна, но настолько быстро, что увидеть и оценить всё равно не получится. В теле UGA() её вызов можно убрать. Вполне достаточно вызвать её 1 раз после вызова UGA().
"... а скрипач не нужен, он только лишнее топливо жрет" (кин дза дза (с))
Провел эксперимент. Сделал сумму трёх синусоид с "частотами" 47, 81, 187. Получилось вот это
Далее запустил поиск прямым перебором (3 цикла, 2 вложенных), правда, с прерыванием по достижении значения коэффициента корреляции = 1.0. Без этого условия вся эта ерунда вертелась бы в разы дольше. А так справилась за 375 секунд (чуть больше 6 минут).
ГА справился за 2 секунды. ))
Но есть вопрос. Вот результат.
Последние 2 цифры: 2747 - количество вызовов FF; 506 - количество "состояний", когда коэффициент корреляции r был равен 1.0. Получается, что алгоритм мог отработать ещё быстрее, поскольку r не может быть больше 1.0 и после первого же достижения r=1 задача считается выполненной. Но алгоритм достиг состояния r=1.0 506 раз.
Вот такие были параметры
И такая FF
Вопрос - можно как-то объяснить алгоритму, что (иногда) можно (нужно) завершаться раньше. Или этого категорически делать нельзя, а надо ждать когда достигнется сходимость?
Ну вот, давно хотелось знать ответ на вопрос "сколько". На этот раз взял моментум и натравил на него 50 синусоид. Диапазон значений 1-500. Т.о. если не ошибаюсь, при прямом переборе получается 500^50, т.е. 8.8817841970012523233890533447266e+134 итераций (если мне мой калькулятор не соврал). Понятно, что в секунды (минуты, часы, дни, года) можно не переводить. Результат увидели бы только далекие потомки. ГА справился за 1 ч. 20 мин. Обалдеть. Дополнительно оказалось, что коэффициент корреляции суммы 50-ти синусоид с моментумом составляет 0.5275. Почему "дополнительно"? Потому что ранее у меня не было ни единой возможности проверить сей момент. А в некоторых случаях наводит на некоторые размышления...
На синусоидах я не зациклился, просто это все есть под руками. К тому же, поскольку цель - достижение максимального подобия непрерывных сигналов, результат - это самое подобие, другими словами результат однозначен, к тому же, легко проверяем.
Андрей, ещё раз огромное спасибо за Ваш Продукт. Хотелось бы в ближайшем будущем зачесть ещё одну Вашу статью. ГА с элитным отбором. ))
...
Вопрос - можно как-то объяснить алгоритму, что (иногда) можно (нужно) завершаться раньше. Или этого категорически делать нельзя, а надо ждать когда достигнется сходимость?
Можно. И даже нужно. Если известно хоть что то об исследуемой функции (как в Вашей задаче: FF<=1), то эту информацию необходимо активно юзать, что бы гарантированно избежать лишних вычислений, а значит - сократить время поиска.
В данной реализации нет рычагов управления алгоритмом из вне, но достаточно просто добавить функцию управления флагом принудительного останова.
В следующем поколении алгоритма, о котором готовится статья-продолжение, есть гораздо большие возможности по управлению алгоритмом из вне (он вообще работает по инициации и под управлением из вне, а не как сейчас - FF запускается самим алгоритмом, а значит нет возможности, без доработки использовать в автооптимизирующихся совах).
....
Андрей, ещё раз огромное спасибо за Ваш Продукт. Хотелось бы в ближайшем будущем зачесть ещё одну Вашу статью. ГА с элитным отбором. ))
Спасибо за спасибо. :)
Продолжение будет, непременно.
И, удачи в поисках оптимума! В жизни, работе, в л... Во всём.