26 сентября 2013

Биоинформатик Федор Царев — о притягательности живой природы и сложности бытовых алгоритмов

6 октября «Бумага» при поддержке JetBrains проводит третий Science Slam, на котором молодые ученые представят собственные исследования в наиболее доходчивой и в то же время нестандартной для конференций и круглых столов форме. Участник слэма Федор Царев рассказывает о том, как компьютеры помогают изучать живую природу, чем программистам интересна биоинформатика и на что способны чемпионы олимпиад, помимо решения конкурсных задач.

 

Федор Царев

кандидат технических наук, чемпион мира по программированию 2008 года

Сфера исследования: биоинформатика.
Тема: «Что биоинформатики не знают о геноме?».
Фото: Анна Рассадина / «Бумага»

Что такое биоинформатика?

Биоинформатика — это наука, которая изучает способы применения компьютеров для анализа информации о живой природе. Как это возникло? С развитием биологии люди стали строить все более сложные экспериментальные установки, которые дают различные данные, и с какого-то момента обрабатывать их вручную стало невозможно, да и просто некогда. Например, в геноме много букв нуклеотидов: в геноме человека — три миллиарда, в геноме бактерии — порядка пяти миллионов. Тогда возникла необходимость использовать компьютер для обработки данных, получаемых в результате биологических экспериментов. Большую часть биоинформатиков составляют биологи, которые пришли к необходимости освоить компьютер. Второй путь через информатику проложили люди, которые занимались теорией алгоритмов, дискретной математикой и в силу чего-то заинтересовались биологией. В биологии они видели некие задачи, делали попытки их формулировать на математическом языке и после этого возникла возможность разрабатывать алгоритмы решения этих задач.
Путь через информатику мне кажется более правильным, этому есть философское объяснение: изучать живую природу гораздо интересней, чем работать с буковками, циферками
Если говорить о России, то здесь есть оба пути. Биологический путь развит больше в Москве, алгоритмический путь наиболее распространен в Петербурге. У нас очень много неплохих университетов, кафедр, на которых готовят программистов высокого уровня, — это Национальный исследовательский университет информационных технологий, механики и оптики, который я окончил и в котором работаю, матмех СПбГУ и в определенной степени Академический университет. На развитие алгоритмического пути в Петербурге также повлияло получение мегагранта Академическим университетом, который совместно с профессором из Калифорнийского университета в Сан-Диего Павлом Певзнером организовал лабораторию алгоритмической биологии. Какой путь более эффективный — через информатику или через биологию, очень сложный вопрос. Сейчас в мире часто обсуждается: как учить биоинформатике информатиков и биологов? Путь через информатику мне кажется более правильным, этому есть философское объяснение: изучать живую природу гораздо интересней, чем работать с буковками и циферками. Если ты уже изучаешь биологию, маловероятно, что тебе захочется разбираться в алгоритмах. Можно пойти другим путем: если сначала изучить альфы, беты, графы, а потом перейти к изучению биологии и постижению сложных биологических процессов, то ощущения будут совсем другие — тогда вряд ли кто-то скажет, что этим неинтересно заниматься

Какова цель исследований?

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

Профессиональная деформация: как наука повлияла на повседневную жизнь?

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

Обычно не говорю, что я программист, и право сказать, что я чемпион мира по программированию, всегда оставляю кому-нибудь другому

С какими стереотипами вы сталкиваетесь, когда говорите: «Я программист»?

Обычно не говорю, что я программист, и право сказать, что я чемпион мира по программированию, всегда оставляю кому-нибудь другому. Как правило, думают, что программист должен уметь переустановить Windows, починить компьютер или ноутбук помочь выбрать. На самом деле многие люди, которые пришли в программирование, действительно интересовались компьютерами. Лет 5–10 назад, например, когда я учился в школе, то очень хорошо разбирался в видеокартах, процессорах, жестких дисках. На первом курсе у меня на столе стоял компьютер, который я собственноручно собрал по частям. Так что это не стереотипы, а немного устаревшие представления об этой профессии.

О чем бы вы еще рассказали на Science Slam?

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

Группа «ВКонтакте»

Следующий Science Slam пройдет в Петербурге 13 апреля.

Первые 100 билетов — по 300 рублей, остальные — дороже. Оплата билетов производится онлайн через TimePad.
Если вы нашли опечатку, пожалуйста, сообщите нам. Выделите текст с ошибкой и нажмите появившуюся кнопку.
Подписывайтесь, чтобы ничего не пропустить
Все тексты
К сожалению, мы не поддерживаем Internet Explorer. Читайте наши материалы с помощью других браузеров, например, Chrome или Mozilla Firefox Mozilla Firefox или Chrome.