Как стать автором
Обновить

Комментарии 35

НЛО прилетело и опубликовало эту надпись здесь
Большое спасибо за статью. Сам вечерами пописываю своего бота, но по форумам не хожу и вообще был не в курсе что столько всего понаделали. Забавно, что описанные вами алгоритмы очень похожи на мои, которые я честно выдумывал сам, и уверен еще тысячи таких же как я. В этом конечно же нет ничего страшного, вся магия в мелочах. Удачи вам.
Аналогично. Так помелочимся же!
Конечно. Основной алгоритм напрашивается сам собой. А вот оценки и решения задач выбора — это действительно интересная тема, т.к. времени на оптимальный обсчет физически нет, и приходится использовать эвристику.
в посте была ирония:)
Это ж ирония была, там даже php причислили к экзотике :D
У меня руби головного мозга, мне можно иронию не заметить :)
Руби недавно добавили. Другие рубисты наверное только переводят свои алгоритмы на родной язык)
Достаточно давно: неделю назад.
Я довольно часто держусь на пером месте по Java :)
как-то возникли параллели с книжкой «Игра Эндера» Орсона Скотта Карда
там как раз из подростков готовили будущих полководцев, гоняя их на космических симуляторах
Да, и тактика была в чем-то похожей. Надо в каком-то отдельно взятом месте численно перевесить врага, пусть даже в общем картина не в вашу пользу.
Offtopic: жестокий у вас выбор картинки вышел. Тем, кто смотрел «Battlestar Galactica» и особенно «Caprica» моя заметка будет понятнее.
За подробностями можно глянуть тут: en.wikipedia.org/wiki/Cylon_(Battlestar_Galactica) и en.wikipedia.org/wiki/Caprica_(TV_series)
Сайлоны были созданы чебуреком…
У них есть план
BY YOUR COMMAND
О, мой тест скрипт засветился.
Кстати генетический алгоритм сейчас пытаюсь использовать для поисков коэффициентов эвристики в решателе какую планету атаковать.
о, мы тоже хотели, но перехотели. Думали сначала алгоритм запилим получше, а уже потом генетикой оптимизируем. И понеслась…
F# так и не добавили :(
Плохо, что из-за старой версии Mono на сервере С# поддерживается только версии 2.0 и никаких прелестей Linq. Зато приоткрыл для себя Python
В пост реквистируется Longing, который только что вырвался на второе место (это мало о чем говорит на самом деле, времени еще много и сто раз все поменяется)! Если нет аккаунта, готов отдать инвайт.
Я ж говорил, быстро все меняется :( Ладно, ждем окончания, более за наших.
Интересно, какую на самом деле практическую задачу хочет решить google силами игроков и этой вот игры. Судя по условиям — это поиск какого-то универсального алогоритма в распределенной системе, сети… Может я упустил и уже об этом говорилось?
Гугл лишь спонсор. Это вообще в универе Ватерлоу клуб устроил. Отсюда и глюки и тормоза сайта
Подскажите, пожалуйста, где скачать PHP starter pack?
Кто-нибудь поднимал свой TCP-сервер?
Кстати, а все-таки какое реально на сервере ограничение по количеству ходов? Та же 1000, что и во всех примерах?
200
Неясно, почему во всех примерах тогда пишут 1000… Зануды…
IMHO, тщательный алгоритм вычисления оценки позиции, а также просчет на несколько ходов вперед должен быть лучше, чем переключение стилей игры.
Пока еще не додумал учет истории и оптимальное распределение посылаемых кораблей между планетами. Где-то через неделю-другую планирую выложить то, что получилось.

А вообще после обдумывания алгоритма бота полезно посмотреть, как сейчас играют топовые боты. Насколько я смотрел — все мыслят примерно одинаково:
— Вначале захватим несколько ближайших планет
— Потом анализируем, чего хотим захватить
— Рассчитываем ход, на котором накопим нужную массу кораблей, и посылаем так, чтобы к этому ходу все корабли достигли места назначения
— Ключевые планеты, которые стремится захватить алгоритм — покрупнее и поближе к центру. Причем при этом часто пренебрегают нейстральными планетами, валяющимися рядом, хотя прирост кораблей на них за несколько ходов окупает захват.
— После захвата одной или нескольких ключевых планет картина начинает напоминать поток в сети — все корабли по оптимальному маршруту отправляются на ключевые планеты.
Кстати, в топике не замечена одна важная черта хорошего алгоритма.
Он должен учитывать рефлексность врага и незнание того, какой ход ты сделаешь сейчас. За счет того враг отстает в своем «знании» на один ход, за который можно успеть захватить ключевую планету раньше него.
Зарегистрируйтесь на Хабре, чтобы оставить комментарий

Публикации