Всем привет!
Господа, спасибо за помощь.
worm2 писал(а):
Ну вот, например, такой вариант:
Каждому агенту присвоен уникальный номер, у кого в стае номер больше --- тот и главный.
Ага. Такая мысль уменя тоже была, но все таки решил покопаться.
Igor Borovikov писал(а):
Как ни забавно но такая задача часто встречается в программировании компьютерных игр.
Было нагуглено в первый же день. Плюс в трэде про искусственный интеллект нашел много интересных ссылок по этой теме.
По поводу сложности алгоритма определения. Тут, как мне кажется от конкретной реализации будет зависеть. Например в статье
A Distributed Algorithm for Minimum-Weight Spanning Trees Галлагер и другие предлагают интересный распределенный алгоритм, который потребует не более 5N log2N + 2E пересланных сообщений. Ну, это я не точно цитирую.
Там от графа зависит.
Shed писал(а):
простой и изящный критерий(не знаю как применительно к вашей задаче):
При уничтожении "главного", его место занимает агент, наиболее
приближённый к нему (по расстоянию).Для Комп. игры, думаю, -самое ТО.
В моем случае, этот метод не подходит, т.к. становится легко предсказать, кто будет главным, а это недопустимо. Но расстояния конечно будут вводиться и как-то использоваться для оптимизации сети агентов.
В общем, я все еще пытаюсь разобраться в различных методах и сравнить их. А темы такие: flock behaviour, swarm intelligence и теория графов (есть замечательная книжка Н. Кристофидеса "Теория графов. Алгоритмический подход", в которой решена подобная задача).
Будут результаты, первое, что сделаю - зашлю их сюда.