Создан компьютер из живых бактерий: как деление клеток в микроканалах заменяет работу процессора
В математике и программировании существует большой класс задач, которые легко сформулировать, но крайне трудно решить в большом масштабе. Их называют комбинаторными задачами полного перебора. Главная сложность таких вычислений заключается в том, что при небольшом увеличении исходных данных количество возможных вариантов ответа растет лавинообразно. Если добавить к условию задачи всего один новый элемент, объем работы для компьютера удваивается.
Один из основателей компании Intel Гордон Мур однажды отметил, что ни одна физическая величина не может расти с постоянным удвоением бесконечно. Для обычных электронных компьютеров этим непреодолимым барьером становится время. Даже самые мощные современные процессоры, такие как 64-ядерный AMD Ryzen Threadripper 3990X, выполняющий более трех миллионов операций в секунду, обрабатывают варианты преимущественно по очереди. Пока в задаче 15 или 20 элементов, чип находит решение за доли секунды. Но когда число элементов приближается к 40, количество комбинаций достигает триллионов, и последовательный перебор занимает часы, а при дальнейшем росте — годы и десятилетия.
Ученые давно пытаются обойти это ограничение, создавая системы, способные проверять все варианты одновременно. В 1990-х годах появились ДНК-компьютеры, где вычисления шли параллельно в миллионах молекул в одной пробирке. Однако выяснилось, что вместо времени здесь так же стремительно растет необходимая масса вещества: для решения задачи из нескольких десятков элементов потребовались бы тонны ДНК.
Позже исследователи попробовали перенести условия математических задач в систему микроскопических каналов, по которым запускали подвижные белковые нити или частицы света — фотоны. Но и этот метод столкнулся с ограничением. Агентов приходилось подавать на вход микрочипа по очереди, а по пути многие из них терялись. В результате для проверки всех разветвлений крупной сети просто не хватало носителей.
Международная группа исследователей из Университета Макгилла в Канаде, Королевского колледжа Лондона в Великобритании и Делфтского технического университета в Нидерландах под руководством Дэна Николау и Дэна Николау — младшего нашла способ устранить это препятствие. В работе, опубликованной в научном журнале Microsystems & Nanoengineering, они описали рабочий прототип вычислительного устройства, в котором по микроканалам плывут живые бактерии. Поскольку бактерии делятся прямо во время движения по лабиринту, количество вычислительных агентов внутри чипа непрерывно удваивается — точно так же, как удваивается число вариантов решения самой задачи.
Содержание
В чем суть задачи и как она превращается в микрочип
Для проверки своей системы авторы выбрали классическую математическую проблему — задачу о сумме подмножеств. На практике на ней строятся алгоритмы шифрования данных, системы планирования перевозок, программы для проектирования микросхем и расчеты в молекулярной биологии.
Условие задачи звучит просто. Допустим, есть набор из нескольких целых чисел, например: 1, 3 и 4. Нужно ответить на два вопроса. Первый вопрос: можно ли вообще, складывая какие-то числа из этого набора, получить определенную итоговую сумму (например, 4 или 6)? Второй вопрос: какие именно числа нужно сложить, чтобы получить этот результат?
Если в наборе всего три числа, то вариантов их сочетаний восемь (два в третьей степени). Если чисел 20 — вариантов уже больше миллиона (2²⁰), а если 100 — то 2¹⁰⁰ (единица и тридцать нулей). При этом сами задачи делятся на два типа сложности. В простых задачах первого типа каждую возможную сумму дает только одна уникальная комбинация чисел. В более сложных задачах второго типа одну и ту же сумму можно получить разными путями. Например, из набора 1, 3 и 4 сумму 4 можно получить двумя способами: просто взять число 4 или сложить 1 и 3.
Чтобы решить такую задачу без использования электроники, инженеры превратили математическое условие в физическую карту маршрутов. На кремниевой пластине с помощью сфокусированного пучка электронов они выжгли микроскопический чертеж сети, а затем сделали с него прозрачный слепок из полидиметилсилоксана — мягкого силикона, который широко применяется в медицине и микротехнике. Сверху силиконовый чип накрыли стеклянной пластиной.
Такая конструкция решает сразу несколько инженерных проблем:
- Во-первых, ширина и глубина каналов составляют чуть больше одного микрометра (одной тысячной доли миллиметра). Это сопоставимо с шириной самой бактерии: клетка свободно плывет вперед, но ей трудно развернуться обратно.
- Во-вторых, закрытый стеклянный потолок не дает бактериям выплыть за пределы маршрута, а посторонним микробам — попасть внутрь и исказить расчеты.
- В-третьих, силикон отлично пропускает кислород, поэтому бактерии внутри закрытого чипа могут нормально дышать и делиться в течение многих часов.
Сама вычислительная сеть имеет форму прямоугольного треугольника, расчерченного сеткой каналов. Бактерии запускаются в одну стартовую точку в левом нижнем углу и плывут к правой вертикальной границе чипа, где расположены пронумерованные выходы. Каждый выход соответствует одной конкретной сумме — от нуля в самом низу до максимально возможной суммы в самом верху.
Вся математическая логика заложена в перекрестках трех видов, через которые проплывают бактерии:
- Разделительные узлы. Здесь прямой канал раздваивается. Если бактерия поворачивает налево и плывет вверх по диагонали, это означает математическое действие «прибавить текущее число к общей сумме». Если бактерия плывет прямо по горизонтали, это означает «пропустить число и не прибавлять его».
- Транзитные (сквозные) перекрестки. Это места, где диагональные и горизонтальные каналы пересекаются под прямым углом. Здесь бактерия не должна сворачивать — ее задача проплыть перекресток прямо, сохраняя свое направление. Чтобы прибавить к сумме, например, число 3, бактерия после поворота на разделительном узле должна проплыть прямо ровно два транзитных перекрестка (всегда на единицу меньше самого числа).
- Соединительные узлы. Точки, где два разных канала сливаются в один. Они работают в задачах второго типа сложности, когда к одной и той же промежуточной сумме приводят разные комбинации чисел.
Если какая-то сумма из заданного набора чисел получиться не может (например, из чисел 1, 3 и 4 невозможно составить сумму 2 или 6), то к соответствующему выходу на правой стенке просто не ведет ни один правильный маршрут. Для тех бактерий, которые случайно нарушили правила и свернули не туда на перекрестке, по краям треугольника предусмотрены отводные каналы, заканчивающиеся тупиковыми ловушками.
Считывают готовый ответ с помощью микроскопа и цифровой камеры двумя способами. Если нужно просто узнать, какие суммы возможны (ответ на первый вопрос задачи), достаточно подсчитать бактерии на выходах справа: куда клетки приплыли, те суммы и правильные. Если же нужно узнать, из каких именно слагаемых сложилась сумма (второй вопрос), программа накладывает друг на друга тысячи кадров видеозаписи. Поскольку бактерии светятся в темноте благодаря предварительно встроенному в них флуоресцентному белку, их следы складываются в яркие непрерывные линии. Проследив по этой карте, на каких именно узлах линия маршрута поворачивала вверх, можно сразу назвать все слагаемые.
Как бактерии справляются с навигацией и делением
Чтобы биологический компьютер работал надежно, бактерии должны обладать предсказуемым поведением, высокой скоростью движения и способностью быстро размножаться. Авторы работы протестировали в микроканалах два вида микроорганизмов и сравнили их показатели.
Первым видом стала обычная кишечная палочка (Escherichia coli штамма HCB437). В естественной среде эта бактерия двигается рывками: она плывет прямо, затем останавливается, кувыркается на месте и выбирает новое направление, ориентируясь на присутствие питательных веществ в воде. Для вычислительного чипа такое поведение не подходит, так как бактерия начнет разворачиваться в каналах. Поэтому ученые использовали специально выведенный штамм, у которого генетически отключена система распознавания химических веществ. Такая бактерия не отвлекается на поиск пищи и плывет строго вперед с постоянной скоростью.
При комнатной температуре кишечная палочка делится примерно раз в 20-30 минут. Поскольку прохождение небольшого чипа занимает меньше времени, ее использовали для базовой проверки: чтобы увидеть, как работает сеть, когда число бактерий внутри почти не увеличивается.
Вторым видом стала морская бактерия Vibrio natriegens. Это самый быстрорастущий из известных науке микроорганизмов: в благоприятных условиях его клетки делятся каждые 9-12 минут, что почти в три раза быстрее кишечной палочки. Именно эта бактерия выполняла роль самокопирующегося вычислителя.
Тщательные замеры под микроскопом показали, как оба вида справляются с прохождением логических перекрестков:
- Распределение на развилках. В идеале на разделительном узле поток бактерий должен делиться поровну — 50% налево и 50% направо. Кишечная палочка, у которой вокруг тела расположено сразу несколько вращающихся жгутиков, показала почти эталонный результат: 50,1% клеток сворачивали налево, 49,8% — направо, и только 0,1% разворачивались в неправильную сторону. У морской бактерии Vibrio natriegens жгутик всего один, и он закреплен на одном конце клетки. Из-за такой несимметричной конструкции при движении ее немного уводит в сторону: на развилках она выбирала левый канал в 61,1% случаев, а правый — в 38,3% (ошибки составили 0,6%). Тем не менее в оба канала попадает достаточно клеток, чтобы исследовать все ветви лабиринта.
- Точность на сквозных перекрестках. Самое уязвимое место подобных сетей — транзитные перекрестки под углом 90 градусов, где агент обязан плыть прямо. В старых системах с белковыми нитями здесь происходило много случайных поворотов. Бактерии же показали высокую точность: у кишечной палочки доля ошибочных поворотов составила всего 1,3%, а у Vibrio natriegens — лишь 0,3% (99,7% клеток проходили перекресток строго по правилам). Этому помогает низкий силиконовый потолок чипа, который удерживает бактерию в выбранной колее и не дает ей легко сменить курс.
- Движение после деления. Наблюдения выявили еще один критически важный для вычислений факт: когда бактерия делится пополам прямо внутри узкого канала, обе новые клетки продолжают плыть вперед в том же направлении, куда двигалась исходная клетка. Процесс вычисления не прерывается и не сбивается.
Когда исследователи запустили Vibrio natriegens в крупную сеть на 903 перекрестка (поиск сумм до 42 из пяти чисел), расчет занял около 26 минут. За это время бактерии внутри каналов успели разделиться дважды, и на выходах из чипа ученые зафиксировали значительно больше клеток, чем было запущено на входе. Чем больше размер сети и чем дольше клетки плывут по ее маршрутам, тем больше циклов деления происходит по пути и тем сильнее возрастает вычислительная мощность устройства.
Проверка на прочность: заторы, ошибки и предел емкости
При увеличении размеров такого компьютера неизбежно возникают практические вопросы. Не съедят ли бактерии все запасы пищи в воде до того, как доплывут до финиша? Не прилипнут ли они к стенкам каналов? Не возникнет ли в узких проходах глухая пробка из-за слишком быстрого размножения? И не накопится ли на тысячах перекрестков столько мелких ошибок, что правильный ответ станет невозможно отличить от случайного угадывания?
Авторы проверили каждую из этих угроз экспериментально и с помощью компьютерных расчетов.
Проблема голодания в микроканалах не возникла: бактерии сохраняли подвижность и скорость в течение многих часов, а для сверхкрупных сетей питательный раствор можно подавать сверху через пористую мембрану. Чтобы клетки не прилипали к пластику, поверхность силикона предварительно обработали, сделав ее хорошо смачиваемой водой. В таких каналах оба вида бактерий плывут вдоль стенок на небольшом расстоянии, но не приклеиваются к ним.
Чтобы проверить, забьются ли каналы от перенаселения при самом плотном расположении перекрестков, ученые собрали тестовую сеть, повторяющую так называемый треугольник Паскаля. В пересчете на задачу о сумме подмножеств это набор, состоящий исключительно из единиц (1, 1, 1 и так далее). Особенность такой сети в том, что перекрестки в ней расположены максимально тесно друг к другу, но среди них вообще нет транзитных пересечений — только развилки и слияния. Это позволило исключить навигационные ошибки и проверить исключительно физическую пропускную способность чипа при активном размножении бактерий.
В результате бактерии без образования пробок, остановок или слипания прошли сеть размерностью до 175 шагов (остановившись только из-за технического дефекта смачивания самого силиконового чипа на дальнем участке) и полностью решили задачу первого вопроса для набора из 100 элементов. Это означает, что делящиеся клетки физически проработали сеть, в которой зашифровано 2¹⁰⁰ возможных комбинаций.
Затем ученые рассчитали на компьютере, как на масштабируемость влияют случайные ошибки на транзитных перекрестках в обычных задачах с разными числами. Моделирование показало следующее:
- При той точности прохождения перекрестков, которая уже достигнута в лаборатории (около 1% ошибок), правильные выходы четко и достоверно отличаются от ошибочных в задачах, содержащих от 10 до 15 чисел. Это задачи с десятками тысяч вариантов решений — ни один неэлектронный компьютер ранее не мог справиться с таким объемом.
- Чтобы безошибочно решать задачи из 30 и более чисел, точность прохождения прямых перекрестков нужно повысить так, чтобы ошибалась максимум одна бактерия из десяти тысяч (уровень ошибок менее 0,01%).
Прямое сопоставление с электронными процессорами
Чтобы понять, в какой именно момент биологический компьютер начинает выигрывать у привычной электроники, исследователи сопоставили время работы бактериальной сети с процессорами разных поколений — от классического Intel Pentium Pro до современного 64-ядерного AMD Ryzen Threadripper 3990X. Всем системам предложили решать задачу о сумме подмножеств, составленную из ряда простых чисел (от 1 до 100 элементов).
Расчеты показали принципиальную разницу между двумя технологиями. Время работы электронных чипов при добавлении новых чисел в условие задачи растет лавинообразно (по экспоненте), и около отметки в 40 чисел вычисления практически останавливаются из-за нехватки времени. В то же время для сети с делящимися бактериями время решения растет плавно, по степенному закону, поскольку увеличение числа маршрутов компенсируется размножением самих вычислителей.
Точка, в которой бактерии догоняют и начинают обгонять кремниевые чипы, зависит от скорости плавания и темпа деления клеток:
- Быстрый режим (бактерии Vibrio natriegens плывут со скоростью 20 микрометров в секунду и делятся каждые 10 минут). На задаче из 28 чисел биокомпьютер сравнивается по скорости с процессором Pentium Pro, а на задаче из 38 чисел — догоняет 64-ядерный AMD Ryzen Threadripper 3990X. На решение у обеих систем в этой точке уходит несколько часов, но на задачах из 40, 50 и более чисел бактериальная система оказывается уже во много раз быстрее электроники. Чтобы вместить нужное количество бактерий и каналов, для задачи из 28 чисел потребуется устройство объемом около 1 литра, а для задачи из 38 чисел (уровень Ryzen Threadripper) — установка объемом в 1 кубический метр.
- Медленный режим (скорость плавания 7,5 микрометра в секунду, деление раз в 20 минут). В этом случае биокомпьютер догоняет Pentium Pro на задаче из 45 чисел (потребуется объем 10 литров), а Ryzen Threadripper — на задаче из 55 чисел (объем установки составит 10 кубических метров).
Авторы также учли, что произойдет в крупных сетях, когда размножившиеся бактерии полностью заполнят свободное пространство в последних секциях каналов. Вычисления в этот момент не остановятся, а перейдут в другой режим. Плотно прижатые друг к другу клетки выстроятся в одну линию и начнут физически проталкивать впереди идущих к выходам за счет постоянного роста и деления новых клеток позади них. В таком режиме каждый из примерно 500 отдельных каналов сети будет выдавать результаты с частотой около 20 раз в секунду (20 Герц). В сумме это дает общую частоту работы устройства около 11 мегагерц — этого достаточно, чтобы на задаче из 28 чисел работать наравне с 200-мегагерцовым процессором Pentium Pro.
Но самое большое преимущество биологической системы обнаружилось при подсчете затрат энергии:
- Чтобы проплыть 10 микрометров от одного перекрестка до соседнего (выполнить одну логическую операцию), одна бактерия тратит около 2 x 10⁻¹⁸ Джоуля энергии.
- Современный электронный процессор тратит на одну элементарную операцию от 3,9 x 10⁻¹² до 1,4 x 10⁻¹¹ Джоуля.
Даже если учесть, что само движение забирает лишь около 2% от всей энергии, которую бактерия тратит на поддержание жизни (при том что обычным компьютерам тоже требуются огромные затраты энергии на охлаждение и работу памяти), живая клетка выполняет вычисления в миллионы раз экономичнее, чем полупроводниковый транзистор.
Как технологию планируют дорабатывать
Созданный учеными чип — это рабочее подтверждение самого принципа вычислений за счет размножения. Чтобы превратить такие устройства в универсальные вычислительные машины, авторы наметили несколько вполне реализуемых инженерных шагов.
Во-первых, сейчас под каждый новый набор чисел нужно отливать новый силиконовый лабиринт. Эту проблему можно решить, встроив в перекрестки микроскопические управляемые заслонки (такие клапаны уже давно используются в микрочипах для анализа жидкостей). Открывая или перекрывая боковые ответвления на разделительных узлах, можно будет на ходу превращать их в прямые сквозные перекрестки. Это позволит за секунды перепрограммировать один и тот же чип под любую новую задачу, а заодно регулировать плотность потока бактерий, направляя их в свободные каналы.
Во-вторых, чтобы снизить число ошибок на прямых перекрестках до сотых долей процента и решать задачи из 50-100 произвольных чисел, плоские пересечения каналов можно заменить на двухуровневые. Если один микроканал будет проходить строго над другим, не соединяясь с ним, бактерии просто физически не смогут свернуть на чужую линию. Сами же плоские силиконовые пластины можно складывать слоями в компактные трехмерные кубы, снабдив их встроенными оптическими датчиками для считывания ответов и микроскопическими нагревателями. Локально подогревая или охлаждая отдельные участки чипа, компьютер сможет сам ускорять или замедлять размножение бактерий там, где это необходимо.
Наконец, можно усовершенствовать и сами бактерии, научив их запоминать собственный маршрут. В отличие от фотонов света или неживых белковых нитей, в живую клетку с помощью генной инженерии можно встроить светочувствительные белки, которые меняют свое состояние при облучении светом определенного цвета. Если подсвечивать ключевые перекрестки лазерами, каждая бактерия по мере продвижения к выходу будет последовательно фиксировать внутри себя все пройденные повороты. Тогда на финише ученым даже не придется снимать видео всего лабиринта — достаточно будет проанализировать одну приплывшую к выходу клетку, чтобы сразу прочитать в ней точный набор чисел, дающих правильный ответ.
Источник: Microsystems & Nanoengineering





1 комментарий
S. Fire 🤟
Добавить комментарий