Многие виды генов могут становиться объектом отбора в пользу более эффективной переработки информации. Изменения в генах могут приводить к образованию разного количества пролиферирующих клеток вдоль стенок желудочков (полостей в центре мозга), вырабатывающих кортикальные нейроны, из которых состоит серое вещество. Другие гены могут сделать так, чтобы пролиферирующие клетки делились в течение разного количества циклов, образуя разное количество кортикальных зон разных типов. Аксоны, соединяющие между собой нейроны, могут быть перенаправлены в результате изменения химических следов и молекулярных ориентиров, которые ведут аксон в том или ином направлении. Гены могут вносить изменения в молекулярные замки и ключи, которые отвечают за соединение нейронов друг с другом. Как и в старом анекдоте о том, как вырезать статую слона (отсечь все, что не похоже на слона), нервную цепь можно сформировать, запрограммировав определенные клетки и синапсы по команде «покончить с собой». Нейроны могут активизироваться на разных этапах эмбрионального развития, и паттерн их импульсов – будь то спонтанных или запрограммированных – может быть интерпретирован на выходе как информация о том, как нервные связи должны формироваться далее. Многие из этих процессов вступают в каскадное взаимодействие. Например, увеличение одной из зон позволяет ей более эффективно конкурировать за место на других уровнях. Естественному отбору совершенно все равно, насколько причудливым будет процесс сборки мозга или насколько уродливым получится в результате мозг. Модификации он оценивает исключительно исходя из того, насколько хорошо алгоритмы мозга справляются с задачей руководства восприятием, мышлением и действиями всего организма в целом. Руководствуясь этими процессами, естественный отбор может создавать все более и более эффективно функционирующий мозг[190].
Но возможно ли, чтобы отбор произвольных вариантов действительно улучшил конструкцию нервной системы? Или из-за прочих вариантов вся конструкция отказала бы, как компьютерная программа из-за испорченного байта, а отбор просто сохраняет системы, которые не отказывают? Исследования в новой области вычислительных систем, теории генетических алгоритмов, показывают, что с помощью дарвинистского естественного отбора можно создавать все более разумное программное обеспечение. Генетические алгоритмы – это программы, которые дублируются, образуя многочисленные копии, однако с произвольными мутациями, которые делают каждую копию на один крохотный байт отличной от всех остальных[191]. Каждая копия пытается решить определенную задачу, и тем, которые справляются лучше других, дается возможность размножаться, чтобы создать копии для следующего цикла. Предварительно элементы каждой программы опять произвольно мутируют, и программы «спариваются»: каждая делится на две части и пары программ обмениваются частями. После множества циклов вычисления, отбора, мутации и репродукции получившиеся в итоге программы зачастую оказываются лучше, чем любая программа, придуманная живым программистом.