Не для разработчиков МТ! Чем заменить INIT_PARAMETERS_INCORRECT ? - страница 9

 
Alexey Navoykov:

Ладно, вы не понимаете, но это и ожидаемо.  Для слышащих людей я уже сказал всё, что хотел донести.  Более не вижу смысла продолжать

А для меня совершенно не ожидаемо, что кто-то видит хоть какую-то разницу между 1200 и 0012, если там и там в итоге сначала выполняется функция 1, а затем функция 2.

Просто поразительно, что есть настолько ... мммм ... незрячие люди...

 
Сергей Таболин:

почему нельзя собрать первую популяцию только из "допустимых" параметров?

И, по большому счёту, что мешает и последующие популяции собирать только из валидных параметров???

Первый вопрос видится мне логичным. Собрать 512 валидных особей при старте оптимизации можно. @Renat Fatkhullin, какие с этим сложности?

А вот потом проблема. Если комбинация лучших из этих 512 особей дает невалидный результат, то по какому праву можно вместо него подставлять другой вариант? Усыновить ребенка, если случился выкидыш? Это уже не генетика.

 
Andrey Khatimlianskii:

Первый вопрос видится мне логичным. Собрать 512 валидных особей при старте оптимизации можно. @Renat Fatkhullin, какие с этим сложности?

Ну в случае ТС генетика никак не поможет. Может чуть чуть.

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

 
TheXpert:

Ну в случае ТС генетика никак не поможет. Может чуть чуть.

Не, задачу ТС не рассматриваю. Ей генетика не поможет совсем.

 
Andrey Khatimlianskii:

Первый вопрос видится мне логичным. Собрать 512 валидных особей при старте оптимизации можно. @Renat Fatkhullin, какие с этим сложности?

А вот потом проблема. Если комбинация лучших из этих 512 особей дает невалидный результат, то по какому праву можно вместо него подставлять другой вариант? Усыновить ребенка, если случился выкидыш? Это уже не генетика.

На моё разумение "комбинация лучших из этих 512 особей" не может дать невалидный результат. А вот после отбора лучших особей в следующую популяцию опять же добавлять особи с допустимыми параметрами (отсеивать невалидные особи) - какие тут трудности?.

 
Сергей Таболин:

На моё разумение "комбинация лучших из этих 512 особей" не может дать невалидный результат.

Возможно, вам стоит выйти за пределы своей узкой задачи.

 
Andrey Khatimlianskii:

Возможно, вам стоит выйти за пределы своей узкой задачи.

Моя "узкая" задача - это частный случай. И, конечно, он меня весьма интересует )))

Но речь идёт о более широкой проблеме.

Вот ещё один "узкий" пример:

Стратегия подразумевает использование простой скользящей МА. Но по логике стратегии (не важно по какой!) период МА должен быть в диапазоне 9-32, либо 80-92.

Как исключить не нужный диапазон при оптимизации? Самый очевидный и простой:

if(period_MA > 32 && period_MA < 80) return(INIT_PARAMETERS_INCORRECT);

А параметры оптимизации поставить:

ПеременнаяЗначениеСтартШагСтоп
 Период МА 9 9 2 92

Вот и опять наткнулись на сбой в генетике из-за "недопустимых" параметров...

 
Сергей Таболин:
А зачем вы специально включаете в оптимизацию некорректные параметры?
 
TheXpert:
А зачем вы специально включаете в оптимизацию некорректные параметры?

Некорректные параметры отключаются, как правило, по 3 причинам:

1. Исследование области не представляет интереса (к примеру исключение ряда тайм фреймов, как самый понятный вариант);

2. Область ранее уже была исследована, и повторные результаты исследования не нужны;

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

 
TheXpert:
А зачем вы специально включаете в оптимизацию некорректные параметры?

Ну а как организовать оптимизацию МА из примера не включая "некорректные" параметры?

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