Даглас Хофштадтер - ГЕДЕЛЬ, ЭШЕР, БАХ: эта бесконечная гирлянда
- Название:ГЕДЕЛЬ, ЭШЕР, БАХ: эта бесконечная гирлянда
- Автор:
- Жанр:
- Издательство:Издательский Дом «Бахрах-М», 2001.
- Год:2001
- Город:Самара
- ISBN:ISBN 5-94648-001-4
- Рейтинг:
- Избранное:Добавить в избранное
-
Отзывы:
-
Ваша оценка:
Даглас Хофштадтер - ГЕДЕЛЬ, ЭШЕР, БАХ: эта бесконечная гирлянда краткое содержание
Не часто приходится держать в руках книгу, которая открывает новые миры, в которой сочетаются глубина мысли и блестящая языковая игра; книгу, которой удалось совместить ничем на первый взгляд не связанные сложные области знания.
Выдающийся американский ученый изобретает остроумные диалоги, обращается к знаменитым парадоксам пространства и времени, находит параллели между картинами Эшера, музыкой Баха и такими разными дисциплинами, как физика, математика, логика, биология, нейрофизиология, психология и дзен-буддизм.
Автор размышляет над одной из величайших тайн современной науки: каким образом человеческое мышление пытается постичь самое себя. Хофштадтер приглашает в мир человеческого духа и «думающих» машин. Это путешествие тесно связано с классическими парадоксами, с революционными открытиями математика Курта Геделя, а также с возможностями языка, математических систем, компьютерных программ и предметного мира говорить о самих себе с помощью бесконечных отражений.
Начав читать эту книгу,вы попадете в волшебные миры, отправитесь в путешествие, изобилующее увлекательными приключениями, путешествие, после которого вы по-иному взглянете на мир и на самого себя.
Переведенная на 17 языков, книга потрясла мировое интеллектуальное сообщество и сразу стала бестселлером. Теперь и русский читатель получил доступ к одной из культовых книг XX века.
ГЕДЕЛЬ, ЭШЕР, БАХ: эта бесконечная гирлянда - читать онлайн бесплатно полную версию (весь текст целиком)
Интервал:
Закладка:
Вне сомнения, это происходит, когда мы думаем о нашей собственной психологии — скажем, когда мы пытаемся понять мотивы различных человеческих поступков. В структуре человеческого разума есть множество уровней — безусловно, это система, которую мы пока понимаем недостаточно хорошо. Существуют сотни соперничающих друг с другом теорий, объясняющих различное поведение; они основаны на предположениях о том, насколько глубоко в этой иерархии уровней расположены те или иные психологические «силы». Поскольку в настоящее время мы используем почти один и тот же язык для описания различных уровней, это приводит к немалой путанице и, наверняка, к рождению множества ложных теорий. Например, мы говорим о стимулах — сексе, власти, славе, любви — понятия при этом не имея, где именно в структуре человеческого интеллекта они зарождаются. Я не буду останавливаться на этом подробно; скажу лишь, что наше непонимание того, кто мы есть, безусловно связано с тем фактом, что мы состоим из большого количества уровней и используем один и тот же язык для описания нас самих на разных уровнях.
Существует еще одно место, где многие уровни описания сосуществуют в единой системе и все уровни концептуально близки один к другому. Я имею в виду компьютерные системы. Работающую компьютерную программу можно рассматривать на нескольких уровнях. На каждом уровне описание дается на языке вычислительных машин, что делает все описания в какой-то мере схожими — в то же время между нашим восприятием разных уровней есть крайне важные различия. На низшем уровне описание настолько сложно, что его можно сравнить с описанием образа на экране телевизора в виде набора точек; однако для определенных целей нужен именно такой взгляд на вещи. На высшем уровне описание представлено в форме крупных блоков и воспринимается совершенно по-другому, несмотря на то, что многие понятия повторяются как на низшем так и на высшем уровнях. Блоки описания на высшем уровне можно сравнить с блоками шахматного мастера и с блочным описанием образа на экране: они суммируют в сжатой форме те вещи, которые на низших уровнях представлены как отдельные. (См. рис. 57.)

Рис. 57. Идея «укрупнения» группа предметов воспринимается как единый «блок» Граница этого блока работает как клеточная мембрана или национальная граница, она устанавливает индивидуальность группы предметов внутри нее. В зависимости от контекста, внутренняя структура блока может приниматься во внимание или игнорироваться.
Чтобы предмет нашего разговора не стал слишком абстрактным, обратимся к конкретным фактам из области вычислительной техники; для начала бросим взгляд на то, что представляет собой компьютерная система на низшем уровне. Низший уровень? Не совсем, конечно — но я не буду здесь говорить об элементарных частицах, так что для нас это будет низшим уровнем.
В основании компьютерной системы находится память , центральный процессор (ЦП) , и некоторые вводно-выводные устройства . Сначала давайте опишем память. Она состоит из отдельных физических единиц, называемых словами. Для конкретности скажем что в памяти есть 65 536 слов (это типичное число — 2 в 16-ой степени). Слово далее подразделяется на то что мы будем считать атомами информатики — биты . В типичном слове — около тридцати шести битов. Физически бит представляет собой магнитный «выключатель» который может быть в одном из двух положений.
00X0XXX0X00XX00X0XXXXXX0XX00XXX0000
— слово из 36 битов —
Вы можете называть эти положения «вверх» и «вниз», или «x» и «o», или «1» и «0». Последнее — общепринятое название, оно вполне адекватно, но может запутать читателя, заставив его думать, что на самом деле в памяти компьютера хранятся числа. Это неверно. У нас столько же оснований думать о наборе из тридцати шести битов, как о числе, как и считать, что два четвертака — это цена мороженого. Так же, как деньги могут быть использованы по-разному так и слово в памяти может выполнять разные функции. Строго говоря, иногда эти тридцать шесть битов действительно могут представлять число в двоичной записи. В другой раз они могут представлять тридцать шесть точек на экране телевизора, или же несколько букв текста. Наша интерпретация слова в памяти целиком зависит от той роли, которую это слово играет в использующей его программе. Разумеется, оно может играть несколько ролей — как нота в каноне.
Существует еще одна интерпретация слова, о которой я пока не упоминал слово может интерпретироваться как команда . Слова памяти содержат не только данные, на основании которых действует компьютер, но и программу, действующую на эти данные. Существует ограниченное количество операций, которые могут быть выполнены центральным процессором — ЦП — и часть некоего слова (обычно несколько первых битов) интерпретируются как название типа команды, которая должна быть выполнена. Что же означают остальные биты в слове-команде? Чаще всего, они говорят, на какие другие слова памяти надо воздействовать. Иными словами, остальные биты являются указателем на какое-либо другое слово (или слова) памяти. Каждое слово в памяти имеет свое расположение, как дом на улице; это расположение называется адресом . Память может иметь одну «улицу» или много «улиц» — они называются страницами. Таким образом, адрес любого слова — это номер страницы (если память подразделена на страницы) и его расположение на этой странице. Итак, «указатель» — это часть команды, содержащая числовой адрес какого-либо слова (или слов) в памяти. На указатель нет никаких ограничений, так что команда может даже указывать сама на себя — в этом случае, когда она действует, она изменяет саму себя.
Откуда компьютер знает, в какой момент надо выполнять ту или иную команду? Об этом заботится ЦП. В нем есть специальный указатель, который указывает (то есть хранит соответствующий адрес) на следующее слово-команду. ЦП извлекает это слово из памяти и копирует его на специальное слово в самом ЦП. (Слова в ЦП обыкновенно называют не словами, а регистрами .) После этого ЦП выполняет эту команду. Команда может вызывать любую из большого количества возможных операций; типичные операции включают:
ДОБАВИТЬ слово, указанное в команде, к регистру. (В этом случае данное слово интерпретируется как число.)
НАПЕЧАТАТЬ слово, указанное в команде, в виде букв. (В этом случае данное слово интерпретируется не как число, а как строчка букв.)
Читать дальшеИнтервал:
Закладка: