Комментарии 22
на хабре много написано о таких алгоритмах, но это первый пост, который я понял.
спасибо, действительно интересно.
спасибо, действительно интересно.
Посмотреть бы в действии
В XScreensaver есть GLSchool, которая как раз через Boids реализована.
НЛО прилетело и опубликовало эту надпись здесь
Вот пример реализации: www.coderholic.com/demo/boids.html
Отличная статья, спасибо большое. Захотелось покопать в этом направлении, тем более диплом связан с многоагентными системами.
стая маленьких рыбок реагирует на раздражитель (пищу) мгновенно, а не поочерёдно от первой всполошившейся рыбки до самой последней, независимо от величины роя. как это объяснить?
Не устаю повторять что для подобных статей просто необходимы иллюстрации! Не каждый способен в мозгу рассчитать приведенные формулы и визуализировать картинку :)
«А любой, кто вешал в своем дворе кормушку, знает, что спустя несколько часов его найдут все птицы в округе»
найдут и скажут — «спасибо, чувак за кормушку!» да? ))
найдут и скажут — «спасибо, чувак за кормушку!» да? ))
Я нечто похожее когда-то писала в задаче www.topcoder.com/longcontest/?module=ViewProblemStatement&rd=13567&pm=10119
А что стоит читать, если интересуешься PSO? Может есть какие-то новые работы?
Такие комментарии меня радуют. Значит, не зря статью опубликовал.
Учитывая, что он был придуман в 95-ом, сложно сказать, какие работы новые, а какие — уже нет. Но, например, абсолютно все статьи, указанные в списке литературы, можно найти в интернете. Можно начинать сразу с [3].
Учитывая, что он был придуман в 95-ом, сложно сказать, какие работы новые, а какие — уже нет. Но, например, абсолютно все статьи, указанные в списке литературы, можно найти в интернете. Можно начинать сразу с [3].
Я немного интересовался применением PSO для создания алгоритмов (аналог генетического программирования, только вместо генетического алгоритма там PSO). julian.togelius.com/Togelius2008Geometric.pdf
И там был интересный вид PSO, который можно использовать не только для координат [эвклидового пространства], но и для любых данных, для которых определены операторы мутации, кроссовера (с весами) и расстояния между двумя «точками».
И там был интересный вид PSO, который можно использовать не только для координат [эвклидового пространства], но и для любых данных, для которых определены операторы мутации, кроссовера (с весами) и расстояния между двумя «точками».
Может так? Не понял где rnd входит.
Вот и нашелся самый внимательный читатель. Кто-то, хоть кто-то уделил внимание формулам!
Не совсем так, исправил в тексте. Большое спасибо.
Не совсем так, исправил в тексте. Большое спасибо.
Формулы слетели. Для Canonical PSO получаются следующие формулы:
и
И их код в Tex соответственно:
А ещё в нескольких местах нужно поменять на в левой части уравнения.
и
И их код в Tex соответственно:
v_{i+1} = \chi \cdot \left[ v_i a_1 \cdot rnd() \cdot \left( pbest_i - x_i \right) a_2 \cdot rnd() \cdot \left( gbest_i - x_i \right) \right]
\chi = \frac{2k}{\left| 2-a-\sqrt{a^2-4a} \right|}
А ещё в нескольких местах нужно поменять на в левой части уравнения.
Там rnd() не только в формуле первого метода забыли, но и во всех остальных, исключая последний.
Зарегистрируйтесь на Хабре, чтобы оставить комментарий
Алгоритм роя частиц