Сегодня обновился терминал МТ5 и не показывается окно "Оптимизация" во время теста - страница 21

 

Сервисдеск признал ошибку зависания форвард-оптимизации.

Сказали - будут исправлять.

Ждем.

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

Заметил, что сделки отмечаются разным цветом.

Может лучше отмечать разным цветом прибыльные и убыточные? для большей наглядности.


Нет не надо. Итак же по вектору и цвету ясно, прибыльная она или нет.

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

Не, ну что за ***???

С какого бодуна кто-то решает, что при таком соотношении оптимизацию нужно прервать? 

Пожалуйста следите за лексикой.

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

Извините.

Ну а как это ещё назвать? 

Как в том анекдоте: "Ну, тады ОЙ... ** **** **** "

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

Не, ну что за ***???

С какого бодуна кто-то решает, что при таком соотношении оптимизацию нужно прервать? 

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

Вы просто убиваете саму идею генетического выбора, выдаете 502 отказа из 512 попыток и даже не понимаете, что творите. Вы что, хотите продолжить генетику, оставив 10 особей для размножения???

Прочтите статьи про генетические алгоритмы и перестаньте использовать INIT_PARAMETERS_INCORRECT в генетике:

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

Ну и что прикажете делать?

Рекомендую для генетики:

  1. Прочитать про механику генетического перебора
  2. Выбрать достаточную гладкую целевую функцию, чтобы дать возможность алгоритму видеть улучшения в поколениях и двигаться вперед. Не обманывайте алгоритм ложными результатами. Генетический алгоритм - достаточно тонкая и чувствительная штука.
  3. Не убивать через INIT_PARAMETERS_INCORRECT больше четверти популяции за проход (использовать в критических случаях, а лучше не использовать вообще). Четверть - это грубая оценка и ни в коем случае не является рекомендацией или разрешением так делать.
  4. Перебираемые параметры должны быть рабочими на всем промежутке. Не делать заведомых дыр в перебираемых параметрах, чтобы не генерировать INIT_PARAMETERS_INCORRECT. Вы ведь исключительно для своего удобства так делаете, а не думаете о процессе перебора
Да, нужно перестроить логику параметров под процесс перебора и применяемый метод поиска, а не под свое удобство.
 
Renat Fatkhullin:

Рекомендую для генетики:

  1. Прочитать про механику генетического перебора
  2. Выбрать достаточную гладкую целевую функцию, чтобы дать возможность алгоритму видеть улучшения в поколениях и двигаться вперед. Не обманывайте алгоритм ложными результатами. Генетический алгоритм - достаточно тонкая и чувствительная штука.
  3. Не убивать через INIT_PARAMETERS_INCORRECT больше четверти популяции за проход (использовать в критических случаях, а лучше не использовать вообще). Четверть - это грубая оценка и ни в коем случае не является рекомендацией или разрешением так делать.
  4. Перебираемые параметры должны быть рабочими на все промежутке. Не делать заведомых дыр в перебираемых параметрах, чтобы не генерировать INIT_PARAMETERS_INCORRECT. Вы ведь исключительно для своего удобства так делаете, а не думаете о процессе перебора
Да, нужно перестроить логику параметров под процесс перебора и применяемый метод поиска, а не под свое удобство.

Разве генетике не нужна логика переменных? Т.е. разве можно взять 100 переменных (с разным диапазоном значений) и сделать из них 4 и дать это генетике? Дать то можно, но сам принцип же будет нарушен, мы получим полный рандом и нерабочую генетику. Так как же Вы предлагаете обойтись без INIT_PARAMETERS_INCORRECT, когда использования проверки переменной делается как раз для исключение алогичных значений переменных в связке с другими значениями переменных или исключения диапазонов перебора? Мне правда интересно, можно много сделать ручной работы для нумерации значений, исключая переменные, но это не эффективно! Как сделать эффективно?

 
Aleksey Vyazmikin:

Разве генетике не нужна логика переменных? Т.е. разве можно взять 100 переменных (с разным диапазоном значений) и сделать из них 4 и дать это генетике? Дать то можно, но сам принцип же будет нарушен, мы получим полный рандом и нерабочую генетику. Так как же Вы предлагаете обойтись без INIT_PARAMETERS_INCORRECT, когда использования проверки переменной делается как раз для исключение алогичных значений переменных в связке с другими значениями переменных или исключения диапазонов перебора? Мне правда интересно, можно много сделать ручной работы для нумерации значений, исключая переменные, но это не эффективно! Как сделать эффективно?

Я не знаю, откуда вы взяли свой вопрос.

Я сказал - разумно и осознанно выбирайте параметры и не используйте INIT_PARAMETERS_INCORRECT, когда взяли в руки очень тонкий инструмент. Руки надо мыть перед использованием микроскопа, а не биться за право делать что хочешь, когда заходишь в стерильные условия. Мощь генетики нельзя портить небрежным отношением - просто не получите нужного результата. Вы думаете, магия уменьшения области поиска на NN порядков дается просто так? На тех же условиях как полный грязный перебор?

Выше было продемонстрировано полное непонимание принципов. Убить 502 особи в популяции на 512, а потом обвинять, что колония сдохла и не хочет дальше размножаться.

Что и как вы выберите в качестве параметров - это лично ваше дело. Но мое дело указать на соблюдение минимальной чистоты экспериментов, если вы делаете заведомые ошибки.

Прочтите теорию, наконец.

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

Тут ничего не перестроишь. Вручную прописать все допустимые параметры - займёт месяцы работы. Да и ещё голову ломай как передать это всё оптимизатору. Застрелиться проще.

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

Вы зря удалили самое важное: Вы думаете, магия уменьшения области поиска на NN порядков дается просто так? На тех же условиях как полный грязный перебор?

Рекомендую учиться и слушать тех, кто тратит свое время на помощь вам.

Особенно, когда это один из прямых разработчиков.

 
Renat Fatkhullin:

Я не знаю, откуда вы взяли свой вопрос.

Я сказал - разумно и осознанно выбирайте параметры и не используйте INIT_PARAMETERS_INCORRECT, когда взяли в руки очень тонкий инструмент. Руки надо мыть перед использованием микроскопа, а за биться за право делать что хочешь, когда заходишь в стерильные условия. Мощь генетики нельзя портить небрежным отношением - просто не получите нужного результата. Вы думаете, магия уменьшения области поиска на NN порядков дается просто так? На тех же условиях как полный грязный перебор?

Выше было продемонстрировано полное непонимание принципов. Убить 502 особи в популяции на 512, а потом обвинять, что колония сдохла и не хочет дальше размножаться.

Что и как вы выберите в качестве параметров - это лично ваше дело. Но мое дело указать на соблюдение минимальной чистоты экспериментов, если вы делаете заведомые ошибки.

Прочтите теорию, наконец.

Речь о том, что INIT_PARAMETERS_INCORRECT часто используется для сужения область поиска за счет исключения нелогичных/ненужных значений, что значительно ускоряет оптимизацию при использовании полного перебора. Если бы не было INIT_PARAMETERS_INCORRECT, то генетика нарвалась просто на ненужные варианты и с ними мудрила, поэтому не исключать значения переменных - не вариант. Вот я и спрашиваю, как Вы предлагаете, как профессионал, решить эту проблему без чрезмерных усилий. Перечислить все правильные переменные руками, для перебора без пропусков и как бы заведомо исключая значения INIT_PARAMETERS_INCORRECT не вариант - очень долго. Использовать хитрые счетчики - не каждому дано, да и генетике это может так же вредить.

Ну что остаётся, сделать проход по всем параметрам на 1 дне и записать их верные значение в код, присвоить порядковый номер, и таким образом их выбирать для генетики?