Можно ли запрограммировать бесструктурный объект?

в 15:10, , рубрики: генетические алгоритмы, нанотехнологии, Программирование

Исследователи из Университета Твенте в Энсхеде, Нидерланды (University of Twente, Enschede), задались вопросом: можно ли некий бесформенный наноразмерный объект запрограммировать для выполнения математических операций?
Таким объектом была выбрана «клякса» (blob) из золотых наночастичек 20 нм в диаметре, помещенных на 8 золотых электродов методом диэлектрофореза.
схематическое изображение Можно ли запрограммировать бесструктурный объект? - 2

Наночастички имеют диаметр 20 нм и покрыты непроводящим 1-октантиолом (C8H17SH), который создает зазор между соседними наночастиками около 1.8 нм. При температурах вблизи абсолютного нуля электрический транспорт сквозь такую сеть наночастичек полностью определяется кулоновской блокадой, и каждая наночастичка действует как одноэлектронный транзистор (single-electron transistor, SET). В данной работе система функционировала при температуре 0.3 К.
Итак, данная бесформенная масса наночастичек была помещена на 8 радиально направленных электродов, расстояние между которыми составляло 200 нм. Из этих восьми электродов 2 были случайным образом выбраны как входы, один − как выход, а пять оставшихся плюс подложка − как 6 контрольных затворов, на которые подавалось постоянное напряжение.
Первой целью, которую преследовали исследователи, была реализация в данной системе операции логического И. Прямой брутфорс по 6 затворам занял бы внушительное количество времени (по оценкам − порядка дней). И даже градиентный спуск в таком 6-мерном пространстве был бы неэффективен из-за сильной нелинейности системы и наличия большого количества локальных минимумов.
Было решено применить генетический алгоритм для поиска необходимой конфигурации затворов.
Можно ли запрограммировать бесструктурный объект? - 3

6 управляющих напряжений, подаваемых на затворы, рассматривались как „геном“. Изначально было случайным образом сгенерировано 20 геномов. Далее, для каждого из геномов на входы (P, Q) были поданы сигналы булевского вида 0-1-0-1 и 0-0-1-1, а сигнал на выходе сравнивался с искомой функцией (P·Q).
Можно ли запрограммировать бесструктурный объект? - 4
Таким образом, для каждой шестерки постоянных напряжений (геномов), подаваемых на затворы, была определена „приспособленность“ (fitness). 20 геномов затем были отсортированы согласно их приспособленности, из которых выбраны 5 с лучшими показателями. Используя эти 5 родительских геномов, было сформировано первое поколение дочерних, применяя клонирование (иными словами, прямое копирование), мутации (небольшие изменения сигналов на ±1%) и скрещивание. Для полученных 20 дочерних геномов повторены те же шаги: измерение сигнала на выходе, рассчет приспособенности, сортировка, отбор лучших. Применяя данный алгоритм, ученым удалось запрограммировать свой бесформенный «прибор» на выполнение булевских функций двух переменных, причем на одном и том же образце.
Можно ли запрограммировать бесструктурный объект? - 5

Были отдельно показаны следующие свойства:
а) независимость от предудыщих состояний: найденный геном для AND гейта работает корректно для случайных сигналов на входе
b) температурная стабильность: геном остается рабочим при нагреве системы вплоть до 15К и последующим охлаждением до температур ниже 5К. При нагреве выше 15К требуется перепрограммирование
c) стабильность во времени: спустя 100 часов запрограммированный прибор не теряет своих свойств
Можно ли запрограммировать бесструктурный объект? - 6

В данной работе алгоритм сходился к необходимой функции за ~200 шагов, что занимало порядка 1 часа, так как использовались относительно медленные сигналы на входе. Однако исследователи полагают, что можно добиться ускорения работы системы в 100-1000 раз путем ее оптимизации. Кроме того, используя наночастицы меньшего размера, для которых кулоновское взаимодействие будет гораздо более значительным, можно ожидать работы подобной системы на заметно более высоких температурах вплоть до комнатной.

Таким образом, применение генетического алгоритма на наноуровне позволяет скомпенсировать вариации от прибора к прибору и неопределенности в производительности, которые являются неизбежными спутниками миниатюризации.

P.S. Спасибо Tiberius за вдохновение.

Источник: Bose, S. K. et al. Evolution of a designless nanoparticle network into reconfigurable Boolean logic. Nat. Nanotechnol. 10, 1048–1052 (2015). doi:10.1038/nnano.2015.207

Автор: sielover

Источник

* - обязательные к заполнению поля


https://ajax.googleapis.com/ajax/libs/jquery/3.4.1/jquery.min.js