Фонд "Мир программирования"
Летняя компьютерная школа
Странички ЛКШ разных лет

Летняя компьютерная школа - 2016

Учебная параллель A в августе

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

Учебная параллель A в июле

В июльской смене в параллели A будет проведен эксперимент. Вторую неделю смены, с 7 по 10 учебный день, школьники этой параллели смогут выбрать один из двух вариантов на выбор:

  • Обучение продвинутым олимпиадным алгоритмам
  • Обучение алгоритмам машинного обучения.

Подавая заявку в параллель A в июле, необходимо указать, какой из двух вариантов вам предпочтительнее: AA - продвинутые алгоритмы или ML - машинное обучение. Если вы подаете заявку на машинное обучение, вам необходимо выполнить дополнительное задание. Это задание необходимо выполнить даже, если вы поступаете без вступительной работы.

Задание для параллели A-ML будет выложено 6 апреля.

Продвинутые олимпиадные алгоритмы

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

  • Алгоритм Укконена построения суффиксного дерева
  • Алгоритм быстрого преобразования Фурье
  • Матроиды и алгоритм пересечения матроидов

Машинное обучение

Машинное обучение будет представлено преподавателями из Яндекса и НИУ ВШЭ.

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

Здесь на помощь приходит машинное обучение. Это очень молодая область компьютерных наук, которая позволяет автоматически находить алгоритм решения задачи по набору примеров. Например, имея несколько сотен писем-примеров, для каждого из которых известно, спам это или нет, можно построить алгоритм, с высокой точностью находящий спамовые письма. И для этого даже не нужно будет читать эти письма или пытаться самостоятельно найти закономерности! Недавно алгоритм AlphaGo, построенный методами машинного обучения, смог обыграть мирового чемпиона в Го - одну из сложнейших для компьютера игр. Говорят, что именно машинное обучение позволит нам приблизиться к построению искусственного интеллекта.

В нашем мини-курсе мы расскажем вам, что такое машинное обучение и как именно оно обучает алгоритмы. Вы узнаете про два важных класса методов - линейные модели и решающие деревья - и научитесь с их помощью анализировать тексты, классифицировать изображения и звуковые сигналы, предсказывать действия пользователей в интернете. Также мы расскажем вам, как устроены соревнования по анализу данных, чем они отличаются от олимпиадного программирования и как начать в них участвовать. Чтобы успешно пройти наш мини-курс, вам понадобится умение писать программы на Python и способность разбираться в сложных алгоритмах (уровня параллелей A-A').

lksh@lksh.ru