Открытое соревнование по программированию искусственного интеллекта

Пост №31

Проект

Песочница

Раунд 1

Раунд 2

Финал

Песочница (на 15 декабря 2013 г.)

Последние комментарии

4 сентября 19:00: risi написал комментарий в посте Закрытие Russian AI Cup 2013
28 февраля 02:59: puk написал комментарий в посте Закрытие Russian AI Cup 2013
26 февраля 21:12: amurushkin написал комментарий в посте Закрытие Russian AI Cup 2013
26 февраля 13:17: alevlaber написал комментарий в посте Закрытие Russian AI Cup 2013
20 февраля 17:33: Megabyte написал комментарий в посте Закрытие Russian AI Cup 2013
20 февраля 10:10: mopdobopot написал комментарий в посте Закрытие Russian AI Cup 2013
20 февраля 09:28: aleex написал комментарий в посте Закрытие Russian AI Cup 2013
18 февраля 23:13: santa324 написал комментарий в посте Закрытие Russian AI Cup 2013
17 февраля 14:43: m16a написал комментарий в посте Закрытие Russian AI Cup 2013
17 февраля 06:26: PAX написал комментарий в посте Закрытие Russian AI Cup 2013

Группа ВКонтакте

Финал Russian AI Cup

Добрый вечер!

Вот и подходит время решающего сражения. Всего два дня осталось до начала Финала Russian AI Cup 2013. В нём примут участие лучшие 50 стратегий по результатам Раунда 2 и дополнительно лучшие 10 участников Песочницы (за исключением тех, кто уже прошёл). Напоминаем, что для квалификации в Финал участник должен быть не младше 18 лет и явно указать свой возраст в профиле. Если участник не укажет эту информацию до начала Финала, то он может быть не допущен до участия в Финале, а его место достанется следующему кандидату. Также все участники Раунда 2 и Финала должны заполнить в профиле информацию о почтовом адресе для доставки сувенирной футболки.

Система проведения Финала отличается от «волновой» системы Раунда 1 и Раунда 2. Здесь каждая стратегия сойдётся в смертельной дуэли с каждой другой стратегией, участвующей в Финале. Таким образом, сразу будет создано 1770 боёв, составляющих полный круг, и до завершения их тестирования нельзя будет достоверно судить об эффективности и положении кого-либо из участников. Мы рассчитываем протестировать не менее 10 таких кругов в каждой части Финала для уменьшения погрешности определения победителей.

Для формирования таблицы результатов будет применена система рейтинга аналогичная той, что применялась в предыдущих раундах. За победу в бою участник получит 2 балла, за поражение — 0, в случае ничьей оба участника получат по 1 баллу.

Напоминаем, что подведение итогов Песочницы состоится в 23:59:59 15-го декабря 2013 года, а победителей в ней ждут отличные призы.

Желаем удачи в боях!

Обновлено:



intmainreturn0

было бы круто, если бы соревнования в песочнице не останавливались на время проведения финала. так - тем кто вне финала было бы чем заняться)

04.12.2013 20:43:56
OttaBedata

OttaBedata

T-Systems

Что же никак не появится вкладка в песочнице, с теми кто не прошел второй раунд?

04.12.2013 21:00:58
intmainreturn0
OttaBedata

OttaBedata

T-Systems

Что же никак не появится вкладка в песочнице, с теми кто не прошел второй раунд?

она где-то уже есть. поищите в другом обсуждении.

04.12.2013 21:08:08
OttaBedata

OttaBedata

T-Systems

она где-то уже есть. поищите в другом обсуждении.

Ну, на привычном месте её точно нет…

04.12.2013 21:14:51
intmainreturn0
OttaBedata

OttaBedata

T-Systems

Ну, на привычном месте её точно нет…

http://russianaicup.ru/contest/1/standings/without/4

вот, держите. я нашел ее для вас

05.12.2013 2:34:16
sender-mobile

sender-mobile

Москва

http://russianaicup.ru/contest/1/standings/without/4 вот, держите. я нашел ее для вас

Эта ссылка показывает неверную информацию.

05.12.2013 3:07:31
intmainreturn0
sender-mobile

sender-mobile

Москва

Эта ссылка показывает неверную информацию.

почему?

05.12.2013 3:08:43
sender-mobile

sender-mobile

Москва

Например, первые два участника в этом списке заняли топ50 в раунде два, т.е. должны уже быть квалифицированных для финала.

05.12.2013 3:12:07
intmainreturn0
sender-mobile

sender-mobile

Москва

Например, первые два участника в этом списке заняли топ50 в раунде два, т.е. должны уже быть квалифицированных для финала.

Там обсуждали в другой теме что-то связанное с 18летиме. может дело в этом

05.12.2013 6:58:43
intmainreturn0

Было бы круто если продолжительность боя была больше 50 ходов) во многих боях я просто напросто не успеваю всех вынести) все сейчас ходят более или менее медленно. вот 100 ходов или 200 было бы норм)

05.12.2013 6:59:54
sender-mobile

sender-mobile

Москва

Там обсуждали в другой теме что-то связанное с 18летиме. может дело в этом

Тогда и этот список не показывает десятку, проходящую в финал.. Есть-ли где нибудь список 50ти участников, прошедших в финал из раунда2?

05.12.2013 7:11:34
OttaBedata

OttaBedata

T-Systems

http://russianaicup.ru/contest/1/standings/without/4 вот, держите. я нашел ее для вас

Спасибо! Вот, наконец, и нормальная вкладка появилась.

05.12.2013 12:42:59
alexanderk23

alexanderk23

КубГУ

Получается, что один из победителей второго раунда не примет участие в финале?

05.12.2013 15:28:23
icxon

icxon

Санкт-Петербург

Да почему же один? может участников до 18 лет больше, ну или просто тех, кто не захочет указывать возраст.

05.12.2013 15:40:15
NALP

NALP

Yandex

alexanderk23

alexanderk23

КубГУ

Получается, что один из победителей второго раунда не примет участие в финале?

Да, именно так. Среди Топ50 Раунда 2 есть несколько человек до 18 лет. К сожалению, мы не сможем взять их в Финал. Также в Финал не попадут те, кто не укажут свой возраст в профиле.

05.12.2013 16:30:01
KiRex

KiRex

Москва

Так а в чем проблема указать в качестве участника отца или старшего брата(на крайний случай - знакомого) - проверить кто именно писал код - все равно не получится :) ?

05.12.2013 17:07:11
trulol

trulol

Тамбов

Я правильно понимаю, что если я есть в списке “ Песочница – Результаты (без участников соревнования ”Финал“)”, то у меня все нормально указано? Немного смущает строчка “явно указать свой возраст в профиле” - там можно выбрать только диапазон.

05.12.2013 17:24:43
nop

nop

БГУ

KiRex

KiRex

Москва

Так а в чем проблема указать в качестве участника отца или старшего брата(на крайний случай - знакомого) - проверить кто именно писал код - все равно не получится :) ?

Или добавили бы ввод имени члена семьи, на которого может быть получен приз. Побеждать-то приятнее от своего имени.

05.12.2013 18:08:44
senya

senya

МФТИ (ГУ)

Я так понимаю, на страничке “без участников финала” не отображаются участники <18 лет или с неуказанным возрастом?

05.12.2013 22:41:30
senya

senya

МФТИ (ГУ)

senya

senya

МФТИ (ГУ)

Я так понимаю, на страничке “без участников финала” не отображаются участники <18 лет или с неуказанным возрастом?

мдя, туплю..

05.12.2013 22:42:37
senya

senya

МФТИ (ГУ)

И всетаки. Каким образом участник ajklkv - 36e место в раунде 2, отображается в песочнице без участников финала (сейчас 21е место) ?

05.12.2013 23:04:57
SladeThe

SladeThe

Команда Russian AI Cup

senya

senya

МФТИ (ГУ)

И всетаки. Каким образом участник ajklkv - 36e место в раунде 2, отображается в песочнице без участников финала (сейчас 21е место) ?

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

05.12.2013 23:51:57
jojo

jojo

Владимир

Очень странно, что несовершеннолетние участники, да ещё попавшие в финал, дискредитируются по возрасту.

06.12.2013 8:57:48
Megabyte

Megabyte

ООО Сибтел-крипто

SladeThe

SladeThe

Команда Russian AI Cup

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

В финал несовершеннолетних можно пропустить. Зачем травмировать детей бюрократическими шестернями? : )

06.12.2013 10:05:41
-XraY-

-XraY-

СПбГУ

Несовершенный финалист просит администрацию об одной просьбе: также прислать футболку с прошлогоднего соревнования. Она почему-то не дошла. А про возраст я как-то забыл. Уже продумал завершающие изменения в коде - и тут увидел последнее объявление. Обидно.

06.12.2013 12:32:58
NALP

NALP

Yandex

-XraY-

-XraY-

СПбГУ

Несовершенный финалист просит администрацию об одной просьбе: также прислать футболку с прошлогоднего соревнования. Она почему-то не дошла. А про возраст я как-то забыл. Уже продумал завершающие изменения в коде - и тут увидел последнее объявление. Обидно.

Написал в личку

06.12.2013 14:03:50
darkstone

и почему несовершеннолетних так выбрасывать? В ИТ уже давно молодой ум часто лучше старых двух. Если в призёрах, так пусть участвует. Сделали бы первыми такой шаг на cyber-просторах России.

06.12.2013 14:21:02
admin

admin

Команда Russian AI Cup

и почему несовершеннолетних так выбрасывать? В ИТ уже давно молодой ум часто лучше старых двух. Если в призёрах, так пусть участвует. Сделали бы первыми такой шаг на cyber-просторах России.

К сожалению в РФ в конкурсах либо юридически значительно сложнее, либо даже невозможно участие несовершеннолетних в конкурсах.

06.12.2013 15:13:04
-XraY-

-XraY-

СПбГУ

и почему несовершеннолетних так выбрасывать? В ИТ уже давно молодой ум часто лучше старых двух. Если в призёрах, так пусть участвует. Сделали бы первыми такой шаг на cyber-просторах России.

На Vk-cup меня пустили. Так что не первыми)

06.12.2013 15:36:07
lama

lama

Akademos Inc.

эх, а я профейлил… взялся переписывать логику поведения с нуля, неделю работал, сделал вроде хорошо все локально, а в итоге оказалось, что оно по таймауту вылетает. пришлось выбрасывать некоторые важные ресурсоемкие части, но без них работает хуже, чем старая версия. в итоге самую важную - финальную - неделю потерял и залил старую версию :(

06.12.2013 16:16:56
icxon

icxon

Санкт-Петербург

Да тут у каждого второго так, это всё от нервов.

06.12.2013 17:05:19
baho

baho

3Planesoft

Ага, подтверждаю. Сам в панике, ниче не получается, все сломалось, все валится из рук. Пилил как обычно мега-мощь, а на выходе получился пшик, пришлось обратно выпиливать :(

06.12.2013 17:34:49
lama

lama

Akademos Inc.

ага, только за эту неделю предыдущая версия уже только 40-е места занимать стала, вместо 20-х :( блин, и с муравьями в позапрошлом году почти такая же лажа была… что-то меня жизнь ничему не учит :)

06.12.2013 17:40:34
amurushkin

amurushkin

ХНУРЭ (бывш. ХИРЭ, ХТУРЭ)

А я решил не дрыгаться и пустить по течению )) Зато не нервничаю сижу жду начала раунда ))

06.12.2013 18:03:09
santa324

santa324

Москва

baho

baho

3Planesoft

Ага, подтверждаю. Сам в панике, ниче не получается, все сломалось, все валится из рук. Пилил как обычно мега-мощь, а на выходе получился пшик, пришлось обратно выпиливать :(

Да я уже раза 3 писал “мага-мощь”, уверенный что как только закончу буду минимум в десятке. Каждый раз пришлось выпиливать :)

06.12.2013 18:56:35
lama

lama

Akademos Inc.

santa324

santa324

Москва

Да я уже раза 3 писал “мага-мощь”, уверенный что как только закончу буду минимум в десятке. Каждый раз пришлось выпиливать :)

а я в промежутке между первой и второй половиной первого раунда даже ее написал :) залил как раз в промежутке, прогнал несколько десятков тестовых боев с топ3 и почти все бои был на первом месте. но счастье было недолгим, потому что за первую половину раунда я сильно уже отставал по очкам, так что успел подняться всего на несколько позиций, а на след. день появился снайпер, который полностью противоречил моей стратегии и я упал до 20-х мест)

06.12.2013 20:09:23
Megabyte

Megabyte

ООО Сибтел-крипто

Я три дня назад перестал добавлять новое, а только анализировал бои и исправлял баги. Нашел столько перепутанных местами переменных и плюсов вместо минусов, что непонятно как работало. За сегодня исправил 5 опечаток из-за которых солдат кидал гранату в самое невыгодное место, вставал на ноги когда встречал врага за препятствием, вместо того чтобы залечь, и т.д. Баги и опечатки важнее всех улучшений. : )

06.12.2013 21:21:33
santa324

santa324

Москва

Megabyte

Megabyte

ООО Сибтел-крипто

Я три дня назад перестал добавлять новое, а только анализировал бои и исправлял баги. Нашел столько перепутанных местами переменных и плюсов вместо минусов, что непонятно как работало. За сегодня исправил 5 опечаток из-за которых солдат кидал гранату в самое невыгодное место, вставал на ноги когда встречал врага за препятствием, вместо того чтобы залечь, и т.д. Баги и опечатки важнее всех улучшений. : )

Я вот нашел сегодня пару багов, исправил, оказалось стал играть значительно хуже ) оставил как есть

06.12.2013 22:55:45
nop

nop

БГУ

santa324

santa324

Москва

Я вот нашел сегодня пару багов, исправил, оказалось стал играть значительно хуже ) оставил как есть

Через эту фазу многие проходили. Скорее всего это значит, что еще осталось несколько от них зависящих )

06.12.2013 23:06:21
nutic

nutic

Auctionata

Последний “нервный” апдейт стратегии лишил меня последней надежды попасть в финал. Удачи счастливчикам, завидую ;)

06.12.2013 23:15:42
baho

baho

3Planesoft

nutic

nutic

Auctionata

Последний “нервный” апдейт стратегии лишил меня последней надежды попасть в финал. Удачи счастливчикам, завидую ;)

Да тут несколько боев мало чего означают, слишком большой рандом. Так что может дело и не в апдейте, а в простом везении, если конечно не было надежды на в несколько раз большую эффективность :) У меня на локальном тестере проценты сходяться далеко за 1000 боев

06.12.2013 23:19:27
OttaBedata

OttaBedata

T-Systems

nutic

nutic

Auctionata

Последний “нервный” апдейт стратегии лишил меня последней надежды попасть в финал. Удачи счастливчикам, завидую ;)

А я, так и не понял, что произошло…

06.12.2013 23:28:54
santa324

santa324

Москва

Вот я лузер, 11 место, без 4 балов 10е….

06.12.2013 23:48:06
MucmuK

MucmuK

НИЯУ МИФИ

santa324

santa324

Москва

Вот я лузер, 11 место, без 4 балов 10е….

Ты не один такой… =)

06.12.2013 23:51:51
winger

winger

Facebook

MucmuK

MucmuK

НИЯУ МИФИ

Ты не один такой… =)

Есть кто-то еще на 11 месте? o_O

06.12.2013 23:59:48
Tranvick

Tranvick

Яндекс

Лузер - я. Делю 10ое место, но моя стратегия позже отправлена. Так что не вам тут жаловаться =)

07.12.2013 0:01:32
santa324

santa324

Москва

Tranvick

Tranvick

Яндекс

Лузер - я. Делю 10ое место, но моя стратегия позже отправлена. Так что не вам тут жаловаться =)

Действительно, обогнал в последние минуты :) Да уж, обидно.. хотя в финале думаю ничего особенного не занял бы.

07.12.2013 0:08:24
Tranvick

Tranvick

Яндекс

santa324

santa324

Москва

Действительно, обогнал в последние минуты :) Да уж, обидно.. хотя в финале думаю ничего особенного не занял бы.

Я хотел пройти, а не занять что-то =) Просто обидно-то как. Оставалось времени ровно на два боя. Прикинул, что, выиграв два боя, попаду в 10ку. Попал…

07.12.2013 0:11:13
Cooler

Cooler

Минск

Хех, я вот тоже пилил до последнего - запилил версию с багом! Заметил за минуту до старта финала :) Примерно 20% боёв будет слито, печаль… :(

07.12.2013 0:16:13
nop

nop

БГУ

Cooler

Cooler

Минск

Хех, я вот тоже пилил до последнего - запилил версию с багом! Заметил за минуту до старта финала :) Примерно 20% боёв будет слито, печаль… :(

А все остальные выиграны? ;)

07.12.2013 0:17:05
alexanderk23

alexanderk23

КубГУ

Мои поздравления финалистам, удачи в боях! А мы в следующем году отобъёмся, ничего :)

ЗЫ: Запустил живую статистику финала :)

07.12.2013 0:19:42
cheeser

cheeser

Glowbyte

Всем удачи! :)

07.12.2013 0:21:22
SKolotienko

SKolotienko

Москва

slash пока ни одного проигрыша на default карте

07.12.2013 0:25:36
OttaBedata

OttaBedata

T-Systems

OttaBedata

OttaBedata

T-Systems

А я, так и не понял, что произошло…

Тысяча чертей!!! Обнаружил в комбобоксе пункт “Бои с упавшей стратегией” и всё понял…

07.12.2013 0:32:46
GreenTea

GreenTea

ISDDesign

slash жжот, 97% побед. как это возможно! ну очень круто..

07.12.2013 0:47:58
sender-mobile

sender-mobile

Москва

GreenTea

GreenTea

ISDDesign

slash жжот, 97% побед. как это возможно! ну очень круто..

Да уж, проиграл только angor’у :-)

07.12.2013 0:49:13
SladeThe

SladeThe

Команда Russian AI Cup

GreenTea

GreenTea

ISDDesign

slash жжот, 97% побед. как это возможно! ну очень круто..

На момент окончания тестирования первого круга было 99%.

07.12.2013 0:49:14
SladeThe

SladeThe

Команда Russian AI Cup

alexanderk23

alexanderk23

КубГУ

Мои поздравления финалистам, удачи в боях! А мы в следующем году отобъёмся, ничего :) ЗЫ: Запустил живую статистику финала :)

Написано “Топ-100 Песочницы”. “Без победителей Раунда 2” боюсь даже нажимать :)

07.12.2013 0:52:53
alexanderk23

alexanderk23

КубГУ

SladeThe

SladeThe

Команда Russian AI Cup

Написано “Топ-100 Песочницы”. “Без победителей Раунда 2” боюсь даже нажимать :)

В кэше застряло, видимо :)

07.12.2013 0:53:56
darkstone

круууть)) слеш ввинтил финальную стратегию перед финалом, на 4-4 три поражения, зато 1=1… )))

07.12.2013 1:25:25
olexiyo

olexiyo

Киев

OttaBedata

OttaBedata

T-Systems

Тысяча чертей!!! Обнаружил в комбобоксе пункт “Бои с упавшей стратегией” и всё понял…

А где такой пункт найти – только бои с упавшей стратегией?

07.12.2013 6:40:16
sender-mobile

sender-mobile

Москва

olexiyo

olexiyo

Киев

А где такой пункт найти – только бои с упавшей стратегией?

Справа в профайле род графиком.

07.12.2013 7:47:28
sender-mobile

sender-mobile

Москва

sender-mobile

sender-mobile

Москва

Справа в профайле род графиком.

*под

07.12.2013 7:48:06
olexiyo

olexiyo

Киев

sender-mobile

sender-mobile

Москва

*под

Спасибо! А я раньше кликал на каждый бой чтоб проверять

07.12.2013 9:22:59
ZloyBastard

ZloyBastard

MAPILab Ltd.

sender-mobile

sender-mobile

Москва

Да уж, проиграл только angor’у :-)

Тактика суперочкодава :) Толи дело Mr.Smile год назад…

07.12.2013 22:05:52
terX

terX

СиПроект

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

07.12.2013 22:12:27
darkstone

Я так понимаю, судя по первым боям можно поздравлять с победой slash-а. Он продолжает в том же духе))) Слишком большой отрыв после первой части + 2-5 места продолжают ему проигрывать.

08.12.2013 13:07:21
Megabyte

Megabyte

ООО Сибтел-крипто

Делал несколько улучшений в перерыве, нарушил тонкий баланс стратегии, и решил почти все откатить, кроме одного гарантированного полезного улучшения. : ) Надеюсь со второго места не выбьют.

08.12.2013 14:32:38
Megabyte

Megabyte

ООО Сибтел-крипто

PS: на этот раз как-то все быстро. В танках, кажется, было дольше и муторнее. Надеюсь в следующий конкурс будет длиться около недели. Месяц - слишком долгий кусок жизни.

08.12.2013 14:34:01
SladeThe

SladeThe

Команда Russian AI Cup

Megabyte

Megabyte

ООО Сибтел-крипто

PS: на этот раз как-то все быстро. В танках, кажется, было дольше и муторнее. Надеюсь в следующий конкурс будет длиться около недели. Месяц - слишком долгий кусок жизни.

Mail.Ru забирает одну двенадцатую жизни всех участников, чтобы продлевать жизни своих сотрудников. Муахахахаха!

08.12.2013 14:54:49
lama

lama

Akademos Inc.

а мне наоборот, показалось, что слишком мало времени было… ну, во всяком случае, программируя по вечерам, после работы. я, правда, 3 недели назад подключился, а не месяц, так что может через недельку бы тоже так думал :)

08.12.2013 14:59:02
darkstone
Megabyte

Megabyte

ООО Сибтел-крипто

PS: на этот раз как-то все быстро. В танках, кажется, было дольше и муторнее. Надеюсь в следующий конкурс будет длиться около недели. Месяц - слишком долгий кусок жизни.

что быстро-то?)) и раз быстро, то почему месяц это долго? Я вот тоже только после работы часто мог посидеть.. мне мало показалось) тем более подключился неделю спустя после начала.

08.12.2013 15:25:39
darkstone

между прочем, результаты оказались очень неожиданными, учитывая что на верхушке царил Alchemist. Во-первых, этому способствовал формат чемпионата: 4-3, 4-4, 2-5, во-вторых о победителе (я думаю что уже понятно кто это) я узнал только в финале :) почему-то на него я не обращал внимания. Правда стоит заметить, что при 4 участниках - это одно, при двух - это очень и очень другая тактика. Alchemist как раз точил на масскилл, поэтому резкая смена в финале формата (не 4, а 2 соперника) очень изменило поведение на поле боя. На самом деле может быть имело место провести 2 раунда при смене, чтобы игроки поняли, что нужно улучшить, а так получилось у slash-а выстрелило и он победил. Думаю дай ещё время другим игрокам, они подтянуться очень близко к нему, а то и специальную анти-тактику сделают. Вообщем :))))) Мне понравилось! Интересные повороты, интересные передвижки вверху, спасибо организаторам!

08.12.2013 15:35:07
slash

slash

МГУ им. Ломоносова

Мне кажется, многим топам сразу стало понятно, что оттачивать все типы боев особого смысла нет. Я перестал тестировать все кроме дуэлей сразу после 2го раунда. Как подметил darkstone, формат в этом смысле не очень удачный. Правильнее было бы в финале запускать все типы боев. Справедливость, возможно, пострадала бы, в том смысле, что появление рядом с сильным соперником автоматом ухудшает твое положение, но зато побеждали бы более универсальные стратегии, плюс появился бы стимул более тонко выбирать противника, которого атаковать в данный момент. Выходить в топ в начале песочницы тоже, как мне кажется, играет против тебя, так как все остальные изучают тебя и затачивают свои стратегии на бои с тобой. Посмотреть хотя бы на Миланина - до финала вообще даже близко не подбирался, а теперь закончит в тройке скорее всего. Hohol, наоборот, все время выходит на 1ю строчку, и при этом его стратегию уже все изучили вдоль и поперек, вот и контрят. Я в топ залез ко 2му раунду, потоптаться на 1 строчке несколько часов имхо было вполне достаточно, чтобы оценить свои силы. По продолжительности чемпионата имхо оптимальный вариант, у меня к финалу уже почти иссякли идеи, куда еще пилить свою стратегию, даже не представляю, что бы еще неделю или две с ней делал. Можно было бы затачивать под конкретные места на картах, писать дебюты и эндшпили, как в шахматах, но лично мне это было бы уже скучно. Неделя - точно мало, в этом случае сразу отпадут те, у кого бывают авралы на работе, а это, как мне кажется, большая часть программистов, особенно перед концом года. Ну а если совсем честно, то и для меня результаты в финале оказались весьма неожиданными. Смотря на количество коммитов у Megabyte и Hohol и процент побед у них, был уверен, что к ним даже близко не удастся подойти, а вышло вон оно как. В любом случае, спасибо организаторам за отличный чемпионат, в прошлом году узнал о нем поздно и поэтому всерьез поучаствовать не удалось, в этом наконец удалось попробовать свои силы.

08.12.2013 16:12:27
slash

slash

МГУ им. Ломоносова

olexiyo

olexiyo

Киев

А где такой пункт найти – только бои с упавшей стратегией?

Хех, спасибо за ссылочку! Только сейчас у видел, что у меня в первой половине финала 6 боев, где я отрубился по timelimitу. Причем 5 из них я выиграл! Хотя, что удивляться, сам добавил проверку на упавшую стратегию только после первой волны.

08.12.2013 16:21:07
Hohol

Hohol

Maxifier

Эх, не в числе коммитов сила)

slash, а вы опубликуете позже традиционный рассказ победителя о своем выступлении?

08.12.2013 16:44:49
SladeThe

SladeThe

Команда Russian AI Cup

Hohol

Hohol

Maxifier

Эх, не в числе коммитов сила) slash, а вы опубликуете позже традиционный рассказ победителя о своем выступлении?

После первого раза MacBook Air уже победой не считается? :)

08.12.2013 17:08:39
slash

slash

МГУ им. Ломоносова

Hohol

Hohol

Maxifier

Эх, не в числе коммитов сила) slash, а вы опубликуете позже традиционный рассказ победителя о своем выступлении?

Да, с удовольствием, после подведения итогов в песочнице.

08.12.2013 17:21:41
darkstone
slash

slash

МГУ им. Ломоносова

Хех, спасибо за ссылочку! Только сейчас у видел, что у меня в первой половине финала 6 боев, где я отрубился по timelimitу. Причем 5 из них я выиграл! Хотя, что удивляться, сам добавил проверку на упавшую стратегию только после первой волны.

Поздравляю!! Как заметил Hohol, после 16 декабря напишите путь к победе)) с тактическими и техническими моментами более подробно! Будет интересно сравнить и почитать!

08.12.2013 17:24:04
darkstone

В плане награждения, конечно было бы хорошо на будущее награждать победителей раундов (1 места хотя бы), так как действительно они светят стратегию, это повысит интерес к первому месту в раунде, и послужит хотя бы утешительной наградой, если не выйдет зацепиться в финале. Болел за Alchemist-а, но не сложилось)) хотя в масс он лучший!

08.12.2013 17:30:11
darkstone

Извеняюсь за спам, но если первые места напишут о своих путях - это добавить изюму. Отдельно хотелось бы получить рассказ от Alchemist-а. :))) Победы и разочерования, полохие релизы и удачные баги, отработка и прогон, тесты и реальные бои, психология и авралы в реальной жизни!)

08.12.2013 17:33:05
darkstone

Интрига осталась в борьбе за третье место только! :) Это если брать первые места. Да и то за полтара часа до конца отрыв в 14 очков при 84 процентах побед…

08.12.2013 22:30:09
terX

terX

СиПроект

Показательно с падением лидера http://russianaicup.ru/game/view/621744

08.12.2013 23:33:00
baho

baho

3Planesoft

ччерт, песочница врубилась, финальные бои заморозились

09.12.2013 0:07:53
Cooler

Cooler

Минск

Присоединяюсь к поздравлениям! Впервые заметил Слэша в рейтинге во 2-й сотне, и глядя на динамику подумал “да, он может выстрелить!” :) Что касается конкурса - по-моему всё получилось очень хорошо и удачно! Конечно, месяц - это много, но с другой стороны, задача действительно объемная и решать её наспех было бы не очень интересно и правильно. Но и слишком долго пилить было бы скучно. И задача получилась очень удачная - без очевидных подходов к решению. Кто придумал самые правильные и эффективные фишки - тот и рулит, а кто ошибался - тот пролетел :)

09.12.2013 0:09:04
AdmiralShadow

AdmiralShadow

ХГТУ

slash

slash

МГУ им. Ломоносова

Мне кажется, многим топам сразу стало понятно, что оттачивать все типы боев особого смысла нет. Я перестал тестировать все кроме дуэлей сразу после 2го раунда. Как подметил darkstone, формат в этом смысле не очень удачный. Правильнее было бы в финале запускать все типы боев. Справедливость, возможно, пострадала бы, в том смысле, что появление рядом с сильным соперником автоматом ухудшает твое положение, но зато побеждали бы более универсальные стратегии, плюс появился бы стимул более тонко выбирать противника, которого атаковать в данный момент. Выходить в топ в начале песочницы тоже, как мне кажется, играет против тебя, так как все остальные изучают тебя и затачивают свои стратегии на бои с тобой. Посмотреть хотя бы на Миланина - до финала вообще даже близко не подбирался, а теперь закончит в тройке скорее всего. Hohol, наоборот, все время выходит на 1ю строчку, и при этом его стратегию уже все изучили вдоль и поперек, вот и контрят. Я в топ залез ко 2му раунду, потоптаться на 1 строчке несколько часов имхо было вполне достаточно, чтобы оценить свои силы. По продолжительности чемпионата имхо оптимальный вариант, у меня к финалу уже почти иссякли идеи, куда еще пилить свою стратегию, даже не представляю, что бы еще неделю или две с ней делал. Можно было бы затачивать под конкретные места на картах, писать дебюты и эндшпили, как в шахматах, но лично мне это было бы уже скучно. Неделя - точно мало, в этом случае сразу отпадут те, у кого бывают авралы на работе, а это, как мне кажется, большая часть программистов, особенно перед концом года. Ну а если совсем честно, то и для меня результаты в финале оказались весьма неожиданными. Смотря на количество коммитов у Megabyte и Hohol и процент побед у них, был уверен, что к ним даже близко не удастся подойти, а вышло вон оно как. В любом случае, спасибо организаторам за отличный чемпионат, в прошлом году узнал о нем поздно и поэтому всерьез поучаствовать не удалось, в этом наконец удалось попробовать свои силы.

Юрий, поздравляю с достойной победой. С удовольствием разберу Ваш код, после песочницы конечно и если бы будете так добры его выложить. Я думаю, всем участникам и не только, будет интересны игры разума всех победителей, выраженные в коде. Огромное спасибо организаторам соревнований, я опять почувствовал себя Программистом.

09.12.2013 0:10:27
slash

slash

МГУ им. Ломоносова

AdmiralShadow

AdmiralShadow

ХГТУ

Юрий, поздравляю с достойной победой. С удовольствием разберу Ваш код, после песочницы конечно и если бы будете так добры его выложить. Я думаю, всем участникам и не только, будет интересны игры разума всех победителей, выраженные в коде. Огромное спасибо организаторам соревнований, я опять почувствовал себя Программистом.

Да, спасибо. Код наверное сразу выкладывать не буду, после окончания песочницы планировал написать небольшой отчет-рассказ об эволюции своей стратегии, может быть кому-то будет интересно попробовать самому что-то доделать, подцепив какие-то идеи. При выложенном коде это уже будет не так интересно. Хотя желающим могу послать на почту сразу после закрытия песочницы.

09.12.2013 0:23:01
nop

nop

БГУ

Черт, так и не дошли руки до добавления командирской абилки и не-рандомного перемещения по карте :)

09.12.2013 0:24:15
puk

puk

Усть-Каменогорск

slash

slash

МГУ им. Ломоносова

Да, с удовольствием, после подведения итогов в песочнице.

Поздравляю с победой! Рекомендую написать все сейчас но выложить после результатов песочницы. Потому что к тому времени что-то уже подзабудется, краски поблекнут, эмоции не те :-)

09.12.2013 0:26:58
AdmiralShadow

AdmiralShadow

ХГТУ

slash

slash

МГУ им. Ломоносова

Да, спасибо. Код наверное сразу выкладывать не буду, после окончания песочницы планировал написать небольшой отчет-рассказ об эволюции своей стратегии, может быть кому-то будет интересно попробовать самому что-то доделать, подцепив какие-то идеи. При выложенном коде это уже будет не так интересно. Хотя желающим могу послать на почту сразу после закрытия песочницы.

Конечно, я имел ввиду именно после закрытия песочницы и обязательно с рассказом, в конце которого можно было бы найти заветные ссылочки на архивы с кодом. Я очень благодарен например Mr.Smile и GreenTea за код с соревнования 2012 (много пищи для ума, поклон Вам). Я еще очень хотел поздравить участника -XraY-, за ваше Игорь творчество. И то , что тебе нет и 18 лет меня например просто радует. Когда осознаешь, что в моей стране такие юные и талантливый программисты, то гордость обуревает за Родину. Вы, Игорь, на правильном пути у Вас еще все впереди. Еще раз спасибо организаторам.

09.12.2013 0:34:45
nop

nop

БГУ

Просьба к организаторам - открыть формат логов боев и дать доступ для их скачивания. А то будет как с танками - все видели эффектные, красивые бои, а где они сейчас?(жалко, я слишком поздно загрузил сильную стратегию с перебором, даже без майки остался) Ничего не сохранилось. Что будем показывать своим внукам? ;)

09.12.2013 0:51:26
lama

lama

Akademos Inc.

Присоединяюсь к поздравлениям slash-у, красивая победа. И огромное спасибо организаторам. Я после муравьев позапрошлого года очень ждал, когда уже очередной конкурс будет, но в прошлом году проморгал танки - узнал о них из отчета победителя на хабре. Ждем статьи победителей. Интересно сравнить решения.

09.12.2013 0:55:20
amurushkin

amurushkin

ХНУРЭ (бывш. ХИРЭ, ХТУРЭ)

slash

slash

МГУ им. Ломоносова

Да, спасибо. Код наверное сразу выкладывать не буду, после окончания песочницы планировал написать небольшой отчет-рассказ об эволюции своей стратегии, может быть кому-то будет интересно попробовать самому что-то доделать, подцепив какие-то идеи. При выложенном коде это уже будет не так интересно. Хотя желающим могу послать на почту сразу после закрытия песочницы.

Поддерживаю, код не важен, намного интереснее подход и идеи которые были реализованы. Я вот например даже систему предсказаний положения невидимых врагов делал, но мало чем помогло :)

09.12.2013 0:56:14
lama

lama

Akademos Inc.

nop

nop

БГУ

Просьба к организаторам - открыть формат логов боев и дать доступ для их скачивания. А то будет как с танками - все видели эффектные, красивые бои, а где они сейчас?(жалко, я слишком поздно загрузил сильную стратегию с перебором, даже без майки остался) Ничего не сохранилось. Что будем показывать своим внукам? ;)

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

09.12.2013 0:56:15
Cooler

Cooler

Минск

На последних минутах с замиранием сердца наблюдал за окончанием тестирования: вишу на 14-м месте с отрывом в 3 очка, карта более-менее удачная, соперники остались преимущественно из самой нижней части таблицы - казалось бы, отличная перспектива удержать позицию! Авотфиг! Серия вчистую слитых боёв - и вот уже 3 очка отставания… :(

09.12.2013 1:05:38
nop

nop

БГУ

amurushkin

amurushkin

ХНУРЭ (бывш. ХИРЭ, ХТУРЭ)

Поддерживаю, код не важен, намного интереснее подход и идеи которые были реализованы. Я вот например даже систему предсказаний положения невидимых врагов делал, но мало чем помогло :)

Вы не поверите.. По-моему она еще минимум половине финалистов не помогла, включая меня :) Статическая оценка была неколько более стабильной :(

09.12.2013 1:20:16
amurushkin

amurushkin

ХНУРЭ (бывш. ХИРЭ, ХТУРЭ)

nop

nop

БГУ

Вы не поверите.. По-моему она еще минимум половине финалистов не помогла, включая меня :) Статическая оценка была неколько более стабильной :(

Вот интересно было бы узнать по какому принципу вы размещали невидимых бойцов на поле

09.12.2013 1:22:17
nop

nop

БГУ

amurushkin

amurushkin

ХНУРЭ (бывш. ХИРЭ, ХТУРЭ)

Вот интересно было бы узнать по какому принципу вы размещали невидимых бойцов на поле

Лично я реализовал лишь небольшую часть планов на этот счет, так как отпросился от работы лишь на два последних дня перед финалом. У меня была просто битовая “заливка ” от их прошлого замеченного положения, с учетом порядка ходов, из которой вычитались реально осмотренные клетки. Кое-кто делал непрерывные поля вероятностей вместо дискретных, но зато по всей группе невидимях врагов, а не индивидуально. Еще было бы довольно тривиально теми же операциями над множествами вычислить положение стрелявшего или бросившего гранату, но это одна из более чем десятка вещей, не попавших в финальную версию из за отсутствия времени на ее тестирование и отладку. Ну получил бы я пару-тройку клеток, потом пришлось бы добавить их в перебор на стрельбу, код проверки попадания по приросту очков после стрельбы/броска гранаты вслепую, провести тестя, доказывающие результативность…

09.12.2013 1:32:16
amurushkin

amurushkin

ХНУРЭ (бывш. ХИРЭ, ХТУРЭ)

nop

nop

БГУ

Лично я реализовал лишь небольшую часть планов на этот счет, так как отпросился от работы лишь на два последних дня перед финалом. У меня была просто битовая “заливка ” от их прошлого замеченного положения, с учетом порядка ходов, из которой вычитались реально осмотренные клетки. Кое-кто делал непрерывные поля вероятностей вместо дискретных, но зато по всей группе невидимях врагов, а не индивидуально. Еще было бы довольно тривиально теми же операциями над множествами вычислить положение стрелявшего или бросившего гранату, но это одна из более чем десятка вещей, не попавших в финальную версию из за отсутствия времени на ее тестирование и отладку. Ну получил бы я пару-тройку клеток, потом пришлось бы добавить их в перебор на стрельбу, код проверки попадания по приросту очков после стрельбы/броска гранаты вслепую, провести тестя, доказывающие результативность…

у меня код умел стрелять в пустоту по предполагаемому положению врага и определять есть там враг или нет по изменению очков. предсказание я делал довольно примитивно, если враг видим то брал средние координаты всех его юнитов и от этой клетки по радиусу расставлял невидимых юнитов на поля которые мои бойцы не видят. если же я никого не видел то на первых ходах брал зеркальное отражение моих координат а на более поздних искал ближайшую точку в тумане войны по направлению моего движения. для этого пришлось еще заводить список “живых” юнитов врага, но учитывая что мои стреляли зачастую в туман и там убивали , довольно часто получалось что например они думают что в живых еще 3-4 врага а на деле только 1 мог быть. из за этого пятеро моих бойцов могли бояться подойти к одному врагу. но эта версия у меня только для боев 1 на 1. в других типах боев мои сильнее подставляются и часто попадают в засаду.

09.12.2013 1:39:28
nop

nop

БГУ

amurushkin

amurushkin

ХНУРЭ (бывш. ХИРЭ, ХТУРЭ)

у меня код умел стрелять в пустоту по предполагаемому положению врага и определять есть там враг или нет по изменению очков. предсказание я делал довольно примитивно, если враг видим то брал средние координаты всех его юнитов и от этой клетки по радиусу расставлял невидимых юнитов на поля которые мои бойцы не видят. если же я никого не видел то на первых ходах брал зеркальное отражение моих координат а на более поздних искал ближайшую точку в тумане войны по направлению моего движения. для этого пришлось еще заводить список “живых” юнитов врага, но учитывая что мои стреляли зачастую в туман и там убивали , довольно часто получалось что например они думают что в живых еще 3-4 врага а на деле только 1 мог быть. из за этого пятеро моих бойцов могли бояться подойти к одному врагу. но эта версия у меня только для боев 1 на 1. в других типах боев мои сильнее подставляются и часто попадают в засаду.

В финале, разумеется, у меня тоже была предварительная расстановка врагов и учет их движения указынным выше методом. Давало возможность бойцам исследовать территорию на предмет бонусов, не боясь, чо за углом уже стоит враг. А что касается проверок по очкам - просто не дошли руки. Давным давно казалось очевидно, что это нужно, но при ограниченном времени и притом, что я пишу практически на C, времени на все не хватило. До того как я научился быстро определять порядок ходов врагов по их появлению, исчезновению, повреждениям от атаки, у меня было состояние врага “видим 50/50” по такому врагу можно было стрелять или бросить гранату вслепую, но не було уверенности, что из за пока не выясненного порядка хоодов он будет оставаиться на том же месте. К чему я это говорю.. Пока я долго выяснял порядок, стратегия играла лучше, так как делала, пусть даже необоснованные, предположения что враг стоит там же где стоял, и действовала с учетом этого, с 50%-ми весами. Возможно стоило дать ей и в дальшейшем учитывать положение таких “призрачных” врагов если я даже и был уверен на тот момент, что у них было время походить.

09.12.2013 1:49:23
amurushkin

amurushkin

ХНУРЭ (бывш. ХИРЭ, ХТУРЭ)

nop

nop

БГУ

В финале, разумеется, у меня тоже была предварительная расстановка врагов и учет их движения указынным выше методом. Давало возможность бойцам исследовать территорию на предмет бонусов, не боясь, чо за углом уже стоит враг. А что касается проверок по очкам - просто не дошли руки. Давным давно казалось очевидно, что это нужно, но при ограниченном времени и притом, что я пишу практически на C, времени на все не хватило. До того как я научился быстро определять порядок ходов врагов по их появлению, исчезновению, повреждениям от атаки, у меня было состояние врага “видим 50/50” по такому врагу можно было стрелять или бросить гранату вслепую, но не було уверенности, что из за пока не выясненного порядка хоодов он будет оставаиться на том же месте. К чему я это говорю.. Пока я долго выяснял порядок, стратегия играла лучше, так как делала, пусть даже необоснованные, предположения что враг стоит там же где стоял, и действовала с учетом этого, с 50%-ми весами. Возможно стоило дать ей и в дальшейшем учитывать положение таких “призрачных” врагов если я даже и был уверен на тот момент, что у них было время походить.

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

09.12.2013 1:55:32
Hohol

Hohol

Maxifier

А я хочу поздравить участника Milanin. Все-таки 4 место с всего лишь 11 версией - это офигенно!

Отдельное спасибо за то, как заставил меня понервничать последние 12 часов финала)

09.12.2013 1:58:01
cheeser

cheeser

Glowbyte

Присоединяюсь к поздравлению тройки победителей: slash, Megabyte, Hohol респект вам и уважуха, отлично отыграли =) И свои идеи выкладывать по-моему ещё рано :)

09.12.2013 2:01:08
nop

nop

БГУ

cheeser

cheeser

Glowbyte

Присоединяюсь к поздравлению тройки победителей: slash, Megabyte, Hohol респект вам и уважуха, отлично отыграли =) И свои идеи выкладывать по-моему ещё рано :)

Айпод тач не удастся выиграть? :D

09.12.2013 2:12:36
Cooler

Cooler

Минск

amurushkin

amurushkin

ХНУРЭ (бывш. ХИРЭ, ХТУРЭ)

у меня код умел стрелять в пустоту по предполагаемому положению врага и определять есть там враг или нет по изменению очков. предсказание я делал довольно примитивно, если враг видим то брал средние координаты всех его юнитов и от этой клетки по радиусу расставлял невидимых юнитов на поля которые мои бойцы не видят. если же я никого не видел то на первых ходах брал зеркальное отражение моих координат а на более поздних искал ближайшую точку в тумане войны по направлению моего движения. для этого пришлось еще заводить список “живых” юнитов врага, но учитывая что мои стреляли зачастую в туман и там убивали , довольно часто получалось что например они думают что в живых еще 3-4 врага а на деле только 1 мог быть. из за этого пятеро моих бойцов могли бояться подойти к одному врагу. но эта версия у меня только для боев 1 на 1. в других типах боев мои сильнее подставляются и часто попадают в засаду.

А я стрельбу в неизвестность решил не делать - вроде бы выгоднее пройтись-разведать, чем стрелять. Сделал только броски гранат в неизвестность а также стрельбу туда, где был виден враг, но неизвестно ушел он или нет (т.е. вероятность не меньше 50%)

09.12.2013 2:13:56
Cooler

Cooler

Минск

Cooler

Cooler

Минск

А я стрельбу в неизвестность решил не делать - вроде бы выгоднее пройтись-разведать, чем стрелять. Сделал только броски гранат в неизвестность а также стрельбу туда, где был виден враг, но неизвестно ушел он или нет (т.е. вероятность не меньше 50%)

Ну и, конечно, наблюдение за изменением очков, чтобы понять - есть ли попадание, и убит ли враг.

09.12.2013 2:15:01
cheeser

cheeser

Glowbyte

nop

nop

БГУ

Айпод тач не удастся выиграть? :D

Наоборот, поможет выиграть :D

09.12.2013 2:17:31
Cooler

Cooler

Минск

cheeser

cheeser

Glowbyte

Наоборот, поможет выиграть :D

Кстати, а сколько их всего будет? Что-то нигде не нашел… Может еще поборемся? ;)

09.12.2013 2:18:44
cheeser

cheeser

Glowbyte

Cooler

Cooler

Минск

Кстати, а сколько их всего будет? Что-то нигде не нашел… Может еще поборемся? ;)

6 их будет. В новости про итоги финала, например, информация есть :)

09.12.2013 2:21:49
nop

nop

БГУ

amurushkin

amurushkin

ХНУРЭ (бывш. ХИРЭ, ХТУРЭ)

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

Я не очень хотел делать стрельбу по пустым клеткам, потому что не хотел расширять дерево перебора. Я изначально решил, что отбрасывать буду лишь совершенно бессмысленные либо полностью эквивалентные ветви, поэтому даже после добавления хитрого кода обрезания мусорных ветвей, на клинических случаях, типа раненого медика в окружении раненых друзей, врагов и нескольких рационов, финальная оценка позиции вызывалась более 600000000 раз. А она не из 10 строчек тоже.. Для одного хода одного юнита. Понятное дело, всё можно кэшировать и оптимизировать ДП-подобными методами, но от этого так код распухает…

09.12.2013 2:22:33
Cooler

Cooler

Минск

cheeser

cheeser

Glowbyte

6 их будет. В новости про итоги финала, например, информация есть :)

А, ну отлично! Еще поборемся! :)

09.12.2013 2:23:43
Cooler

Cooler

Минск

nop

nop

БГУ

Я не очень хотел делать стрельбу по пустым клеткам, потому что не хотел расширять дерево перебора. Я изначально решил, что отбрасывать буду лишь совершенно бессмысленные либо полностью эквивалентные ветви, поэтому даже после добавления хитрого кода обрезания мусорных ветвей, на клинических случаях, типа раненого медика в окружении раненых друзей, врагов и нескольких рационов, финальная оценка позиции вызывалась более 600000000 раз. А она не из 10 строчек тоже.. Для одного хода одного юнита. Понятное дело, всё можно кэшировать и оптимизировать ДП-подобными методами, но от этого так код распухает…

Перебор сильно расширяют дешевые действия (лечение медика), а стрельба - штука сравнительно дорогая, её влияние не так значительно.

09.12.2013 2:27:15
amurushkin

amurushkin

ХНУРЭ (бывш. ХИРЭ, ХТУРЭ)

nop

nop

БГУ

Я не очень хотел делать стрельбу по пустым клеткам, потому что не хотел расширять дерево перебора. Я изначально решил, что отбрасывать буду лишь совершенно бессмысленные либо полностью эквивалентные ветви, поэтому даже после добавления хитрого кода обрезания мусорных ветвей, на клинических случаях, типа раненого медика в окружении раненых друзей, врагов и нескольких рационов, финальная оценка позиции вызывалась более 600000000 раз. А она не из 10 строчек тоже.. Для одного хода одного юнита. Понятное дело, всё можно кэшировать и оптимизировать ДП-подобными методами, но от этого так код распухает…

Ничего себе, у меня за бой столько раз функция оценки не вызывается, в среднем по 2500 раз за ход хватает. И то работает достаточно медленно, определенно в следующем году на питоне я не буду писать, слишком уж большая разница по времени выходит.

09.12.2013 2:33:48
nop

nop

БГУ

Cooler

Cooler

Минск

Перебор сильно расширяют дешевые действия (лечение медика), а стрельба - штука сравнительно дорогая, её влияние не так значительно.

Как раз у медика она и дешевая. Впрочем, ему-то не приходится стрелять по невидимым клеткам, но вполне можно кидать по ним гранаты.

09.12.2013 2:35:09
nop

nop

БГУ

amurushkin

amurushkin

ХНУРЭ (бывш. ХИРЭ, ХТУРЭ)

Ничего себе, у меня за бой столько раз функция оценки не вызывается, в среднем по 2500 раз за ход хватает. И то работает достаточно медленно, определенно в следующем году на питоне я не буду писать, слишком уж большая разница по времени выходит.

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

09.12.2013 2:38:18
nop

nop

БГУ

Cooler

Cooler

Минск

Ну и, конечно, наблюдение за изменением очков, чтобы понять - есть ли попадание, и убит ли враг.

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

09.12.2013 2:44:07
nop

nop

БГУ

amurushkin

amurushkin

ХНУРЭ (бывш. ХИРЭ, ХТУРЭ)

Ничего себе, у меня за бой столько раз функция оценки не вызывается, в среднем по 2500 раз за ход хватает. И то работает достаточно медленно, определенно в следующем году на питоне я не буду писать, слишком уж большая разница по времени выходит.

Ну и да, на C/C++ имеешь роскошь брутфорсить то, над чем, скажем, питонщику, или даже джаверу пришлось бы думать.

09.12.2013 2:49:52
Megabyte

Megabyte

ООО Сибтел-крипто

У меня перед перебором кешировались все возможные действия для каждой клетки, враги доступные для стрельбы, бросок гранаты только один в самое выгодное место, друзья доступные для лечения из данной клетки, ценность окончания хода в данной клетке. Максимум 12 действий, редко когда доступны все. Два лечения доктора стоимостью в 1 AP просчитываются как одно неразделимое действие. Иначе натыкался на расчет 12 в 12 степени. Рационов просчитывалось максимум один. В перерыве финала добавил просчет второго рациона. Но пришлось проверять выход за лимиты времени : ) По началу страта падала в случае, если рядом лежали 3-4 рациона. Солдат долго думал в какой последовательности их собрать и съесть. Настоящий гурман. : )

09.12.2013 8:45:27
terX

terX

СиПроект

amurushkin

amurushkin

ХНУРЭ (бывш. ХИРЭ, ХТУРЭ)

Ничего себе, у меня за бой столько раз функция оценки не вызывается, в среднем по 2500 раз за ход хватает. И то работает достаточно медленно, определенно в следующем году на питоне я не буду писать, слишком уж большая разница по времени выходит.

Каждая платформа без условно носит свои плюсы и минусы, но определенно говорить об явном отставании питона к другим языками программирования не стоит, в плане ИИ это неправильно. Сам, к примеру полноценного опыта в ИИ строении не обладая и на начало конкурса не знал питона, приступил к его изучению, огреб багов, не попал ни в один из раундов, испытал флаг изменчивости.. Но освоил прекрасный динамичный язык, с теми достоинствами и изъянами какие ему присуще. Был бы Go взял бы его изучать  Уверенно можно сказать, что более или менее нормальное ИИ должно уметь учиться, обладать обратной связью, другое дело, что бои в конкурсе скоротечны. В действительности у всех же страты упрощены или же нет? Надо дождаться окончания песочницы У каждого свое видение тактического боя стратегии, но любые боевые действия предполагают знания местности и манеры поведения на ней. Характеристики карт можно как статически зашивать в код, так и динамически их получать. По мне так в данном виде конкурса реализация боевых сценариев, как засады и преследования представляли больший интерес.. Занятие позиции половина победы. Ой, это к тому что, на питоне можно все также реализовать. Ведь здесь не было состязания языков программирования? :)

09.12.2013 10:47:44
olexiyo

olexiyo

Киев

terX

terX

СиПроект

Каждая платформа без условно носит свои плюсы и минусы, но определенно говорить об явном отставании питона к другим языками программирования не стоит, в плане ИИ это неправильно. Сам, к примеру полноценного опыта в ИИ строении не обладая и на начало конкурса не знал питона, приступил к его изучению, огреб багов, не попал ни в один из раундов, испытал флаг изменчивости.. Но освоил прекрасный динамичный язык, с теми достоинствами и изъянами какие ему присуще. Был бы Go взял бы его изучать  Уверенно можно сказать, что более или менее нормальное ИИ должно уметь учиться, обладать обратной связью, другое дело, что бои в конкурсе скоротечны. В действительности у всех же страты упрощены или же нет? Надо дождаться окончания песочницы У каждого свое видение тактического боя стратегии, но любые боевые действия предполагают знания местности и манеры поведения на ней. Характеристики карт можно как статически зашивать в код, так и динамически их получать. По мне так в данном виде конкурса реализация боевых сценариев, как засады и преследования представляли больший интерес.. Занятие позиции половина победы. Ой, это к тому что, на питоне можно все также реализовать. Ведь здесь не было состязания языков программирования? :)

+1 – проблем со скоростью питона практически нет. Конечно, на С++ можно было бы более глубоко в дерево поиска уходить, но главне недостатки моей страты были не из-за недостатка вычислений. (а в реальной жизни все вычисления из питона все равно вызывают С++ методы :)

09.12.2013 10:54:12
amurushkin

amurushkin

ХНУРЭ (бывш. ХИРЭ, ХТУРЭ)

terX

terX

СиПроект

Каждая платформа без условно носит свои плюсы и минусы, но определенно говорить об явном отставании питона к другим языками программирования не стоит, в плане ИИ это неправильно. Сам, к примеру полноценного опыта в ИИ строении не обладая и на начало конкурса не знал питона, приступил к его изучению, огреб багов, не попал ни в один из раундов, испытал флаг изменчивости.. Но освоил прекрасный динамичный язык, с теми достоинствами и изъянами какие ему присуще. Был бы Go взял бы его изучать  Уверенно можно сказать, что более или менее нормальное ИИ должно уметь учиться, обладать обратной связью, другое дело, что бои в конкурсе скоротечны. В действительности у всех же страты упрощены или же нет? Надо дождаться окончания песочницы У каждого свое видение тактического боя стратегии, но любые боевые действия предполагают знания местности и манеры поведения на ней. Характеристики карт можно как статически зашивать в код, так и динамически их получать. По мне так в данном виде конкурса реализация боевых сценариев, как засады и преследования представляли больший интерес.. Занятие позиции половина победы. Ой, это к тому что, на питоне можно все также реализовать. Ведь здесь не было состязания языков программирования? :)

Это все так, но есть нюанс. Мой алгоритм с перебором возможных действий в течении одного хода работает в десятки раз медленнее чем аналогичные у сишников, еще когда в топе песочницы был Hardcode я был в ужасе когда увидел, что мой алгоритм работает в средней по 5 секунд за бой при 3 бойцах, а его за 0.2. При этом и у него и у меня был всего лишь перебор своих возможных действий. Мне вот например скорости питона нехватало, часть пришлось вырезать после того как стратегия стала падать часто. А переписать все на Java хотя бы мне было лень. В следующий раз сразу начну с Java я думаю.

09.12.2013 11:02:24
SladeThe

SladeThe

Команда Russian AI Cup

nop

nop

БГУ

Просьба к организаторам - открыть формат логов боев и дать доступ для их скачивания. А то будет как с танками - все видели эффектные, красивые бои, а где они сейчас?(жалко, я слишком поздно загрузил сильную стратегию с перебором, даже без майки остался) Ничего не сохранилось. Что будем показывать своим внукам? ;)

По сути всё, что вы описали, можно было делать с самого начала соревнования :) Перед воспроизведением игры в плеере скачивается её полный лог. У лога довольно простой формат: по одному JSON-объекту на строку. Разжёвывать я не буду. Кому сильно надо, сам разберётся.

09.12.2013 11:43:01
o_o

o_o

Москва

Поздравляю победителей и спасибо организаторам.

Я на первой неделе, когда выбирал между питоном и джавой, провел тест: определение манхэттенского расстояния до всех юнитов. Джава смогла 150к раз до падения посчитать, питон 20к раз. Поэтому решил все-таки писать на джаве, а то разница в 7 раз. Си, наверно, еще раз в 10 побыстрее, но я его очень плохо знаю.

09.12.2013 11:43:57
SladeThe

SladeThe

Команда Russian AI Cup

o_o

o_o

Москва

Поздравляю победителей и спасибо организаторам. Я на первой неделе, когда выбирал между питоном и джавой, провел тест: определение манхэттенского расстояния до всех юнитов. Джава смогла 150к раз до падения посчитать, питон 20к раз. Поэтому решил все-таки писать на джаве, а то разница в 7 раз. Си, наверно, еще раз в 10 побыстрее, но я его очень плохо знаю.

С++ от Java по производительности гораздо меньше отличается, чем Java от Python. Есть даже отдельные операции, которые Java выполняет быстрее C++.

09.12.2013 11:46:40
acherednychenko

acherednychenko

www.nayzer.com

Огромное спасибо организаторам и поздравления победителям. Сразимся еще раз в след году.

09.12.2013 12:35:16
acherednychenko

acherednychenko

www.nayzer.com

Вопрос к организаторам - было бы интересно собрать данные касательно архитектуры алгоритма? Например можно сделать опросник. С полученными данными можно сделать интересную для многих людей инфографику.

09.12.2013 13:06:39
Cooler

Cooler

Минск

amurushkin

amurushkin

ХНУРЭ (бывш. ХИРЭ, ХТУРЭ)

Это все так, но есть нюанс. Мой алгоритм с перебором возможных действий в течении одного хода работает в десятки раз медленнее чем аналогичные у сишников, еще когда в топе песочницы был Hardcode я был в ужасе когда увидел, что мой алгоритм работает в средней по 5 секунд за бой при 3 бойцах, а его за 0.2. При этом и у него и у меня был всего лишь перебор своих возможных действий. Мне вот например скорости питона нехватало, часть пришлось вырезать после того как стратегия стала падать часто. А переписать все на Java хотя бы мне было лень. В следующий раз сразу начну с Java я думаю.

Может быть у него была проще оценочная ф-ция и более строгое отсечение перебора? Тут ведь запросто можно получить замедление в 10 раз…

09.12.2013 13:26:30
amurushkin

amurushkin

ХНУРЭ (бывш. ХИРЭ, ХТУРЭ)

Cooler

Cooler

Минск

Может быть у него была проще оценочная ф-ция и более строгое отсечение перебора? Тут ведь запросто можно получить замедление в 10 раз…

может быть конечно, нюансов может быть полно, но у меня оценочная функция итак очень простая. наверное есть только один способ проверить - переписать код на Java и сравнить

09.12.2013 13:40:44
JustAMan

JustAMan

Нижний Новгород

Перепишете, увидите, что стало быстрее. И что? :) Это докажет только то, что интерпретируемый Питон медленнее JIT-компилируемой Java. Но никак не покажет, насколько был сложен или правилен сам алгоритм.

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

То есть вполне очевидно, что возможное количество вычислений на Питоне (при указанном лимите на время) будет меньше, чем на Яве или на СИ++. Из этого не следует, что невозможно написать хороший код на Питоне :) правда, я тому плохой пример. :D поскольку не прошёл дальше 2го раунда…

09.12.2013 14:16:50
nop

nop

БГУ

SladeThe

SladeThe

Команда Russian AI Cup

По сути всё, что вы описали, можно было делать с самого начала соревнования :) Перед воспроизведением игры в плеере скачивается её полный лог. У лога довольно простой формат: по одному JSON-объекту на строку. Разжёвывать я не буду. Кому сильно надо, сам разберётся.

Ну вот: “кому сильно надо”. Это напоминает не так давно существовавший подход: “Кому надо - декомпилирует раннер” :( Положим, я владею на терпимом уровне джаваскриптом и умею парсить json, но все равно не очень хочется специально для получения логов этого конкурса еще и в вебпрограммиста превращаться, чего полжизни уже избегаю :) Неужели нет двоичных логов, наподобие тех, что получаешь репитером?

09.12.2013 14:35:07
nop

nop

БГУ

nop

nop

БГУ

Ну вот: “кому сильно надо”. Это напоминает не так давно существовавший подход: “Кому надо - декомпилирует раннер” :( Положим, я владею на терпимом уровне джаваскриптом и умею парсить json, но все равно не очень хочется специально для получения логов этого конкурса еще и в вебпрограммиста превращаться, чего полжизни уже избегаю :) Неужели нет двоичных логов, наподобие тех, что получаешь репитером?

.. И неужели так сложно добавить публичный доступ на чтение к каталогу с ними, по FTP, например? Не нужно кнопочек “скачать” и прочей ерунды. А иначе да, придется себе продлять конкурс на лишний день, а потом долбить ваш сервер запросами :) Боюсь предположить, вы в JSON и карту видимости передаете?

09.12.2013 14:39:44
nop

nop

БГУ

SladeThe

SladeThe

Команда Russian AI Cup

С++ от Java по производительности гораздо меньше отличается, чем Java от Python. Есть даже отдельные операции, которые Java выполняет быстрее C++.

Это верно, Джава даже бывает быстрее не только на особо отобранных бенчмарках, но и на некоторых реальных задачах. До тех пор пока вычислительно сложная часть кода сводится к небольшим, довольно ограниченным кусочкым кода, которые способен прожевать JIT-оптимизатор, и пока не приходит время побеспокоить Его Величество Сборщик Мусора. На C/C++ же код можно писать “униформно быстрый”. Но за все надо платить, и отрицать недостатки этих языков я, например, не стану. Даже есть до сих пор затыки, мешающие тому, что считается коньком этих языков - оптимизации кода.

09.12.2013 14:49:11
nop

nop

БГУ

JustAMan

JustAMan

Нижний Новгород

Перепишете, увидите, что стало быстрее. И что? :) Это докажет только то, что интерпретируемый Питон медленнее JIT-компилируемой Java. Но никак не покажет, насколько был сложен или правилен сам алгоритм. Простой пример - я написал у себя анализ поля (в какие клетки выгоднее всего вставать), чтобы не делать его вручную, и всобачил это дело в первый ход первого же бойца. Оно стало не проходить по времени. Я немного попрофилировал алгоритм и снизил затраты времени на него в три раза. …

Вы можете попрофилировать код на питоне и сделать его быстрее в разы. Потом вы можете написать неверянтно хитрое кэширование промежуточных результатов, огрести багов, победить их и сидеть, радуясь тому, что ваш код работает раз в 100 быстрее первоначальной версии, хоть и превратился в кучу макаронов. А в это время C-шник решил задачу вашим первым подходом, “в лоб”, и, убедившись, что на расчеты ушли микросекунды, решает тем временем новую задачу.

09.12.2013 14:59:28
amurushkin

amurushkin

ХНУРЭ (бывш. ХИРЭ, ХТУРЭ)

JustAMan

JustAMan

Нижний Новгород

Перепишете, увидите, что стало быстрее. И что? :) Это докажет только то, что интерпретируемый Питон медленнее JIT-компилируемой Java. Но никак не покажет, насколько был сложен или правилен сам алгоритм. Простой пример - я написал у себя анализ поля (в какие клетки выгоднее всего вставать), чтобы не делать его вручную, и всобачил это дело в первый ход первого же бойца. Оно стало не проходить по времени. Я немного попрофилировал алгоритм и снизил затраты времени на него в три раза. …

ну дело не в этом. я свой код тоже ускорил на 30% в дальнейшем, просто раз на Java этот же алгоритм быстрее, то это значит что в него можно еще добавить фишек на которые раньше не хватало времени на выполнение

09.12.2013 15:26:28
JustAMan

JustAMan

Нижний Новгород

nop

nop

БГУ

Вы можете попрофилировать код на питоне и сделать его быстрее в разы. Потом вы можете написать неверянтно хитрое кэширование промежуточных результатов, огрести багов, победить их и сидеть, радуясь тому, что ваш код работает раз в 100 быстрее первоначальной версии, хоть и превратился в кучу макаронов. А в это время C-шник решил задачу вашим первым подходом, “в лоб”, и, убедившись, что на расчеты ушли микросекунды, решает тем временем новую задачу.

Всё так, я не спорю. Просто в последнее время я тесно общаюсь с Питоном, а плюсы подзабыл основательно. И времени на написание и отлов багов на плюсах у меня банально нет - слишком много будет “детских ошибок”. Моя текущая стратегия делает всё, чего я от неё хотел - на большее не хватает идей (фантазии или мозга, не знаю уж).

Как-то так :)

09.12.2013 16:16:21
Milanin

Milanin

Microsoft

Hohol

Hohol

Maxifier

А я хочу поздравить участника Milanin. Все-таки 4 место с всего лишь 11 версией - это офигенно! Отдельное спасибо за то, как заставил меня понервничать последние 12 часов финала)

Спасибо. Я тебя тоже поздравляю. Два года подряд в тройке - это чуть более круто, чем 4 место с 11 посылок. Ну и да, я тоже понервничал 12 часов.

09.12.2013 18:09:01
KiRex

KiRex

Москва

Milanin

Milanin

Microsoft

Спасибо. Я тебя тоже поздравляю. Два года подряд в тройке - это чуть более круто, чем 4 место с 11 посылок. Ну и да, я тоже понервничал 12 часов.

Присоединяюсь к поздравлениям и ждем статьи с описанием стратегии и подходу к разработке. Большой объем локальных тестов или просто небольшое количество багов? А может это тактика такая - выложить в последний момент гарантированно сильную, чтобы остальные не успели приспособиться :) ? В общем -интересно все в любом случае.

09.12.2013 19:06:38
SladeThe

SladeThe

Команда Russian AI Cup

lama

lama

Akademos Inc.

Вопрос к администрации. Не нашел явного ответа, хотя и не исключаю, что он где-то есть: Среди кого будут выбираться победители песочницы? Среди вообще всех? Или всех, кроме топ6 финала? Или те, кто участвовал в финале, вообще не могут стать ее победителями?

Среди всех, как и в прошлом году. Тогда пересечение призёров Финала и Песочницы было незначительным, поэтому решили оставить как есть. Если в этом году получится, что одни и те же люди получают призы, то подумаем над изменением правил.

10.12.2013 11:38:33
Milanin

Milanin

Microsoft

KiRex

KiRex

Москва

Присоединяюсь к поздравлениям и ждем статьи с описанием стратегии и подходу к разработке. Большой объем локальных тестов или просто небольшое количество багов? А может это тактика такая - выложить в последний момент гарантированно сильную, чтобы остальные не успели приспособиться :) ? В общем -интересно все в любом случае.

Должен разочаровать. Выкладывал в последний момент потому, что заработало в последний момент. Заработало в последний момент потому, что написал в последний момент. Написал в последний момент потому, что такой уж менталитет. Так что никаких интриг. Хотел было проифать Хохла, поэтому выложил две противоположных стратегии, но он разнес обе :) , поэтому я на это забил. А по поводу локальных тестов, в ACMе принято говорить так:

– написал?

– да.

– потестил?

– система потестит.

10.12.2013 23:38:06
icxon

icxon

Санкт-Петербург

Эх, а финалисты всё те же, и вполне заслуженно получают по два приза. Исключение keika, который “забил” на конкурс после второго раунда (даже на сайт не заходит), и внезапно на втором месте теперь, честь и хвала.

15.12.2013 22:43:22
baho

baho

3Planesoft

Верхушка да, а вот за 5,6 места сейчас борьба нешуточная идет! Сижу в напряжении, f5 жму постоянно. Рандом песочницы во всей красе :)

15.12.2013 22:48:28
Hohol

Hohol

Maxifier

Отставание от шестого места приличное - 10 очков. Но это бой 4 стратегий, тут вполне можно надеяться на большой плюс к рейту за победу. С замиранием сердца наблюдаю. И побеждаю! Получаю за победу 9 очков.

baho, pivizz, поздравляю!

16.12.2013 0:02:37
cha0ss

cha0ss

ООО "АИС Город"

Hohol

Hohol

Maxifier

Отставание от шестого места приличное - 10 очков. Но это бой 4 стратегий, тут вполне можно надеяться на большой плюс к рейту за победу. С замиранием сердца наблюдаю. И побеждаю! Получаю за победу 9 очков. baho, pivizz, поздравляю!

Последние бои в песочнице подарили много эмоций =)

16.12.2013 0:06:37
baho

baho

3Planesoft

Hohol

Hohol

Maxifier

Отставание от шестого места приличное - 10 очков. Но это бой 4 стратегий, тут вполне можно надеяться на большой плюс к рейту за победу. С замиранием сердца наблюдаю. И побеждаю! Получаю за победу 9 очков. baho, pivizz, поздравляю!

Спасибо! Я тоже следил за этим боем :) Это была жесть конечно, я даже посмотрел несколько твоих последних боев, на предмет сколько очков давали за победу. Нашел, где и по 15 было. Тоже поздравляю Pivizz’а! Hohol, сочувствую, рандом - такой рандом.

16.12.2013 0:06:39
Cooler

Cooler

Минск

baho

baho

3Planesoft

Верхушка да, а вот за 5,6 места сейчас борьба нешуточная идет! Сижу в напряжении, f5 жму постоянно. Рандом песочницы во всей красе :)

Да уж, 1 балл разницы! :) Ну а мне сегодня как-то не повезло :)

16.12.2013 0:07:26
baho

baho

3Planesoft

cha0ss

cha0ss

ООО "АИС Город"

Последние бои в песочнице подарили много эмоций =)

У меня аж голова разболелась, за финал так не переживал :)

16.12.2013 0:07:33
Cooler

Cooler

Минск

Кстати, есть ощущение, что сегодня рейтинг работал как-то иначе - за победы и поражения давалось/снималось гораздо больше очков, чем 2-3 дня назад (специально сравнил).

16.12.2013 0:10:16
baho

baho

3Planesoft

Cooler

Cooler

Минск

Кстати, есть ощущение, что сегодня рейтинг работал как-то иначе - за победы и поражения давалось/снималось гораздо больше очков, чем 2-3 дня назад (специально сравнил).

По моему это из-за заливки стратегии. Я замечал, что после заливки новой версии немного увеличивается изменчивость.

16.12.2013 0:13:36
cheeser

cheeser

Glowbyte

Ух) Наконец-то отпустило!)) Спасибо всем участникам за фан и интересные идеи, а организаторам за организацию =) Надо в следующем году уделить больше времени чемпионату, коли он состоится, и занять 1-е место =)

16.12.2013 0:24:15
lama

lama

Akademos Inc.

а я, как всегда, за 2 дня до конца сделал глупость, и после того, как за ночь тестирования глючной новой версии упал с 18-21 мест, на которых держался первую половину недели, до 48, решил не терять времени и по-быстрому вернуть свою позицию, и включил галочку с изменчивостью рейтинга. и проиграл бой с более слабым противником :) в результате, получил -500 очков за один бой и за оставшиеся дни так и не смог добраться даже то прежней позиции, хотя новая версия была эффективнее той :) в итоге закончил на 27 месте, хоть и шел вверх до самого конца :)

16.12.2013 3:23:23
lama

lama

Akademos Inc.

еще раз, спасибо администрации, это был очень интересный месяц жизни :)

16.12.2013 3:23:47
lama

lama

Akademos Inc.

Мужики (ну и девушки, если такие есть среди нас), кто будет куда-либо выкладывать статьи с вашими историями – кидайте ссылки сюда, даже если вы не заняли призовых мест. Не знаю, как остальным, а лично мне интересна история каждого, кто попал в топ50.

16.12.2013 3:26:46
darkstone

Спасибо организаторам! :)) Я так надеялся, что это ещё не конец и залил в 23.57 последнюю версию :) Очень понравилось! А сколько ещё всего не реализованного!

16.12.2013 9:31:58
JustAMan

JustAMan

Нижний Новгород

Спасибо организаторам! :)) Я так надеялся, что это ещё не конец и залил в 23.57 последнюю версию :) Очень понравилось! А сколько ещё всего не реализованного!

Ну это же не совсем конец, обещали, что песочница потом ещё какое-то время будет работать. Без призов уже, правда :)

16.12.2013 16:55:06
darkstone

Надеюсь, а то что-то затихло всё в песочнице. Главное чтобы побыстрее и до конца праздников, чтобы на выходных посидеть можно было.

16.12.2013 16:57:52