Как стать автором
Поиск
Написать публикацию
Обновить
3.45

Спортивное программирование *

Интеллектуальные соревнования

Сначала показывать
Порог рейтинга
Уровень сложности

Парный постмортем: как победить Ктулху и ещё 2000 человек

Время на прочтение8 мин
Количество просмотров11K

Всем привет, меня зовут Оля. Две недели назад на CodinGame завершился очередной контест — соревнование по программированию ботов для игры. Я попала в топ-300 мирового лидерборда, поэтому хочу рассказать, почему контесты это круто, и поделиться своими секретами. А ещё секретами поделится Иван spaceorc, который попал в топ-100 того же соревнования.


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


Что такое CodinGame


codingame.com — обучающая платформа для разработчиков всех возрастов и уровней подготовки. Можно писать на 26 языках: от C# и Python до Bash и Haskell. Самое крутое, что задачки там не скучные и непонятные, а настоящие игры с неплохим GUI:


image

Как не только играть, но и побеждать...

ML-Блиц: разбор задач первого квалификационного раунда

Время на прочтение10 мин
Количество просмотров32K

23 июня 2018 года состоялся финал ML-Блица, конкурса по машинному обучению, организованного Яндексом. Ранее мы анонсировали его на Хабре и рассказывали, какие примерно задачи могут встретиться на реальном соревновании.


Теперь мы хотим поделиться с вами разборами задач одного из квалификационных раундов — самого первого. Двое участников сумели решить все задачи этого соревнования; 57 участников решили хотя бы одну задачу, а 110 совершили хотя бы по одной попытке сдать задание.


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


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


Все мои решения доступны на GitHub


image

Читать дальше →

Выявление и классификация токсичных комментариев. Лекция в Яндексе

Время на прочтение10 мин
Количество просмотров16K
Во всех современных системах модерации используется либо краудсорсинг, либо уже ставшее классикой машинное обучение. На очередной тренировке по ML в Яндексе Константин Котик, Игорь Галицкий и Алексей Носков рассказали о своём участии в конкурсе по массовому выявлению оскорбительных комментариев. Конкурс проходил на платформе Kaggle.


— Всем привет! Меня зовут Константин Котик, я data scientist в компании «Кнопка жизни», студент физфака и Высшей школы бизнеса МГУ.

Кибер–бабка, или как мы хакатонили сутки

Время на прочтение5 мин
Количество просмотров6.6K

7–8 апреля в Контуре был открытый хакатон — 27–часовой марафон по программированию. Разработчики, тестировщики, дизайнеры и проектировщики интерфейсов собрались, чтобы штурмовать задачи. Только темой стали не рабочие проблемы, а игры.


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


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



Не знаю, что я сделал, но это со мной селфятся?

Читать дальше →

iMaterialist Furniture Challenge или 50 оттенков стульев

Время на прочтение5 мин
Количество просмотров4.9K
Недавно на Kaggle закончилось соревнование iMaterialist Challenge (Furniture), задачей в котором было классифицировать изображения на 128 видов мебели и предметов быта (так называемая fine-grained classification, где классы очень близки друг к другу).

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


Читать дальше →

Конкурс по программированию: Торговля

Время на прочтение7 мин
Количество просмотров28K
UPDATE: Объявления для участников.
UPDATE 2: Промежуточные результаты и объявления.

Компания Hola вновь объявляет конкурс по программированию! Победителей ожидают призы:

  1. Первое место: 3000 USD.
  2. Второе место: 2000 USD.
  3. Третье место: 1000 USD.
  4. Жюри может присудить по своему усмотрению специальный приз в 400 USD.
  5. Если Вы отправите кому-то ссылку на этот конкурс, поставив наш адрес в CC, и этот человек займёт призовое место, Вы получите половину суммы приза (разумеется, не в ущерб награде победителя). За одного победителя такую награду может получить только один человек — тот, кто отправил ссылку первым.

Авторы интересных решений будут приглашены на собеседования.



Правила


Условия конкурса на английском языке размещены на GitHub. Ниже — перевод на русский язык.
Читать дальше →

Конкурс HackBattle 2.0 на Positive Hack Days: как атаковали ICO школьной столовой

Время на прочтение5 мин
Количество просмотров5.5K
image

В мае прошлого года на Positive Hack Days VII впервые прошел конкурс HackBattle. Наш стенд привлек большое внимание аудитории. Тогда в соревновании приняло участие почти 100 специалистов по информационной безопасности, а посмотреть финал в большом зале пришло так много зрителей, что невозможно было протолкнуться к сцене (подробнее — в прошлогоднем отчете). Воодушевленные таким интересом со стороны профессионального сообщества, мы решили провести HackBattle 2.0 на PHDays 8. Рассказываем, как прошло соревнование в этом году, а также публикуем задачи из конкурса, чтобы вы попробовали их решить.
Читать дальше →

Яндекс.Блиц: машинное обучение

Время на прочтение5 мин
Количество просмотров20K

Не так давно мы проводили Яндекс.Блиц – соревнование по алгоритмическому программированию. Соревнование удалось: в финал пробилось более трёхсот участников, из которых двое сумели решить все предложенные задачи! Двадцать финалистов приехали в офис Яндекса, познакомились с руководителями различных сервисов и больше узнали об устройстве современных поисковых систем.


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


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


Квалификацию ML-блица можно будет пройти с 11 по 17 июня, а 23 июня состоится финал. Итоги соревнования будут подведены 25 июня. Для участия необходимо вовремя зарегистрироваться!


image

Читать дальше →

Немного о физике в почти Agar IO на aicups.ru

Время на прочтение3 мин
Количество просмотров6.5K
image

В соревновании MiniAICup#2 Почти Agar IO надо управлять амёбами, есть еду и других амёб.
Для реализации алгоритма управления амёбой напрашиваются потенциальные поля, но есть одно большое НО.
Читать дальше →

Финал Международной студенческой олимпиады по программированию в прямом эфире

Время на прочтение3 мин
Количество просмотров12K
19 апреля, то есть этой ночью, в 4 часа по Москве стартует финал Международной студенческой олимпиады по программированию (ICPC), в котором примут участие 11 российских команд. Фавориты турнира — Университет ИТМО, МГУ и МФТИ. Сильнейшие зарубежные соперники — Пекинский университет, Университет Синьхуа (Китай) и Сеульский национальный университет (Корея).

Финал ICPC 2017

Последние шесть лет кубок мира ICPC передавали друг другу команды Университета ИТМО и СПбГУ. Скрестим пальцы и будем ждать седьмую подряд победу России.
Смотреть трансляцию

PHDays 8: стартуют онлайн-конкурсы

Время на прочтение1 мин
Количество просмотров3.1K
image

До PHDays 8 остался месяц. А значит, самое время размяться перед хардкорной конкурсной программой. За несколько недель до форума пройдут онлайн-конкурсы HackQuest и «Конкурентная разведка». Не упустите возможность попытать свои силы — на кону памятные призы и бесплатные приглашения на PHDays.
Читать дальше →

Игра Snake в 93 байта

Время на прочтение4 мин
Количество просмотров21K
image

История создания


«Змейка» (Питон, Удав) как ее называют в народе — одна из первых игр цифровой (компьютерной) середины 1970-х годов.

В то время игры выпускались на отдельном игровом автомате, например, известны такие игры как «Space Invaders», «Pac-Man», «Arkanoid» и другие. Обычно, на аркадных автоматах того времени была предустановленна всего одна игра, а сам автомат был стилизован под эту игру.

«Змейка» имеет незамысловатый геймплей, в котором игрок управляет движущейся линией, изображающей змею. Игрок может изменять направление движения змеи «поворачивая» на 90 градусов. Цель игры — «наезжать» змеёй на точки изображающие кроликов. Каждый съеденный «кролик» увеличивает длину змейки. Сложность заключается в том, что змея не может пересекать саму себя.
Читать дальше →

19 лет на одном языке. История о том, как олимпиадник из Беларуси стал C++ Chief Software Architect

Время на прочтение6 мин
Количество просмотров22K
Кажется, у компании Crossover становится традицией анонсировать свои карьерные турниры, рассказывая о людях, уже работающих по специализации, на которую пойдёт отбор. Но сегодняшний случай особенный: хотя «примерка» на роль Chief Software Architect 7 апреля проходит в Москве, наш «Chief Software Architect дня» живёт даже не в России, а в соседней для дефолтной хабранации республике. Видимо, поэтому Crossover предложил мне взять у него интервью — может, они надеялись на какую-то особую белорусскую перспективу в разговоре двух белорусов, двух минчан и двух фрилансеров?

Впрочем, это сейчас Сергей rserge Рогач живёт и работает в Минске. Будущий Chief Software Architect компании родился в городке-десятитысячнике Глубокое Витебской губернии, в подбрюшье Браславских озёр — и эта череда топонимов словно сама уносит дальше, куда-то в сторону леса Фангорн, лежащего в отрогах Мглистых гор…

image
Поднимите руки, кто на Браславские озёра хочет больше, чем в Чикаго?

…только Сергей после девятого класса поступил в лицей при БГУ — одну из самых престижных школ Беларуси при главном университете страны. Учиться там в 2001–2003 годах было никому не скучно: аббревиатура БГУ грохотала как название одной из самых смешных команд КВН в истории, а Сергей два года подряд попадал в четвёрку старшеклассников, представлявших Беларусь на международной олимпиаде по программированию.
Читать дальше →

Ближайшие события

Приглашаем на MiniAiCup#2. В этот раз мы испортили AgarIO

Время на прочтение6 мин
Количество просмотров19K


Шесть лет подряд мы (Mail.Ru Group) совместно с СГУ проводим Russian Ai Cup (соревнование по написанию игровых ботов). Придумываем игровой мир, пишем к нему API и сталкиваем лбами стратегии, написанные участниками. Выходит каждый раз довольно интересно, самобытно и вообще это крупнейший в СНГ ежегодный конкурс по ИИ!
Под этим же соусом мы осенью 2017-го года написали, запустили и провели первый контест на еще одной площадке, MiniAiCups, получился мини-клон Russian Ai Cup со своей странной атмосферой, правилами и механикой. Очень многим понравилось, и, после раздачи призов, мы, под шумок, обещали еще один конкурс. И наконец-то рады пригласить всех в нём поучаствовать.

Читать дальше →

Как мы делали олимпиаду по SQL (окончание)

Время на прочтение18 мин
Количество просмотров4.5K

Продолжаю рассказ о том, как мы делали олимпиаду по SQL. Это продолжение предыдущей статьи, в которую всё просто не уместилось.


Краткое содержание предыдущей серии: прошло два заочных тура олимпиады в декабре 2016 и марте 2017 соответственно, где претенденты на победу прошли жёсткий отбор как с теорией, так и с практикой применения SQL в базах данных Oracle. Далее про третий тур — очный финал олимпиады в Сочи в начале июня 2017 г.

Читать продолжение

Как мы делали олимпиаду по SQL

Время на прочтение15 мин
Количество просмотров16K

В самом начале осени 2016 года руководство поставило мне задачу подготовить техническую часть олимпиады по SQL. Обсудив ситуацию с коллегами, в том числе с бывшими, я был ткнут (ткнён?) в статью, где в декларативном стиле на SQL решалась задача по построению кратчайшего выхода из лабиринта. Собрав в одну кучку части запроса и запустив его на настоящей базе, я прошептал "магия!.." и понял, что олимпиаде быть.


Думаю, что типичный читатель Хабра на олимпиадах хоть раз да бывал, но скорее в роли участника, а не организатора. Я тоже бывал на разных, и мне всегда было удивительно, почему на одних олимпиадах интересно, а на других тоска смертная. Могу показать, как выглядит этот театр с другой стороны занавеса, и как я старался, чтобы эта олимпиада оказалась из тех, которые интересные. Интриги, скандалы, расследования — ничего этого не будет. Зато расскажу как готовились задания, что от них ожидали и что получалось в результате.

В кроличью норку сюда

Регулярные выражения в Python от простого к сложному. Подробности, примеры, картинки, упражнения

Время на прочтение25 мин
Количество просмотров1.7M

Регулярные выражения в Python от простого к сложному




Решил я давеча моим школьникам дать задачек на регулярные выражения для изучения. А к задачкам нужна какая-нибудь теория. И стал я искать хорошие тексты на русском. Пяток сносных нашёл, но всё не то. Что-то смято, что-то упущено. У этих текстов был не только фатальный недостаток. Мало картинок, мало примеров. И почти нет разумных задач. Ну неужели поиск IP-адреса — это самая частая задача для регулярных выражений? Вот и я думаю, что нет.
Про разницу (?:...) / (...) фиг найдёшь, а без этого знания в некоторых случаях можно только страдать.

Плюс в питоне есть немало регулярных плюшек. Например, re.split может добавлять тот кусок текста, по которому был разрез, в список частей. А в re.sub можно вместо шаблона для замены передать функцию. Это — реальные вещи, которые прямо очень нужны, но никто про это не пишет.
Так и родился этот достаточно многобуквенный материал с подробностями, тонкостями, картинками и задачами.

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

Яндекс.Алгоритм 2018: оптимизационный трек и ML-задача от разработчиков Алисы

Время на прочтение12 мин
Количество просмотров22K

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




А теперь по порядку. Открывает соревнование этого года алгоритмический трек. Он пройдет в классическом варианте с правилами tcm/time и системой «гран-при 30». Квалификационный раунд стартует уже 17 февраля. Каждый, кто решит минимум одну задачу, пройдет в отборочный тур и сможет побороться за стильные футболки, которые достанутся ТОП-256 и денежные призы для трех победителей трека. Ссылка на регистрацию.
Читать дальше →

Приглашаем на MosCode Festival и разбираем задачи прошлых лет

Время на прочтение7 мин
Количество просмотров1.7K
image

Привет, Хабр! Центр развития ИТ-образования МФТИ приглашает тебя на международный студенческий чемпионат по спортивному программированию MosCode Festival. Это хорошая возможность потренироваться на задачах уровня финала ACM ICPC вместе с участниками из других стран. Контест пройдёт 31 марта (личный тур) и 1 апреля (командный тур) в технопарке «Сколково». Онлайн-отбор пройдёт в ближайшее воскресенье, 11 февраля, в 11:00 по московскому времени. Пока вы думаете о регистрации, рассказываем подробности и делимся двумя задачами прошлого года с разбором.
Читать дальше →

Дорожка по извлечению значений слов из текстов и разрешению лексической многозначности

Время на прочтение7 мин
Количество просмотров6.5K
Ежегодно в России проходит крупнейшая конференция по компьютерной лингвистике «Диалог», на которой специалисты обсуждают методы компьютерного анализа русского языка, оценивают уровень компьютерного языкознания и определяют направления его развития. Каждый год в рамках «Диалога» организуются соревнования систем автоматической обработки русского языка — Dialogue Evaluation. В этом посте мы расскажем о том, как устроено соревнование Dialogue Evaluation, и более подробно о том, как проходит одна из его составляющих — RUSSE и что ждет его участников в этом году. Поехали.

image

Читать дальше →