Если я правильно понимаю, то "скрещивание" можно осуществлять между идентичными "генами" (параметрами) особей (копий одной системы с разными значениями тех же параметров).
В этом случае, "скрещивание" должно представлять из себя простое среднее число (сумма двух значений деленная на два, двух параметров, двух идентичных по структуре "хромосом")?
В смысле, складываются значения противостоящих параметров копий одной системы, делятся на два и получается третья копия системы, со средними значениями параметров?
Реter Konow: Если я правильно понимаю, то "скрещивание" можно осуществлять между идентичными "генами" (параметрами) особей (копий одной системы с разными значениями тех же параметров).
В этом случае, "скрещивание" должно представлять из себя простое среднее число (сумма двух значений, двух параметров, двух идентичных по структуре "хромосом")?
Реter Konow: Самого этого подхода мало. Он может служить инструментом "шлифовки" готовых систем - проверке и отладке.
Сами системы так не собрать. Тут нужен другой алгоритм. Когда его изобретут, вспомнят про ГА.
Видел у ребят, которые занимаются проектами т.н. "исскуственной жизни", такие методы. Интересная штука. На первый взгляд полная каша, но генетика через мильоны проходов делает из каши "умные" гены.
Видел у ребят, которые занимаются проектами т.н. "исскуственной жизни", такие методы. Интересная штука. На первый взгляд полная каша, но генетика через мильоны проходов делает из каши "умные" гены.
В смысле, "умные" - оптимизированные и приспособленные к определенной среде?
Ок. Создаем закрытую среду, из комплекса взаимодействующих систем. Например: трех-генные особи "пожирают" (присоединяют к себе и растут) двух-генные, если те не могут от них "убежать" (допустим гены Х и У - координаты на плоскости). У трех-генной особи добавлен ген Z - третье измерение. У нее преимущество. Задача двух-генной сохраниться и не быть пойманной, а задача трех-генной - поймать двух-генную как можно быстрее и сьэкономить время и ресурсы.
Цель: генетически слабая особь должна просчитать генетически более сильную чтобы выжить.
подходит, в режиме генетической оптимизации по "Максимум пользовательского критерия" ГА тестера будет максимизировать результат полученный из double OnTester() - проверенно все работает, НО есть проблема в автоматизации "взбодрить ГА" когда он начинает сходиться вокруг найденного локального максимума и не хочет еще остальные варианты по входным параметрам перебирать, в общем в тонкой настройке приходится руками помогать ГА путем добавления условий в OnTester() или разбиением параметров оптимизации на несколько интервалов
нет возможности сделать свою целевую
OnTester() не подходит?
Если я правильно понимаю, то "скрещивание" можно осуществлять между идентичными "генами" (параметрами) особей (копий одной системы с разными значениями тех же параметров).
Можно как угодно, разновидностей десятки.
https://www.mql5.com/ru/search#!keyword=собственный%20критерий%20оптимизации
Супер! А я и не знал, что в пятерке есть такая фича ... :) Я до сих пор на четверке работаю ... :) Спасибо.
Ну тогда всё. Вопрос снимается ... :)Супер! А я и не знал, что в пятерке есть такая фича ... :) Я до сих пор на четверке работаю ... :) Спасибо.
Ну тогда всё. Вопрос снимается ... :)Вообще-то "эта фича" есть ещё с четвёрки )))
Самого этого подхода мало. Он может служить инструментом "шлифовки" готовых систем - проверке и отладке.
Видел у ребят, которые занимаются проектами т.н. "исскуственной жизни", такие методы. Интересная штука. На первый взгляд полная каша, но генетика через мильоны проходов делает из каши "умные" гены.
Видел у ребят, которые занимаются проектами т.н. "исскуственной жизни", такие методы. Интересная штука. На первый взгляд полная каша, но генетика через мильоны проходов делает из каши "умные" гены.
OnTester() не подходит?
подходит, в режиме генетической оптимизации по "Максимум пользовательского критерия" ГА тестера будет максимизировать результат полученный из double OnTester() - проверенно все работает, НО есть проблема в автоматизации "взбодрить ГА" когда он начинает сходиться вокруг найденного локального максимума и не хочет еще остальные варианты по входным параметрам перебирать, в общем в тонкой настройке приходится руками помогать ГА путем добавления условий в OnTester() или разбиением параметров оптимизации на несколько интервалов