Назовите принцип работы клеточного компьютера
Аннотация: В данной лекции рассматриваются математические основы, способы организации и особенности проектирования клеточных, ДНК и коммуникационных процессоров.
Мембранные вычисления
Ниже в этой статье мы также затронем тему переноса логических операций из информатики на биоматериал, но до этого поговорим о концептуальном сходстве программирования и биологии, выраженном в концепции «мембранных вычислений». Здесь предлагается введение в мембранные вычисления (презентация). Концепция мембранных вычислений, впервые сформулированная в 1998 году, предполагает, что выстраивание программных систем и алгоритмов возможно по такому же восходящему принципу, что и формирование организма из отдельных клеток и тканей. Мембранные вычисления предполагают операции над группами (мультимножествами) объектов, каждое из которых логически находится в пределах мембраны, напоминающей клеточную, и может обмениваться данными с другими подобными мультимножествами. Мультимножества могут группироваться в совокупности, напоминающие биологические ткани, органы, либо колонии бактерий. При этом подобные структуры удобны для представления «клеток» (мультимножеств) в качестве узлов графа, а также хорошо поддаются распределенным и параллельным вычислениям. Возможные области применения парадигмы – биология, биомедицина, лингвистика, компьютерная графика, экономика, оптимизация, криптография.
Наряду с «клеточными» и «обычными тканевыми» мембранными системами наиболее интересны импульсные нейронные P-системы (spiking neural P-systems), которые сближаются по структуре с нервной тканью. В вышеприведенной презентации они рассматриваются на слайде 93 и далее и к 2020 году уже находят реальное практическое применение: например, в распознавании образов. Учитывая, что мембранные системы располагают к разработке специализированных эволюционных алгоритмов, в частности, для целей оптимизации, можно говорить о целом классе наработок, которые естественным образом подходят для реализации на молекулярно-биологическом материале.
ДНК-компьютеры
Как известно, в живых клетках генетическая информация закодирована в молекуле ДНК (дезоксирибонуклеиновой кислоты). ДНК – это полимер, состоящий из субъединиц, называемых нуклеотидами. Нуклеотид представляет собой комбинацию сахара (дезоксирибозы), фосфата и одного из четырех входящих в состав ДНК азотистых оснований: аденина (А), тимина (Т), гуанина (G) и цитозина (C). Молекула ДНК образует спираль, состоящую из двух цепей, объединенных водородными связями. При этом основание А одной цепи может соединяться водородными связями только с основанием Т другой цепи, а основание G – только с основанием С. То есть, имея одну из цепей ДНК, всегда можно восстановить строение второй. Благодаря этому фундаментальному свойству ДНК, получившему название комплементарности, генетическая информация может точно копироваться и передаваться от материнских клеток к дочерним. Репликация молекулы ДНК происходит за счет работы специального фермента ДНК-полимеразы. Этот фермент скользит вдоль ДНК и синтезирует на ее основе новую молекулу, в которой все основания заменены на соответствующие парные. Причем фермент начинает работать только если к ДНК прикрепился коротенький кусочек-затравка (праймер). В клетках существует также родственная молекуле ДНК молекула матричной рибонуклеиновой кислоты (РНК). Она синтезируется специальным ферментом, использующим в качестве образца одну из цепей ДНК, и комплементарна ей. Именно на молекуле РНК в клетке, как на матрице, с помощью специальных ферментов и вспомогательных факторов происходит синтез белков. Молекула РНК химически устойчивее, чем ДНК, поэтому экспериментаторам с ней работать удобнее. Последовательность нуклеотидов в цепи ДНК/РНК определяет генетический код. Единицей генетического кода – кодоном – является последовательность из трех нуклеотидов.
Ученые решили попытаться по примеру природы использовать молекулы ДНК для хранения и обработки данных в биокомпьютерах.
Первым из них был Леонард Эдлмен из Университета Южной Калифорнии (см.: "Molecular Computation of Solutions to Combinatorial Problems. Science, 1994, № 266, р. 1021), сумевший решить задачу гамильтонова пути. Суть ее в том, чтобы найти маршрут движения с заданными точками старта и финиша между несколькими городами (в данном случае семью), в каждом из которых разрешается побывать только один раз. "Дорожная сеть" представляет собой однонаправленный граф. Эта задача решается прямым перебором, однако при увеличении числа городов сложность ее возрастает экспоненциально. Каждый город Эдлмен идентифицировал уникальной последовательностью из 20 нуклеотидов. Тогда путь между любыми двумя городами будет состоять из второй половины кодирующей последовательности для точки старта и первой половины кодирующей последовательности для точки финиша (молекула ДНК, как и вектор, имеет направление). Синтезировать такие последовательности современная молекулярная аппаратура позволяет очень быстро. В итоге последовательность ДНК с решением составит 140 нуклеотидов (7x20).
Остается только синтезировать и выделить такую молекулу ДНК. Для этого в пробирку помещается около 100 триллионов молекул ДНК, содержащих все возможные 20-нуклеотидные последовательности, кодирующие города и пути между ними. Далее за счет взаимного притяжения нуклеотидов А-Т и G-C отдельные цепочки ДНК сцепляются друг с другом случайным образом, а специальный фермент лигаза сшивает образующиеся короткие молекулы в более крупные образования. При этом синтезируются молекулы ДНК, воспроизводящие все возможные маршруты между городами. Нужно лишь выделить из них те, что соответствуют искомому решению.
Эдлмен решил эту задачу биохимическими методами, последовательно удалив сначала цепочки, которые не начинались с первого города – точки старта – и не заканчивались местом финиша, затем те, что содержали более семи городов или не содержали хотя бы один. Легко понять, что любая из оставшихся после такого отбора молекула ДНК представляет собой решение задачи. (Подробнее см.: Боркус В. "ДНК – основа вычислительных машин". PC Week/RE, № 29-30/99, с. 29).
Вслед за работой Эдлмена последовали другие. Ллойд Смит из Университета Висконсин решил с помощью ДНК задачу доставки четырех сортов пиццы по четырем адресам, которая подразумевала 16 вариантов ответа. Ученые из Принстонского университета решили комбинаторную шахматную задачу: при помощи РНК нашли правильный ход шахматного коня на доске из девяти клеток (всего их 512 вариантов).
Ричард Липтон из Принстона первым показал, как, используя ДНК, кодировать двоичные числа и решать проблему удовлетворения логического выражения. Суть ее в том, что, имея некоторое логическое выражение, включающее n логических переменных, нужно найти все комбинации значений переменных, делающих выражение истинным. Задачу можно решить только перебором 2n комбинаций. Все эти комбинации легко закодировать с помощью ДНК, а дальше действовать по методике Эдлмена. Липтон предложил также способ взлома шифра DES (американский криптографический), трактуемого как своеобразное логическое выражение (http://www.wisdom.weizmann.ac.il/users/udi/public_html/index.html). Первую модель биокомпьютера, правда, в виде механизма из пластмассы, в 1999 г. создал Ихуд Шапиро из Вейцмановского института естественных наук. Она имитировала работу "молекулярной машины" в живой клетке, собирающей белковые молекулы по информации с ДНК, используя РНК в качестве посредника между ДНК и белком.
А в 2001 г. Шапиро удалось реализовать модель в реальном биокомпьютере (см. Programmable andautonomous computing machine made of biomoleciles, Nature, 2001, № 44, р. 430), который состоял из молекул ДНК, РНК и специальных ферментов. Молекулы фермента выполняли роль аппаратного, а молекулы ДНК – программного обеспечения. При этом в одной пробирке помещалось около триллиона элементарных вычислительных модулей. В результате скорость вычислений могла достигать миллиарда операций в секунду, а точность – 99,8%.
Компьютер, построенный Olympus Optical, имеет молекулярную и электронную составляющие. Первая осуществляет химические реакции между молекулами ДНК, обеспечивает поиск и выделение результата вычислений. Вторая – обрабатывает информацию и анализирует полученные результаты.
Анализ генов обычно выполняется вручную и требует много времени: при этом формируются многочисленные фрагменты ДНК и контролируется ход химических реакций. "Когда ДНК-компьютинг будет использоваться для генетического анализа, задачи, которые ранее выполнялись в течение трех дней, можно будет решать за шесть часов", – сказал сотрудник Olympus Optical Сатоши Икута.
В компании надеются поставить технологию генетического анализа на основе ДНК-компьютера на коммерческую основу. Она найдет применение в медицине и фармации. Ученые планируют внедрять молекулярные наноустройства в тело человека для мониторинга состояния его здоровья и синтеза необходимых лекарств.
Возможностями биокомпьютеров заинтересовались и военные. Американское агентство по исследованиям в области обороны DARPA выполняет проект, получивший название Bio-Comp (Biological Computations, биологические вычисления). Его цель – создание мощных вычислительных систем на основе ДНК. Попутно исследователи надеются научиться управлять процессами взаимодействия белков и генов. Для этого планируется создать мощный симулятор Bio-SPICE, способный средствами машинной графики визуализировать биомолекулярные процессы. Bio-SPICE планируется развивать на принципах открытых исходников (open source). Программа рассчитана на пять лет.
Клеточные и ДНК-процессоры.
В настоящее время в поисках реальной альтернативы полупроводниковым технологиям создания новых вычислительных систем ученые обращают все большее внимание на биотехнологии, или биокомпьютинг , который представляет собой гибрид информационных, молекулярных технологий, а также биохимии. Биокомпьютинг позволяет решать сложные вычислительные задачи, используя методы, принятые в биохимии и молекулярной биологии, организуя вычисления при помощи живых тканей, клеток, вирусов и биомолекул. Наибольшее распространение получил подход, где в качестве основного элемента (процессора) используются молекулы дезоксирибонуклеиновой кислоты . Центральное место в этом подходе занимает так называемый ДНК-процессор . Кроме ДНК, в качестве биопроцессора могут использоваться также белковые молекулы и биологические мембраны .
ДНК-процессоры
Так же, как и любой другой процессор, ДНК-процессор характеризуется структурой и набором команд. В нашем случае структура процессора – это структура молекулы ДНК. А набор команд – это перечень биохимических операций с молекулами. Принцип устройства компьютерной ДНК-памяти основан на последовательном соединении четырех нуклеотидов (основных кирпичиков ДНК-цепи). Три нуклеотида, соединяясь в любой последовательности, образуют элементарную ячейку памяти – кодон, совокупность которых формирует затем цепь ДНК. Основная трудность в разработке ДНК-компьютеров связана с проведением избирательных однокодонных реакций (взаимодействий) внутри цепи ДНК. Однако прогресс есть уже и в этом направлении. Существует экспериментальное оборудование, позволяющее работать с одним из 1020 кодонов или молекул ДНК. Другой проблемой является самосборка ДНК, приводящая к потере информации. Ее преодолевают введением в клетку специальных ингибиторов – веществ, предотвращающих химическую реакцию самосшивки.
Использование молекул ДНК для организации вычислений – это не слишком новая идея. Теоретическое обоснование подобной возможности было сделано еще в 50-х годах прошлого века (Р.П. Фейманом). В деталях эта теория была проработана в 70-х годах Ч. Бенеттом и в 80-х М. Конрадом.
Первый компьютер на базе ДНК был создан еще в 1994 г. американским ученым Леонардом Адлеманом. Он смешал в пробирке молекулу ДНК, в которой были закодированы исходные данные, и специальным образом подобранные ферменты. В результате химической реакции структура ДНК изменилась таким образом, что в ней в закодированном виде был представлен ответ задачи. Поскольку вычисления проводились в ходе химической реакции с участием ферментов, на них было затрачено очень мало времени.
Вслед за работой Адлемана последовали другие. Ллойд Смит из Университета Висконсин решил с помощью ДНК задачу доставки четырех сортов пиццы по четырем адресам, которая подразумевала 16 вариантов ответа. Ученые из Принстонского университета решили комбинаторную шахматную задачу: при помощи РНК нашли правильный ход шахматного коня на доске из девяти клеток (всего их 512 вариантов).
Ричард Липтон из Принстона первым показал, как, используя ДНК, кодировать двоичные числа и решать проблему удовлетворения логического выражения. Суть ее в том, что, имея некоторое логическое выражение, включающее n логических переменных, нужно найти все комбинации значений переменных, делающих выражение истинным. Задачу можно решить только перебором 2n комбинаций. Все эти комбинации легко закодировать с помощью ДНК, а дальше действовать по методике Адлемана. Липтон предложил также способ взлома шифра DES (американский криптографический), трактуемого как своеобразное логическое выражение.
Первую модель биокомпьютера, правда, в виде механизма из пластмассы, в 1999 г. создал Ихуд Шапиро из Вейцмановского института естественных наук. Она имитировала работу "молекулярной машины" в живой клетке, собирающей белковые молекулы по информации с ДНК, используя РНК в качестве посредника между ДНК и белком.
А в 2001 г. Шапиро удалось реализовать вычислительное устройство на основе ДНК, которое может работать почти без вмешательства человека. Система имитирует машину Тьюринга — одну из фундаментальных концепций вычислительной техники. Машина Тьюринга шаг за шагом считывает данные и в зависимости от их значений принимает решения о дальнейших действиях. Теоретически она может решить любую вычислительную задачу. По своей природе молекулы ДНК работают аналогичным образом, распадаясь и рекомбинируясь в соответствии с информацией, закодированной в цепочках химических соединений.
Разработанная в Вейцмановском институте установка кодирует входные данные и программы в состоящих из двух цепей молекулах ДНК и смешивает их с двумя ферментами. Молекулы фермента выполняли роль аппаратного, а молекулы ДНК – программного обеспечения. Один фермент расщепляет молекулу ДНК с входными данными на отрезки разной длины в зависимости от содержащегося в ней кода. А другой рекомбинирует эти отрезки в соответствии с их кодом и кодом молекулы ДНК с программой. Процесс продолжается вдоль входной цепи, и, когда доходит до конца, получается выходная молекула, соответствующая конечному состоянию системы.
Этот механизм может использоваться для решения самых разных задач. Хотя на уровне отдельных молекул обработка ДНК происходит медленно, со скоростью от 500 до 1000 бит/с, что во много миллионов раз медленнее современных кремниевых процессоров, по своей природе она допускает массовый параллелизм. По оценкам Шапиро и его коллег, в одной пробирке может одновременно происходить триллион процессов, так что при потребляемой мощности в единицы нановатт может выполняться миллиард операций в секунду.
Компьютер, построенный Olympus Optical, имеет молекулярную и электронную составляющие. Первая осуществляет химические реакции между молекулами ДНК, обеспечивает поиск и выделение результата вычислений. Вторая – обрабатывает информацию и анализирует полученные результаты.
Возможностями биокомпьютеров заинтересовались и военные. Американское агентство по исследованиям в области обороны DARPA выполняет проект, получивший название Bio-Comp (Biological Computations, биологические вычисления). Его цель – создание мощных вычислительных систем на основе ДНК.
Пока до практического применения компьютеров на базе ДНК еще очень далеко. Однако в будущем их смогут использовать не только для вычислений, но и как своеобразные нанофабрики лекарств. Поместив подобное "устройство" в клетку, врачи смогут влиять на ее состояние, исцеляя человека от самых опасных недугов.
Клеточные компьютеры представляют собой самоорганизующиеся колонии различных "умных" микроорганизмов, в геном которых удалось включить некую логическую схему, которая могла бы активизироваться в присутствии определенного вещества. Для этой цели идеально подошли бы бактерии, стакан с которыми и представлял бы собой компьютер. Такие компьютеры очень дешевы в производстве. Им не нужна стерильная атмосфера, как при производстве полупроводников.
Главное свойство такого компьютера состоит в том, что каждая его клетка представляет собой миниатюрную химическую лабораторию. Если биоорганизм запрограммирован, то он просто производит нужные вещества. Достаточно вырастить одну клетку, обладающую заданными качествами, и можно легко и быстро вырастить тысячи клеток с такой же программой.
Основная проблема, с которой сталкиваются создатели клеточных биокомпьютеров, – организация всех клеток в единую работающую систему. На сегодня практические достижения в области клеточных компьютеров напоминают достижения 20-х годов в области ламповых и полупроводниковых компьютеров. Сейчас в Лаборатории искусственного интеллекта Массачусетского технологического университета создана клетка, способная хранить на генетическом уровне 1 бит информации. Также разрабатываются технологии, позволяющие единичной бактерии отыскивать своих соседей, образовывать с ними упорядоченную структуру и осуществлять массив параллельных операций.
В 2001 г. американские ученые создали трансгенные микроорганизмы (т. е. микроорганизмы с искусственно измененными генами), клетки которых могут выполнять логические операции И и ИЛИ.
Специалисты лаборатории Оук-Ридж, штат Теннесси, использовали способность генов синтезировать тот или иной белок под воздействием определенной группы химических раздражителей. Ученые изменили генетический код бактерий Pseudomonas putida таким образом, что их клетки обрели способность выполнять простые логические операции. Например, при выполнении операции И в клетку подаются два вещества (по сути – входные операнды), под влиянием которых ген вырабатывает определенный белок. Теперь ученые пытаются создать на базе этих клеток более сложные логические элементы, а также подумывают о возможности создания клетки, выполняющей параллельно несколько логических операций.
Потенциал биокомпьютеров очень велик. К достоинствам, выгодно отличающим их от компьютеров, основанных на кремниевых технологиях, относятся:
- более простая технология изготовления, не требующая для своей реализации столь жестких условий, как при производстве полупроводников;
- использование не бинарного, а тернарного кода (информация кодируется тройками нуклеотидов), что позволит за меньшее количество шагов перебрать большее число вариантов при анализе сложных систем;
- потенциально исключительно высокая производительность, которая может составлять до 10 14 операций в секунду за счет одновременного вступления в реакцию триллионов молекул ДНК;
- возможность хранить данные с плотностью, в триллионы раз превышающей показатели оптических дисков;
- исключительно низкое энергопотребление.
Однако, наряду с очевидными достоинствами, биокомпьютеры имеют и существенные недостатки, такие как:
- сложность со считыванием результатов – современные способы определения кодирующей последовательности несовершенны, сложны, трудоемки и дороги;
- низкая точность вычислений, связанная с возникновением мутаций, прилипанием молекул к стенкам сосудов и т.д.;
- невозможность длительного хранения результатов вычислений в связи с распадом ДНК в течение времени.
Хотя до практического использования биокомпьютеров еще очень далеко, и они вряд ли будут рассчитаны на широкие массы пользователей, предполагается, что они найдут достойное применение в медицине и фармакологии, а также с их помощью станет возможным объединение информационных и биотехнологий.
Аннотация: В данной лекции рассматриваются математические основы, способы организации и особенности проектирования клеточных, ДНК и коммуникационных процессоров.
Двойная спираль. Винтовая лестница в обход закона Мура
В современном мире постоянно генерируется все больше данных, и исследователи как могут изобретают новые способы их хранения. ДНК по-прежнему считается весьма перспективной в качестве исключительно компактного и устойчивого носителя информации. А прямо сейчас формируется новый подход, позволяющий записывать цифровые данные непосредственно в геномы живых клеток.
Попытки переориентировать технологии запоминания данных, изобретенные природой, не новы, но в последнее десятилетие интерес к таким подходам оживился, и уже есть заметные достижения в этой области. Ситуация вызвана взрывным ростом генерируемых данных, причем, нет никаких признаков его замедления. Предполагается, что в 2025 году во всем мире ежедневно будет создаваться 463 эксабайт данных.
Хранение всех этих данных с применением кремниевых технологий вскоре может стать непрактичным, но выход может заключаться в использовании ДНК. Во-первых, плотность информации ДНК в миллионы раз выше, чем на обычных жестких дисках. Всего в одном грамме ДНК можно хранить до 215 миллионов гигабайт данных.
Кроме того, при правильном хранении ДНК исключительно стабильна. В 2017 году ученым удалось полностью восстановить геном лошади (вымершего вида), жившей 700 000 лет назад. Научившись хранить данные и обращаться с ними на том же языке, который используется в природе, мы открываем путь к множеству новых биотехнологических возможностей.
Основная сложность заключается в том, чтобы найти интерфейс между цифровым миром информатики и биохимическим миром генетики. В настоящее время для этого требуется синтезировать ДНК в лаборатории, и этот процесс по-прежнему дорогой и сложный, хотя, стоимость синтеза ДНК быстро снижается. Полученные последовательности затем тщательно хранятся in vitro, пока не потребуется вновь к ним обратиться, либо их можно внедрять в живые клетки при помощи технологии CRISPR, предназначенной для редактирования генов.
CRISPR – это популярная новая технология редактирования геномов, именно за нее была вручена Нобелевская премия по химии в 2020 году. Аббревиатура CRISPR означает «короткие палиндромные повторы, регулярно расположенные группами». Подробнее о ней можно почитать в замечательной свежей статье на Хабре. Здесь же оговоримся, что в интересующем нас контексте криспры могут использоваться так: бактерий стимулируют электрическим сигналом, заставляя таким образом вставлять в ДНК заранее определенные последовательности, соответствующие нулям и единицам. Статья об этом была опубликована 24 января 2021 года. Отметим, что применение электрических сигналов для встраивания криспров – это инновационный метод, ранее применялись только биохимические взаимодействия, например, индуцируемые фруктозой. Кроме того, хранение информации в клетках кишечной палочки исключительно эффективно – согласно более раннему источнику, в клетках кишечной палочки можно зашифровать 10 19 бит информации на кубический сантиметр. При дальнейшей экстраполяции можно вычислить, что ДНК, необходимую для хранения всех данных, имевшихся в распоряжении человека на 2017 год, можно уложить в виде куба с гранью 1 м.
Остановимся подробнее на описании этого эксперимента.
Авторы заменили систему ввода, использующую индуцирование фруктозой на систему электронного ввода, которая позволяет кодировать более длинные последовательности. При помощи синтетической адаптивной системы CRISPR, работающей по принципу редокс-отклика, удалось усилить экспрессию генов в ответ на рост электрического напряжения. Таким образом цифровые данные были закодированы непосредственно в бактерии, без необходимости синтеза ДНК in vitro.
Итак, бактериальный биоматериал и молекула ДНК в частности удобны для хранения любой информации, а не только биологической. Кроме того, размножение бактерий решает проблему с резервным копированием данных, а информационная плотность лабораторной бактерии E.Coli более чем достаточна с учетом потребностей современной информатики.
Клеточные компьютеры
Еще одним интересным направлением является создание клеточных компьютеров. Для этой цели идеально подошли бы бактерии, если бы в их геном удалось включить некую логическую схему, которая могла бы активизироваться в присутствии определенного вещества. Такие компьютеры очень дешевы в производстве. Им не нужна столь стерильная атмосфера, как при производстве полупроводников. И единожды запрограммировав клетку, можно легко и быстро вырастить тысячи клеток с такой же программой.
В 2001 г. американские ученые создали трансгенные микроорганизмы (т. е. микроорганизмы с искусственно измененными генами), клетки которых могут выполнять логические операции И и ИЛИ.
Специалисты лаборатории Оук-Ридж, штат Теннесси, использовали способность генов синтезировать тот или иной белок под воздействием определенной группы химических раздражителей. Ученые изменили генетический код бактерий Pseudomonas putida таким образом, что их клетки обрели способность выполнять простые логические операции. Например, при выполнении операции И в клетку подаются два вещества (по сути – входные операнды), под влиянием которых ген вырабатывает определенный белок. Теперь ученые пытаются создать на базе этих клеток более сложные логические элементы, а также подумывают о возможности создания клетки, выполняющей параллельно несколько логических операций.
Потенциал биокомпьютеров очень велик. По сравнению с обычными вычислительными устройствами они имеют ряд уникальных особенностей. Во-первых, они используют не бинарный, а тернарный код (так как информация в них кодируется тройками нуклеотидов). Во-вторых, поскольку вычисления производятся путем одновременного вступления в реакцию триллионов молекул ДНК, они могут выполнять до 1014 операций в секунду (правда, извлечение результатов вычислений предусматривает несколько этапов очень тщательного биохимического анализа и осуществляется гораздо медленнее). В-третьих, вычислительные устройства на основе ДНК хранят данные с плотностью, в триллионы раз превышающей показатели оптических дисков. И наконец, ДНК-компьютеры имеют исключительно низкое энергопотребление.
Однако в разработке биокомпьютеров ученые столкнулись с целым рядом серьезных проблем. Первая связана со считыванием результата – современные способы секвенирования (определения кодирующей последовательности) не совершенны: нельзя за один раз секвенировать цепочки длиной хотя бы в несколько тысяч оснований. Кроме того, это весьма дорогостоящая, сложная и трудоемкая операция.
Вторая проблема – ошибки в вычислениях. Для биологов точность в 1% при синтезе и секвенировании оснований считается очень хорошей. Для ИТ она неприемлема: решения задачи могут потеряться, когда молекулы просто прилипают к стенкам сосудов; нет гарантий, что не возникнут точечные мутации в ДНК, и т. п. И еще – ДНК с течением времени распадаются, и результаты вычислений исчезают на глазах! А клеточные компьютеры работают медленно, и их легко "сбить с толку". Со всеми этими проблемами ученые активно борются. Насколько успешно – покажет время.
Биокомпьютеры не рассчитаны на широкие массы пользователей. Но ученыенадеются, что они найдут свое место в медицине и фармации. Глава израильской исследовательской группы профессор Эхуд Шапиро уверен, что в перспективе ДНК-наномашины смогут взаимодействовать с клетками человека, осуществлять наблюдение за потенциальными болезнетворными изменениями и синтезировать лекарства для борьбы с ними.
Наконец, с помощью клеточных компьютеров станет возможным объединение информационных и биотехнологий. Например, они смогут управлять химическим заводом, регулировать биологические процессы внутри человеческого организма, производить гормоны и лекарственные вещества и доставлять к определенному органу необходимую дозу лекарств.
С учетом того, что закон Мура является всего лишь эмпирическим наблюдением и упирается в физическую вместимость микропроцессора, то есть, в количество транзисторов, которые можно уместить на единицу площади, вполне логично, что программно-аппаратная инженерия пытается уйти от традиционных носителей информации на материале соединений кремния. Тем более, что срок действия закона Мура явственно подходит к концу. Возможной альтернативой для вычислительной неорганики много лет мыслится вычислительная органика. То есть, теоретически, а также (возможно) практически должны быть варианты хранения информации в белках и нуклеиновых кислотах. Тем более, что нуклеиновые кислоты в природе превосходно справляются с кодированием и передачей информации.
Сразу оговоримся, что для информации нужно не только хранилище; нужен еще и процессор, а также устройства ввода-вывода. Поскольку до создания подобной инфраструктуры еще очень далеко, тема казалась бы спекулятивной, но в январе 2021 года в журнале «Nature of Chemical Biology» была опубликована статья, описывающая довольно простую технологию кодирования 3-битных информационных последовательностей в ДНК. Вот о чем она.
Клеточные и ДНК-процессоры.
В настоящее время в поисках реальной альтернативы полупроводниковым технологиям создания новых вычислительных систем ученые обращают все большее внимание на биотехнологии, или биокомпьютинг , который представляет собой гибрид информационных, молекулярных технологий, а также биохимии. Биокомпьютинг позволяет решать сложные вычислительные задачи, используя методы, принятые в биохимии и молекулярной биологии, организуя вычисления при помощи живых тканей, клеток, вирусов и биомолекул. Наибольшее распространение получил подход, где в качестве основного элемента (процессора) используются молекулы дезоксирибонуклеиновой кислоты . Центральное место в этом подходе занимает так называемый ДНК-процессор . Кроме ДНК, в качестве биопроцессора могут использоваться также белковые молекулы и биологические мембраны .
ДНК-процессоры
Так же, как и любой другой процессор, ДНК-процессор характеризуется структурой и набором команд. В нашем случае структура процессора – это структура молекулы ДНК. А набор команд – это перечень биохимических операций с молекулами. Принцип устройства компьютерной ДНК-памяти основан на последовательном соединении четырех нуклеотидов (основных кирпичиков ДНК-цепи). Три нуклеотида, соединяясь в любой последовательности, образуют элементарную ячейку памяти – кодон, совокупность которых формирует затем цепь ДНК. Основная трудность в разработке ДНК-компьютеров связана с проведением избирательных однокодонных реакций (взаимодействий) внутри цепи ДНК. Однако прогресс есть уже и в этом направлении. Существует экспериментальное оборудование, позволяющее работать с одним из 1020 кодонов или молекул ДНК. Другой проблемой является самосборка ДНК, приводящая к потере информации. Ее преодолевают введением в клетку специальных ингибиторов – веществ, предотвращающих химическую реакцию самосшивки.
Использование молекул ДНК для организации вычислений – это не слишком новая идея. Теоретическое обоснование подобной возможности было сделано еще в 50-х годах прошлого века (Р.П. Фейманом). В деталях эта теория была проработана в 70-х годах Ч. Бенеттом и в 80-х М. Конрадом.
Первый компьютер на базе ДНК был создан еще в 1994 г. американским ученым Леонардом Адлеманом. Он смешал в пробирке молекулу ДНК, в которой были закодированы исходные данные, и специальным образом подобранные ферменты. В результате химической реакции структура ДНК изменилась таким образом, что в ней в закодированном виде был представлен ответ задачи. Поскольку вычисления проводились в ходе химической реакции с участием ферментов, на них было затрачено очень мало времени.
Вслед за работой Адлемана последовали другие. Ллойд Смит из Университета Висконсин решил с помощью ДНК задачу доставки четырех сортов пиццы по четырем адресам, которая подразумевала 16 вариантов ответа. Ученые из Принстонского университета решили комбинаторную шахматную задачу: при помощи РНК нашли правильный ход шахматного коня на доске из девяти клеток (всего их 512 вариантов).
Ричард Липтон из Принстона первым показал, как, используя ДНК, кодировать двоичные числа и решать проблему удовлетворения логического выражения. Суть ее в том, что, имея некоторое логическое выражение, включающее n логических переменных, нужно найти все комбинации значений переменных, делающих выражение истинным. Задачу можно решить только перебором 2n комбинаций. Все эти комбинации легко закодировать с помощью ДНК, а дальше действовать по методике Адлемана. Липтон предложил также способ взлома шифра DES (американский криптографический), трактуемого как своеобразное логическое выражение.
Первую модель биокомпьютера, правда, в виде механизма из пластмассы, в 1999 г. создал Ихуд Шапиро из Вейцмановского института естественных наук. Она имитировала работу "молекулярной машины" в живой клетке, собирающей белковые молекулы по информации с ДНК, используя РНК в качестве посредника между ДНК и белком.
А в 2001 г. Шапиро удалось реализовать вычислительное устройство на основе ДНК, которое может работать почти без вмешательства человека. Система имитирует машину Тьюринга — одну из фундаментальных концепций вычислительной техники. Машина Тьюринга шаг за шагом считывает данные и в зависимости от их значений принимает решения о дальнейших действиях. Теоретически она может решить любую вычислительную задачу. По своей природе молекулы ДНК работают аналогичным образом, распадаясь и рекомбинируясь в соответствии с информацией, закодированной в цепочках химических соединений.
Разработанная в Вейцмановском институте установка кодирует входные данные и программы в состоящих из двух цепей молекулах ДНК и смешивает их с двумя ферментами. Молекулы фермента выполняли роль аппаратного, а молекулы ДНК – программного обеспечения. Один фермент расщепляет молекулу ДНК с входными данными на отрезки разной длины в зависимости от содержащегося в ней кода. А другой рекомбинирует эти отрезки в соответствии с их кодом и кодом молекулы ДНК с программой. Процесс продолжается вдоль входной цепи, и, когда доходит до конца, получается выходная молекула, соответствующая конечному состоянию системы.
Этот механизм может использоваться для решения самых разных задач. Хотя на уровне отдельных молекул обработка ДНК происходит медленно, со скоростью от 500 до 1000 бит/с, что во много миллионов раз медленнее современных кремниевых процессоров, по своей природе она допускает массовый параллелизм. По оценкам Шапиро и его коллег, в одной пробирке может одновременно происходить триллион процессов, так что при потребляемой мощности в единицы нановатт может выполняться миллиард операций в секунду.
Компьютер, построенный Olympus Optical, имеет молекулярную и электронную составляющие. Первая осуществляет химические реакции между молекулами ДНК, обеспечивает поиск и выделение результата вычислений. Вторая – обрабатывает информацию и анализирует полученные результаты.
Возможностями биокомпьютеров заинтересовались и военные. Американское агентство по исследованиям в области обороны DARPA выполняет проект, получивший название Bio-Comp (Biological Computations, биологические вычисления). Его цель – создание мощных вычислительных систем на основе ДНК.
Пока до практического применения компьютеров на базе ДНК еще очень далеко. Однако в будущем их смогут использовать не только для вычислений, но и как своеобразные нанофабрики лекарств. Поместив подобное "устройство" в клетку, врачи смогут влиять на ее состояние, исцеляя человека от самых опасных недугов.
Клеточные компьютеры представляют собой самоорганизующиеся колонии различных "умных" микроорганизмов, в геном которых удалось включить некую логическую схему, которая могла бы активизироваться в присутствии определенного вещества. Для этой цели идеально подошли бы бактерии, стакан с которыми и представлял бы собой компьютер. Такие компьютеры очень дешевы в производстве. Им не нужна стерильная атмосфера, как при производстве полупроводников.
Главное свойство такого компьютера состоит в том, что каждая его клетка представляет собой миниатюрную химическую лабораторию. Если биоорганизм запрограммирован, то он просто производит нужные вещества. Достаточно вырастить одну клетку, обладающую заданными качествами, и можно легко и быстро вырастить тысячи клеток с такой же программой.
Основная проблема, с которой сталкиваются создатели клеточных биокомпьютеров, – организация всех клеток в единую работающую систему. На сегодня практические достижения в области клеточных компьютеров напоминают достижения 20-х годов в области ламповых и полупроводниковых компьютеров. Сейчас в Лаборатории искусственного интеллекта Массачусетского технологического университета создана клетка, способная хранить на генетическом уровне 1 бит информации. Также разрабатываются технологии, позволяющие единичной бактерии отыскивать своих соседей, образовывать с ними упорядоченную структуру и осуществлять массив параллельных операций.
В 2001 г. американские ученые создали трансгенные микроорганизмы (т. е. микроорганизмы с искусственно измененными генами), клетки которых могут выполнять логические операции И и ИЛИ.
Специалисты лаборатории Оук-Ридж, штат Теннесси, использовали способность генов синтезировать тот или иной белок под воздействием определенной группы химических раздражителей. Ученые изменили генетический код бактерий Pseudomonas putida таким образом, что их клетки обрели способность выполнять простые логические операции. Например, при выполнении операции И в клетку подаются два вещества (по сути – входные операнды), под влиянием которых ген вырабатывает определенный белок. Теперь ученые пытаются создать на базе этих клеток более сложные логические элементы, а также подумывают о возможности создания клетки, выполняющей параллельно несколько логических операций.
Потенциал биокомпьютеров очень велик. К достоинствам, выгодно отличающим их от компьютеров, основанных на кремниевых технологиях, относятся:
- более простая технология изготовления, не требующая для своей реализации столь жестких условий, как при производстве полупроводников;
- использование не бинарного, а тернарного кода (информация кодируется тройками нуклеотидов), что позволит за меньшее количество шагов перебрать большее число вариантов при анализе сложных систем;
- потенциально исключительно высокая производительность, которая может составлять до 10 14 операций в секунду за счет одновременного вступления в реакцию триллионов молекул ДНК;
- возможность хранить данные с плотностью, в триллионы раз превышающей показатели оптических дисков;
- исключительно низкое энергопотребление.
Однако, наряду с очевидными достоинствами, биокомпьютеры имеют и существенные недостатки, такие как:
- сложность со считыванием результатов – современные способы определения кодирующей последовательности несовершенны, сложны, трудоемки и дороги;
- низкая точность вычислений, связанная с возникновением мутаций, прилипанием молекул к стенкам сосудов и т.д.;
- невозможность длительного хранения результатов вычислений в связи с распадом ДНК в течение времени.
Хотя до практического использования биокомпьютеров еще очень далеко, и они вряд ли будут рассчитаны на широкие массы пользователей, предполагается, что они найдут достойное применение в медицине и фармакологии, а также с их помощью станет возможным объединение информационных и биотехнологий.
В настоящее время, когда каждый новый шаг в совершенствовании полупроводниковых технологий дается со все большим трудом, ученые ищут альтернативные возможности развития вычислительных систем. Естественный интерес ряда исследовательских групп (среди них Оксфордский и Техасский университеты, Массачусетский технологический институт, лаборатории Беркли, Сандия и Рокфеллера) вызвали природные способы хранения и обработки информации в биологических системах. Итогом их изысканий явился (или, точнее, еще только должен явиться) гибрид информационных и молекулярных технологий и биохимии – биокомпьютер. Идут разработки нескольких типов биокомпьютеров, которые базируются на разных биологических процессах. Это, в первую очередь, находящиеся в стадии разработки ДНК- и клеточные биокомпьютеры.
Клеточные и ДНК-процессоры.
В настоящее время в поисках реальной альтернативы полупроводниковым технологиям создания новых вычислительных систем ученые обращают все большее внимание на биотехнологии, или биокомпьютинг , который представляет собой гибрид информационных, молекулярных технологий, а также биохимии. Биокомпьютинг позволяет решать сложные вычислительные задачи, используя методы, принятые в биохимии и молекулярной биологии, организуя вычисления при помощи живых тканей, клеток, вирусов и биомолекул. Наибольшее распространение получил подход, где в качестве основного элемента (процессора) используются молекулы дезоксирибонуклеиновой кислоты . Центральное место в этом подходе занимает так называемый ДНК-процессор . Кроме ДНК, в качестве биопроцессора могут использоваться также белковые молекулы и биологические мембраны .
ДНК-процессоры
Так же, как и любой другой процессор, ДНК-процессор характеризуется структурой и набором команд. В нашем случае структура процессора – это структура молекулы ДНК. А набор команд – это перечень биохимических операций с молекулами. Принцип устройства компьютерной ДНК-памяти основан на последовательном соединении четырех нуклеотидов (основных кирпичиков ДНК-цепи). Три нуклеотида, соединяясь в любой последовательности, образуют элементарную ячейку памяти – кодон, совокупность которых формирует затем цепь ДНК. Основная трудность в разработке ДНК-компьютеров связана с проведением избирательных однокодонных реакций (взаимодействий) внутри цепи ДНК. Однако прогресс есть уже и в этом направлении. Существует экспериментальное оборудование, позволяющее работать с одним из 1020 кодонов или молекул ДНК. Другой проблемой является самосборка ДНК, приводящая к потере информации. Ее преодолевают введением в клетку специальных ингибиторов – веществ, предотвращающих химическую реакцию самосшивки.
Использование молекул ДНК для организации вычислений – это не слишком новая идея. Теоретическое обоснование подобной возможности было сделано еще в 50-х годах прошлого века (Р.П. Фейманом). В деталях эта теория была проработана в 70-х годах Ч. Бенеттом и в 80-х М. Конрадом.
Первый компьютер на базе ДНК был создан еще в 1994 г. американским ученым Леонардом Адлеманом. Он смешал в пробирке молекулу ДНК, в которой были закодированы исходные данные, и специальным образом подобранные ферменты. В результате химической реакции структура ДНК изменилась таким образом, что в ней в закодированном виде был представлен ответ задачи. Поскольку вычисления проводились в ходе химической реакции с участием ферментов, на них было затрачено очень мало времени.
Вслед за работой Адлемана последовали другие. Ллойд Смит из Университета Висконсин решил с помощью ДНК задачу доставки четырех сортов пиццы по четырем адресам, которая подразумевала 16 вариантов ответа. Ученые из Принстонского университета решили комбинаторную шахматную задачу: при помощи РНК нашли правильный ход шахматного коня на доске из девяти клеток (всего их 512 вариантов).
Ричард Липтон из Принстона первым показал, как, используя ДНК, кодировать двоичные числа и решать проблему удовлетворения логического выражения. Суть ее в том, что, имея некоторое логическое выражение, включающее n логических переменных, нужно найти все комбинации значений переменных, делающих выражение истинным. Задачу можно решить только перебором 2n комбинаций. Все эти комбинации легко закодировать с помощью ДНК, а дальше действовать по методике Адлемана. Липтон предложил также способ взлома шифра DES (американский криптографический), трактуемого как своеобразное логическое выражение.
Первую модель биокомпьютера, правда, в виде механизма из пластмассы, в 1999 г. создал Ихуд Шапиро из Вейцмановского института естественных наук. Она имитировала работу "молекулярной машины" в живой клетке, собирающей белковые молекулы по информации с ДНК, используя РНК в качестве посредника между ДНК и белком.
А в 2001 г. Шапиро удалось реализовать вычислительное устройство на основе ДНК, которое может работать почти без вмешательства человека. Система имитирует машину Тьюринга — одну из фундаментальных концепций вычислительной техники. Машина Тьюринга шаг за шагом считывает данные и в зависимости от их значений принимает решения о дальнейших действиях. Теоретически она может решить любую вычислительную задачу. По своей природе молекулы ДНК работают аналогичным образом, распадаясь и рекомбинируясь в соответствии с информацией, закодированной в цепочках химических соединений.
Разработанная в Вейцмановском институте установка кодирует входные данные и программы в состоящих из двух цепей молекулах ДНК и смешивает их с двумя ферментами. Молекулы фермента выполняли роль аппаратного, а молекулы ДНК – программного обеспечения. Один фермент расщепляет молекулу ДНК с входными данными на отрезки разной длины в зависимости от содержащегося в ней кода. А другой рекомбинирует эти отрезки в соответствии с их кодом и кодом молекулы ДНК с программой. Процесс продолжается вдоль входной цепи, и, когда доходит до конца, получается выходная молекула, соответствующая конечному состоянию системы.
Этот механизм может использоваться для решения самых разных задач. Хотя на уровне отдельных молекул обработка ДНК происходит медленно, со скоростью от 500 до 1000 бит/с, что во много миллионов раз медленнее современных кремниевых процессоров, по своей природе она допускает массовый параллелизм. По оценкам Шапиро и его коллег, в одной пробирке может одновременно происходить триллион процессов, так что при потребляемой мощности в единицы нановатт может выполняться миллиард операций в секунду.
Компьютер, построенный Olympus Optical, имеет молекулярную и электронную составляющие. Первая осуществляет химические реакции между молекулами ДНК, обеспечивает поиск и выделение результата вычислений. Вторая – обрабатывает информацию и анализирует полученные результаты.
Возможностями биокомпьютеров заинтересовались и военные. Американское агентство по исследованиям в области обороны DARPA выполняет проект, получивший название Bio-Comp (Biological Computations, биологические вычисления). Его цель – создание мощных вычислительных систем на основе ДНК.
Пока до практического применения компьютеров на базе ДНК еще очень далеко. Однако в будущем их смогут использовать не только для вычислений, но и как своеобразные нанофабрики лекарств. Поместив подобное "устройство" в клетку, врачи смогут влиять на ее состояние, исцеляя человека от самых опасных недугов.
Клеточные компьютеры представляют собой самоорганизующиеся колонии различных "умных" микроорганизмов, в геном которых удалось включить некую логическую схему, которая могла бы активизироваться в присутствии определенного вещества. Для этой цели идеально подошли бы бактерии, стакан с которыми и представлял бы собой компьютер. Такие компьютеры очень дешевы в производстве. Им не нужна стерильная атмосфера, как при производстве полупроводников.
Главное свойство такого компьютера состоит в том, что каждая его клетка представляет собой миниатюрную химическую лабораторию. Если биоорганизм запрограммирован, то он просто производит нужные вещества. Достаточно вырастить одну клетку, обладающую заданными качествами, и можно легко и быстро вырастить тысячи клеток с такой же программой.
Основная проблема, с которой сталкиваются создатели клеточных биокомпьютеров, – организация всех клеток в единую работающую систему. На сегодня практические достижения в области клеточных компьютеров напоминают достижения 20-х годов в области ламповых и полупроводниковых компьютеров. Сейчас в Лаборатории искусственного интеллекта Массачусетского технологического университета создана клетка, способная хранить на генетическом уровне 1 бит информации. Также разрабатываются технологии, позволяющие единичной бактерии отыскивать своих соседей, образовывать с ними упорядоченную структуру и осуществлять массив параллельных операций.
В 2001 г. американские ученые создали трансгенные микроорганизмы (т. е. микроорганизмы с искусственно измененными генами), клетки которых могут выполнять логические операции И и ИЛИ.
Специалисты лаборатории Оук-Ридж, штат Теннесси, использовали способность генов синтезировать тот или иной белок под воздействием определенной группы химических раздражителей. Ученые изменили генетический код бактерий Pseudomonas putida таким образом, что их клетки обрели способность выполнять простые логические операции. Например, при выполнении операции И в клетку подаются два вещества (по сути – входные операнды), под влиянием которых ген вырабатывает определенный белок. Теперь ученые пытаются создать на базе этих клеток более сложные логические элементы, а также подумывают о возможности создания клетки, выполняющей параллельно несколько логических операций.
Потенциал биокомпьютеров очень велик. К достоинствам, выгодно отличающим их от компьютеров, основанных на кремниевых технологиях, относятся:
- более простая технология изготовления, не требующая для своей реализации столь жестких условий, как при производстве полупроводников;
- использование не бинарного, а тернарного кода (информация кодируется тройками нуклеотидов), что позволит за меньшее количество шагов перебрать большее число вариантов при анализе сложных систем;
- потенциально исключительно высокая производительность, которая может составлять до 10 14 операций в секунду за счет одновременного вступления в реакцию триллионов молекул ДНК;
- возможность хранить данные с плотностью, в триллионы раз превышающей показатели оптических дисков;
- исключительно низкое энергопотребление.
Однако, наряду с очевидными достоинствами, биокомпьютеры имеют и существенные недостатки, такие как:
- сложность со считыванием результатов – современные способы определения кодирующей последовательности несовершенны, сложны, трудоемки и дороги;
- низкая точность вычислений, связанная с возникновением мутаций, прилипанием молекул к стенкам сосудов и т.д.;
- невозможность длительного хранения результатов вычислений в связи с распадом ДНК в течение времени.
Хотя до практического использования биокомпьютеров еще очень далеко, и они вряд ли будут рассчитаны на широкие массы пользователей, предполагается, что они найдут достойное применение в медицине и фармакологии, а также с их помощью станет возможным объединение информационных и биотехнологий.
Аннотация: В данной лекции рассматриваются математические основы, способы организации и особенности проектирования клеточных, ДНК и коммуникационных процессоров.
Клеточные и ДНК-процессоры.
В настоящее время в поисках реальной альтернативы полупроводниковым технологиям создания новых вычислительных систем ученые обращают все большее внимание на биотехнологии, или биокомпьютинг , который представляет собой гибрид информационных, молекулярных технологий, а также биохимии. Биокомпьютинг позволяет решать сложные вычислительные задачи, используя методы, принятые в биохимии и молекулярной биологии, организуя вычисления при помощи живых тканей, клеток, вирусов и биомолекул. Наибольшее распространение получил подход, где в качестве основного элемента (процессора) используются молекулы дезоксирибонуклеиновой кислоты . Центральное место в этом подходе занимает так называемый ДНК-процессор . Кроме ДНК, в качестве биопроцессора могут использоваться также белковые молекулы и биологические мембраны .
ДНК-процессоры
Так же, как и любой другой процессор, ДНК-процессор характеризуется структурой и набором команд. В нашем случае структура процессора – это структура молекулы ДНК. А набор команд – это перечень биохимических операций с молекулами. Принцип устройства компьютерной ДНК-памяти основан на последовательном соединении четырех нуклеотидов (основных кирпичиков ДНК-цепи). Три нуклеотида, соединяясь в любой последовательности, образуют элементарную ячейку памяти – кодон, совокупность которых формирует затем цепь ДНК. Основная трудность в разработке ДНК-компьютеров связана с проведением избирательных однокодонных реакций (взаимодействий) внутри цепи ДНК. Однако прогресс есть уже и в этом направлении. Существует экспериментальное оборудование, позволяющее работать с одним из 1020 кодонов или молекул ДНК. Другой проблемой является самосборка ДНК, приводящая к потере информации. Ее преодолевают введением в клетку специальных ингибиторов – веществ, предотвращающих химическую реакцию самосшивки.
Использование молекул ДНК для организации вычислений – это не слишком новая идея. Теоретическое обоснование подобной возможности было сделано еще в 50-х годах прошлого века (Р.П. Фейманом). В деталях эта теория была проработана в 70-х годах Ч. Бенеттом и в 80-х М. Конрадом.
Первый компьютер на базе ДНК был создан еще в 1994 г. американским ученым Леонардом Адлеманом. Он смешал в пробирке молекулу ДНК, в которой были закодированы исходные данные, и специальным образом подобранные ферменты. В результате химической реакции структура ДНК изменилась таким образом, что в ней в закодированном виде был представлен ответ задачи. Поскольку вычисления проводились в ходе химической реакции с участием ферментов, на них было затрачено очень мало времени.
Вслед за работой Адлемана последовали другие. Ллойд Смит из Университета Висконсин решил с помощью ДНК задачу доставки четырех сортов пиццы по четырем адресам, которая подразумевала 16 вариантов ответа. Ученые из Принстонского университета решили комбинаторную шахматную задачу: при помощи РНК нашли правильный ход шахматного коня на доске из девяти клеток (всего их 512 вариантов).
Ричард Липтон из Принстона первым показал, как, используя ДНК, кодировать двоичные числа и решать проблему удовлетворения логического выражения. Суть ее в том, что, имея некоторое логическое выражение, включающее n логических переменных, нужно найти все комбинации значений переменных, делающих выражение истинным. Задачу можно решить только перебором 2n комбинаций. Все эти комбинации легко закодировать с помощью ДНК, а дальше действовать по методике Адлемана. Липтон предложил также способ взлома шифра DES (американский криптографический), трактуемого как своеобразное логическое выражение.
Первую модель биокомпьютера, правда, в виде механизма из пластмассы, в 1999 г. создал Ихуд Шапиро из Вейцмановского института естественных наук. Она имитировала работу "молекулярной машины" в живой клетке, собирающей белковые молекулы по информации с ДНК, используя РНК в качестве посредника между ДНК и белком.
А в 2001 г. Шапиро удалось реализовать вычислительное устройство на основе ДНК, которое может работать почти без вмешательства человека. Система имитирует машину Тьюринга — одну из фундаментальных концепций вычислительной техники. Машина Тьюринга шаг за шагом считывает данные и в зависимости от их значений принимает решения о дальнейших действиях. Теоретически она может решить любую вычислительную задачу. По своей природе молекулы ДНК работают аналогичным образом, распадаясь и рекомбинируясь в соответствии с информацией, закодированной в цепочках химических соединений.
Разработанная в Вейцмановском институте установка кодирует входные данные и программы в состоящих из двух цепей молекулах ДНК и смешивает их с двумя ферментами. Молекулы фермента выполняли роль аппаратного, а молекулы ДНК – программного обеспечения. Один фермент расщепляет молекулу ДНК с входными данными на отрезки разной длины в зависимости от содержащегося в ней кода. А другой рекомбинирует эти отрезки в соответствии с их кодом и кодом молекулы ДНК с программой. Процесс продолжается вдоль входной цепи, и, когда доходит до конца, получается выходная молекула, соответствующая конечному состоянию системы.
Этот механизм может использоваться для решения самых разных задач. Хотя на уровне отдельных молекул обработка ДНК происходит медленно, со скоростью от 500 до 1000 бит/с, что во много миллионов раз медленнее современных кремниевых процессоров, по своей природе она допускает массовый параллелизм. По оценкам Шапиро и его коллег, в одной пробирке может одновременно происходить триллион процессов, так что при потребляемой мощности в единицы нановатт может выполняться миллиард операций в секунду.
Компьютер, построенный Olympus Optical, имеет молекулярную и электронную составляющие. Первая осуществляет химические реакции между молекулами ДНК, обеспечивает поиск и выделение результата вычислений. Вторая – обрабатывает информацию и анализирует полученные результаты.
Возможностями биокомпьютеров заинтересовались и военные. Американское агентство по исследованиям в области обороны DARPA выполняет проект, получивший название Bio-Comp (Biological Computations, биологические вычисления). Его цель – создание мощных вычислительных систем на основе ДНК.
Пока до практического применения компьютеров на базе ДНК еще очень далеко. Однако в будущем их смогут использовать не только для вычислений, но и как своеобразные нанофабрики лекарств. Поместив подобное "устройство" в клетку, врачи смогут влиять на ее состояние, исцеляя человека от самых опасных недугов.
Клеточные компьютеры представляют собой самоорганизующиеся колонии различных "умных" микроорганизмов, в геном которых удалось включить некую логическую схему, которая могла бы активизироваться в присутствии определенного вещества. Для этой цели идеально подошли бы бактерии, стакан с которыми и представлял бы собой компьютер. Такие компьютеры очень дешевы в производстве. Им не нужна стерильная атмосфера, как при производстве полупроводников.
Главное свойство такого компьютера состоит в том, что каждая его клетка представляет собой миниатюрную химическую лабораторию. Если биоорганизм запрограммирован, то он просто производит нужные вещества. Достаточно вырастить одну клетку, обладающую заданными качествами, и можно легко и быстро вырастить тысячи клеток с такой же программой.
Основная проблема, с которой сталкиваются создатели клеточных биокомпьютеров, – организация всех клеток в единую работающую систему. На сегодня практические достижения в области клеточных компьютеров напоминают достижения 20-х годов в области ламповых и полупроводниковых компьютеров. Сейчас в Лаборатории искусственного интеллекта Массачусетского технологического университета создана клетка, способная хранить на генетическом уровне 1 бит информации. Также разрабатываются технологии, позволяющие единичной бактерии отыскивать своих соседей, образовывать с ними упорядоченную структуру и осуществлять массив параллельных операций.
В 2001 г. американские ученые создали трансгенные микроорганизмы (т. е. микроорганизмы с искусственно измененными генами), клетки которых могут выполнять логические операции И и ИЛИ.
Специалисты лаборатории Оук-Ридж, штат Теннесси, использовали способность генов синтезировать тот или иной белок под воздействием определенной группы химических раздражителей. Ученые изменили генетический код бактерий Pseudomonas putida таким образом, что их клетки обрели способность выполнять простые логические операции. Например, при выполнении операции И в клетку подаются два вещества (по сути – входные операнды), под влиянием которых ген вырабатывает определенный белок. Теперь ученые пытаются создать на базе этих клеток более сложные логические элементы, а также подумывают о возможности создания клетки, выполняющей параллельно несколько логических операций.
Потенциал биокомпьютеров очень велик. К достоинствам, выгодно отличающим их от компьютеров, основанных на кремниевых технологиях, относятся:
- более простая технология изготовления, не требующая для своей реализации столь жестких условий, как при производстве полупроводников;
- использование не бинарного, а тернарного кода (информация кодируется тройками нуклеотидов), что позволит за меньшее количество шагов перебрать большее число вариантов при анализе сложных систем;
- потенциально исключительно высокая производительность, которая может составлять до 10 14 операций в секунду за счет одновременного вступления в реакцию триллионов молекул ДНК;
- возможность хранить данные с плотностью, в триллионы раз превышающей показатели оптических дисков;
- исключительно низкое энергопотребление.
Однако, наряду с очевидными достоинствами, биокомпьютеры имеют и существенные недостатки, такие как:
- сложность со считыванием результатов – современные способы определения кодирующей последовательности несовершенны, сложны, трудоемки и дороги;
- низкая точность вычислений, связанная с возникновением мутаций, прилипанием молекул к стенкам сосудов и т.д.;
- невозможность длительного хранения результатов вычислений в связи с распадом ДНК в течение времени.
Хотя до практического использования биокомпьютеров еще очень далеко, и они вряд ли будут рассчитаны на широкие массы пользователей, предполагается, что они найдут достойное применение в медицине и фармакологии, а также с их помощью станет возможным объединение информационных и биотехнологий.
Аннотация: В данной лекции рассматриваются математические основы, способы организации и особенности проектирования клеточных, ДНК и коммуникационных процессоров.
Клеточный процессор
Наиболее сложной готовой разработкой в этой области представляется настоящий двухъядерный клеточный процессор, собранный в Высшей Технической школе Цюриха (на факультете биотехнологии и биоинженерии, расположенном в Базеле) в 2019 году. Этот процессор, работающий на основе технологии CRISPR, получен путем внедрения в живую клетку второго клеточного ядра. В качестве ввода он принимает молекулы РНК, регулируя экспрессию заданных генов и управляя таким образом синтезом белков. Исследователи подчеркивают, что в качестве такого процессора может работать единственная двухъядерная клетка, но ничто не мешает масштабировать его до целой ткани, содержащей миллиарды двухъядерных клеток. Теоретически такая система может превзойти по мощности современный суперкомпьютер, но потреблять лишь малую толику энергии по сравнению с таким суперкомпьютером. К тому же, на практике ничто не мешает внедрить в клетку не два, а сколько угодно ядер.
Клеточный компьютер может использоваться для детектирования биомаркеров в качестве ввода и для соответствующего реагирования на этот ввод. В качестве вывода клеточный компьютер может синтезировать молекулу лекарства, либо диагностического вещества. Подобное устройство может применяться, например, при лечении рака.
Здесь также нельзя обойтись без упоминания потрясающих возможностей биохимических компьютеров в областях, сближающихся с 3D-печатью, конструированием мемристоров и решением задач на поиск кратчайшего пути. На Хабре есть интересная статья «Нейросеть с амебой решили задачу коммивояжера», но амебы не сравнятся в поиске пути со слизевиками, которые способны захватывать жизненное пространство, вырастая от
не обладая никакой нервной системой. Фактически, эти организмы состоят из сплошной цитоплазмы и захватывают окружающее пространство, достраивая себя в соответствии с некими топологическими алгоритмами. Например, слизевик успешно «запоминает», как прорасти к источнику пищи, даже если после достижения пищи отсечь его отросток. Программная реализация таких способностей позволила бы моделировать и создавать материалы с заданными свойствами, поскольку могла бы работать на клеточном и даже молекулярном уровне.
Здесь весьма кратко обрисованы возможности и проблемы биотехнологического программирования, но тема представляется очень перспективной во многом потому, что одни и те же законы клеточной репликации позволяют работать и с нуклеиновыми кислотами, и с белками/ферментами. Освоение подобных возможностей позволило бы сочетать долговечность и информационную избыточность ДНК (хранилище данных) с разнообразием белков (структуры данных), и не только кардинально решить проблему исчерпания возможностей закона Мура, но и полностью переосмыслить вычислительную технику, заменив software+hardware на wetware.
Масштабирование вычислений и другие прикладные проблемы
Кроме того, принципиальное значение для традиционной вычислительной техники играют:
В статье 2017 года, подготовленной в MIT (Массачусетском технологическом институте) рассказано, как эти концепции могут быть реализованы на уровне биохимии. Память является фундаментальным элементом вычислительных систем, так как позволяет учитывать не только историю произошедших событий, но и события, происходящие в системе и ее окружении прямо сейчас. Масштабирование позволяет справляться с распределением вычислений, причем, в рассматриваемой области достигается простым увеличением числа клеток. Логику операций в ДНК можно закладывать на уровне сайтов присоединения, на месте которых ферменты-рекомбиназы могут вставлять, вырезать или переворачивать фрагменты ДНК, в зависимости от запрограммированной операции. Также при помощи ферментов можно программировать в клетке поведение, аналогичное работе машины состояний. Еще в 2013 году было показано, что при помощи ферментов в ДНК можно реализовать все логические операции, не создавая при этом каскадов логических вентилей. При этом отдельно придется программировать порядок действия ферментов, которые будут воздействовать на ДНК. Существуют исследования, описывающие разработку биологических машин состояний на основе рекомбинации ДНК. Для ввода и вывода в таких системах используются искусственно сформированные плазмиды, при внедрении которых в клетку эта клетка должна перейти в заданное состояние. Точность воспроизведения заданного состояния даже через три поколения близка к 100%.
Что касается возможных проблем такого подхода в продакшене – зависимость скорости операций, например, считывания данных, от скорости транскрипции белка. Также процесс передачи информации в живой клетке невозможно полностью защитить от мутаций, а скорость накопления мутаций, по-видимому, должна повышаться с ускорением работы таких эволюционных механизмов.
Интересно, что работа по проектированию логических вентилей на уровне белков проводится и для решения чисто биологических задач, например, для борьбы с истощением запаса иммунных Т-клеток. Авторы этой работы подчеркивают, что белки в качестве логических единиц могут работать и без клеточного аппарата, непосредственно в межклеточной среде, а синтез белков с заданными свойствами позволяет управлять и топологией их молекул, и принципами связывания с другими молекулами. Кроме того, белки несопоставимо более разнообразны по составу и химическим свойствам, нежели нуклеиновые кислоты, поэтому, по мнению авторов статьи, на уровне белков можно запрограммировать гораздо больше функциональных возможностей, чем при подходе, предполагающем манипуляции с CRISPR. Возможно, использование белков в таком качестве позволит создавать даже совершенно новые клетки и ткани с заданными свойствами. Но белки, тем не менее, принципиально проигрывают ДНК по показателям прочности, репликации и долговечности, поэтому целесообразно их использовать для программирования клеток – например, как раз такой искусственной ткани или синтетических бактерий, которые предназначались бы именно для хранения и обработки информации.
Читайте также: