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