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

Технологи́ческая сингуля́рность — гипотетический момент, по прошествии которого, по мнению сторонников данной концепции, технический прогресс станет настолько быстрым и сложным, что окажется недоступным пониманию

в конфигурации, где восемь пользователей делят канал 15 Мбит/с (см. схему вверху), алгоритм Remy обеспечил более чем вдвое превосходящую среднюю по медиане скорость передачи данных с задержкой запросов менее чем вполовину от той, которую обеспечивают Compound TCP и TCP NewReno.
Homo Sapiens. К сожалению, это тысячелетие не задалось: раз за разом все поколения Homo Sapiens интересовались лишь самосохранением и размножением. Впрочем, ничего страшного: у метамозга впереди миллионы лет и ответ рано или поздно будет найден.
Компьютер сгенерировал эффективные, но непонятные человеку алгоритмы ускорения TCP