Может ли эволюция создавать новые микросхемы и даже самолеты? Запросто! Но вот готовы ли мы ей доверять?
Сложный алгоритм, быстрый компьютер: из большой выборки кандидатов система автоматически и бесстрастно выбирала лучшие пары. Все походило на работу сервиса онлайн-знакомств ? по сложной формуле каждому варианту приписывался численный показатель ? и лучшие из них впоследствии приносили потомство, а компьютер снова выбирал из них подходящих друг другу. Как и можно предположить, каждое новое поколение было все ближе к заданному идеалу… Вот только ни один из них не был человеком.
И кандидаты, и сочетающиеся пары, и их потомство не несли ни единого гена или хромосомы, не обладали мышцами, кровью, глазами, копытами и всем, что мы привыкли ассоциировать с эволюционирующими организмами. Все они представляли собой несложные микросхемы, за изменением и развитием которых внимательно и с любопытством следила команда британских исследователей во главе с Эдрианом Томпсоном (Adrian Thompson).
Эксперименты Томпсона, поставленные в середине 1990-х, стали одной из первых практических попыток применить эволюционистский подход к разработке компьютерного «желез». Подобно тому, как в дарвиновской теории изменчивость и отбор позволяют более приспособленным организмам лучше выживать и оставлять более многочисленное потомство, в этих опытах желаемые экспериментаторами характеристики микросхем сохранялись и передавались следующим поколениям, а нежелательные ? элиминировались.
Подход «выигрывает самый приспособленный», по мнению Томпсона, должен будет, в конечном итоге, облегчить и усовершенствовать весь процесс разработки в современной схемотехнике, сделав его «естественным» и практически не требующим внимания со стороны человека. Чтобы апробировать его, ученые использовали программируемые пользователем вентильные матрицы (ППВМ) ? микросхемы, которые, в отличие от стандартных, можно сконфигурировать уже после изготовления, причем сколько угодно раз.
ППВМ типа Stratix IV GX фирмы Altera
©eefocus.com
ППВМ состоят из отдельных вентилей, логических блоков со входами и выходом, способных реализовывать базовые операции (И, ИЛИ, НЕ, НЕ-И, и т.д.), причем, посылая матрице определенные сигналы, можно менять и функцию каждого отдельного блока, и его связи с другими блоками. Работают ППВМ медленнее обычных микросхем, они сложнее и больше потребляют энергии, зато из одной и той же схемы можно сконфигурировать модем, акустический процессор или, в принципе, практически любой другой компонент цельного компьютера.
Свои эксперименты Томпсон начал с постановки перед этими «электронными организмами» простой задачи: научиться максимально эффективно распознавать разницу между частотами двух звуковых сигналов. Для современного акустического процессора с его сотнями тысяч узкоспециализированных логических блоков эта задача не представляет никакой сложности. Однако использованная Томпсоном ППВМ, включавшая 100 переключателей, изначально этого не умела, вдобавок экспериментатор удалил из стандартного для ППВМ набора встроенные часы, еще более затруднив задачу.
Итак, подобно еще мало специализированным «прото-клеткам», ППВМ были несконфигурированы для выполнения своей задачи, и ученый задавал им раз за разом набор случайных конфигураций, а затем заставлял «выживать» ? выполнять задачу по различению звуков разной высоты, оценивая их результативность по заданной шкале. Конечно, ни один из «электронных организмо» этого первого поколения с задачей не справился, однако специальный алгоритм позволил отобрать из них лучшие, после чего наборы их настроек случайным образом смешивались ? подобно тому, как перемешиваются гены при рекомбинации ? и снова пускались в дело. Конечно, не обошлось и без «мутаций»: экспериментаторы вносили небольшие случайные изменения в наборы цифровых настроек ППВМ.
Таким образом, сменилось более 200 поколений, и со стороны казалось, что никакого существенного улучшения не происходит ? потомки сохраняли вполне жалкий «слух» своих уже далеких предков… К 220-му поколению ППВМ случайно приобрели ранее не имевшуюся и странную способность воспроизводить входной сигнал ? этого от них не требовалось, но это служило хотя бы видимым доказательством того, что они хоть как-то изменяются и эволюционируют. Однако процесс шел: где-то к 650-му поколению у микросхем появилась небольшая чувствительность к акустическим колебаниям частотой 1 КГц, а к 1400-му поколению они начали распознавать звуки с точностью более 50% ? больше чисто случайного уровня.
Наконец, сменив более чем 4000 поколений, эволюционный процесс привел к появлению эффективно работающей конфигурации ППВМ: в ответ на входящий сигнал, соответствующий звуку частотой 1 КГц, система реагировала снижением выходного сигнала до 0 В, а на 10 КГц ? повышением до 5 В. Дальше дело пошло быстрее, и, задавшись целью научить ППВМ отвечать на голосовые команды «Начать» (Go) и «Стоп» (Stop), Томпсон добился этого всего за несколько сотен поколений. Несмотря на внушительные числа сменившихся поколений, такие высокоспециализированные микросхемы были получены с намного меньшими трудозатратами, нежели при обычном подходе к разработке. При этом никто толком не знал, как они работают: эволюция сама нашла решение.
В самом деле, когда Томпсон решил посмотреть, как именно работает самая эффективная из получившихся ППВМ, он был страшно удивлен. Для достижения нужного результата микросхема использовала лишь 37 из сотни имевшихся в ее распоряжении логических блоков, причем почти все из них были выстроены в странную последовательность цепочек обратной связи. Пять блоков функционировали вообще отдельно от остальных, и их работа никак не могла влиять на результат, а между тем стоило Томпсону их отключить, эффективность выполнения задачи системой падала. Но страннее всего было то, что при использовании на других аналогичных матрицах эта настройка также не приносила такого результата!
Судя по всему, «эволюция» работала с «железом» глубже, чем кто-либо мог предположить, отбирая не только оптимальную конфигурацию, но и учитывая мельчайшие индивидуальные особенности каждого конкретного микрочипа, на котором эти конфигурации использовались. Те пять логических блоков формально не должны были сказываться на результате, но, очевидно, воздействовали на прохождение сигнала и его обработку каким-то необычным образом ? например, создавая слабые электромагнитные поля. Ученый сравнил работу такой «естественно сформировавшейся» микросхемы со сложно сбалансированной системой полутонов серого ? тогда как обычная, запрограммированная человеком, действует лишь грубыми «черно-белыми» сигналами ВКЛ и ВЫКЛ.
К сожалению, в области «эволюционирующих микросхем» разработчики продвинулись не слишком далеко от тех результатов Томпсона. Инженеры экспериментируют с системами, имеющими отдельные адаптивные элементы, позволяющие им реагировать и непрерывно подстраиваться под новые условия и задачи. Особенно интересует этот подход проектировщиков космической и военной аппаратуры: такая «гибкая» электроника могла бы самовосстанавливаться, сохраняя нужную производительность даже после физического повреждения отдельных своих компонентов.
Впрочем, заметный вклад в эту область вносят уже современные суперкомпьютеры, позволяющие обкатывать возможные варианты на математических моделях, отбирать лучших кандидатов и «скрещивать» их для получения все более подходящего для нужных задач электронного «потомства». Лишь затем подобные решения можно воплощать в реальность и испытывать ? подобным образом NASA сегодня создает некоторые компоненты своих космических аппаратов.
«Генетически» созданная антенна спутника ST5 работала на орбите весьма эффективно, хотя никто толком не знает почему
©NASA
Скажем, необычный дизайн антенн спутников ST5, напоминающий не столько произведение рук человеческих, сколько усики живого насекомого, был получен именно таким путем. Все шире «генетические алгоритмы» используются для проектирования двигателей и летательных аппаратов, хотя их применение во многом ограничивается точностью математических моделей.
Другой спорный момент их применения ? невозможность точно знать, как и почему они работают. И если в случае с крошечной антенной где-то на далеком спутнике это не слишком важно, то если мы будем проектировать подобным способом части реактивных двигателей, микросхемы компьютеров или фюзеляжи самолетов, от них будут зависеть жизни людей. А вот насколько стоит доверять чему-то, чего мы не понимаем до конца ? это большой и большой вопрос.