dastapov: (new)
2016-09-21 10:17 pm
Entry tags:

ICFPC-2016: afterparty

Организаторы выложили результаты

Моя скромная команда сползла с 19-го места на 22-е (все равно, я считаю, офигенно для этого подхода к решению).

Первое место, как и в прошлом году, взяли Unagi и вот тут можно посмотреть, как работает их солвер.

Lightning round полностью вручную взял jabber.ru, как уже было, кажется, в 2007-м году.
dastapov: (new)
2016-08-09 11:52 pm
Entry tags:

ICFPC-2016: день третий

Предыдущие части : день первый, день второй.

На третий день (традиционно, в 10:00) я обнаружил, что сполз до 42 места (из около 200 активных участников). Какое-то время ушло на вытягивание новых задач и разглядывание того, как другие участники решают мои задачи. В 11:00 я вернулся к написанию солвера.Read more... )
dastapov: (new)
2016-08-09 10:16 pm
Entry tags:

ICFPC-2016: день второй

(предыдущая часть, следующая часть)

Первый день у меня закончился тем, что я пробовал сделать модель "бумаги", которую можно будет "гнуть", и потом извлекать из нее результаты сгибания в виде, пригодном для отправки на сервер в качестве решения.Read more... )
dastapov: (new)
2016-08-09 12:31 am
Entry tags:

ICFPC-2016: день первый

(Это первая часть рассказа, а вот вторая и третья)

В этом году ICFPC был про оригами.

Вам дается контур сложенной из бумаги плоской фигуры (в виде координат точек) и вы должны ее сложить. Для тех, кто уже офигел и не знает, за что хвататься, дается дополнительная подсказка - еще одна "картинка", показывающая все ребра и складки в этом контуре -- представьте, что вы смотрите оригами "на просвет", однако при этом все точно совпадающие складки и ребра сливаются воедино. Организаторы называли это "контуром" и "скелетом". Еще про оригами известно то, что оно сложено из листа бумаги размером 1x1. Read more... )
dastapov: (new)
2016-08-03 12:18 pm
Entry tags:

ICFPC-2016: осталось два дня

По такому поводу можно вылезти из спячки :)

Через два дня (в пятницу, 6 августа) начинается ICFPC-2016. В прошлом году у меня поучастовавть не получилось, предыдущие два были (по моему мнению) так себе. Посмотрим, что будет в этом году.

PS: если вдруг кто еще не знает, что такое ICFPC, можете почитать мои старые отчеты, начиная с этого, они все под тэгом icfpc.
dastapov: (new)
2014-09-08 09:55 pm
Entry tags:

ICFPC-2014: совершенно не отчет

Во-первых, поздравляю человека и парохода jabber.ru с победой в lightning раунде.

Во-вторых, на этом месте мог бы быть отчет, но писать особо не о чем. В этом году я пробовал что-то сделать самостоятельно, но буквально сразу увидел (кажется, на IRC) слово SECD и в результате отвлекся на чтение книжки Хэндерсона "Functional Programming Application and Implementation", которой явно вдохновлялись организаторы. В результате я узнал много нового и интересного о том, как можно использовать camlp4, чтобы реализовать "компилятор" из сделанного тобой DSL в OCaml, а также о том, что такое SECD-машина (как она дана у Хэндерсона, а не урезанный вариант из задачи этого года).

После возни с полноценной SECD-машиной мотивация делать обкоцанную SECD-машину у меня как-то пропала, и я для себя на этом ICFPC-2014 закрыл. А что у вас?
dastapov: (new)
2014-07-25 08:12 am
Entry tags:

Сегодня ICFPC-2014

Сегодня начинается ICFP Contest, также известный как ICFPC.

В этом году я ни с кем не кооперировался, никак не готовился, и вообще собираюсь писать на ocaml :) А вы?

PS: если вдруг кто еще не знает, что такое ICFPC, можете почитать мои старые отчеты, начиная с этого, они все под тэгом icfpc.
dastapov: (new)
2014-05-21 09:53 pm
Entry tags:

Вот и ОНО :)

Если вдруг кто еще не знает, то в этом году ОНО будет с 25 по 28 июля. Кто собирается участвовать?
dastapov: (new)
2013-08-14 11:00 pm
Entry tags:

Fair Guessing of Bit Vectors, или как я участвовал в ICFPC 2013.

Эпиграф



Нас было 7 человек. У нас было 20 модулей на хаскеле, приватный репозиторий на гитхабе, 6 веток в этом репозитории, ImplicitParams, MagicHash и UndecidableInstances в коде и одна highmem нода на амазоне, а также hangouts для общения, юнит-тесты, просто тесты, google docs для заметок и куча статей про SMT-солверы. Не то что бы мы это все использовали, но на ICFPC ты ищешь в инете всякую дурь и бывает трудно остановиться. Единственное что вызывало у меня опасение - это SMT-солверы. Нет ничего более беспомощного, безответственного и испорченного, чем человек, читающий статьи в ходе контеста. Но я знал, что рано или поздно мы подсядем и на эту дрянь.

Краткое содержание для тех, кому лень читать все



Наша команда называлась "(unmatched", и состояла она из меня, Жени [livejournal.com profile] jkff, Ромы ro-che.info, Вани [livejournal.com profile] _navi_, Саши [livejournal.com profile] sorhed, Макса (которого нет в ЖЖ) и еще одного Саши [livejournal.com profile] wizzard0.

Мы набрали 1301 из 1820 возможных, из них 457 в lightning round, т.е. в первые 24 часа (UPD: и, похоже, заняли там 10 место! Аааааа!). Мы заняли место между 11-м и 25-м, но еще не знаем, какое конкретно.

Мы писали на Haskell и вот наш репозиторий.

Спасибо моим соратникам - вы все молодцы и умницы! Традиционное спасибо моей жене [livejournal.com profile] yulanta за моральную и прочую поддержку :)

А теперь - длинная история про то, как дело было.Read more... )
dastapov: (Default)
2012-08-01 09:10 pm
Entry tags:

ICFPC 2012: результаты первого (и последнего) раунда

Вот они, родимые.

Мы - на позорном 131 месте. Где-то за 20 минут до финиша, когда мои товарищи по команде вырубались после бессонной ночи, возник вопрос - какой же солвер сдавать в качестве финального?

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

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

На мелких картах второй тред успевал перебрать все (или почти все) и выбраться из практически любой ловушки. На больших же картах он рисковал со временем пожрать всю память и быть убитым OutOfMemory Killer-ом (который живет в ядре linux). Если бы это произошло, то мы бы на такой карте не набрали ничего. Осознание этой засады пришло слишком поздно, и сделать какой-то монитор/ограничитель мы уже не успевали.

Забоявшись out of memory, я убедил полусонных Женю и Ваню, что сдавать надо первый вариант. В результате мы вылетели в первом раунде.

Второй вариант набрал бы как минимум 7200 очков (я запускал его на оценочных картах с лимитом в 30 секунд, а за 150, думаю, он мог бы набрать и больше) и мы были бы где-то в районе 50-60 месте. Ну, как известно, если бы да кабы ... :) Мораль придумайте сами.

Посмотрим, что будет в следующем году.
dastapov: (Default)
2012-07-16 08:53 pm
Entry tags:

ICFPC 2012: от Lambda The Gathering к Gathering The Lambdas

Обязательное вступление: что это вообще такое?


Каждый год случается международная конференция ICFP - International Conference on Functional Programming. К этой конференции приурочен програмерский конкурс под названием ICFPC. Несмотря на название конференции, участвовать в контесте может любой желающий, и пользоваться можно любыми языками, не только функциональными, кроме того - участники могут объединяться в команды. ICFPC отличается от соревнований типа ACM и topcoder тем, что он менее "заточен" под какие-то конкретные языки или наборы навыков, а задачи в нем прикольные и позволяют получить удовольствие не только от победы, но и от участия.

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

Подготовка


В этом году я заранее вписал даты в календарик, взял на работе отгул, и договорился с Женей [livejournal.com profile] antilamer и Ваней [livejournal.com profile] _navi_ о том, что мы будем выступать одной командой и писать на Haskell.

Моя жена собиралась где-то в это же время поехать с детьми на историческую родину, и мы подгадали поездку так, что на время ICFPC я остался один-совсем-один. Если быть точным, за 4 часа до старта я был в аэропорту и провожал их на самолет, и вернулся домой за 5 минут до начала.

Подготовка, таким образом, свелась к заливанию ssh-ключей на bitbucket (где у нас был git-репозиторий) и обмену контактами с остальными участниками команды :)

Старт и условие

Read more... )
dastapov: (Default)
2012-06-21 04:57 pm
Entry tags:

ICFPC-2012

А кто что себе думает про ICFPC-2012? Кто собирается участвовать? На чем писать? Я в этом году твердо намерен не пропустить мероприятие - кто хочет объединить усилия?

UPD: договорился с [livejournal.com profile] _navi_ и [livejournal.com profile] antilamer.
dastapov: (Default)
2012-03-30 10:46 pm
Entry tags:

ICFPC-2012: запишите в календарь

Отсюда: The ICFP Programming Contest dates have been announced. The contest will run from Friday 13 July 12:00 GMT to Monday 16 July 12:00 GMT.
dastapov: (Default)
2010-06-24 05:47 pm
Entry tags:

ICFPC-2010: Киев

Кстати, а кто из участников ICFPC-2010 был из Киева? Я знаю себя и [livejournal.com profile] murkt (уверен на 90%), а кто еще?
dastapov: (Default)
2010-06-23 10:03 pm
Entry tags:

ICFPC-2010: aftermath

Ну-с, отчет-репортаж написан, теперь можно дать волю эмоциям :)

Что мне понравилось?Read more... )
dastapov: (Default)
2010-06-22 01:50 am
Entry tags:

ICFPC-2010: Тачки, деньги и Большой Тритовый Коллайдер

Этот пост - о том, как мы строили машины, фабрики и гнали бензин на ICFPC-2010.

Кто еще не знает, что это такое - может пройти в сад почитать мой отчет об ICFPC-2006. Всех же остальных я не буду мучать долгими вступлениями и сразу перейду к сути.Read more... )
dastapov: (Default)
2009-09-14 02:16 pm
Entry tags:

ICFPC'09: результаты

Я слоупок опять все пропустил: уже есть результаты ICFPC'09.Read more... )
dastapov: (Default)
2009-06-30 02:00 am
Entry tags:

ICFPC-2009: Таких не берут в космонавты!

Имя команды: li-monad (спасибо aleksey/jabber.ru за идею)
Состав: я, endless-world, [livejournal.com profile] iakovz, при участии blancus.
Итоговый бал: 2234.7171 (12 problems solved)

Поскольку scoreboard традиционно перестал обновляться за пару часов до окончания соревнования, мне сложно сказать, какое же место мы заняли в конце-концов. Если все остальные участники расслаблялись перед финальным свистком и ничего не делали, то это будет 59-е место.  Но скорее всего в расстановке сил перед самым финишем наверняка произошли существенные изменения, и я буду рад, если нас не "выдавят" хотя бы из первой сотни.

Читать в деталях )
dastapov: (Default)
2009-06-24 01:24 pm
Entry tags:

ICFPC'09

Если вы, как и я, регулярно путаете июнь и июль, то знайте, что до ICFPC'09 остался вовсе не месяц, а всего два дня! :)

Сайт соревнования: http://icfpcontest.org

Обсуждение в jabber: конференция icfpc@conference.jabber.ru

Обсуждение в IRC: #icfp-contest на freenode
dastapov: (Default)
2009-02-17 12:25 pm
Entry tags:

Украинское ICFPC? Ну, поглядим ...

Сорока на хвосте принесла новость о соревновании для (русскоязычных) программистов, которое будет проводится с 5-го по 12-е марта.

Организаторы обещают фан на уровне ICFPC. Надеюсь, образца 2006-го года :)

Читаем и участвуем: http://stanfy.com.ua/contest/