Как стать автором
Обновить
57
0
Mike Mirzayanov @MikeMirzayanov

Пользователь

Отправить сообщение

История участия (и почти победы) в ежегодном соревновании Russian AI Cup 2016

Время на прочтение25 мин
Количество просмотров25K
Привет, Хабр! Меня зовут Дичковский Алексей, и я хочу вам рассказать о том, как я потратил полтора месяца своей жизни на написание бота для упрощённой версии DotA.

Ежегодно компания Mail.ru проводит онлайн-чемпионат по программированию игровых стратегий (Russian AI Cup 2016). Я принимал участие в данном соревновании в 2012 году (СodeTanks) и, совсем немного, в 2013 (СodeTroopers). В этом году, изрядно наевшись веб разработкой, я решил попробовать принять участие ещё раз. Я изначально не надеялся (но, конечно же, очень хотел) занять какое-либо призовое место и в целом для меня это был скорее тест, насколько я ещё могу реализовать нечто интересное. О том, что из этого получилось, можно прочитать под катом.


Читать дальше →
Всего голосов 63: ↑61 и ↓2+59
Комментарии32

Как стать первым в спортивном программировании: Университет ИТМО делится опытом. Часть 1

Время на прочтение8 мин
Количество просмотров21K
В этом материале мы расскажем о новом курсе, который был запущен Университетом ИТМО на платформе edX в этом году. Под катом – рассказ о проекте «How to Win Coding Competitions: Secrets of Champions» и большое интервью с авторами и инструкторами курса, в котором они рассуждают о том, что должен знать и уметь будущий победитель, и делятся своим опытом и воспоминаниями от участия в олимпиадах по программированию.

Читать дальше →
Всего голосов 24: ↑21 и ↓3+18
Комментарии12

Russian AI Cup. Промежуточные итоги чемпионата

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


Вот уже месяц длится Russian AI Cup 2016. Это соревнование по программированию искусственного интеллекта, которое проходит в форме игры. Мы подробно рассказывали об идее и правилах нынешнего года здесь.

Но со старта чемпионата многое изменилось. Участникам пришлось попотеть, чтобы разобраться в непростых правилах игры, а нам — чтобы справиться с тестирующей нагрузкой. Редактировались правила, оптимизировался код, сменялись раунды и банились игроки. Рассказываем вам полную историю CodeWizards 2016.
Читать дальше →
Всего голосов 39: ↑38 и ↓1+37
Комментарии10

Приглашаем на Russian AI Cup 2016

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

Седьмого ноября стартует Russian AI Cup 2016. Это ежегодный чемпионат по программированию искуственного интеллекта, организуемый Mail.Ru Group. Russian AI Cup проводится в форме игры, чтобы получилось наглядно, понятно и просто. Вкратце: участники создают алгоритм, который описывает игровую стратегию. Получившийся бот сражается с другими такими же, а лучший из них побеждает в раунде. Таким образом, из серии раундов организуется турнир, проходящий в несколько этапов.

С одной стороны, основная механика игры довольно проста и минимально рабочую стратегию реально написать за пару часов (для быстрого старта в чемпионате можно заглянуть сюда, там же можно найти небольшой tutorial). С другой же — в игре получилось много нюансов, и оттачивать стратегию, поднимаясь вверх по турнирной таблице, можно до бесконечности. В этом году предлагаем вам на месяц стать магом и сразиться на средневековом поле боя в MOBA-игре CodeWizards. Впрочем, обо всем по порядку.
Читать дальше →
Всего голосов 65: ↑64 и ↓1+63
Комментарии39

Технокубок. Еще раз. Теперь круче

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

Многие интересующиеся программированием старшеклассники планируют связать с ним свое высшее образование и дальнейшую карьеру. Но как поступить в крутой технический вуз благодаря своим успехам в программировании? Где найти подходящие задачи для тренировки? Что важно, а что вторично для разработчика? Ответы на все эти вопросы можно найти на Технокубке — олимпиаде по программированию для учащихся 8-11 классов, организуемой нами совместно с МГТУ им. Баумана и МФТИ. В 2016 году она включена в перечень олимпиад школьников и имеет 3-й уровень, что дает победителям и призерам особые права при поступлении в вузы по всей России (в некоторых из них, например — 100 баллов ЕГЭ по информатике) в течение четырех лет.
Читать дальше →
Всего голосов 28: ↑28 и ↓0+28
Комментарии0

Подводные камни Bash

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


В этой статье мы поговорим об ошибках, совершаемых программистами на Bash. Во всех приведённых примерах есть какие-то изъяны. Вам удастся избежать многих из нижеописанных ошибок, если вы всегда будете использовать кавычки и никогда не будете использовать разбиение на слова (wordsplitting)! Разбиение на слова — это ущербная легаси-практика, унаследованная из оболочки Bourne. Она применяется по умолчанию, если вы не заключаете подстановки (expansions) в кавычки. В общем, подавляющее большинство подводных камней так или иначе связаны с подстановкой без кавычек, что приводит к разбиению на слова и глоббингу (globbing) получившегося результата.


Читать дальше →
Всего голосов 143: ↑141 и ↓2+139
Комментарии63

«Ни слова о Snapchat»: Виктор Шабуров — о своих проектах, спортивном программировании и трендах ИТ- бизнеса

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


Виктор Шабуров — широко известный в узких кругах человек. Но на волне событий, связанных с очередной победой российских программистов из Санкт-Петербурга (СпбГУ) на чемпионате мира по программированию 2016 года, известность Виктора вновь вышла за пределы этих кругов.

Виктор не только является спонсором команд по спортивному программированию разного уровня и географии (команда СпбГУ — в том числе), он — предприниматель, инвестор и один из основателей компаний Looksery Inc., Handster Inc. и SPB Software.

Виктор Шабуров прошел путь от увлеченного математикой школьника из поселка под Екатеринбургом до технического директора компании Snapchat. Мы решили узнать о том, как это было, из первых рук.
Читать дальше →
Всего голосов 36: ↑29 и ↓7+22
Комментарии38

Разбор задач второго квалификационного раунда RCC 2016

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


29 мая прошёл второй квалификационный раунд чемпионата Russian Code Cup 2016, который впервые проводится на английском языке. В этот раз участникам снова нужно было в течение двух часов решить пять задач. Во втором квалификационном раунде сражались 3891 человек, и 200 лучших получили право участвовать в отборочном раунде, который состоится 19 июня. А сегодня мы предлагаем вам ознакомиться с решениями предложенных задач.

  1. Петя и учебник
  2. Григорий и банк
  3. Генераторы имён
  4. Футболки
  5. Тестирование мостов

Читать дальше →
Всего голосов 21: ↑21 и ↓0+21
Комментарии1

Старый холивар на новый лад: изменятся ли олимпиадники-программисты со временем

Время на прочтение6 мин
Количество просмотров22K
19 мая команда СПбГУ из Санкт-Петербурга стала победителем международной студенческой олимпиады по программированию ACM ICPC 2016, финал которой проходил на Пхукете. Призеры получили приглашения на стажировки в исследовательских офисах компании IBM (выступила спонсором соревнования) и в других международных IT-компаниях.

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

С одной стороны, компаниям мирового уровня нужны такие люди (будущие рок-звезды), с другой стороны, от эти нестандартных сотрудников требуется выполнение весьма стандартных условий сотрудничества – работа в команде, работа в срок, постоянный режим труда (пусть даже удаленный), корпоративная культура. Что касается соблюдения субординации, здесь от молодого «гения» требуется выслушивать, и главное, выполнять указания непосредственного руководителя, который часто «гением» не является.

В период рассвета холиваров на тему «олимпиадников-программистов» были распространены два полярных мнения – «олимпиадники не годятся для промышленной прикладной разработки» и «олимпиадники работают за десятерых, на них держится половина ИТ-компаний мира».

В какой-то момент холивары поутихли, но российские олимпиадники продолжают побеждать на турнирах и регулярно получают предложения о трудоустройстве от западных компаний. И до сих пор не каждый из них соглашается на такие предложения:
Читать дальше →
Всего голосов 28: ↑24 и ↓4+20
Комментарии11

Онлайн-трансляция ACM ICPC: Как это устроено

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


Про чемпионат


Международная олимпиада ACM ICPC – крупнейшее мероприятие среди командных студенческих соревнований по программированию в мире. Проводится олимпиада с 70-х годов (тогда это было скорее соревнование между университетами США), с конца 90-х в ней активно участвуют и другие страны. Университет ИТМО в 2015 году стал шестикратным победителем ACM ICPC.

Естественно, интерес к олимпиаде проявляют не только сами вузы-участники, но и тысячи людей по всему миру. И для того, чтобы ACM ICPC было не «камерным» мероприятием для участников и их тренеров, существует онлайн-трансляция финала олимпиады, за которой можно наблюдать «в прямом эфире» и по окончании мероприятия (трансляцию финала 2015 года можно посмотреть здесь). О том, как организована трансляция, какие интересные технические решения используются в процессе ее проведения, мы и расскажем сегодня «из первых уст» – от лица ее организаторов.
Читать дальше →
Всего голосов 17: ↑17 и ↓0+17
Комментарии0

Разбор задач первого квалификационного раунда RCC 2016

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

Merthyr Tunnel by Pictonart

8 мая состоялся первый квалификационный раунд чемпионата Russian Code Cup 2016. Напоминаем, что в этом году состязание программистов впервые проводится и на английском языке, так что языковой барьер теперь не является препятствием для наших зарубежных участников. Для прохождения первого квалификационного раунда было необходимо решить пять задач. На решение отводилось не более двух часов. Учитывалась не только правильность, но и скорость решения. Всего в раунде приняли участие 3559 человек, из которых занявшие первые 200 мест переходят на следующий этап соревнований. А пока давайте рассмотрим решения предложенных задач:

  1. Двоичная строка
  2. Поезд и туннель
  3. Красивое разбиение
  4. Подготовка задач
  5. Похожее метро
Читать дальше →
Всего голосов 25: ↑22 и ↓3+19
Комментарии9

Разбор задач финала Технокубка 2016

Время на прочтение14 мин
Количество просмотров13K
Компания Mail.Ru Group совместно с МФТИ и МГТУ им. Н. Э. Баумана подвели итоги Технокубка — первой олимпиады по программированию для учащихся 8–11-х классов. За звание самого талантливого молодого программиста сражались школьники более чем из 20 городов России и СНГ. Всего на олимпиаду зарегистрировались 2132 участника, 113 приехали на очный финал, который проходил одновременно на двух площадках: в МГТУ им. Н. Э. Баумана и МФТИ. Награждение состоялось в офисе Mail.Ru Group. Олимпиада проходила на платформе Codeforces.



У ребят было три часа на решение семи задач, которые составляли преподаватели и специалисты ведущих технических вузов России. Последнюю, самую сложную, решил только один из участников — Владислав Макеев, который в итоге и занял первое место. Всего призёрами стали 27 участников олимпиады, они разделили между собой дипломы I, II и III степени. Победители (диплом I степени) получили дополнительные восемь баллов для поступления, обладатели дипломов II и III степени — по шесть баллов. Первое место занял Владислав Макеев (Москва, 11-й класс), второе — Александра Дроздова (Нижний Новгород, 10-й класс), третье — Григорий Резников (Москва, 11-й класс). Полный список победителей доступен по ссылке. В этом посте мы предлагаем вам ознакомиться с задачами финала и их решениями.
Читать дальше →
Всего голосов 21: ↑20 и ↓1+19
Комментарии1

Разбор задач отборочных раундов Технокубка

Время на прочтение16 мин
Количество просмотров13K
23 и 26 марта онлайн, на платформе IT.Mail.Ru совместно с Codeforces, прошли два отборочных раунда олимпиады по программированию «Технокубок-2016» для учащихся 8–11-х классов. Больше полутора тысяч участников со всей России и СНГ боролись за возможность встретиться на московской площадке. 300 лучших прошли в финал, который состоится 17 апреля в МГТУ им. Н. Э. Баумана и МФТИ.



В апреле им представится возможность вновь проявить себя и побороться за привлекательные призы: iPad mini 2, iPod nano, iPod shuffle. Помимо приземлённых материальных наград, а также непременного почёта и уважения, победители первого Технокубка (диплом I степени) получат целых восемь дополнительных баллов при поступлении на программы бакалавриата и специалитета в МФТИ и МГТУ им. Н. Э. Баумана, а призёры (диплом II и III степени) — шесть дополнительных баллов. Ребята уже сейчас смогут познакомиться с ведущими IT-специалистами, а в дальнейшем, возможно, решат совмещать обучение в одном из лучших технических вузов Москвы с дополнительными образовательными программами Технопарка и Технотрека.

«Технокубок — важная социальная инициатива: благодаря олимпиаде талантливые юные программисты получат дополнительную возможность поступить в ведущие технические вузы страны. Мы планомерно работаем над тем, чтобы дать студентам и школьникам как можно больше возможностей набрать знания и практику, необходимые для работы в крупной компании или для того, чтобы начать разрабатывать собственный проект. На это ориентированы наши образовательные проекты с вузами (Технопарк, Техносфера и Технотрек), наши IT-чемпионаты, а теперь этот список пополнит и Технокубок», — Дмитрий Dmitry21 Волошин, директор департамента исследований и образования Mail.Ru Group.

Для участников этого года и тех, кто хотел бы подготовиться к будущим Технокубкам, представляем разбор задач.
Читать дальше →
Всего голосов 16: ↑15 и ↓1+14
Комментарии0

«Половина научных работ по Concurrency — полная чушь!» — интервью с Романом Елизаровым из Devexperts

Время на прочтение26 мин
Количество просмотров43K
Добрый день, это «Без слайдов». В гостях у меня побывал Роман Елизаров aka elizarov, Java Champion, эксперт по Java и многопоточности (а с недавнего времени — еще и по финансовой математике), спикер многочисленных конференций, председатель жюри Северо-Восточного Европейского региона ACM-ICPC, престижнейшей в мире олимпиады по программированию, лектор в ИТМО и, наконец, VP по технологиям в компании Devexperts. В общем, «человек и пароход».

В разговоре мы затронули следующие темы:
  • что такое финансовая математика и как ее учить;
  • как устроен софт для финансовой индустрии;
  • как в компании Devexperts появилась исследовательская лаборатория по многопоточности;
  • куда развивается Concurrency, и что будет в моде в ближайшее время;
  • как всемирная олимпиада по программированию пришла в Россию.




Текстовая версия — под катом.
Читать дальше →
Всего голосов 75: ↑67 и ↓8+59
Комментарии27

Приглашаю на чемпионат по программированию

Время на прочтение4 мин
Количество просмотров7.4K
Привет!

Мы с 2012 года проводим всероссийские чемпионаты по программированию вместе с Codeforces. Участвовать можно с 18 лет. Гражданство в целом не важно, у нас всегда были гости из Казахстана, Украины, РБ и других стран, но язык турнира – русский. Например, в 2013 году было 3500 человек, и первое место взял «терминатор» tourist, а пятое – вот этот парень rng_58 из Японии:

image

Правила – «олимпиадные» задачи, которые нужно решить, плюс «взломы» чужих решений за счёт подбора своих нестандартных наборов данных. Индивидуальный зачёт, в призах 100 тысяч рублей за первое место, 70 тысяч и 50 тысяч — за второе и третье. Как обычно, будет отдельный игровой раунд в финале – нужно будет написать AI для сражения с AI других участников (в прошлом году был хоккей, до этого – битва магов). Приз игрового раунда – ноутбук.

Читать дальше →
Всего голосов 19: ↑18 и ↓1+17
Комментарии0

Лучшие бесплатные коллекции векторных иконок

Время на прочтение2 мин
Количество просмотров334K
Привет, Хабр! Сегодня я хочу представить вам огромную коллекцию из 51 набора бесплатных векторных иконок. Да, есть потрясающие ресурсы Flaticon или Iconfinder, но бывают случаи, когда необходима именно группа иконок в едином стилистическом оформлении. Определиться с выбором, вам поможет эта подборка. Я старался собрать не как можно больше, а действительно самое лучшее.

Среди веб-разработчиков существует много споров о том, что лучше: иконочный шрифт или SVG спрайты? Четкого ответа на этот вопрос нет. Каждый выбирает свое. Данные наборы иконок вас неограничиывают в выборе, поскольку представлены в различных форматах: @font-face, SVG, EPS, AI, PSD, Sketch.

В целом данная подборка содержит более 10 000 иконок, охватывающих множество категорий: интерфейсы, технологии, наука, спорт, маркетинг, среда, транспорт и тд. Полые, заполненные, цветные, во Flat, Material, Elegant, Cartoon, Hand drawing стилях.

Responsive Icons (100 иконок, PSD, AI, EPS, SVG)


Responsive Icons

Читать дальше →
Всего голосов 91: ↑82 и ↓9+73
Комментарии23

Кейс NGINX: Как противостоять DDoS-атакам

Время на прочтение2 мин
Количество просмотров26K
Основная цель нашей работы состоит в том, чтобы сделать IaaS простым и понятным даже для тех, кто не сталкивался с ИТ-сферой. Поэтому мы проводим постоянную оптимизацию всех систем и рассказываем о том, что нам удалось сделать, в нашем блоге на Хабре.

Пара примеров:


Сегодня мы решили взглянуть на западный опыт и кратко проанализировать тему балансировки нагрузки. Нас привлекла заметка на тему работы с DDoS-атаками.

Читать дальше →
Всего голосов 34: ↑24 и ↓10+14
Комментарии5

История 5-го места на Russian AI Cup 2015

Время на прочтение9 мин
Количество просмотров16K
Игра #418086

Сначала этот текст был написан в виде комментария к теме победителя данного конкурса. Но в итоге объем текста стал таким большим, что было решено выделить его в отдельную тему. Так что предполагается, что читатель в курсе о конкурсе и прочёл тему победителя. Также можете почитать историю 30-го места.

Сразу дам ссылку на репозиторий с исходным кодом — помимо непосредственно исходников там же есть вся история коммитов. Например, интересным может показаться время, в которое был совершён коммит с комментарием «спать пора».

В целом, сложилось такое ощущение, что у большинства лидеров были примерно одинаковые основные идеи для итоговой стратегии:
  • Поиск пути по карте между вейпоинтами
  • Симуляция движения, коллизий и прочей физики
  • Перебор различных действий, которые приводят к разным траекториям из текущей позиции в будущее
  • Выбор лучшего действия или траектории на основе какой-то функции оценки

Так что в данной теме я расскажу чуть подробнее о том, как эти идеи были реализованы в моём случае.
Читать дальше →
Всего голосов 47: ↑44 и ↓3+41
Комментарии1

История победы на ежегодном соревновании Russian AI Cup 2015

Время на прочтение15 мин
Количество просмотров31K
Хочу рассказать о своем участии и победе в ежегодном соревновании по программированию ИИ «Russian AI Cup 2015» от Mail.Ru Group. Посмотреть подробные правила соревнования и записи игры желающие могут на сайте соревнования russianaicup.ru.

image

В этом году соревнование было организовано на совершенно новом уровне. Изменения произошли как в масштабности игрового мира, в котором действует ИИ, так и на сайте соревнования. Благодаря трехмерной визуализации, игры смотрелись гораздо увлекательнее. По зрелищности, на мой взгляд, соревнование значительно превзошло прошлогодний хоккей, и «солдатиков» 2013 года.

Участнику предлагалось написать ИИ для управления автомобилем в гонках на выживание. Как и в прошлом году, задача была «с физикой». Но на это раз исходники «физического движка» были открыты. Еще, в отличие от прошлого года, на этот раз все случайные явления в игровом мире были наглядны — случайная карта, случайно расставленные бонусы. Сразу было видно — когда удача на твоей стороне, а когда она от тебя отвернулась. В прошлогоднем хоккее, даже наблюдая за игрой значительно отличающихся по силе противников, было трудно понять произошел выигрыш благодаря случаю или мастерству. Думаю, это положительно сказалось на зрелищности соревнования.

Краткое описание правил


Цель — проехать 2 круга по замкнутой трассе быстрее всех. Точнее надо набрать больше всех очков, но приехать первым — это основной способ заработать очки. Еще очки дают за сбор бонусов по дороге и нанесение урона противникам. Трасса, как конструктор, собирается из квадратных «тайлов», это прямолинейные участки трассы, углы (поворот трассы на 90 градусов), или перекрестки (Т образные и обычные). Нужно ехать по ключевым точкам («тайлам») трассы в определенном порядке – иногда приходится делать петли, иногда вообще ехать назад. Еще у машинок есть возможность разливать за собой лужи мазута, стрелять друг в друга специальными снарядами (шины и шайбы), и использовать особый ускоритель «нитро». Заряды для всех этих приспособлений ограничены, и пополняются подбиранием случайно разбросанных по карте бонусов.

Расскажу, как устроен мой ИИ, и благодаря чему (как я думаю) удалось победить.
Читать дальше →
Всего голосов 93: ↑93 и ↓0+93
Комментарии45

История 30 места в финале Russian AI Cup 2015

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

Введение


В этом году в Russian AI Cup надо было запрограммировать бота для управления машинкой (а в финале даже двумя!), и я решил впервые поучаствовать, так как тема показалась близкой и родной: фанат гонок, периодически езжу катать в картинг (хоть и без выдающихся результатов), вечера часто провожу, катаясь по виртуальным Гавайям в Test Drive Unlimited или Nurburgring в GTR Evolution.

Высокого места я в итоге не занял (30 место в финале, песочницу закончил на 48 месте), но небольшое время между вторым раундом и финалом был в топ-10 песочницы. Также, судя по форуму соревнования, набор костылей решений как у меня больше никто не использовал, так что если желаете узнать подробностей — добро пожаловать под кат. Наиболее интересная часть в посте, пожалуй, про поиск оптимальной траектории.
Читать дальше →
Всего голосов 42: ↑42 и ↓0+42
Комментарии15

Информация

В рейтинге
Не участвует
Откуда
Саратов, Саратовская обл., Россия
Зарегистрирован
Активность