Читаем Насосы интуиции и другие инструменты мышления полностью

Теперь давайте напишем программу, которая просто перемещает содержимое одного регистра в другой регистр:

программа 2: MOVE [4,5]

Вот граф потока:

Обратите внимание, что первый цикл этой программы очищает регистр 5, так что, каким бы ни было его содержимое в самом начале, оно никак не повлияет на то, что окажется в регистре 5 ко второму циклу (циклу сложения, в ходе которого содержимое регистра 4 прибавляется к 0 в регистре 5). Этот начальный шаг называется обнулением регистра и представляет собой весьма употребительную стандартную операцию. Вы постоянно будете использовать ее, чтобы готовить регистры к использованию.

Третья простая программа копирует содержимое одного регистра в другой регистр, оставляя изначальное содержимое нетронутым. Изучите граф потока, а затем саму программу:

программа 3: COPY [1,3]

Это явно не самый очевидный способ копирования, поскольку мы осуществляем операцию, сначала перемещая содержимое регистра 1 в регистр 3, затем делая копию в регистре 4 и, наконец, перемещая эту копию обратно в регистр 1. Но это работает. Всегда. Каким бы ни было содержимое регистров 1, 3 и 4 в самом начале, когда программа остановится, содержимое регистра 1 останется на месте, а копия этого содержимого – в регистре 3.

Если принцип работы этой программы вам не очевиден, возьмите несколько чашек, чтобы сделать регистры (подпишите номер каждой чашки, ее адрес), и горстку монеток (или бобов) и “вручную смоделируйте” весь процесс. Положите по несколько монеток в каждый из регистров и обратите внимание, сколько именно монеток вы положили в регистр 1 и регистр 3. Если вы будете в точности следовать программе, когда вы закончите, количество монеток в регистре 1 будет таким же, каким оно было изначально, и такое же количество монеток будет лежать в регистре 3. Очень важно, чтобы вы усвоили базовый принцип работы регистровой машины и вам не пришлось больше ломать над ним голову, поскольку мы собираемся использовать этот новый навык в дальнейшем. Выделите несколько минут и станьте регистровой машиной (как актер может стать Гамлетом).

Я замечаю, что некоторые мои студенты совершают простую ошибку: им кажется, что при декрементировании регистра монетку, которую они только вынули из регистра n, нужно положить в какой-нибудь другой регистр. Нет. Декрементированные монетки просто возвращаются в общую кучу, в ваш “бесконечный” запас монеток для использования в этих простых операциях сложения и вычитания.

Научившись перемещать, копировать и обнулять содержимое регистров, мы можем улучшить нашу программу сложения. Программа 1 помещает верный ответ на задачу на сложение в регистр 2, но в процессе уничтожает изначальное содержимое регистров 1 и 2. Возможно, нам нужна более сложная программа сложения, которая сохраняет эти значения для последующего использования, помещая ответ в другой регистр. Попробуем прибавить содержимое регистра 1 к содержимому регистра 2, поместить ответ в регистр 3 и оставить содержимое регистров 1 и 2 нетронутым.

Вот граф потока, показывающий, как этого добиться:

Проанализируем циклы, чтобы понять, что делает каждый из них. Сначала мы обнуляем регистр ответа, регистр 3, а затем обнуляем дополнительный регистр (регистр 4), который станет временным хранилищем, или буфером. После этого мы копируем содержимое регистра 1 в регистры 3 и 4 и перемещаем это содержимое обратно из буфера в регистр 1, восстанавливая его (и в процессе обнуляя регистр 4, чтобы снова использовать его в качестве буфера). Затем мы повторяем эту операцию с регистром 2, фактически прибавляя содержимое регистра 2 к содержимому, которое мы уже переместили в регистр 3. Когда программа останавливается, буфер 4 снова оказывается пуст, ответ находится в регистре 3, а два числа, которые мы складывали, – на своих изначальных местах, в регистрах 1 и 2.

Вот написанная на РПА 13-шаговая программа, которая переводит всю информацию с графа потока на язык, понятный блоку обработки данных:

программа 4: ADD [1,2,3] без разрушения

Я не буду советовать вам вручную смоделировать эту программу, используя чашки и монетки. Жизнь коротка, поэтому, когда вы усвоите все базовые процессы, вам можно будет пользоваться вспомогательным устройством RodRego, регистровой машиной, которую можно скачать по ссылке http://sites.tufts.edu/rodrego/.

Перейти на страницу:

Все книги серии Книжные проекты Дмитрия Зимина

Достаточно ли мы умны, чтобы судить об уме животных?
Достаточно ли мы умны, чтобы судить об уме животных?

В течение большей части прошедшего столетия наука была чрезмерно осторожна и скептична в отношении интеллекта животных. Исследователи поведения животных либо не задумывались об их интеллекте, либо отвергали само это понятие. Большинство обходило эту тему стороной. Но времена меняются. Не проходит и недели, как появляются новые сообщения о сложности познавательных процессов у животных, часто сопровождающиеся видеоматериалами в Интернете в качестве подтверждения.Какие способы коммуникации практикуют животные и есть ли у них подобие речи? Могут ли животные узнавать себя в зеркале? Свойственны ли животным дружба и душевная привязанность? Ведут ли они войны и мирные переговоры? В книге читатели узнают ответы на эти вопросы, а также, например, что крысы могут сожалеть о принятых ими решениях, воро́ны изготавливают инструменты, осьминоги узнают человеческие лица, а специальные нейроны позволяют обезьянам учиться на ошибках друг друга. Ученые открыто говорят о культуре животных, их способности к сопереживанию и дружбе. Запретных тем больше не существует, в том числе и в области разума, который раньше считался исключительной принадлежностью человека.Автор рассказывает об истории этологии, о жестоких спорах с бихевиористами, а главное — об огромной экспериментальной работе и наблюдениях за естественным поведением животных. Анализируя пути становления мыслительных процессов в ходе эволюционной истории различных видов, Франс де Вааль убедительно показывает, что человек в этом ряду — лишь одно из многих мыслящих существ.* * *Эта книга издана в рамках программы «Книжные проекты Дмитрия Зимина» и продолжает серию «Библиотека фонда «Династия». Дмитрий Борисович Зимин — основатель компании «Вымпелком» (Beeline), фонда некоммерческих программ «Династия» и фонда «Московское время».Программа «Книжные проекты Дмитрия Зимина» объединяет три проекта, хорошо знакомые читательской аудитории: издание научно-популярных переводных книг «Библиотека фонда «Династия», издательское направление фонда «Московское время» и премию в области русскоязычной научно-популярной литературы «Просветитель».

Франс де Вааль

Биология, биофизика, биохимия / Педагогика / Образование и наука
Скептик. Рациональный взгляд на мир
Скептик. Рациональный взгляд на мир

Идея писать о науке для широкой публики возникла у Шермера после прочтения статей эволюционного биолога и палеонтолога Стивена Гулда, который считал, что «захватывающая действительность природы не должна исключаться из сферы литературных усилий».В книге 75 увлекательных и остроумных статей, из которых читатель узнает о проницательности Дарвина, о том, чем голые факты отличаются от научных, о том, почему высадка американцев на Луну все-таки состоялась, отчего умные люди верят в глупости и даже образование их не спасает, и почему вода из-под крана ничуть не хуже той, что в бутылках.Наука, скептицизм, инопланетяне и НЛО, альтернативная медицина, человеческая природа и эволюция – это далеко не весь перечень тем, о которых написал главный американский скептик. Майкл Шермер призывает читателя сохранять рациональный взгляд на мир, учит анализировать факты и скептически относиться ко всему, что кажется очевидным.

Майкл Брант Шермер

Зарубежная образовательная литература, зарубежная прикладная, научно-популярная литература
Записки примата: Необычайная жизнь ученого среди павианов
Записки примата: Необычайная жизнь ученого среди павианов

Эта книга — воспоминания о более чем двадцати годах знакомства известного приматолога Роберта Сапольски с Восточной Африкой. Будучи совсем еще молодым ученым, автор впервые приехал в заповедник в Кении с намерением проверить на диких павианах свои догадки о природе стресса у людей, что не удивительно, учитывая, насколько похожи приматы на людей в своих биологических и психологических реакциях. Собственно, и себя самого Сапольски не отделяет от своих подопечных — подопытных животных, что очевидно уже из названия книги. И это придает повествованию особое обаяние и мощь. Вместе с автором, давшим своим любимцам библейские имена, мы узнаем об их жизни, страданиях, любви, соперничестве, борьбе за власть, болезнях и смерти. Не менее яркие персонажи книги — местные жители: фермеры, егеря, мелкие начальники и простые работяги. За два десятилетия в Африке Сапольски переживает и собственные опасные приключения, и трагедии друзей, и смены политических режимов — и пишет об этом так, что чувствуешь себя почти участником событий.

Роберт Сапольски

Биографии и Мемуары / Научная литература / Прочая научная литература / Образование и наука

Похожие книги

Норвежский лес
Норвежский лес

…по вечерам я продавал пластинки. А в промежутках рассеянно наблюдал за публикой, проходившей перед витриной. Семьи, парочки, пьяные, якудзы, оживленные девицы в мини-юбках, парни с битницкими бородками, хостессы из баров и другие непонятные люди. Стоило поставить рок, как у магазина собрались хиппи и бездельники – некоторые пританцовывали, кто-то нюхал растворитель, кто-то просто сидел на асфальте. Я вообще перестал понимать, что к чему. «Что же это такое? – думал я. – Что все они хотят сказать?»…Роман классика современной японской литературы Харуки Мураками «Норвежский лес», принесший автору поистине всемирную известность.

Ларс Миттинг , Харуки Мураками

Зарубежная образовательная литература, зарубежная прикладная, научно-популярная литература / Проза / Современная русская и зарубежная проза / Современная проза