Войти
ФлеймФорумОбщее

CodeTanks 2 (55 стр)

Страницы: 154 55 56 5759 Следующая »
#810
0:09, 3 дек. 2012

Мой код, 29 место в песочнице http://www.everfall.com/paste/id.php?juh35h9gfsbb


#811
0:39, 3 дек. 2012

Моя последняя версия, от финала отличается только парой констант: тут.

#812
1:32, 3 дек. 2012

http://codeforces.ru/blog/entry/5968

Сам код выкладывать, если честно. тупо стыдно)

#813
7:37, 3 дек. 2012

У меня в общих чертах алгоритм такой.

Поле опасности я строю не для всей карты. Сперва брал 7 точек на карте. Центр танка, впереди на 100px  сзади на 100px и еще 4 немного правее и левее переда и зада. Из этих 7 точек я определял стоять на месте или ехать в одном из 6 направлений.
Потом стал строить окружность вокруг центра танка и определять направление наименьшей опасности. Затем добавил 5-6 окружностей с возрастающим радиусом. И каждая окружность вносила вдвое меньший эффект на выбор направления. Вся карта строилась только  для отладки/визуализации в локальном билде. Бонусы вносили положительный вклад в карту опасности с квадратичным затуханием при удалении от бонуса, на подобии источников света, и все препятствия отбрасывали тень. Так что если танк видел бонус, он ехал не напрямую через препятствие, а сперва выкатывался из тени а потом ехал на источник бонусного света : )

Еще была функция определения глобальной опасности. Танк выталкивало из гущи врагов. Брались углы на все вражеские танки из конкретной точки, углы упорядочивались в виде веера, и точка в которой максимальный просвет между ветвями веера был больше, считалась самой выгодной. Поэтому танк по возможности оказывался там, где на него с наименьшей вероятностью будут нападать. Это в основном для боев 1х6.

В боях 3х2 часто были безрезультатные перестрелки из концов карт. Я добавил для такого случая операцию по придавливанию одного танка к краю карты. Танки стреляли поочередно с задержкой в 1/3 времени перезарядки в точку на 40 пикселей выше/ниже чем выбранный в качестве жертвы танк врага. Танк шаг за шагом прижимался к стене и поворачивался лбом : ) На топовых танков это не действует. : ) На моих действует.

Если подобрать радиусы окружностей и затухания для определения наименьшей опасности, думаю, можно улучшить страту в разы.

#814
8:51, 3 дек. 2012

Жалкое 254 место =) Выбрал в Python 3 в качестве изучения. Отнеся к конкурсу несерьезно, весь код писался, в блокноте и без отладки.

Зарегистрировался 30 октября, а потом ... потом вспоминал школьный курс тригонометрии, это кстати к вопросу значения математики в программировании.
Первую версию отправил 8.11. Потом чуть улучшил, к 1 раунду подошла 3 версия. В ней был реализован самый примитив, отход в углы, поворот лбом к противнику и езда по бонусам, в радиусе 550. Никакой оценки ситуации на карте, никаких расчетов полезности/опасности.

Естественно я и не ожидал, что мой бот попадет в 1 раунд, но видимо было слишком много твинков и каково было мое удивление.
Стал появляться азарт, как-то допилил неудачно, и во второй части 1 раунда вылетел из 300.

Дальше был интерес попробовать с картой опасности, использовал разные и глобальные и локальные.
Глобальные:
4x4 - просто 4 большие зоны с просчетом опасности. потом увеличил до 5x5.
16x10 - Карта заполнялась уровнями опасности исходящими от вражеских танков, использовал алгоритм  Брезенхэма, попутно добавил проверку на пересечение с бонусами и ... все эти изыски не дали результата, новые стратегии сливали даже моей самой простой 3ей версии.

Локальная:
3х3. В центре клетка танка, остальные восемь просчитывались по уровню опасности и полезности, выбиралась лучшая. Тоже сливала 3ей версии.

Уход от карт опасности.
Сделал некоторую версию радара, считаются очки для точек в радиусе R с шагом pi/4. Выбирается лучшая, потом  от этой точки, еще считаются точки.
Плюс добавил учет препятствий, убрал френдли-фаер =). Версия оказалась получше чем 3. На этом и успокоился.

острожно: код

#815
9:21, 3 дек. 2012

Megabyte-Ceercop
Ждем исходники ;)

Hohol
Ссылка недоступна.

#816
11:02, 3 дек. 2012

Diversus, сайт лежал зачем-то. Сейчас работает.

#817
11:28, 3 дек. 2012

}:+()___ [Smile]
Интересно!

А я забил на свою стратегию, когда не попал во второй раунд из-за того что стратегия всегда падала, сразу как на поле оставлася один соперник :)

#818
13:27, 3 дек. 2012

А вот и описание алгоритма от GreenTea:
http://brunneng.blogspot.ru/2012/12/russian-ai-cup-2012-tanks.html

#819
14:42, 3 дек. 2012

Вы б сказали что вылетает, я проверил - теперь тоже лень :)

#820
15:23, 4 дек. 2012

песочницу продлили на 75 дней

#821
16:03, 4 дек. 2012

Описание алгоритма от меня: http://habrahabr.ru/post/161333/

#822
17:51, 6 дек. 2012

Моя нейронка обученная только ездить. На вход подаются все параметры танка на выходе  мощность левой и правой гусеницы.
1

#823
7:26, 11 дек. 2012

Кирюшык
Ты слизал бота MrSmile? ))) там такая драма в комментариях =)

#824
13:50, 11 дек. 2012

rusk
где драма в комментариях?

Страницы: 154 55 56 5759 Следующая »
ФлеймФорумОбщее

Тема в архиве.