Новости науки
29
февраля

Белковые нити приспособили для параллельных вычислени

Нити белка актина.

Wikimedia Commons

Группа ученых из Калифорнийского университета создала простой биохимический компьютер на основе белковых нитей, способный к параллельным вычислениям. Результаты исследований опубликованыв журнале Proceedings of the National Academy of Sciences.

Авторы статьи разработали схему, которая производила вычисления с помощью молекул белка, двигающихся по определенным траекториям. Этот подход они применили к решению задач о сумме подмножеств, которая в данном случае заключалась в поиске всех возможных сумм чисел из заданного множества. Обычно время решения таких задач растет экспоненциально в зависимости от размера множества, однако исследователи нашли способ обойти эту проблему. 

Ученые с помощью простых математических алгоритмов закодировали задачу в виде сети наноразмерных каналов. Саму сеть изготавливали с помощью нанолитографии на кремниевой подложке. Исследователи выстилали каналы слоем двигательных белков — миозина и кинезина, — которые осуществляли перемещение молекулярных агентов. Агенты представляли собой микротрубочки —  цилиндры, состоящие из белка тубулина, — а также микрофиламенты, нити из белка актина. Молекулярные агенты были помечены флуоресцентными метками, а за их движением следили с помощью микроскопа.

 

Молекулярные агенты перемещались по каналам, а на широких развилках, местонахождение которых определялось алгоритмом при проектировании сети, могли случайно выбирать одно из двух направлений. В результате из всех возможных траекторий они проходили только по тем путям, что соответствовали суммам всех возможных подмножеств. Схема, таким образом, находила решение задачи.

 

В эксперименте ученые использовали простой вариант задачи, в которой множество состояло из трех чисел. Однако увеличение количества чисел при данном подходе не приводило к экспоненциальному росту времени решения, пространства или материала. Вместо этого экспоненциально росло только количество молекулярных агентов, необходимых для выполнения вычислений.    

Параллельные вычисления являются подходом, при котором ряд вычислительных процессов протекает параллельно друг другу, а не последовательно. Это позволяет эффективно и быстро решать задачи, которые бы в ином случае занимали много времени.

 

https://nplus1.ru/news/2016/02/27/biomolecularcomputer