ICFPC-2007

lilia_rass

Привет всем,
кто-нть участвует в этом году в ICFPC-2007?
http://www.icfpcontest.org/
http://mr-aleph.livejournal.com/35550.html

Ivan8209

Возможно.
---
...Я работаю...

bleyman

О, давай вместе попрогаем =)

Landstreicher

Я бы тоже поучаствовал.

agaaaa

+1

6yrop

cool

agaaaa

мб тогда соберёмся как-нить и порешаем задание 2006-ого?
после сессии, разумеется...

Vladislav177Rus

Хочу поучаствовать, что нужно заботать для более-менее успешной попытки?

lilia_rass

Понятия не имею, я сам не участвовал -)
Но можно посмотреть задания с прошлого года.

Ivan8209

Если меня посадят на колёса, это будет зависеть не только от меня.
---
"Лезут матримониальные мотивы?"
kaiafa

agaaaa

В каком смысле?

agaaaa

АЕ!
PS D:\documents\lost\Visual Studio Codename Orcas\Projects\ICFP\UniversalMachine> & 'D:\documents\lost\Visual Studio Co
ename Orcas\Projects\release\UniversalMachine.exe' sandmark.umz
trying to Allocate array of size 0..
trying to Abandon size 0 allocation..
trying to Allocate size 11..
trying Array Index on allocated array..
trying Amendment of allocated array..
checking Amendment of allocated array..
trying Alloc(a,a) and amending it..
comparing multiple allocations..
pointer arithmetic..
check old allocation..
simple tests ok!
about to load program from some allocated array..
success.
verifying that the array and its copy are the same...
success.
testing aliasing..
success.
free after loadprog..
success.
loadprog ok.
PS D:\documents\lost\Visual Studio Codename Orcas\Projects\ICFP\UniversalMachine> & 'D:\documents\lost\Visual Studio Co
ename Orcas\Projects\release\UniversalMachine.exe' codex.umz
self-check succeeded!
enter decryption key:
(\b.bb\v.vv)06AAbsqu51UUMkQBGh
decrypting...

Медленно, блин
Окончания SANDmark'а даже дожидаться не стали...

agaaaa

Вынес реализацию виртуальной машины в отдельный класс - стала работать на порядок быстрее о-О
Хе-хе-хе, это было из-за использования класса Trace

oleg1331

как успехи, народ? команда уже укомплектована или еще нет?

agaaaa

Командны нет.
Предлагаю всё-таки устроить общий сбор.

agaaaa

up!

oleg1331

ап! где и когда?
со мной связываться:
mailto: GMail.com
mobile: +7-903-110-49-28
icq: 228717718
Предпочтительнее по телефону или почте.

agaaaa

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

Dasar

Участвовать буду, но серьезно или не очень - пока не знаю.
Использовать буду: VS/C# + source safe в инете.

agaaaa

Не знаком с source safe, к несчастью. Пишу тоже на C#. Вообще говоря у меня сейчас VS.NET 2008 TS Beta стоит...

katrin2201

Если задание будет интересное (похожее на 2006 то поучавствую. Если не в команде, то один.
Мне писать предпочтительнее всего на джаве, или на с++
\stl.

agaaaa

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

oleg1331

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

klyv

ути, какая веселуха собирается - я, конечно, за поучаствовать!
только на этих выходных вряд ли смогу собраться - ребёнок на руках будет.
ах, да.. язык - .. ну какой надо, тот и будет. если большинство хочет C#, то C#
а ещё было бы интересно попробовать D .

Dasar

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

kokoc88

это плохо, т.к. source safe как раз позволяет объединить усилия удаленных друг от друга разработчиков
С этой убогой системой мало кто знаком. В большинстве случаев используют CVS или SVN.

Dasar

> В большинстве случаев используют CVS или SVN.
они хреново интегрируются с VS.

kokoc88

они хреново интегрируются с VS
Что поделать, зато они прекрасно интегрируются с Windows Shell (Tortoise) и с IDEA. Обычно этого вполне хватает.

Dasar

> зато они прекрасно интегрируются с Windows Shell (Tortoise) и с IDEA. Обычно этого вполне хватает
ни тем (windows shell ни другим (idea) виндовые разработчики обычно не пользуются

kokoc88

ни тем (windows shell ни другим (idea) виндовые разработчики обычно не пользуются
Я вполне себе виндовый разработчик и пользуюсь обеими этими вещами. Tortoise весьма удобен в сочетании с SVN, так что я даже не веду речи о недостатках VSS в сравнении с SVN. Отсутствие интеграции со студией в данном случае - самая малая проблема.

evgen5555

Тут трабл как бы только в том, что из солюшена в случае конфликта выпадают проекты из-за разметки

oleg1331

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

Landstreicher

К сожалению, на меня навалилось страшное количество дел, ничего не успеваю. Так что поучаствовать, по всей видимости, не смогу Хотя, конечно, очень хочется...
Буду за вас болеть.
На всякий случай — оставьте координаты, вдруг будет передышка, посмотрю задачки, может идея какая-нибудь полезная придет.

katrin2201

Поэтому крайне пользительно иметь клиент своего VS вне IDE =)

klyv

Поэтому крайне пользительно иметь клиент своего VS вне IDE =)
как бы это понять?

katrin2201

а какие слова непонятны?

klyv

клиент своего VS вне IDE
типа, хочеьтся собирать из командной строки?

katrin2201

коммитить\апдейтить\резолвить_конфликты - да, хочется
а если еще и ИДЕ будет понимать изменения - вообще замечательно
PS VS - Versioning System а не вижуал студия

klyv

PS VS - Versioning System а не вижуал студия
:) так бы сразу

Ober

VS - Versioning System
У нас вот больше прижилось сокращение VCS — Version Control System :]

agaaaa

Turtoise SVN с помощью какой-то триальной приблуды прекрасно интегрируется с VS.
Я могу в выходные. Не вижу проблемы в сборе в ФДС или в ГЗ - и туда, и туда МГУшников пускают днем.
UPD. Раз все пишут на до-диезе, напомню, что у нас есть замечательное средство разделения труда - partial classes.

katrin2201

слажал )

oleg1331

я не пишу ток на С++ пока, к сожалению.

katrin2201

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

Vladislav177Rus

Я готов поучаствовать, пишу на C++, идею 'а поддерживаю, не помешает так же irc-канал и/или skype-конференция.

katrin2201

irc-канал
с технической стороны - не вопрос

oleg1331

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

klyv

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

oleg1331

так там и голос и чат есть

klyv

и голос и чат
дык для чата проще уж IRC использовать.

agaaaa

мб конференцию в жаббере?

laki

народ в обсуждении в жж предыдущего турнира, чувак высказал клевую идею, создать команду работающую нонстоп

agaaaa

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

katrin2201

Думаю, что это абсолютно параллельно, стоп не нонстоп, производительности команды это не повышает.
Ну так что, есть кто-то, кто готов поднять на алепаре.ру форум и\или репозиторий и\или ирку? =)
Так же предлагаю устроить голосовалку по каждому из пунктов.

agaaaa

Отлично, в ФДС-7 есть трое. Надо полагать, что мы будем в режиме "двое пишут, один следит за ошибками" посменно прогать. Вроде все достоверно будут учавствовать.
Зачем поднимать форум, если у нас есть эта тема?
Насчёт репозитория можно будет на встрече оговорить. Из выложенного блога не видно, что он нужен.
Кстати, у всех троих скоро опустеют комнаты.

katrin2201

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

agaaaa

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

katrin2201

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

oleg1331

ну и еще пункт - собраться всем в одном месте физически я сразу за него, ИМХО удобнее всего.

katrin2201

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

oleg1331

хм.. а 8 человек - это по-моему многова-то. будет больше разговоров, чем дела. 4 человека - оптимально, на мой взгляд. А хата в москве... Общага уже не устраивает? ) 4 чела в комнату - самое оно.

agaaaa

В клубную все 20 влезут.

katrin2201

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

katrin2201

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

oleg1331

хм. ну так а что мешает сделать, допустим, вариант, что есть несколько людей, находящихся физически в одном помещении, которые как раз и будут кодить. А обсуждение можно вынести в блог/форум, чтобы могло учавствовать больше людей?
П.С. Если я предлагаю какой-то один вариант - это не значит, что я против других! Например, сейчас в общаге собирается команда, которая прогает на шарпе, а я в шарпе не шибко силен ( Мне бы лучше на плюсах, но похоже я в общаге такую команду вряд ли найду. Так что нужно организовывать.. Основная проблема, по-моему, это поднять репозитарий. Если найдется кто-нибудь, кто сможет сделать - я присоединюсь без малейших вопросов и с любыми другими условиями (джаббер, скайп, форум и т.п.)
И в конце концов - я за любой вариант, лишь бы учавствовать

Vladislav177Rus

Кто-нибудь уже зарегистрировал MSU Team?

Ober

MSU Team?
Команда типа "Stydno za MGU"?
Было бы время, я бы в такой команде поучаствовал =]

Vladislav177Rus

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

agaaaa

Кстати да, надо зарегистрировать команду!

agaaaa

Rassvet-CMC-MSU
upd. Желающие учавствовать - пишите в приват или (лучше) в аську - дам пароль.

agaaaa

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

lilia_rass

Собставенно, я бы хотел тоже участвовать, раз уж завёл эту тему -)

oleg1331

где территориально находишья, на чем прогаешь?
*Her Dust - не уж то это ты? OMG

lilia_rass

Нахожусь в Мск, в районе м. Красногвардейская -) Из МГУ выпустился в прошлом году, так что пропусков и т.п. у меня нет.
Пишу на C, C++, nasm (не уверен, что здесь понадобится, ну да ладно -)

pitrik2

по-моему главное это совместные тренировки
подготавливаться нужно было вместе и где за полгода
а так...
один из вас чтото решит, все остальные практически ничего
500 баллов если заработаете - это будет чтото невероятное!
upd: сорри за пессимизм

lilia_rass

А мы будем считать это совместной тренировкой к следующему году -)

agaaaa

пропуска - не проблема
окна всегда решали в ФДС-ах

lilia_rass

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

lilia_rass

Что насчёт SVN-репозитория?
Я в принципе поднял один, если что.
svn://mos.ath.cx:3690/

agaaaa

Пошли логин в приват, плз.

karkar

Если задание окажется достаточно интересным, я возможно буду участвовать.
Советую всем будущим участникам присмотреться к блогу организатора нынешнего задания, там завязывается интересная история про якобы зашифрованное сообщение с картинками от инопланетян и уже не только картинками..
http://johanjeuring.blogspot.com/2007_04_01_archive.html
Предположу, что нас ждет реализация некоего языка описания преобразований картинок, нечто напоминающее задание 2000-го года..

laki

кстати, а что за первое место дают?

agaaaa

irc.rinet.ru
#rassvet-cmc-msu

karkar

Справку о том, что ты владеешь самым искусным языком, все деффки твои потом.
Плюс раньше 1000 баксов было, сейчас не знаю.

slonishka

lilia_rass

доступ в svn теперь по авторизации, логины можно получать у меня
svn://mos.ath.cx:3690/
вроде как тут решили будем.

laki

скока народа то в команде?

lilia_rass

х3
Человек 5 наверно будет.

karkar

Задание о%&ительное, первый час потратил на его изучение.
Сделал на С++ преобразователь ДНК в РНК, примеры работают верно, ДНК из задания пока не расшифровал. На 21-й итерации нужно 46 тыщ раз quote сделать, тут тормоза начинаются..
Как у вас прогресс?

Vladislav177Rus

На 21-й итерации нужно 46 тыщ раз quote сделать

Сделай табличку преобразования

karkar

Не, оказалось у меня баг был (некоректно разбиралась команда там не надо так много раз делать.
Теперь столкнулся с недостаточной скоростью, меняю логику части работы со строками...
Параллельно нашел послание в ДНК пришельца (ACHTUNG! ... там есть картинка, надо бы ее раcшифровать..

Dmitriy82

Как 46К раз quote? Там ведь грубо говоря, каждый четвёртый символ удваивается, соответственно это означает 2^11500 из каждого исходного символа...
А что за примеры работают верно? Где взял?

У меня сейчас риск 3509762, фдватцатке.

Vladislav177Rus

В каком виде послание?

karkar

Нет там 46K quote, это баг был.
Примеры простейшие со стр. 11.
>У меня сейчас риск 3509762, фдватцатке
Wow! Крут! А я все еще расшифровываю...
Послание в виде больших букв, видно если смотреть файл с ДНК по 16 символов в строке.

karkar

Ты ДНК целиком расшифровывал? Если да, то на чем реализовывал, с какой скоростью шла расшифровка и сколько времени потребовала?
А то у меня даже после ускорения того что было все равно около 10 итераций в секунду в среднем...

agaaaa

можешь вычленить послание?

karkar

Там их целая цепочка. Сначала текст, потом картинка с текстом, потом аудио...

fufa58

песец
их вычленить без начальной расчлененки днк->рнк->картинка можно? а то наши еще первый конвертер неддописали =(

ppplva

Ваши - это которые на C# в SourceSafe ?

karkar

Да, послания вычленяются без всяких трансляторов.
Открываем в FARe dna, немного скроллим вниз, находим буквы (16 символов в ширину).
За ними идет каринка в PNG в двоичном виде.
За ней идет mp3 файл в том же виде (11 секунд).
В файле голос диктует буквы I I P I F F C и т.д..

agaaaa

За ними идет каринка в PNG в двоичном виде.
За ней идет mp3 файл в том же виде (11 секунд).
С какой это позиции? Как представлен двоичный вид?

agaaaa

А-а-а, понял.
Нет, не понял. Пойду посплю...

karkar

Все интересней и интересней..
http://stuff.thedeemon.com/icfpc/message.gif

karkar

Дошел до риска 1160658 (фдвадцатке пора пойти поспать..

laki

во бля фанаты

fufa58

на шарпе у нас там только одна вспомогательная тулза накатана, остальное на С/С++.
конвертер рнк->картинко вроде написали, тестовые скрипты правильно отрисовывает, а днк->рнк там пока пишут. Что-то долго

karkar

А какие для РНК тестовые скрипты? Или это свои?

fufa58

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

karkar

Ясно. Мой совет - сосредоточьтесь на дописании транслятора и расшифровывайте послания. Там дальше для расшифровки обе фазы нужны (ДНК - РНК - картинка с текстом).

fufa58

хм, а на картинке из исходной днк должен получиться 30-символьная строка, да?
Впрочем, если она у нас получилась по ошибке, то ошибка в таком случае ЖЖОТ

karkar

Да, там сначала строчка эта, потом уже картинка рисуется: небо, горы...
А префикс из задания запускает self-check, весьма полезно на нем провериться (я у себя баг нашел, правда некритичный).
Don't panic.

vook

на шарпе у нас там только одна вспомогательная тулза накатана, остальное на С/С++.
А где здесь functional programming?

ermsoft

It seems particularly important to ensure that performing skips and appending unquoted references perform better than in linear time.

Скажите, а я правильно понимаю, что это означает, что ни массивы, ни связанные списки не подходят, и надо придумывать что-то более извращённое?
Да и вообще, appending unquoted references - оно же в общем случае копирования требует, как оно может быть быстрее, чем за линейное время, непонятно...

karkar

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

fufa58

Нам товарищ обещал сотню серверов
расспараллелить эту муть, и ффпирьод =)
только днк2рнк ещё не совсем работает =(

ermsoft

Нам товарищ обещал сотню серверов
Вот так команда из Google и победила в прошлом году

karkar

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

Helga87

Вот так команда из Google и победила в прошлом году
ггг
команда из Google могла использовать и на два порядка больше серверов. Только я думаю там просто в команде сидели лидеры списка TopCoder и они просто умели быстро решать сложные задачи

nikita270601

то есть любой разработчик Google может просто так взять десятки тысяч серверов под свои нужды? сколько же всего серверов у Google?!

sirius

В 2006 году было четыреста пятьдесят тысяч =)

Helga87

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

fufa58

хм, у нас на селф-чеке генератор днк->рнк вылетел. Сколько в картинке пунктов должно получиться?

karkar

25 пунктов.

Helga87

До фига!
web-страница. Только там какой-то восторженный маркетолог переводил, можно пропустить все сопли и смотреть на вакансию Software Engineer

fufa58

сильно мы отстаём, мы до этой картинки только сейчас дошли...

karkar

Чел из команды neorbe говорит на rsdn, что их реализация, не копирующая строки, выполняет за 15 минут исходную днк и по 5 минут тратит на создание картинок с лямбдой (таких три картинки расшифровали). Но даже расшифровка тех картинок не дала им намеков на решение, только больше загадок.
Моему тормозному транслятору понадобились сутки, чтобы я смог прочитать текст на первой картинке с лямбдой..

fufa58

у нас медленно (щас там пытаемся соптимизировать). Пока что на моём Athlon 64 3400+ прога с суффиксом из мп3 прошла 5к итераций за 2 часа процессорного времени. Выведенный кусок рнк пока рисует только одно слово =(

karkar

Ура! Переделал транслятор, теперь 3000 итераций в секунду! Ну, держитесь!
Если хотите использовать транслятор, избавляйтесь от копирования строк (по крайней мере длинных). На картинку с лямбдой нужно больше миллиона итераций.

laki

а ты без команды чтоли хреначишь?

karkar

Да, только моральная поддержка жены.

6yrop

респект ! я тоже буду за тебя болеть

fufa58

жжошЪ.
будем думать
У тебя исходное днк сколько обрабатывается?
И, by the way, сколько итераций при префиксе из мп3?

karkar

Исходная днк работала минут 20 на новом трансляторе (число итераций есть в описании, почти 2 миллиона).
При префиксе из мп3 итераций совсем мало, точное число не помню.
Причем наши мнения с neorbe о том, что там выдается, разошлись.

laki

дай ссылку на рсдн

fufa58

из того что посчиталось на данный момент (9к итераций) - там есть слой со словом laziness, который потом закрашивается черным слоем. последние тысячи четыре итераций в рнк ничего не писалось =(

karkar

А, точно, я тогда прервал выполнение и потому увидел только lazyness.
Щас поставил еще раз считаться, итераций там немало оказалось - уже больше 100000..

fufa58

чорд, придется переписывать =(
а главный аффтор текущего транслятора отправился спать.
Ладно, мб с утра успеем

laki

фига себе ты еще и шареваре занимаешься. успешно?

karkar

Относительно успешно, но пока приносит меньше основной работы. Надеюсь в ближайшем будущем ситуацию изменить.

pitrik2

ну как там?
кончилось?
кто победил?
какие кто места занял из отметившихся в этом треде?

lilia_rass

Поздравляю всех с успешным окончанием! -)

Chupa

"Stydno za MGU" в топ-15

laki

да ладно это че реально команда из мгу?

disna

Поздравляю! Респект!

Ober

Поздравляю! Респект!
+1

timefim

Чето я не пойму, кому поздравления?

pitrik2

Чето я не пойму, кому поздравления?
SzM за то что они в топ-15
http://www.icfpcontest.org/submits/scoreboard

Ober

Команде "SzM"

laki

а кто в нее входил?

timefim

+1
И на чем писали.

Ober

а кто в нее входил?
А пусть они сами расскажут, если, конечно, ещё раз опустятся до написания постов в этот девелоперский раздельчик :]

Landstreicher

> И на чем писали.
Haskell, Python, C++, sh.

karkar

Первые 15 мест в неизвестном порядке. Окончательные резульаты только осенью будут. Остальные уже известны.
Я фписятке (42 место). Также был в top20 lightning division, но вряд ли первый.
Rassvet-CMC-MSU 131 место.
Упоминавшиеся rsdn-щики на 119 месте.
Команда adept'a, который так здорово описал прошлогоднее соревнование, на 56-м.

pitrik2

Команда adept'a, который так здорово описал прошлогоднее соревнование, на 56-м.

pitrik2

прикольный ты чел
я бы с тобой в команде поучаствовал бы

laki

все равно поздравляю. один и пробился в 50ку

bleyman

Ухх! Оно ЗОГкончилось!
Пью пиво!
Мы были Tibetian Biodiversity Display (условно-случайно подобранный акроним к tbd, как-то так пошло) и заныкались аж на тридцатое место путём грязных хаканий. Прозреваю, что если бы последний сабмит прошёл (а он не прошёл, потому что у меня гпрс и двадцать часов не спал и ваще то могло бы быть и лучше.
;payload
;?IFPICFPPCFFPP ( !7509396 ) ( !24 ) ( !24 )
;IIPIP %0:1 IIPIP %0:2 IICIICIICIPPPIPPCPIIC IFPICFPPCFFPP %0:0
; ufo with smoke 4406243 1805 (just subtract 13 from teh baze offs and yay)
( ?IFPICFPPCFFPP !4406230 ) !161
%0:0
<compiled payload>
Для тех, кто понимает. И так далее для всех объектов, недостойных занимать место.
Сам удивляюсь, каким идиотом нужно быть, чтобы решить посмотреть наконец на маленькую процедурку вида чо-то-там-колор и узнать, как эта херня работает и как правильно возвращаться из функции, за два часа до конца. А потом стремаясь и плющась считать оффсеты и запускать дебаггер.
Вообще стрёмное какое-то получилось всё. Если б участнеги не имели опыта 2006, намного лучше все пошли бы, я думаю. Как бы я вначале думал, что виртуальную машину дебагать бессмысленно в принципе, как это было в 2006, что нам будут выдавать префиксы за квесты и всё такое. А тут вдруг выяснилось, что это самое основное занятие и есть. Пришлось переписывать немножко кода и впадать в длительную депрессию.

timefim

Сколько человек, какие языки?

laki

йоу Фыж. Поздравляю тоже не плохо

laki

а даркгрей в какой команде был?

bleyman

Четверо: я, livejournal://_zee_, livejournal://mindszenty и Игорь Русских (который аффтар Колорера).
Я зопрогал на шарпе виртуальную машину и потом построил поверх неё дебаггер и компилятор ассемблера (ну типа такая вот запись паттернов/темплейтов) в коды. И декомпилятор, соответственно. И ваще!
Игорь запрогал транслятор РНК в картинки, который был глючной, но зато он мог в него смотреть и трейсить всячески. На руби. Потом он ещё писал что-то более высокоуровневое для трансляции, но я к тому моменту был уже совершенно категорически нерасположен изучать руби вообще и его транслятор в частности. Ну и, собственно, изучал Всякие Штуки он исключительно плодотворно, например, сумел подставить в Character Set произвольный шрифт вместо точег. Ну и вообще — открытия в основном его, насколько я помню.
Зи появился ночью с пятницы на субботу и запрогал на жаве правильный и сравнительно быстрый транслятор РНК, который я потом только и использовал. Ещё зи прогал типа ОЦР для распознавания мессаги Alien Virus Alert, которая оказалась совершенно беспонтовой, а ОЦР нам потом не пригодился вообще потому что я научился ловить вызовы drawChar и дампить код.
Микал появлялся изредка и иногда чота прогал. Это специфика соревнования — оно не распараллеливается вообще. Если человек вдруг отстал на полсуток, то максимум на что он может надеятся — что ему дадут какую-нибудь задачку. Вот в конце он вполне замечательно запрогал расшифратор задампленного кода, после чего кое-как распознал таблицу функций. Правда, это было уже где-то в семь утра понедельника... Тоже руби.

timefim

Ждем отчета массовика затейника Лоста. =)

oleg1331

у лоста нет отрубили до пятницы ( я за него. Рассказывать, где слажали не буду.. долго и неинтересно.. прикол в том, что до самого конца у нас не было работающей первой части днк2рнк. было несколько версий.. Но одна сыпалась на непонятном глюке на самом последнем тесте селф-чека, вторая жрала дофига памяти и жутко медленно работала.. Вообщем ДНК мы полностью ниразу не скомпилили, к сожалению ( Но не смотря на это выдернули код с самого начала файла, бинарные мптришку и картинку после ахтунга, два кода, которые получаются при подстановке одного из префиксов из бинарной пнгшки. Немного, но ниче. До этого мы не только не тренировались, но вообще незнакомы между собой были. Да еще и основные языки программирования у всех разные. У кого С#, у кого С, у кого С++.. фигня полная короче
но для 1 раза я доволен ) Мне понравилось, пусть даже мы и 103 (или какие там? Rassvet-CMC-MSU) Прогать надо больше.. Лично я довольно сильно ощущал отсутствие практики (полное) в течение последних 2 месяцев, т.е. начиная с сессии и заканчивая началом контеста, когда я за С++ вообще практически не садился, занимался другими вещами. Так что вот такой вот примерно отчет.

timefim

Считай в сотне, тоже не плохой результат.

fufa58

131 место, но я думаю, сойдёт.
Лост там сейчас сидит, на интерес переписывает ДНК как связный список связных списков)

laki

эх фанаты.

Dasar

> а даркгрей в какой команде был?
я не участвовал. неделя была тяжелой, поэтому в выходные расслаблялся

laki

тогда ждем коментов от СЗМ

fufa58

Почитал рсдн. Там есть частичное прохождение. клёво.

ppplva

Мы не сошлись в выборе языка, поэтому писали 2 транслятора (т.е. execute) - на хаскеле и cpp. Это помогло в отладке - в них были почти непересекающиеся баги, и часто можно было определить первый ошибочный шаг. К 10 часам пятницы плюсовый транслятор заработал, и где-то за 3 часа нарисовал исходного алиена. В субботу к 16 часам сделали оптимизированный транслятор - он отрабатывал за несколько минут.
Потом вызывали функции, рюхали как устроен код этой машины, разгадывали загадки и т.д. Итоговый префикс патчил код машины: убирал звезды, луну, собственно алиена , менял цвет ящика и т.д. Этим Шуреск занимался, расскажет если захочет.
Первой вызванной функцией была, конечно же, M-class-planet

laki

ну а дальше? балы за что получили

Chupa

> балы за что получили
результат: 682894, 22.0699%, 2374
структура последовательности:
* меняются деревья
* переворачиваются рыбки
* меняется инициализатор для кустов сзади
* поворачиваются лопасти мельницы
* включается день (стандартный кусок из подсказки)
* меняется цвет ящика
* переставляются цвета у цветов
* остальные крупные куски, которые не удалось подобрать, меняются на грушу (\x.x , alien, облачко с лямбда, ufo, хрень под китом)
команда: , , KIM, PShA (в форуме
отдельное спасибо Ildar

nikita270601

Ура и Ildar!
Остальных не знаю

pitrik2

http://docs.google.com/View?docid=dccx65q8_1f88ffp
http://yole.livejournal.com/354572.html?style=mine
один из разработчиков intellij IDEA тоже в топ-15
ваще русские рулят!

karkar

А расскажи, как разбирались с функциями, как поняли какой код что делает и что надо патчить.
Я почему-то сразу решил, что разобраться в 7,5 мегах самомодифицируещегося кода один не смогу и искал обходные пути, работая с ДНК как с черным ящиком.
С загадками дальше трех картинок с лямбдами не продвинулся.
В итоге просто посмотрел чем картинка с включенным солнцем отличается от целевой, из измененных областей нашел самые популярные цвета, для них самые большие по площади непрерывные области, сделал их обход и заливку нужным цветом. Такую последовательность команд сжал чем-то вроде RLE и превратил в префикс, который в итоге приближает картинку к цели почти на 3 тыщи точек, но сам стоит 2 тыщи, разница дала отвоеванные баллы.
Моя смешная картинка:

conv3rsje

всякие разные картинки вытянутые из днк

Landstreicher

Могу выложить наш исполнитель DNA->RNA, который работает достаточно быстро (порядка 45000 итераций в секунду на endo.dna). Кому-нибудь надо?

Dasar

на каком языке?
при решении задания его менять надо?

karkar

Выложи.

Landstreicher

После скачки переименовать в execdna.cpp

Dmitriy82

Спасибо, прогу вчитал с удовольствием. Отличная идея с двумя уровнями дефрагментации.
Интересно, а дерево могло бы дать выигрыш в сравнении с линейным списком фрагментов (dna_item)?
На случай что кому интересно, описываю, как я решал. Участвовать я имел возможность только первые сутки, поэтому на написание хорошего execute и расшифровку генома сразу забил. В дальнейшем я исходил из того, что эти семь мегабайт полезных графических библиотек мне недоступны, и рисовать надо с чистого листа. Для начала я написал программу, которая выдаёт монотонную картинку самого частого цвета. Выигрыш это дало мизерный. Дальнейшее строилось на этой же идее: я рисовал изображение из одноцветных квадратных блоков, каждый из которых был залит наиболее подходящим цветом. При этом уделял внимание эффективному кодированию цвета (смешиванию в палитре наименьшего комплекта базисных; если цвет очередного блока можно выгоднее получить из текущего состояния палитры без сброса, так и делалось). В итоге пришёл к кодированию цвета примерно в 18 аминокислот. При этом структура самой днк была совершенно топорной.
Результат: риск 2 532 523, 173-е место в таблице. Если бы итоги по молниеносной номинации подводили часов через 12-18 после старта, был бы в двадцатке - это время результаты были неплохие, а потом потенциал по улучшению при моём подходе был исчерпан.
Получившаяся картинка:

Визуально кажется неплохой аппроксимацией, но проблема в том, что требуется точное соответствие пикселей, а из-за градиентов точно совпадает всего ~треть.
Да, писалось всё на питоне.
Мораль: в следующий раз надо участвовать не в одиночку, а клёвой командой, и пахать полное время.

Dmitriy82

И в арсенале к следующему разу надо иметь:
c++ (быстрый)
java/c# (GC, терпимая скорость)
python (приятные библиотеки, выразительность)
haskell (лень, выразительность)

fufa58

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

Dmitriy82

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

karkar

Да, проблема в сетке. Я ее тоже далеко не сразу заметил.
Сетка хитрая - там не параллельные прямые пересекаются, а два пучка, где в каждом пучке все лучи из одной точки выходят. Причем линии сетки имеют разный цвет и совсем малую прозрачность..
Мой транслятор на С++ очень похож на выложенный, только здесь память для новых строк выделяются вручную в большом буфере с периодическим схлопыванием (типа GC в .net а у меня новые строки в динамической памяти создавались и удалялись с подсчетом ссылок (CString).

conv3rsje

Сетка? Если я правильно понимаю это градиентная заливка.
Хотя здесь здесь кажется что это "сетка",
на менее сложных картинках (типа документации) видно что это просто заливка.
Просто на этих (исходная и то что надо) заливка идет несколько раз и в разных направлениях.
Вот такой забавный эффект и проявляется.
ЗЫ
Преобразование - destego

fufa58

У меня язык не повернется назвать градиентом, а не сеткой

karkar

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