Уже такой простейший условный переход выходит за пределы возможностей некоторых насекомых, неспособных остановить действие жестко запрограммированной последовательности движений, даже если оно становится бессмысленным. Но высшие животные ведут себя так, как будто их инстинктивные программы содержат условные переходы.
В более общем случае «ветвление» команды может выглядеть следующим образом. Предположим, что целью программы А является нахождение некоторого числа, заключенного в "массиве памяти" М (внутри компьютера). Пусть, далее, массив М состоит из нескольких частей – например, из трех отдельных массивов М>1 , М>2 , М>3 . Поиск состоит в следующем: "основная" часть А>0 программы А вычисляет, по некоторым введенным в компьютер исходным данным, число q, заключенное между нулем и единицей; затем, если q меньше 0,3 , команда условного перехода включает некоторую вспомогательную программу А>1 , начинающую поиск в массиве М1 и выдающую окончательный результат; если q не меньше 0,3 , но меньше 0,7 , включается другая программа А>2, находящая результат в массиве М>2; и если q не меньше 0,7 , но не больше 1, включается третья программа А>3, находящая результат в массиве М>3; при этом программы поиска А>1 , А>2 , А>3 могут быть различны. Они находятся в компьютере в качестве встроенных в него программ и называются подпрограммами программы А.
Такой "поиск с вариантами" представляет простейший случай. Но чаще всего встроенные в компьютер подпрограммы и массивы памяти дополняются "внешними" подпрограммами и массивами памяти, следующим образом. В компьютере оставляются "пробелы" для подключения "внешних" подпрограмм и массивов, которые вводит в эти места пользователь, и к которым может обращаться основная программа А0. Вместе с этими пробелами А>0 образует "открытую программу", возможности которой таким образом значительно расширяются: она способна вести поиск не только "внутри компьютера", но, в некотором смысле, и во "внешнем мире".
Устройства, аналогичные встроенным подпрограммам, несомненно имеются в геноме животных. Эти подпрограммы соответствуют наиболее обычным ситуациям, какие могут встретиться в жизни особи данного вида. Допустим, что геном содержит программу некоторой инстинктивной последовательности действий – например, поиска пищи. Тогда в этом геноме, выработанном эволюцией и отражающем исторический опыт вида, закодированы ситуации A>1, А>2, …, обычно встречающиеся при поиске пищи. Для этих случаев в геноме содержатся готовые подпрограммы, включаемые в зависимости от наступления той или иной ситуации. В частности, сюда относятся подпрограммы, распознающие съедобность или несъедобность пищи. У видов, широко распространенных по Земле, как, например, крысы или вороны, эти подпрограммы должны быть очень развиты, поскольку этим видам приходится встречаться с разнообразными видами пищи.
Запас программ, заключенный в геноме животного, содержит все врожденные способы его инстинктивного поведения, от автоматических программ внутренних органов до сложнейших способов возможного для него обучения. Этот запас программ аналогичен набору встроенных в компьютер исходных программ, с которыми его продают.>[7]
В геноме программируются не только способы поведения, но и некоторые виды обучения. Способы обучения часто требуют участия других особей. Например, при рождении котенок наделен инстинктивной программой, побуждающей его ловить движущиеся мелкие предметы; но поедание пойманных предметов не входит в эту программу – вероятно, потому, что распознавание их съедобности входит в другую программу. Если котенок встретится с мышами, он будет их ловить, но не будет есть. У кошки-матери, в свою очередь, есть врожденная программа, побуждающая ее учить котенка есть пойманных мышей и других подобных животных. Обе эти программы сочетаются в поведение, нужное для питания; котенок, выращенный без матери, или с матерью, но в отсутствие мышей, будет их ловить, но не будет есть. По-видимому, здесь ловля добычи отделена от распознавания съедобности. Вся эта последовательность действий, включая обучение детенышей, "предусмотрена" геномом.