Насосы интуиции и другие инструменты мышления
Шрифт:
IV.
Интерлюдия о компьютерах
Перерыв. Как вы, вероятно, заметили, я уже несколько раз упоминал компьютеры, а впереди разговоров о компьютерах будет еще больше. Без сомнения, компьютеры – это самые мощные инструменты мышления, которые имеются в нашем распоряжении, и не только потому, что они справляются со многими скучнейшими интеллектуальными задачами, но и потому, что многие концепции, предложенные специалистами по теории вычислительных систем, тоже можно использовать в качестве инструментов мышления. Сегодня мы все плаваем в море компьютерного жаргона – программное и аппаратное обеспечение, ширина полосы пропускания, гигагерцы, – и многие из вас, безусловно, неплохо понимают значения всех этих модных словечек. Мои студенты всякий раз понимающе кивают, когда я использую эти термины на занятиях,
Если вы сейчас не пожалеете времени и сил, чтобы усвоить несколько базовых навыков, впоследствии ваши затраты окупятся сполна, поскольку вы гораздо лучше поймете изложенное далее. (Если же вы в компьютерах собаку съели, мой способ объяснения некоторых тонкостей может пригодиться вам в разговоре с непрофессионалами. Или просто листайте дальше.) Приводимые далее упражнения я тестировал на сотнях студентов, которые боялись компьютеров как огня, и результаты меня радовали: даже те, кто предпочитал заучить наизусть страницу телефонного справочника, только бы не решать никаких головоломок, чувствовали удовольствие и даже некоторое удовлетворение, когда этот простой до идиотизма компьютер справлялся с задачей. Выполнив упражнения, вы узнаете семь секретов силы компьютеров.
24. Семь секретов силы компьютеров
Компьютеры наделены силами, которые несколько веков назад показались бы чудесными – “настоящей магией”. При этом, хотя многие компьютерные программы невероятно сложны, все они состоят из шагов, которые в полной мере объясняются очень простыми словами. В работе компьютеров нет места чудесам. Само это отчасти обусловливает ценность компьютеров в качестве инструментов мышления, и потому возможность объяснить – в общих чертах – принцип работы компьютера весьма интересна с философской точки зрения. Никому не помешает на элементарном уровне разобраться, как компьютеры творят свою “магию”. В этой главе фокус будет разоблачен.
Для начала мы представим себе простейший компьютер – регистровую машину – и проанализируем его возможности и принцип работы. Затем мы увидим, что машина Тьюринга и машина фон Неймана (например, ваш ноутбук) ничем не отличаются от регистровых машин, только работают более эффективно. (Все, что под силу вашему ноутбуку, под силу и регистровой машине, но не обольщайтесь – на это у нее могут уйти столетия.) После этого мы разберем, как “архитектуры” других компьютеров могут повысить скорость работы и производительность нашей базовой регистровой машины. Само собой, интереснее и полезнее всего будет изучить архитектуру человеческого мозга.
Погодите-ка. Неужели я только что сказал, что ваш мозг – это просто гигантский компьютер? Нет, пока я такого не сказал. Я говорю, что если ваш мозг представляет собой гигантский компьютер, то найдется способ полностью объяснить его работу, не оставив никаких тайн, но только если мы сумеем обнаружить этот способ. Мы обратимся к обратному проектированию: будем изучать сложную систему, чтобы выяснить, каким образом она функционирует. Обратное проектирование позволяет нам понять, как сердце качает кровь и как легкие поглощают кислород и отдают углекислый газ. Нейробиология делает попытку применить обратное проектирование к мозгу. Мы знаем, зачем нам нужен мозг – чтобы предвидеть, направлять нас, запоминать и усваивать информацию, – но теперь нам нужно понять, каким образом он это делает.
Споры на эту тему не утихают. Писатель Том Вулф (2000) заострил внимание на больном месте, которое провоцирует ожесточенные баталии, озаглавив свое эссе “Мне жаль, но ваша душа скончалась”. Если мы намереваемся вступить на эту опасную территорию – не тратя времени на разглагольствования и разоблачения, – нам нужны инструменты получше. Прежде чем добросовестно взяться за вопрос, таит ли и использует ли наш мозг не поддающиеся пониманию или чудесные феномены, недоступные никаким компьютерам, нам нужно понять, на что способны компьютеры и как именно они функционируют. Единственный удовлетворительный
Некоторые эксперты – не только философы, но и нейробиологи, психологи, лингвисты и даже физики – утверждают, что “компьютерная метафора” для описания работы человеческого мозга или сознания категорически неверна, а мозгу – что важнее – под силу такие вещи, на которые не способны компьютеры. Обычно, но не всегда, такая критика предполагает весьма наивное представление о том, что такое компьютер или каким он должен быть, и в итоге лишь доказывает очевидную (и не относящуюся к делу) истину, что мозг умеет делать множество вещей, которых не умеет ваш ноутбук (учитывая ограниченное количество его преобразователей и эффекторов, ничтожный объем памяти и низкую скорость работы). Если оценивать эти громкие скептические заявления о возможностях компьютеров в принципе, нужно понимать, откуда в принципе берется вычислительная мощность, как она используется и как может использоваться.
Блестящую идею создания регистровой машины на заре компьютерной эры предложил логик Хао Ван (1957), между прочим, студент Курта Гёделя и философ. Это изящный инструмент мышления, который вам стоит иметь в своем наборе. Он далеко не так известен, как должен бы [28] . Регистровая машина – это идеализированный, воображаемый компьютер (который вполне можно сконструировать), состоящий из некоторого (конечного) числа регистров и блока обработки данных.
28
Благодарю своего коллегу Джорджа Смита, который познакомил меня с регистровыми машинами, когда в середине 1980-х гг. мы вместе читали вводный курс лекций о компьютерах в Университете Тафтса. Он разглядел огромный педагогический потенциал регистровых машин и нашел способ объяснить принцип их работы, которым я воспользуюсь и здесь, обращаясь к несколько другой аудитории. Мастерская учебных программ, которую мы с Джорджем основали в Университете Тафтса, выросла именно из этого курса лекций.
Регистры – это ячейки памяти, каждая из которых имеет уникальный адрес (регистр 1, регистр 2, регистр 3 и так далее) и может содержать одно целое число (0, 1, 2, 3…). Каждый регистр можно представить в виде большого ящика, содержащего произвольное количество бобов, от 0 до …, вне зависимости от размеров ящика. Обычно мы считаем, что в ящике может содержаться любое целое число, поэтому ящики, само собой, должны быть бесконечно большими. Для наших целей подойдут и просто очень большие ящики.
Блок обработки данных имеет всего три простых компетенции, три “инструкции”, которым он может “следовать” пошагово, выполняя одну зараз. Любая последовательность этих инструкций представляет собой программу, и каждой инструкции присвоен номер, чтобы ее идентифицировать. Инструкции таковы:
Конец работы. Машина может остановиться или выключиться.
Инкремент регистра n (прибавить 1 к содержимому регистра n; положить один боб в ящик n) и переход на следующий шаг, шаг m.
Декремент регистра n (отнять 1 от содержимого регистра n; вынуть один боб из ящика n) и переход на следующий шаг, шаг m.