Обсуждение статьи "Алгоритм стрельбы из лука — Archery Algorithm (AA)"

 

Опубликована статья Алгоритм стрельбы из лука — Archery Algorithm (AA):

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

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

Популяция представлена в виде матрицы, где каждая строка соответствует члену (решению), а каждый столбец — измерению задачи. Это позволяет структурировано оценивать и обновлять решения на основе их значений целевой функции. Эффективность каждого члена оценивается с помощью целевой функции, которая количественно определяет, насколько хорошее решение найдено. Результаты хранятся в векторе, что позволяет алгоритму сравнивать эффективность различных решений.

Целевая мишень делится на секции, ширина каждой из которых соответствует производительности членов популяции. Рассчитывается функция вероятности, чтобы определить вероятность выбора каждого члена на основе его значения целевой функции, при этом более эффективные лучники имеют большую вероятность быть выбранными. Член популяции случайным образом выбирается на основе накопленной вероятности, имитируя выбор цели стрелком. Этот выбор влияет на то, как позиции других членов обновляются. Алгоритм обновляет позицию каждого стрелка в пространстве поиска с использованием определенных уравнений. Обновление зависит от того, имеет ли выбранный лучник лучшее или худшее значение целевой функции по сравнению с текущим. Этот процесс включает в себя случайность для исследования пространства поиска. AA работает итеративно, обновляя популяцию до тех пор, пока не будет достигнуто условие остановки (максимальное количество итераций). В течение этого процесса алгоритм отслеживает лучшее найденное решение.

Автор: Andrey Dik

 
Спасибо за исследование. Но у меня, как у простого програмиста советников на mql5 ),( я ни разу не математик),  есть очень простой вопрос. Возможно, он Вам покажется глупым, заранее извините. Но все же, как ваше исследование может помочь в оптимизации советников? Не могли бы Вы привести пример. Вот допустим, у нас есть новый советник, мы хотим его оптимизировать, и ....? Спасибо.