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

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

программа 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 увлекательных и остроумных статей, из которых читатель узнает о проницательности Дарвина, о том, чем голые факты отличаются от научных, о том, почему высадка американцев на Луну все-таки состоялась, отчего умные люди верят в глупости и даже образование их не спасает, и почему вода из-под крана ничуть не хуже той, что в бутылках.Наука, скептицизм, инопланетяне и НЛО, альтернативная медицина, человеческая природа и эволюция – это далеко не весь перечень тем, о которых написал главный американский скептик. Майкл Шермер призывает читателя сохранять рациональный взгляд на мир, учит анализировать факты и скептически относиться ко всему, что кажется очевидным.

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

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

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

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

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

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

12 недель в году
12 недель в году

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

Брайан Моран , Майкл Леннингтон

Зарубежная образовательная литература, зарубежная прикладная, научно-популярная литература
1991. Хроника войны в Персидском заливе
1991. Хроника войны в Персидском заливе

Книга американского военного историка Ричарда С. Лаури посвящена операции «Буря в пустыне», которую международная военная коалиция блестяще провела против войск Саддама Хусейна в январе – феврале 1991 г. Этот конфликт стал первой большой войной современности, а ее планирование и проведение по сей день является своего рода эталоном масштабных боевых действий эпохи профессиональных западных армий и новейших военных технологий. Опираясь на многочисленные источники, включая рассказы участников событий, автор подробно и вместе с тем живо описывает боевые действия сторон, причем особое внимание он уделяет наземной фазе войны – наступлению коалиционных войск, приведшему к изгнанию иракских оккупантов из Кувейта и поражению армии Саддама Хусейна.Работа Лаури будет интересна не только специалистам, профессионально изучающим историю «Первой войны в Заливе», но и всем любителям, интересующимся вооруженными конфликтами нашего времени.

Ричард С. Лаури

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

Благодаря этой книге французские мамы и папы блестяще справляются с проблемой, которая волнует родителей во всем мире, – как без труда уложить ребенка 0–4 лет спать. В книге содержатся 100 простых и действенных советов, как раз и навсегда забыть о вечерних капризах, нежелании засыпать, ночных побудках, неспокойном сне, детских кошмарах и многом другом. Всемирно известный психолог, одна из основоположников французской системы воспитания Анн Бакюс считает, что проблемы гораздо проще предотвратить, чем сражаться с ними потом. Достаточно лишь с младенчества прививать малышу нужные привычки и внимательно относиться к тому, как по мере роста меняется характер его сна.

Анн Бакюс

Зарубежная образовательная литература, зарубежная прикладная, научно-популярная литература / Детская психология / Образование и наука