Текст уведомления здесь
Moscow Pre-Finals ACM ICPC Workshop 2017 / YoutubeYoutube

«Хакатон — это ралли, а олимпиадное программирование — "Формула-1"»

Большое интервью с организаторами Moscow Workshops ICPC

Moscow Workshops ICPC — это образовательный проект, в рамках которого студенты готовятся к чемпионату мира по спортивному программированию (ICPC). Корреспондент «Чердака» поговорила с основателем MW ICPC, проректором по международным программам и технологическому предпринимательству МФТИ Алексеем Малеевым и главным судьей и модератором соревнований Олегом Христенко о том, почему российские студенты начали побеждать на международных олимпиадах по программированию, в чем секрет «ВКонтакте» и почему рынку вечно не хватает программистов.
Добавить в закладки
Комментарии

[Chrdk.]: С какими целями создавались Moscow Workshops ICPC и как они соотносятся с международной олимпиадой ICPC?

[Алексей Малеев]: Этот проект родился на кампусе Физтеха, и изначально его идеей было обучение студентов. Физтех исторически обучает физике и математике. Программу по computer science мы открыли в 2007—2008 годах, сделали для студентов учебный план, начали открывать новые базовые кафедры «Яндекса», Mail.ru, ABBYY и других, потому что в нашей программе зашито, что студенты, начиная примерно с третьего курса, участвуют в реальных проектах в организациях — либо научных, либо ведущих технологических. И в какой-то момент мы поняли, что есть самый популярный и престижный чемпионат — ICPC. Наши студенты начали в нем участвовать, и нам, конечно, хотелось, чтобы они выступали как можно лучше. Мы пытались их учить внутри университета, но это не так эффективно, как тренировать их вместе с конкурентами.

Слева направо: президент Массачусетского технологического института Рафаэль Райф, директор Центра развития ИТ-образования МФТИ Алексей Малеев, ректор МФТИ Николай КудрявцевЕвгений Пелевин, пресс-служба МФТИ

[Ch.]: Потому что сразу видно, с кем соревнуешься?

[АМ]: Просто это сильно повышает мотивацию. Допустим, ребята во дворе играют в футбол. Они знают, что одна команда всегда побеждает вторую, и это уже норма вещей. А теперь представьте, что к ним пришли ребята из соседнего двора. Обе команды хотят обыграть ту третью. Такой конкурентный принцип работает и здесь. Кроме того, это обмен идеями, потому что со студентами приезжают и тренеры — они читают лекции, делятся своими взглядами на решение задач. Это помогает и нам, и конкурентам. И вот мы просто сделали открытые тренировки, в 2012 году к нам приехали коллеги из Белоруссии, так что формально мы сразу стали международными, но на русском языке. В какой-то момент мы поняли, что нужно делать все на английском, чтобы по-настоящему интегрироваться в международную среду. А дальше поняли, что скучно ездить все время в одно и то же место. Всем хочется путешествовать, особенно молодежь путешествует много.

[Ch.]: Как обычно проходят воркшопы?

[АМ]: Это примерно 10 дней очень интенсивных тренировок. Мы имитируем условия чемпионата ICPC. Все разбито на три дивизиона: «А», «В» и «С». «А» — это ребята, которые готовятся к финалу чемпионата мира, «В» — те, кто готовится к полуфиналу, «С» — новички. В дивизионе «А» каждый день проходят полноценные соревнования в течение пяти часов, как во время чемпионата. Сначала идет решение задач, потом небольшой разбор, потом дорешивание, то есть если вы какую-то задачу не решили, то полезно ее потом проработать, написать код и сдать его тестирующей системе уже после того, как вам объяснили, как ее решать.  Это очень важный навык. После трех-четырех таких дней люди выжаты. Мы им даем выходной, водим на экскурсии в Кремль, на ВДНХ или в Третьяковскую галерею, чтобы посмотрели на русские культурные ценности, и, конечно, в наши ведущие IT-компании — «Яндекс», Mail.ru, Huawei, у которых есть офисы в Москве. Мы привозим людей прямо к ним в офис, и они там общаются с настоящими разработчиками, смотрят, как устроена работа.

[Ch.]: У олимпиадных задач есть специфика? Они отличаются от задач, которые  программисты решают на работе?

[АМ]: И да, и нет. Программисты разные бывают. Мы работаем с элитой. И в компаниях есть разные подходы к решению задач. Хороший пример — «ВКонтакте».  Там сейчас работают три чемпиона мира ICPC. Мы знаем Павла Дурова как основателя «ВКонтакте», потом Telegram. Но у него есть брат Николай. Вот Николай Дуров вместе с Андреем Лопатиным и еще одним их сверстником в 2000 году, будучи студентами СПбГУ, впервые стали в этом чемпионате чемпионами мира от России. И примерно в то же время запустился «ВКонтакте», где Николай играл роль главы по технологиям. Лопатин тоже там работал, и так исторически сложилось, что у этой компании ядро разработки — выпускники сообщества ICPC. И когда они дальше внутри компании пишут код, решают свои задачи, они пишут примерно так же, как они привыкли писать его, решая задачки на олимпиадах.

[Олег Христенко]: Павел Дуров — гуманитарий, он придумал идею, а Николай и Андрей написали весь движок «ВКонтакте». Почему «ВКонтакте» так выиграл? Были же уже и «Одноклассники», и другие. Но «ВКонтакте» был написан очень оптимально. Он написан профессионалами. Эта компания и сейчас опирается на ребят из Питера, из СПбГУ, и сейчас там всеми ответственными делами по технике рулят чемпионы мира. Telegram тоже писал Николай Дуров, та же группа людей, что писала «ВКонтакте». Этот мессенджер завоевал популярность не в последнюю очередь потому, что он просто работает — и при плохой сети, и так далее. Павел сказал какие-то технологические лозунги, но реализовали их эти люди.

Олег ХристенкоИсточник: it-edu.mipt.ru

[Ch.]: Так в чем специфика кода, который пишут на олимпиадах?

[АМ]: Что такое олимпиада? Это 10-15 задач, на решение которых отводится пять часов. Задач нужно решить как можно больше, и чем быстрее команда это сделает, тем лучше. Поэтому олимпиадный код более короткий. В промышленном коде, возможно, больше строчек, более подробное описание, потому что код для промышленности — это код, который должен прочесть, по-хорошему, любой сотрудник компании из этого департамента, понять, что происходит, и что-то добавить или исправить. Кроме того, на олимпиаде нужно писать не просто алгоритм, а наиболее эффективный алгоритм. Нужен не просто правильный ответ. Есть ограничения по использованию объема оперативной памяти и по времени работы процессора. Поэтому, например, алгоритм полного перебора просто не подходит. Для маленьких примеров он уложится, наверное, в это ограничение, а для больших задач будет просто неэффективен. В промышленном коде иногда, чтобы что-то было более устойчивое и стабильное, не добиваются прямо такого жесткого ограничения по памяти и по времени.

[Ch.]: Вы начали говорить про элиту программистов, а чем вообще элита отличается от не элиты?

[АМ]: Сам чемпионат и есть селекция, когда мы отделяем тех, кто лучше работает, от тех, кто хуже. А когда мы смотрим на сами задачки, там без математической подготовки просто нельзя. Но, во-первых, чемпионат командный. Команда состоит из трех человек. Еще ни разу ни одному гению не удавалось взять с собой двух друзей, которые ничего не знают в программировании, и в одиночку выиграть чемпионат. Были прецеденты, когда люди доходили до второго места, но победителями никогда не становились. Важна еще командная работа. А дальше есть разные роли. Есть роль кодера — того, кто быстро пишет простые задачи, может прочитать условие и сразу понять, что нужно сделать, дальше садится писать этот код. Бывают задачи очень сложные, в которых нужно сперва придумать модель, решить ее математически, а потом с помощью одного или комбинации нескольких алгоритмов запрограммировать. Очень редко, но бывают задачи, которые можно решить полностью математически. Значит, нужен математик в команде. Среди физтеховских команд, как правило, два человека в команде имеют хорошую математическую подготовку, они в том числе призеры разных олимпиад по математике. Есть еще роль капитана, который должен отследить, как вся команда работает в течение всего контеста (соревнования — прим. «Чердака»), координирует работу, потому что компьютер один на троих, как и комплект задач. В общем, разные есть роли, но хорошие программисты должны, безусловно, обладать математической базой.

Moscow Pre-Finals ACM ICPC Workshop 2017 / Youtube

[Ch.]: Олимпиада — спортивное мероприятие. Спорт больших достижений — не про здоровье, а скорее про вред организму. А спортивное программирование заставляет чем-то жертвовать?

[АМ]: Жертвовать точно заставляет. Как любому профессионалу в каком-то деле, вам приходится много времени на это тратить, чтобы развиваться. Лауреаты конкурсов по музыке же не просто учатся в музыкальной школе или консерватории — они тратят очень много времени, и у них, соответственно, не хватает времени на таком же уровне знать математику, информатику и физику. Так же здесь. Я не сторонник того, чтобы в школе заниматься исключительно информатикой и ничего больше не учить, школа — это база, там и литература с историей нужны. В университете уже больше задается специализация. Но случается, что чемпионам, выигравшим много олимпиад, становится сложно заниматься чем-то другим. Такие люди, как правило, становятся тренерами. Кто-то становится просто потому, что ему нравится учить, но это единицы. А для большинства олимпиада — способ вовлечения в программирование. Они там развиваются, соревнуются, а потом уходят в какую-то хорошую компанию. Мы знаем, что у нас на рынке труда большой дефицит кадров в IT. Это значит, открытых вакансий больше, чем реально есть специалистов на рынке. За ними компании охотятся, вакансии не закрываются, зарплаты очень высокие, выше среднего по рынку. И как оказывается, это наносит свой отпечаток на отношение людей к своей работе.

[Ch.]: Какой именно отпечаток?

[АМ]: В IT-компаниях люди часто переходят с места на место. Средний срок работы в одной компании, как в Mail или Google, — около двух-трех лет.

[Ch.]: Почему?

[АМ]: Потому что рынок не насыщен специалистами, и эти люди понимают, что они могут довольно просто перемещаться между компаниями. И, если они уходят из одного места, перед ними опять открыто множество разных вакансий. Это дает им возможность искать себя. Сделал что-то интересное — понравилось, хочу новое попробовать — и человек переходит в другую компанию.

[Ch.]: Вы говорите, что топовые программисты, в том числе победители олимпиад, могут для себя выбрать любую компанию, а что им интересно? Есть какая-то область, где сейчас происходит самое интересное?

[ОХ]: В основном тенденция такая, что люди либо создают свои интересные технологические стартапы, либо идут в «Яндекс», Google, Mail.ru и попадают в отдел либо карт и геосистем, либо поиска. По сути, олимпиадное программирование — это ускоренный интенсивный курс реальной жизни, решение сложных алгоритмических задач на очень высоком уровне эффективности. Системы поиска — это передний край, где нужны реально самые передовые и эффективные алгоритмы, чтобы хоть как-то справляться с растущим объемом информации в интернете. Вряд ли такие топовые программисты пойдут рисовать сайт или делать что-то такое, где не нужна эффективность, а спортивное программирование — прежде всего про эффективность. Еще последнее время интересная отрасль, куда идут люди, — финансовая. Это автоматизация торговли на бирже, искусственный интеллект для решения финансовых задач — рынок тоже весьма перспективный. Сейчас автоматизация, ИИ — передний край. И олимпиады по программированию готовят бойцов переднего края, а не тыловиков. Что такое олимпиада? Это человек пришел, увидел задачу, в которой ему что-то знакомо, и нужно за пять часов работы в команде сделать решение. За это время обычный программист успеет только подумать над задачей.

Moscow Pre-Finals ACM ICPC Workshop 2017 / Youtube

[Ch.]: Кто придумывает эти задачи и почему их так сложно найти?

[АМ]: Оригинальный контент — одна из самых сложных задач, когда мы работаем с элитой. Тренеров, готовых работать на таком уровне, не так много. Чтобы выиграть чемпионат, нужно не просто выучить теорию, но и прорешать огромное количество задач. Конечно, бесполезно решать одну задачу по три раза, она каждый раз должна быть новая и оригинальная. Их составляет то небольшое число тренеров, которые у нас есть. Это преимущественно выпускники российских университетов и ученики, которые по каким-то причинам в чемпионате не участвуют. И все равно задач не хватает. Мы в этом году провели шесть учебных лагерей, каждый такой лагерь — 8-9 контестов. Контест — в среднем по 8-10 задач. Можете понять, сколько уникальных задач нам нужно собрать.

[Ch.]: А нельзя брать реальные задачи, с которыми сталкиваются реальные программисты в отрасли?

[АМ]: Их не так много, и они требуют времени на адаптацию. Есть реальная проблема программиста в отрасли, дальше ее нужно немного адаптировать к формату ICPC.

[Ch.]: То есть не так уж много в программировании нерешенных задач?

[ОХ]: Здесь ситуация такая: есть понятие формат и неформат, и ICPC это, прежде всего, про формат, почему это соревнование и выигрывает по репутации у хакатонов и других неточных соревнований. В реальной задаче не даны жесткие ограничения и вообще как-то непонятно, что делать. А в ICPC должна быть выверенная жесткая формулировка. Любая неточность — это минус жюри. Возьмем очень впечатлившую меня команду ИТМО, которая год назад была чемпионом. Они во время тренировок писала в день три пятичасовых тренировочных контеста, то есть решали задачи по 10—15 часов в сутки. Но один тур — это десять задач, а любая сильная команда должна тренироваться два раза в неделю примерно 30 недель. 30 на два раза в неделю по 10 контестов — это 600 задач одна команда в год съедает. И она еще не с первого года едет на чемпионат. А в одном МФТИ сейчас много сильных команд.

От редакции: уточнять год чемпионства, говоря о команде ИТМО, строго необходимо. Вот уже семь лет подряд на ICPC побеждают только россияне, а в 2012—2017 годах «чемпионский пояс» вовсе не покидал пределов Санкт-Петербурга, переходя между СПбГУ и ИТМО. Чемпионских команд у ИТМО — четыре.

[АМ]: 1000 решенных задач — это минимальный порог!

[ОХ]: Года с третьего они заходят в чемпионат, прорешав около 2000 задач из самых разных источников. Источники пересекаются, а задачи съедаются с огромной скоростью. При этом набор задач ограничен правилами, и задача должна быть идейно новой. То есть это 2000 красивых математических идей на реализацию.

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

И возникают еще проблемы с неточными формулировками. Мы в свое время делали чемпионат для компании Huawei — они пытались давать эти задачи. В результате ребята-победители из МФТИ, ИТМО и Уральского федерального университетов занимались в основном тем, что исправляли условия и подправляли баги в формулировках. Если можно сравнить обычное программирование и соревнования, то хакатон — это ралли, а олимпиадное программирование — «Формула-1». Там нужен идеальный трек. Любая выбоина — машина сбоит, и больше на этом треке Гран-при не проведут.

[АМ]: C задачками у нас правда сложно, их надо много придумывать, и это требует много человеко-часов. Что-то мы придумываем сами нашим сообществом, а чем-то обмениваемся с международными коллегами. Вот сейчас мне в фейсбук с Кубы написали — у них там такие же сборы проходят и тот же вопрос — помогите с контентом.

[Ch.]: В Международной олимпиаде по программированию победителями до 2000 года были одни американцы и австралийцы, а с 2000-го начали практически все время побеждать россияне и китайцы, один раз — поляки. Что произошло в 2000 году?

[АМ]: Надо сказать, что русские впервые приняли участие в соревнованиях в сезоне 1993—1994 годов (сама Международная студенческая олимпиада по программированию проводится в современном формате с 1977 года — прим. «Чердака»). Во-первых, сначала это было локально в США — Европа только в 1990 году присоединилась. Во-вторых, сложно было с материально-техническим обеспечением: сложно найти компьютеры, хотя они более-менее были, сложно доехать до места проведения. В 1993—1994 годах поехали две университетские команды — ИТМО и МГУ. Люди собирали по две-три компании-спонсора, чтобы просто доехать до места проведения олимпиады и вернуться. Такая была сложная ситуация.

ACM ICPC (International Collegiate Programming Contest) в Екатеринбурге, 2014 годДонат Сорокин / ИТАР-ТАСС

[Ch.]: Начали участвовать в 1993 году, а побеждать — в 2000-м. За это время просто закупили компьютеры?

[ОХ]: До этого были вторые и третьи места, начиная с 1997 года. Например, в 1998 году [российские программисты] заняли второе место, после чехов. А с 1990-х была проблема в том, что задачи были на английском, которого люди не знали. И особо не было понятно, как готовить участников к этому новому формату соревнований. Потом поняли, и пошли успехи, появилась система.

[Ch.]: Техники подготовки олимпиадников в разных странах отличаются? Есть какие-то секреты?

[АМ]: Как я уже говорил, надо тренироваться с конкурентами. Это помогает и им, и нам. Не надо от них изолироваться и говорить, что у нас какие-то суперсекретные технологии и мы про них не расскажем. Нет, надо тренироваться с ними. Сейчас к нам приезжают ребята из более чем 190 университетов из 55 стран. Причем помимо сильных русских университетов там участвуют и китайские университеты. Если говорить про западные вузы, то западное побережье [Америки] мы, может, и не все охватили, а Пенсильвания, Корнелльский университет тоже отправляют к нам своих студентов.

[Ch.]: А почему отправляют? У вас есть специфика?

[АМ]: Ну мы и формат придумали, и это наша русская образовательная школа.

[Ch.]: В чем ее сущность?

[АМ]: Наверное, в первую очередь задачи, которые мы собираем уникальным образом. Мы умеем составлять и подбирать их под различные темы. В дивизионе «А» мы делаем чемпионат, а в дивизионе «В» даем еще и лекции, разбираем тот или иной алгоритм, на следующий день даем задачу на эту тему — не так много людей, кто на таком уровне готов работать со студентами. Наше тренерское сообщество сегодня лучшее в мире. Наши тренеры — это вчерашние чемпионы, как раз из тех, кто с 2000 года становился чемпионом мира. Есть ли дополнительные секреты, про которые не рассказываем другим? Есть, конечно, но мы про них знаем и молчим.

MoscCode 2018 / Youtube

[ОХ]: По сути дела, просто у нас есть система, а в других местах не придумали, как ее построить. Либо нет ресурсов, либо нет команд, и это мало популярно. Если у кого-то есть несколько сильных команд, им выгодно, либо чтобы мы приехали и провели у них кэмп, либо прислать людей к нам, а не пытаться копировать эту систему. Зачем, если проще сотрудничать?

[Ch.]: Почему не хватает программистов, если в индустрии такие возможности и такие зарплаты?

[АМ]:  Это зацикленная машина. Если вы просто даете разнарядку в вузах открыть еще сто тысяч мест по специальности IT, это сделать довольно просто. А дальше, смотрите: кадров на рынке не хватает, уровень зарплат существенно выше среднего. А в университете он около среднего. Это значит, что из университета все хорошие ребята вымываются в индустрию. Когда вы набираете новых студентов, неважно, набираете вы сто человек или сто тысяч, кто-то должен их учить. А учить некому — все ушли в индустрию. Соответственно, новые студенты вырастают, но не становятся квалифицированными. Они не насыщают рынок, и получается замкнутый цикл. Что нужно? Всячески стимулировать квалифицированных студентов, чтобы они оставались в образовании. Тогда каждый из них может в год обучать по десять человек. Через год одного оставили — он обучит уже десять хороших людей, те — сто. Надо насыщать рынок хорошими преподавателями. Надо оставлять в университетах квалифицированных людей и платить им достаточные деньги.

[Ch.]: Если программистов некому учить, то вузы просто выпускают неквалифицированных программистов?

[АМ]: В среднем, увы, да.

[Ch.]: И поэтому возникает ситуация, что много программистов, а хороших не найдешь, на что вечно жалуются компании?

[АМ]: Да, ровно так.

[Ch.]: Есть расхожее мнение, что программистам даже не обязательно идти в вуз, в вузах учебные программы быстро устаревают, можно и самому все выучить по пособиям в интернете. Насколько это реально?

[АМ]: Есть такие мнения, но это не так. Коллеги из одной из наших компаний рассказали, какой они провели эксперимент. При отборе на работу кандидат проходит цепочку собеседований — с эйчарами, потом техническими специалистами, где нужно решить какие-то задачи и показать свою квалификацию. И вот они взяли совсем юных студентов первого курса. Из них кто-то проходит через эту цепочку и попадает в компанию. Так же можно пройти на четвертом, пятом и шестом курсах. А дальше в компании сравнили, чем первая группа отличается от второй, пока они работают в одной организации. Оказывается, первая группа, которую взяли на первом курсе, не растет в рамках компании — как их взяли, так они и сидят. Их все устраивает, они не очень целеустремленные и никак не развиваются. А индустрия развивается быстро. Каждый человек вынужден постоянно что-то новое учить, вместе с компанией двигаться вперед, это же все сводится к человеческому капиталу. А вот группа, которая закончила хотя бы четыре-пять курсов, — это амбициозные ребята, они растут в компании, в нужное время становятся руководителями групп и департаментов и дальше тянут компанию вперед. Почему? Потому что образование, особенно его фундаментальная часть, развивает людей, их способность к критическому мышлению, к анализу, чтобы можно было на более глубоком уровне строить модели и анализировать ситуацию. Но кроме того, это отбирает мотивированных, целеустремленных людей. В эйчар-департаментах это признанный факт. Возьмем сверстников, один из которых не поступил в университет, а второй поступил, но ни дня не учился. Казалось бы, оба не учились. Но поступивший будет гораздо более успешным, чем тот, кто даже не пытался поступить, потому что он умеет поставить цель и добиться ее. В университете надо сдать экзамены, подготовиться к ним, написать мотивационное эссе. Это очень хороший критерий отбора людей.

[Ch.]: Современное российское образование как-то сказывается на уровне студентов, которые приходят к вам учиться?  

[АМ]: ЕГЭ, конечно, немного поменяло картину. Студенты стали больше готовиться к нему и целенаправленно решать эти задачи. Но олимпиады принципиально не изменились, точно так же в них участвуют талантливые ребята. И в этом отношении мы в более выгодном положении, чем другие университеты. В целом, мне кажется, наше школьное образование довольно хорошее, потому что у нас высокий уровень математики, и особенно абстрактных вещей. Мы учим алгебру с пятого класса, у нас довольно интересная программа по физике. В пятом классе детям рассказывают, что такое а+b, возведенное в квадрат, — это на самом деле довольно высокий уровень абстракции, не во всех странах так. Плюс геометрия, стереометрия, планиметрия, которые развивают абстрактное мышление и помогают нашим студентам участвовать в олимпиадах и их выигрывать.

[Ch.]: Есть разница между школьниками из Москвы и регионов?

[АМ]: Разница есть. ЕГЭ дало возможность человеку поступать в любой вуз страны, и это правда работает: по почте к нам приходят очень хорошие заявления. Живет человек в городе или в деревне — он решил задачу хорошо и может поступить в любой вуз. Но, с другой стороны, ЕГЭ можно реализовать по максимуму только в ограниченном числе университетов в особых городах. Если вы пытаетесь свои 300 баллов ЕГЭ реализовать в каком-то региональном городе, там может просто не быть сильного университета. И это, с одной стороны, сложность, потому что региональные вузы потеряли некоторую часть абитуриентов. С другой стороны, мы сейчас налаживаем программы взаимодействия между нашим университетом и региональными вузами. Например, когда к нам из региональных вузов приезжают люди в магистратуру, а потом в аспирантуру возвращаются к себе. Также в Moscow Workshops: у нас недавно был воркшоп на 200 человек и большинство приехало из разных регионов России. Это значит, что мы даем возможность им посоревноваться с разными ребятами и поучаствовать в этой конкуренции.

[ОХ]: Как ни странно, система ICPC, придуманная американцами, может хорошо сработать в России, точнее — ее ограничение, что в финал может пройти только одна команда от вуза. Если человек увлечен спортивным программированием и хочет попасть в финал среди лучших из лучших, но несколько слабее команд МФТИ, до него очередь никогда не дойдет: он никогда не прокачается настолько, чтобы убрать с первых мест этих монстров. Можно болтаться в середине таблицы, а можно остаться в своем родном университете, получать образование там и докачиваться дистанционно, ездя на наши воркшопы и по обмену в Физтех, и при этом участвовать [c командой] от своего родного университета. ICPC — это как раз стимул людям оставаться в своих локальных университетах. Есть вузы, которые говорят: «А что это такое, зачем мы будем давать деньги?» А соседний университет в том же городе, наоборот, посылает к нам своих студентов. Поэтому нужна кооперация с другими университетами, они должны понимать, что надо не жаловаться, а тянуться за лидерами, кооперироваться с миром. Кооперация выгодна всем.

Добавить в закладки
Комментарии
Вам понравилась публикация?
Расскажите, что вы думаете, и мы подберем подходящие материалы

«В стадии мирной коллаборации»

Один из создателей Российского квантового центра — о перспективах квантовых компьютеров

Громких заголовков про успехи квантовых компьютеров появляется все больше: одни ученые сделали рабочий кубит — элемент квантовой информации, другие — собрали компьютер на десяти кубитах, третьи — показали преимущество квантовых компьютеров над обычными в некоторых частных задачах. Как разглядеть за этим гигантскую историю, меняющую весь мир, рассказывает Сергей Белоусов, генеральный директор компании Acronis и один из основателей Российского квантового центра.
Добавить в закладки
Комментарии

Основа обычных компьютеров — бит — это некоторый объект, который может находиться в двух взаимоисключающих состояниях: либо «0», либо «1». Бит может кодироваться, например, напряжением полупроводникового транзистора: если оно больше некоторого значения, то значения бита — логическая «1», а если меньше — то логический «0». Память компьютера — это массив битов, а все вычисления — определенные операции, изменяющие состояния битов.

Кубиты в отличие от битов могут находиться одновременно сразу в двух логических состояниях. Если бы кубит можно было построить на полупроводником транзисторе, то такой транзистор при попытке измерить его напряжение с определенной вероятностью выдал бы логическую единицу, а с другой, тоже ненулевой вероятностью, — логический ноль. Но получить кубит на транзисторе невозможно, поскольку напряжение на нем всегда определяется однозначно — вместо этого их делают на различных миниатюрных системах, поведение которых описывается законами квантовой физики. Здесь есть два основных направления: одни группы работают с кубитами на основе микроскопических сверхпроводящих колец (логические «0» и «1» кодируют направления тока по кольцу, ток в такой системе может одновременно течь как по часовой, так и против часовой стрелки), а другие — на основе атомов, охлажденных до температуры в несколько кельвин («0» и «1» — это разные энергетические состояния атомов).

В перспективе вычислительная мощность квантовых компьютеров значительно превосходит мощности компьютеров обыкновенных. Если система из двух битов кодирует только два состояния, то система из двух кубитов — сразу четыре (каждый кубит по отдельности одновременно и «0» и «1», а значит два кубита одновременно в четырех состояниях — «00», «01», «10», «11»), а система из 10 кубитов будет кодировать 210, то есть 1024 состояний. При этом вычислительные операции над каждым из этих состояний можно совершать параллельно, и поэтому квантовый компьютер в каком-то смысле — это огромный массив параллельных процессоров

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

Читать полностью
Вычислительный центр Академии наук СССР, 1958 г. Универсальная электронная вычислительная машина серии МФото: Евзерихин Эммануил / Фотохроника ТАСС

Забытый день рождения ЭВМ

4 декабря 1948 года в СССР была подана заявка на изобретение цифровой электронно-вычислительной машины

В 1951 году в СССР был построен первый в мире в основном полупроводниковый компьютер — на Западе в ту пору существовали лишь куда более проблемные ламповые. Несмотря на то что в этом СССР опередил Соединенные Штаты, впоследствии это опережение потеряло всякое значение. Отечественная электронная индустрия перешла на копирование западных архитектур и конкретных технических решений. Почему сравнительно бедный послевоенный Советский Союз достойно участвовал в компьютерной гонке, а более поздний — и более обеспеченный — брежневский СССР пошел по пути копирования?
Добавить в закладки
Комментарии

Ровно 70 лет назад Башир Рамеев и Исаак Брук представили проект цифровой вычислительной машины, на его основе подали заявку на изобретение и к 16 февраля 1950 года получили авторское свидетельство на это изобретение (см фото). Проект поражает любого читателя и сегодня: он написан вполне современным языком и явно свидетельствует об изрядной проницательности и дальновидности его авторов. Что очень важно, несмотря на объективные сложности, предложенная ЭВМ не осталась на бумаге, как очень многие другие заявки: в 1952 году на ней уже начали выполнять расчеты. Но давайте же обо всем по порядку.

Би-Би-Си, инженер-«самоучка» и Исаак Брук [ ... ]

Читать полностью

Диджитальные гуманитарии и где они обитают

Репортаж с III Московско-тартусской школы по цифровым гуманитарным исследованиям

На III Московско-тартусской школе сотня гуманитариев на протяжении четырех суток программировала, работала с базами данных, занималась сетевым анализом. Зачем? Корреспондент «Чердака» тоже побывала на школе, чтобы ответить на этот вопрос.
Добавить в закладки
Комментарии

От детской поэзии до списков НКВД

Впрочем, просто понаблюдать не удалось. «Приезжайте участвовать», — ответили организаторы. Оправдания, что я журналист, а по образованию и вовсе психолог, не помогли.

Выбираю одно из направлений и сразу получаю указания — установить среду программирования на Python и еще парочку программ для обработки и визуализации данных с незнакомыми мне названиями.

Школа по digital humanities проводится здесь уже третий год подряд. Формат устоявшийся: лекции о том, как трансформируется гуманитарное знание в цифровом мире, и практика. [ ... ]

Читать полностью