— Что в целом собой представляет такая популярная в настоящее время в мире наука, как Computer Science?
— Computer Science (CS) — это междисциплинарная наука, объединяющая в себе элементы различных областей знаний — от электромеханики до математики. Традиционно CS включает в себя такие вопросы, как теория алгоритмов, языки программирования, системы и построение компьютерных сетей, искусственный интеллект и архитектура вычислительной системы. Кроме того, не так давно начали появляться новые междисциплинарные сферы, связывающие CS с другими науками. К ним можно отнести квантовые вычисления, теорию игр и вычислительную биологию.
— Есть ли русскоязычный аналог термина Computer Science?
— Наиболее близкий перевод — информатика, но язык как-то не поворачивается так сказать. В английском этот синоним Computer Science употребляется только в словосочетаниях, например bioinformatics. И я не одинок: в России многие пользуются термином Computer Science без перевода.
— Какие достижения у этой науки, какие перспективы?
— С научной точки зрения основным вкладом Computer Science можно считать развитие вычислительных операций, сложных информационных систем и алгоритмов, которые сегодня имеют как практическое применение, так и используются в других, смежных, областях науки. С практической, прикладной точки зрения безусловным достижением является развитие вычислительных устройств и связывающих их сетей передачи данных. Это полностью изменило наше общество, внесло кардинальные изменения во все сферы его жизнедеятельности, от используемых высоких технологий до способов коммуникаций друг с другом.
— Можно ли выделить в истории развития науки конкретный момент, с которого началась Computer Science?
— Общепринятой исторической датой зарождения CS считается 1936 год, когда Алонзо Чёрч и Ален Тюринг независимо формализовали понятия алгоритма и абстрактной модели вычислительной машины. Однако CS — наука мультидисциплинарная, и каждая область имеет свою историю. Алгоритмы впервые упомянуты в девятом веке в книге персидского учёного Мухаммеда аль-Хорезми. Для программистов CS появилась в 1947 году, когда был обнаружен и ликвидирован первый компьютерный bug (моль в реле компьютера Harvard Mark II).
— Расскажите немного о себе: где получали образование, где работаете, чем занимаетесь, какова область ваших научных интересов.
<1>— Мне посчастливилось получить образование в лучших школах и вузах. Я закончил московскую спецшколу № 57, а высшее образование получил в США: степень бакалавра в Массачусетском технологическом институте, магистра — в Беркли (Berkeley), а доктора философии опять в MIT. В настоящее время я работаю в лаборатории Microsoft Research — Silicon Valley. До этого работал в академии (Stanford University), исследовательских отделениях крупных компаний (GTE Laboratories, NEC Research Institute) и стартапе (InterTrust Technologies).
Мой опыт включает работу с алгоритмами, структурами данных и теорией игр, алгоритмами в большей степени. Меня интересует их изучение с точки зрения научного метода. Это включает как разработку и анализ эффективных алгоритмов, так и их имплементацию и экспериментальное изучение. Часто теоретические идеи улучшают практическую эффективность алгоритмов, а эксперименты дают идеи и направления для теоретических разработок. Идеальный результат — практичные и теоретически обоснованные алгоритмы.
— Приведите, пожалуйста, наглядный практический пример использования CS из области вашей деятельности.
— Последние несколько лет я занимался задачами маршрутизации: имея карту и запрос «как проехать из пункта А в пункт Б», требуется найти самый быстрый (или самый короткий) путь из А в Б. Формально это задача о нахождении кратчайшего пути в графе. Алгоритмами для этой классической задачи занимаются более 50 лет.
Моей группой и группами ученых в Германии были разработаны алгоритмы, которые на графах автомобильных дорог работают в тысячи раз быстрее ранее известных методов.
Эти новые алгоритмы используются на практике, в том числе в Bing Maps. Быстрые алгоритмы делают практичными дополнительные функции маршрутизации. Например, в реальном времени можно перетянуть маршрут через альтернативную точку. Эти алгоритмы также могут быть использованы в навигационных системах и мобильных телефонах.
— Недавно стало известно, что индийский математик Винай Деолаликар представил свое доказательство одной из «Задач тысячелетия» — проблемы неравенства классов сложности P и NP. Данная проблема — это все-таки в большей степени математика или же это прямая задача из области CS, тем более что Деолаликар работает исследователем в компании HP?
<4>— «P=?NP» — это очень важная задача на границе математики и CS. P — это класс задач, для которых существуют (теоретически) эффективные алгоритмы; NP — класс задач, для которых можно, угадав правильное решение, эффективно его проверить. Известно, что если есть эффективный алгоритм для любой из «самых сложных» задач из NP (например, для задачи коммивояжера), то P=NP. Многие области теоретической CS основаны на предположении, что не все задачи NP находятся в P. Например, в криптографии предполагается, что сообщение можно эффективно расшифровать, зная соответствующий ключ, но нельзя эффективно расшифровать без ключа. Если P=NP, такого не может быть, так как ключ можно угадать.
Ежегодно появляются десятки «решений» задачи «P=?NP», в основном от непрофессионалов. Однако задача до сих пор не решена.
Попытка Деолаликара более серьезна, чем большинство других, но эксперты нашли ошибки в его доказательстве.
Границу между математикой и CS можно проводить по-разному. По-моему, ответ на ваш вопрос зависит от решения задачи. Если удастся формально доказать, что классы не равны, то это математика. <3>Если кто-то придумает теоретически эффективный и практичный алгоритм для задачи коммивояжера, то это будет CS.
— Как за рубежом развита CS? Какие отличия от того, что есть в России?
— В США CS — это высокоразвитая отрасль с хорошей инфраструктурой и серьезным финансированием научных исследований и производства. Специалистов в этой области сегодня готовят ведущие университеты США, обучение в которых проходят американские и зарубежные студенты. Выпускники соответствующих факультетов получают широчайшие карьерные возможности как бизнесе, так в научной сфере.
Если говорить о России, то из-за недостаточного финансирования науки сегодня наблюдается очевидная нехватка учебных программ в области Computer Science в российских вузах.
Более того, ограниченные карьерные возможности и невысокий уровень оплаты труда в академической среде зачастую определяют выбор молодых специалистов в пользу бизнеса, нежели развития в сфере научных исследований.
В начале августа мы провели в Санкт-Петербурге для российских студентов летнюю школу Microsoft Research, которая направлена на достижение нескольких целей. Прежде всего, она позволяет усовершенствовать знания и навыки студентов, демонстрируя при этом, что исследовательская работа в области Computer Science по-настоящему интересна и увлекательна. Полученные студентами знания могут быть использованы в их дальнейшей работе. В комплексе с другими обучающими программами это является существенной поддержкой сегодняшней системы образования и позволяет повысить привлекательность Computer Science с точки зрения академического карьерного развития.
— Вы сказали, что в России из-за недостаточного финансирования науки сегодня наблюдается очевидная нехватка учебных программ в области CS. Можно ли все-таки в России успешно заниматься CS? Если да, то где?
— Хотя в России CS не хватает критической массы, отдельные ученые и фирмы занимаются исследованиями и разработками на мировом уровне. Например, «Яндекс» — лидер на российском рынке поисковиков. Это огромное достижение. Технологии поиска постоянно совершенствуются, и поисковик «Яндекса» постоянно улучшается, чтобы оставаться конкурентоспособным.
Ответ «Яндекса» на недостаток учебных программ и нехватку квалифицированных специалистов — Школа анализа данных. Эта школа создана и спонсируется «Яндексом». Вечерние занятия посещают тщательно отобранные студенты, которые также имеют возможность стажироваться в компании. Школа дает диплом о дополнительном образовании, а также имеет совместные программы с МФТИ и ГУ ВШЭ. Она привлекает очень сильных студентов, многие из которых идут работать в «Яндекс» по окончании образования. Это очень успешный проект, приносящий пользу и «Яндексу», и системе российского образования в CS. Хочется верить, что другие крупные компьютерные компании переймут опыт и создадут похожие школы. Это принесет огромную пользу развитию высшего образования в CS.
Развитое образование необходимо для успеха компьютерной промышленности в России в целом и проекта Сколково в частности.
— Как организован процесс в американской Силиконовой долине и чего можно ожидать от ее российского аналога в лице Сколково? Понятно, что этот вопрос требует отдельного разговора и анализа, но все-таки не могли бы вы рассказать об основных составляющих Силиконовой долины, которые должны быть в Сколково, чтобы это был достаточно качественный аналог?
— На эту тему есть анекдот, популярный в долине в 90-е годы.
«Как создать стартап в Cиликоновой долине?
- Езжайте в Менло Парк (примечание: Menlo Park — город на севере Cиликоновой долины). Найдите дерево.
- Хорошенько тряхните дерево. С него свалится венчурный капиталист.
- Пока он не опомнился, произнесите заклинание: «Интернет! Электронная торговля! Ява!»
- Капиталист даст вам пять миллионов долларов на стартап.
- Через год-полтора продайте свой стартап, заплатите капиталисту его долю, свою положите в банк.
- Езжайте в Менло Парк и залезайте на дерево».
Эта шутка не так далека от положения дел во время интернет-бума, как кажется.
Силиконовая долина — это уникальное социально-экономическое явление. Здесь собраны вместе хорошо образованные инженеры и ученые с инновационными идеями, квалифицированные менеджеры и венчурные капиталисты, хорошо понимающие стартапы. Все они знают, что на каждый удачный стартап приходится несколько прогоревших, но не боятся вкладывать труд и капитал в перспективные проекты. Все эти люди являются частью социальной сети, включающей всё необходимое для создания и успеха стартапов. Успешные стартапы способствуют созданию новых, так как у участников успешных проектов есть опыт, мотивация и финансовая независимость.
Силиконовая долина — это не только стартапы. Индустриальная база включает в себя большое количество стабильных компьютерных компаний.
Хороший специалист всегда может найти работу, поэтому для него не так рискованно бросить насиженное место и пойти работать в стартап.
Еще одно достоинство Силиконовой долины — это система высшего образования, в первую очередь университеты Беркли (Berkeley) и Стэнфорд (Stanford). Они обучают новых специалистов, повышают квалификацию старых. Профессора этих университетов тесно связаны с индустрией Силиконовой долины и помогают ей оставаться лидером в области компьютерных технологий.
На первом этапе Сколково должно преследовать две цели.
Первая цель — создать индустриальную базу. Для этого надо убедить достаточное количество компаний, что Сколково — это долгосрочный проект с перспективным будущим, с развитой законодательной инфраструктурой и привлекательной налоговой политикой как сейчас, так и в будущем.
Вторая цель — развивать и укреплять образовательную инфраструктуру путем усиленного финансирования высшего образования в CS и поощрения индустриальных образовательных проектов. Последние могут быть совместными с университетами, как вышеупомянутая школа «Яндекса», так и отдельными, как летние школы Microsoft Research, включая школу MIDAS.