Прогресс в области информационных технологий и, собственно, развитие теории информации в последнее десятилетие сделали очевидным одно важное обстоятельство: элементной базой устройств информационного процессинга может быть все что угодно - от элементарных частиц до живых клеток. Именно таков в настоящее время веер поиска альтернатив обычному компьютингу - от квантовых до биокомпьютеров. И если в отношении первых все еще остается место для скепсиса (проблема декогеренции, масштабируемость и др.), то в реализуемости последних сомневаться просто абсурдно, ведь информационным процессингом ежемгновенно занимаются миллиарды нейронных клеток нашего мозга.
То, что биосистемы или подсистемы живых организмов функционируют в соответствии с булевой алгеброй, доказали еще в 1961 году Франсуа Жакоб (Francois Jacob) и Жак Моно (Jacques Monod) [Jacob, F., Monod, J. Genetic regulatory mechanisms in the synthesis of proteins // Journal of Molecular Biology. 1961. Vol. 3. P. 318-356], за что уже в 1965 году были удостоены Нобелевской премии. Однако потребовалось еще более трех десятилетий, прежде чем удалось подступиться к решению другой задачи - заставить биосистемы, в частности, биомолекулы функционировать по заранее заданному сценарию, например, производить параллельные вычисления. В 1994 году группа Леонарда Эдлмена (Leonard Adleman) доказала возможность использования молекул ДНК для решения так называемых NP-полных задач (Adleman, L.M. Molecular computation of solutions to combinatorial problems // Science. 1994. Vol. 266. No. 5187. P. 1021-1024; доступна как www.usc.edu/dept/molecular-science/papers/adleman-science.pdf), что положило начало ДНК-компьютингу (см. "КВ" №№38, 48'2000, 18'2002, 9'2003, 5'2004, 11'2006).
NP-полная задача - это задача из класса NP, к которой можно свести любую другую задачу из этого класса. Класс NP (от англ. non-deterministic polynomial) - это множество алгоритмов, время работы которых существенно зависит от размера входных данных. Одной из классических NP-полных задач является проблема гамильтонова пути (Hamiltonian Path Problem). Ее суть заключается в том, что необходимо отыскать путь из начального узла в конечный на направленном графе из n узлов такой, чтобы каждый узел был пройден только один раз. Так, для графа из 10 узлов необходимо проверить 10! = 3628800 вариантов возможных путей. При неизменном числе задействованных процессоров необходимое время вычислений будет пропорционально этому числу вариантов. Удвоение числа узлов увеличивает число вариантов до 20! = 2,43 x 1018, а время вычислений - на 12 порядков. Понятно, что решать NP-полные задачи такого рода на обычных компьютерах в лучшем случае неэффективно, а при достаточно большом числе узлов просто бессмысленно, так как никто и никогда не дождется результатов таких вычислений.
ДНК-компьютеры быстро справляются с решением NP-полных задач благодаря тому, что вычисления производятся одновременно триллионами биомолекулярных (ДНК) процессоров. В 2006 году было сообщено о создании энзимного (ферментного) биомолекулярного компьютера (Baron, Ronan et al. Elementary Arithmetic Operations by Enzymes: A Model for Metabolic Pathway Based Computing // Angewandte Chemie International Edition. 2006. Vol. 45. No. 10. P. 1572-1576). Вместе с тем, было понятно, что создание биокомпьютеров в полном смысле слова способно значительно повысить производительность, так как число задействованных биопроцессоров возрастало бы во время вычислений за счет деления клеток.
Первый успешный эксперимент по биокомпьютингу был осуществлен в прошлом году группой исследователей из Западного государственного университета (штат Миссури) и из Колледжа Дэвидсона (Северная Каролина) [Haynes, K.A., et al. Engineering bacteria to solve the burnt pancake problem // Journal of Biological Engineering. 2008. Vol. 2. Art. 8; www.jbioleng.org/content/2/1/8]. Правда, тогда решалась другая NP-полная задача - о подгоревших блинчиках (Burnt Pancake Problem). Ее суть: имеется стопка блинчиков разного размера, каждый из которых хорошо обжарен с одной стороны, и подгорел - с другой. Необходимо сортировать стопки так, чтобы самый большой блин был внизу, а самый маленький - наверху, и все блины лежали бы подгоревшей стороной вниз. Этого следует добиться за минимальное число шагов, при этом за один шаг можно взять и перевернуть один или несколько последовательных блинов.
Для решения задачи были использованы генетически модифицированные бактерии кишечной палочки (Escherichia coli). Роль "блинчиков" в эксперименте выполняли фрагменты ДНК, в которые были добавлены гены, отвечающие за переворачивание (смену ориентации) ДНК-фрагментов. Был добавлен также ген устойчивости к определенному антибиотику: если задача решена правильно и все фрагменты ориентированы в нужном направлении, этот ген активируется и позволяет выжить в присутствии антибиотика. Минимальное время, которое потребуется на это бактерии, соответствует минимальному числу шагов, которые использовались на решение проблемы.
Успех вдохновил исследователей на следующий шаг - решение проблемы гамильтонова пути для графа из трех узлов (Baumgardner, Jordan et al. Solving a Hamiltonian Path Problem with a bacterial computer // Journal of Biological Engineering. 2009. Vol. 3. Art. 11; www.jbioleng.org/content/3/1/11). В эксперименте ДНК кишечной палочки было модифицировано генами двух протеинов (белков), один из которых флюоресцирует красным, а второй - зеленым. Каждая бактерия может проверять конкретное решение данной проблемы, но миллиарды их смогут проверить одновременно миллиарды возможных решений. При этом кишечные палочки делятся каждые 20-30 минут, увеличивая таким образом число задействованных в вычислении биопроцессоров. Клоны бактерий, которые находят гамильтонов путь, сигналят об успехе, флюоресцируя и красным, и зеленым, в результате чего образуется колония бактерий желтого цвета.
Успех экспериментов доказал не только возможность использования генномодифицированных бактерий для решения NP-полных задач, но также и большие перспективы так называемой синтетической биологии для развития технологий XXI столетия. Это направление стало развиваться в последнее время как альтернатива традиционному редукционистскому направлению в науке. Вместо того, чтобы изучать какой-то один уровень описания (например, какой-нибудь один белок), ученые стремятся интегрировать информацию о различных уровнях сложности биосистемы. Исследуя, как взаимодействуют различные биологические компоненты, системные биологи пытаются строить модели системы. Если таковые оказываются более-менее удачными, то следующим шагом будет проектирование некоторого организма (например, бактерии) с заранее заданным характером поведения. Такие биомашины могли бы использоваться для очистки токсических отходов, детектирования химического оружия, выполнения параллельных вычислений, производства водорода под действием солнечного света и т.д.
Вместе с тем, отношение к синтетической биологии в обществе весьма неоднозначное. Достаточно вспомнить хотя бы горячие споры по проблеме клонирования животных и людей, использования генномодифицированных растений и животных для производства продуктов питания и т.д. Кто знает, как поведут себя генномодифицированные кишечные палочки-считалочки вне исследовательской лаборатории? Ответов на эти вопросы пока нет. Они могут появиться после очередной глобальной эпидемии, но цена такого знания может быть слишком высока.
Сергей САНЬКО
Комментарии
Страницы
Майк, а ты -- много живых клеток. Почему же комп умнее?
:) Комп НЕ умнее. Он быстрее, да и то только в классе задач, которые определены приложением, написанным действительно УМНЫМИ ЛЮДЬМИ. Комп глуп, как пробка. Замахнись на него молотком. Что, убежал или прикрылся? То-то же. Можешь выставить его на мороз, он загнётся, но НЕ начнёт одеваться, т.е. ПРИСПОСАБЛИВАТЬСЯ. Комп и инфа рядом НЕ лежали пока, т.к. инфа -- это самостоятельное накопление изменений, дающих преимущество. Как это ни парадоксально, комп вообще НЕ накапливает инфу. Уловил? Ой, нефиг распинаться -- пользы от этого ноль и мне, и тебе. :) Хотя, возможно, я ошибаюсь, авось, подумавши, и статейку для школоты выдашь. :)
Ты считаешь, что умные люди замахиваются на комп молотком? А он не обращает внимания на дурней :)
Во, а с компом у меня всё по уму, не посылаем...
Страницы