Сила эволюции
Инженер по имени Эдриан Томпсон задался вопросом, что получится, если применить метод эволюции к электронным схемам. Ставим задачу, случайным образом собираем схемы, отбираем схемы, которые лучше справляются, комбинируем их между собой и повторять процесс в течение стольких поколений, сколько потребуется.
Большинство придут к выводу, что использование настоящих схем будет напрасной тратой ресурсов. Проще смоделировать схему на компьютере и добиться результата дешевле и за меньшее время. Однако Томпсон решил, настоящие схемы «знают» то, что недоступно для компьютерной модели.
Задача была следующая: распознать два сигнала разной частоты — 1 кГц и 10 кГц. При 10 кГц на выходе ложно быть 0 вольт, при 1 кГц на выходе 5 вольт. Томпсон использовал микросхему, которая состоит из множества транзисторных «логических ячеек», соединения между которыми могут меняться в зависимости от инструкций, записанных в конфигурационную память устройства.
Эти инструкции аналогичны ДНК-коду живого организма, и могут скрещиваться друг с другом. Томпсон взял матрицу из сотни логических ячеек и с помощью компьютера сгенерировал случайную популяцию из пятидесяти кодов инструкций. Компьютер загружал каждый набор инструкций в память матрицы, подавал входные сигналы, сравнивал результаты на выходе и пытался обнаружить свойство, которое могло бы помочь в выведении подходящей схемы.
«Наиболее приспособленным» представителем оказалась схема, выдающая постоянное напряжение в 5 вольт независимо от «услышанного» ей сигнала. Затем коды наименее подходящих инструкций были «убиты», а подходящие скрещены между собой, после чего процесс повторился снова.
К 220-му поколению лучшая схема выдавала сигналы почти такие же как и на входе.
К 650-му поколению выходной сигнал, соответствующий 1 кГц, стал постоянным, но при 10 кГц на выходе сигнал оставался переменным. Потребовалось дойти до 2800-го поколения, чтобы схема начала выдавать почти постоянные и различные сигналы для двух входных частот. И только к 4100-му поколению странное отклонение исчезло, после чего схема практически перестала эволюционировать.
Человек ВООБЩЕ не способен собрать на такое микросхеме полученную схему. Томпсон описал работу микросхемы так: «На самом деле я не имею ни малейшего понятия о том, как она работает».
Дальнейшее исследование выявило еще более удивительный факт: использовались только 32 ячейки из 100. Сначала казалось, что можно удалить еще пять ячеек (оставить 27), которые не были связаны с остальными, входом и выходом проводами. Однако после их удаления схема переставала работать. Возможно, эти ячейки реагировали не на ток, а что то ещё — например, магнитное поле. Какова бы ни была причина, интуиция Томпсона была абсолютно верной: у настоящей кремниевой микросхемы припрятано больше козырей в рукаве, чем у ее компьютерной симуляции.
Большинство придут к выводу, что использование настоящих схем будет напрасной тратой ресурсов. Проще смоделировать схему на компьютере и добиться результата дешевле и за меньшее время. Однако Томпсон решил, настоящие схемы «знают» то, что недоступно для компьютерной модели.
Задача была следующая: распознать два сигнала разной частоты — 1 кГц и 10 кГц. При 10 кГц на выходе ложно быть 0 вольт, при 1 кГц на выходе 5 вольт. Томпсон использовал микросхему, которая состоит из множества транзисторных «логических ячеек», соединения между которыми могут меняться в зависимости от инструкций, записанных в конфигурационную память устройства.
Эти инструкции аналогичны ДНК-коду живого организма, и могут скрещиваться друг с другом. Томпсон взял матрицу из сотни логических ячеек и с помощью компьютера сгенерировал случайную популяцию из пятидесяти кодов инструкций. Компьютер загружал каждый набор инструкций в память матрицы, подавал входные сигналы, сравнивал результаты на выходе и пытался обнаружить свойство, которое могло бы помочь в выведении подходящей схемы.
«Наиболее приспособленным» представителем оказалась схема, выдающая постоянное напряжение в 5 вольт независимо от «услышанного» ей сигнала. Затем коды наименее подходящих инструкций были «убиты», а подходящие скрещены между собой, после чего процесс повторился снова.
К 220-му поколению лучшая схема выдавала сигналы почти такие же как и на входе.
К 650-му поколению выходной сигнал, соответствующий 1 кГц, стал постоянным, но при 10 кГц на выходе сигнал оставался переменным. Потребовалось дойти до 2800-го поколения, чтобы схема начала выдавать почти постоянные и различные сигналы для двух входных частот. И только к 4100-му поколению странное отклонение исчезло, после чего схема практически перестала эволюционировать.
Человек ВООБЩЕ не способен собрать на такое микросхеме полученную схему. Томпсон описал работу микросхемы так: «На самом деле я не имею ни малейшего понятия о том, как она работает».
Дальнейшее исследование выявило еще более удивительный факт: использовались только 32 ячейки из 100. Сначала казалось, что можно удалить еще пять ячеек (оставить 27), которые не были связаны с остальными, входом и выходом проводами. Однако после их удаления схема переставала работать. Возможно, эти ячейки реагировали не на ток, а что то ещё — например, магнитное поле. Какова бы ни была причина, интуиция Томпсона была абсолютно верной: у настоящей кремниевой микросхемы припрятано больше козырей в рукаве, чем у ее компьютерной симуляции.