6 октября «Бумага» при поддержке JetBrains проводит третий Science Slam, на котором молодые ученые представят собственные исследования в наиболее доходчивой и в то же время нестандартной для конференций и круглых столов форме. Участник слэма Федор Царев рассказывает о том, как компьютеры помогают изучать живую природу, чем программистам интересна биоинформатика и на что способны чемпионы олимпиад, помимо решения конкурсных задач.
Федор Царевкандидат технических наук, чемпион мира по программированию 2008 годаСфера исследования: биоинформатика.Тема: «Что биоинформатики не знают о геноме?». |
Фото: Анна Рассадина / «Бумага»
Что такое биоинформатика?
Биоинформатика — это наука, которая изучает способы применения компьютеров для анализа информации о живой природе. Как это возникло? С развитием биологии люди стали строить все более сложные экспериментальные установки, которые дают различные данные, и с какого-то момента обрабатывать их вручную стало невозможно, да и просто некогда. Например, в геноме много букв нуклеотидов: в геноме человека — три миллиарда, в геноме бактерии — порядка пяти миллионов. Тогда возникла необходимость использовать компьютер для обработки данных, получаемых в результате биологических экспериментов. Большую часть биоинформатиков составляют биологи, которые пришли к необходимости освоить компьютер. Второй путь через информатику проложили люди, которые занимались теорией алгоритмов, дискретной математикой и в силу чего-то заинтересовались биологией. В биологии они видели некие задачи, делали попытки их формулировать на математическом языке и после этого возникла возможность разрабатывать алгоритмы решения этих задач.Путь через информатику мне кажется более правильным, этому есть философское объяснение: изучать живую природу гораздо интересней, чем работать с буковками, циферкамиЕсли говорить о России, то здесь есть оба пути. Биологический путь развит больше в Москве, алгоритмический путь наиболее распространен в Петербурге. У нас очень много неплохих университетов, кафедр, на которых готовят программистов высокого уровня, — это Национальный исследовательский университет информационных технологий, механики и оптики, который я окончил и в котором работаю, матмех СПбГУ и в определенной степени Академический университет. На развитие алгоритмического пути в Петербурге также повлияло получение мегагранта Академическим университетом, который совместно с профессором из Калифорнийского университета в Сан-Диего Павлом Певзнером организовал лабораторию алгоритмической биологии. Какой путь более эффективный — через информатику или через биологию, очень сложный вопрос. Сейчас в мире часто обсуждается: как учить биоинформатике информатиков и биологов? Путь через информатику мне кажется более правильным, этому есть философское объяснение: изучать живую природу гораздо интересней, чем работать с буковками и циферками. Если ты уже изучаешь биологию, маловероятно, что тебе захочется разбираться в алгоритмах. Можно пойти другим путем: если сначала изучить альфы, беты, графы, а потом перейти к изучению биологии и постижению сложных биологических процессов, то ощущения будут совсем другие — тогда вряд ли кто-то скажет, что этим неинтересно заниматься
Какова цель исследований?
На данный момент я занимаюсь исследованием в лаборатории на кафедре компьютерных технологий при ИТМО. Кроме биоинформатики у нас есть еще два направления — машинное обучение и технология программирования. Это была экспериментальная проверка тезиса о том, что люди, которые выигрывали в олимпиадах по программированию, еще для чего-то подходят. Вроде бы пока так и есть. Я часто слышал вопросы: а кому нужны чемпионы мира, что они умеют, кроме того что решать олимпиадные задачи? Вот мы и решили удостовериться, что чемпионы мира подходят и для решения более сложных задач. В моем понимании задачи бионформатики, если говорить о медицинском применении, заключаются в построении тематической модели организма. Моделируются сигнальные пути. Возникают естественным образом графы. На одной из конференций слушал доклад о том, как нарисовали некий процесс в организме в виде кружочков и стрелочек, а потом придумали способы, как эти стрелочки заблокировать в организме. В результате этого ученые поняли, как лечить один из типов рака.Это была экспериментальная проверка тезиса о том, что люди, которые выигрывали в олимпиадах по программированию, еще для чего-то подходят. Вроде бы пока так и естьМы больше занимаемся алгоритмическими аспектами, то есть изучаем сложность задач, придумываем алгоритмы, пытаемся точнее формулировать. В этом году у нас было два доклада на международных конференциях про сложность моделей сборки генома. Существует понятие сложности алгоритма: есть быстрорешаемые задачи и труднорешаемые. Так вот мы установили, что задачи, возникающие при сборке генома в двух моделях, а всего известно пять, относятся к классу труднорешаемых. Это не очень, конечно, оптимистично, но в другой из статей мы написали: рассматривая частный случай этой модели, пришли к выводу, что задача не относится к классу труднорешаемых, и осталось только придумать быстрый алгоритм. Существует большой разрыв между теорией и практикой. Внесет ли этот частный случай вклад, не знаем, но надеемся.
Профессиональная деформация: как наука повлияла на повседневную жизнь?
У меня, наверное, профессиональная деформация связана не с научной деятельностью, а скорее, с тем, что я с десятого класса учился в физматшколе, а затем в техническом университете. И на первой же лекции по дискретной математике нам рассказывали, что такое алгоритмы и что в каждом алгоритме надо оценивать время работы и размер требуемой памяти. Соответственно, ситуация, когда в повседневной жизни для решения задачи некий человек использует неэффективный алгоритм, вызывает раздражение у человека, знакомому с этими понятиями. Например, я не понимаю, зачем относить документы сначала в одно место, затем в другое, чтобы вернуть их в первое, если все можно сделать гораздо проще и быстрее.
Обычно не говорю, что я программист, и право сказать, что я чемпион мира по программированию, всегда оставляю кому-нибудь другому