На что будут способны ДНК-компьютеры будущего?
Согласно прогнозу агентства IDC, к 2020 году объем данных, созданных и сохраненных человечеством, достигнет 40 000 эксабайт. Это 40 трлн гигабайт, или 5200 гигабайт на душу населения. Для хранения всей этой информации было бы достаточно менее 100 г ДНК. Сей факт заставляет искренне верить в перспективу развития ДНК-компьютеров.
Упаковка равных по массе контейнеров, поиск кратчайшего маршрута между несколькими пунктами назначения, расшифровка закодированных данных — что может быть общего у этих задач? Ответ прост — они слишком сложны для современных компьютеров.
Классическим примером может служить старинная задача о Кенигсбергских мостах, в которой спрашивалось, как пройти по всем семи мостам города, не пройдя ни по одному из них дважды. Впервые задача была решена в 1736 году великим Леонардом Эйлером, который родился в Швейцарии, но практически полжизни жил и работал в России, в Петербургской академии наук. Эйлер хорошо знал русский язык и многие свои труды публиковал на русском.
Работы Эйлера заложили основы теории графов, позволяющей формализовать подобные задачи. Точки маршрута (берега) в ней называются вершинами графа, переходы между вершинами (мосты) — ребрами. Каждое ребро имеет вес, характеризующий сложность данного перехода (расстояние, которое необходимо пройти). Эйлер выяснил, что пройти по каждому мосту Кенигсберга лишь по одному разу невозможно. Но это не отменяет другой, более важной задачи: как обойти все мосты города кратчайшим путем (задача коммивояжера)? Сложность этой и подобных задач заключается в том, что на сегодняшний день не существует ни одного известного алгоритма их решения, кроме полного перебора вариантов. В каждой последующей вершине графа задача распадается на множество аналогичных задач, и количество возможных решений возрастает экспоненциально.
В основе кремниевых компьютеров лежит последовательный принцип решения задач. Один за другим компьютер складывает возможные маршруты, проверяет их соответствие условиям задачи, вычисляет их длину, сравнивает результаты и выявляет кратчайший путь. Для решения задачи с 30 мостами наиболее прямолинейным способом, именуемым методом лексического перебора, понадобилось бы время большее, чем возраст Вселенной.
К счастью, существуют алгоритмы, позволяющие кремниевым компьютерам решать относительно сложные комбинаторные задачи за приемлемое время. Но есть и другой путь — вычисления с высокой параллельностью, позволяющие анализировать все возможные решения задачи одновременно. Именно этим и займутся будущие ДНК-компьютеры.
Биоавтомат
Интересно, что создатель первого ДНК-компьютера Леонард Адлеман известен прежде всего как выдающийся криптограф. В названии алгоритма шифрования RSA, без которого немыслимы мировые финансы, третья буква обозначает именно его фамилию (Rivest — Shamir — Adleman).