Группа учёных под руководством исследователей из Калифорнийского технологического университета смогла сделать небольшой, но значимый шаг в разработке произвольно программируемых химических компьютеров. В качестве базовых вычислительных элементов в таких системах используются наборы ДНК, которые по своей природной сущности обладают способностью к самоорганизации и росту. Всё, что надо для работы вычислительных систем на основе ДНК ― это тёплая солоноватая вода, закодированный в ДНК алгоритм роста и базовые стандартные наборы ДНК-последовательностей.
До сих пор «вычисления» с помощью ДНК проводились строго с использованием какой-либо одной последовательности. Для произвольных вычислений действующие методики не годились. Учёные из Калтеха (Caltech) смогли преодолеть это ограничение и представили технологию, которая может выполнять произвольные алгоритмы, используя один базовый набор из условно логических ДНК-элементов и отвечающую за алгоритм «расчёта» выборку из 355 базовых ДНК-последовательностей ― аналога компьютерных инструкций. В солевой раствор вносится логическое «семя» и набор «инструкций», после чего начинается расчёт ― сборка последовательности.
Базовый элемент или «семя» представляет собой ДНК-свёртку (ДНК оригами) ― это нанотрубка длиной 150 нм и диаметром 20 нм. Структура «семени» остаётся практически неизменной вне зависимости от алгоритма, который будет вычисляться. Периферия «семени» сформирована таким образом, что на его окончании стартует сборка последовательностей ДНК. Растущая нить ДНК, как известно, собирается из последовательностей, которые по молекулярной структуре и химическому составу подходят предложенным последовательностям, а не случайным образом. Поскольку периферия «семени» представлена в виде шести условных вентилей, где каждый вентиль обладает двумя входами и двумя выходами, рост ДНК начинает подчиняться заданной логике (алгоритму) который, как уже сказано выше, представлен помещенным в раствор заданным набором ДНК-последовательностей из 355 базовых вариантов.
Учёные в ходе опытов показали возможность исполнения 21 алгоритма, включая счёт от 0 до 63, выбор лидера, определение деления на три и другие, хотя этими алгоритмами всё не ограничивается. Процесс вычисления идёт шаг за шагом, по мере роста нитей ДНК на всех шести выходах «семени». Этот процесс может занимать от одних до двух суток. На изготовление «семени» уходит существенно меньше времени ― от часа до двух. Результат расчётов можно воочию увидеть под электронным микроскопом. Трубка разворачивается в ленту, а на ленте в местах каждого значения «1» на последовательности ДНК присоединяется видимая в микроскоп молекула протеина. Нули в микроскоп не видны.
Безусловно, в представленном виде технология далека от выполнения полноценных расчётов. Пока это похоже на чтение ленты с телетайпа, растянутое на двое суток. Тем не менее, технология работает и оставляет за собой обширное поле для совершенствования. Стало понятно в каком направлении можно двигаться, и что необходимо делать для приближения химических компьютеров.
Источник: 3dnews.ru