Глаз разума - Хофштадтер Даглас Р. (читать книги полностью .TXT) 📗
Компьютеры пока не играют в шахматы как гроссмейстеры, но уже достигли уровня крепкого любителя. Строго говоря, правильнее будет сказать, что уровня крепкого любителя достигли программы, поскольку программам все равно, в какой компьютер их заложат. Какова при этом роль человеческого программиста? Разумеется, он не управляет компьютером постоянно, как дергающий за ниточки кукловод. Это было бы ловким трюком, обманом. Программист пишет программу, закладывает ее в компьютер, и дальше тот предоставлен самому себе: единственным человеком, взаимодействующим с компьютером, остается его противник, печатающий на клавиатуре свои ходы. Может быть, программист предвидит все возможные шахматные позиции и снабжает компьютер списком хороших ходов на любой случай? Наверняка нет, поскольку количество возможных шахматных позиций настолько велико, что прежде, чем программист закончит свой список, наступит конец света. По этой же причине невозможно запрограммировать компьютер на то, чтобы он анализировал “в уме” все возможные ходы с их возможными продолжениями, пока не найдет выигрышной стратегии. Возможных ходов в шахматах больше, чем атомов в галактике. Таким образом, предыдущие возражения не многого стоят. Проблема шахматного программирования чрезвычайно сложна, и не следует удивляться, что программам еще далеко до высочайшего шахматного мастерства.
В действительности, роль программиста больше походит на роль отца, учащего своего сына игре в шахматы. Он объясняет компьютеру ходы и правила, причем делает это не для каждой определенной позиции, а в виде наиболее экономично изложенных правил. Правда, он не говорит по-русски: “Слоны ходят по диагонали”, но заменяет это высказывание его математическим эквивалентом, что-то вроде: “Новые координаты слона получаются из старых путем прибавления той же константы, не обязательно с тем же знаком, одновременно к координатам x и y”, только короче. После этого он может запрограммировать какой-нибудь совет, написанный на таком же математическом или логическом языке, который в переводе на обычный язык означал бы что-нибудь вроде: “не оставляй короля без защиты”, или какой-нибудь ловкий прием, вроде “вилки” конем. Детали этого очень интересны, но рассмотрение их увело бы нас слишком далеко в сторону. Важно здесь следующее: во время игры компьютер предоставлен самому себе и не может ожидать помощи от своего “хозяина”. Все, что тот может сделать, это заранее запрограммировать компьютер наилучшим образом, гармонично совместив списки конкретных знаний с информацией по общей стратегии и тактике.
Так же гены контролируют поведение механизмов для выживания: не прямо, с помощью зажатых в пальцах ниточек кукловода, а косвенно, как программист влияет на поведение программы. Все, что они могут сделать, это запрограммировать поведение заранее, после чего механизм для выживания должен бороться самостоятельно, пока гены пассивно сидят у него внутри. Почему они так пассивны? Почему бы им не взять бразды управления в свои руки и не установить постоянный контроль? Ответ состоит в том, что они этого сделать не могут по причине отставания по времени. Научно-фантастический рассказ “На Андромеду” Фреда Хойля и Джона Эллиота, как и вся хорошая научная фантастика, базируется на интересных научных фактах. Странно, что книга, как кажется, вообще не упоминает открыто об основном из этих фактов. Надеюсь, что авторы не будут против, если я сделаю это здесь.
За двести световых лет от нас, в созвездии Андромеды (Не путать с галактикой Андромеды, находящейся на расстоянии 2 млн. световых лет. — Прим. изд.), существует некая цивилизация. Андромедяне хотят распространить свою культуру в других мирах. Как лучше всего это сделать? О межзвездном путешествии вопрос не стоит. Скорость света кладет теоретический предел возможностям таких путешествий, а соображения механики делают этот предел намного ниже на практике. Кроме того, возможно, что есть не так уж много миров, которые стоило бы посетить, и нет возможности узнать, в каком направлении они лежат. Радио — лучший способ связи со вселенной, поскольку, если у вас хватает энергии, чтобы посылать сигнал одновременно во всех направлениях, а не в каком-то одном, вы сможете достичь многих миров (их число растет пропорционально квадрату расстояния, на которое путешествует сигнал). Радиоволны перемещаются со скоростью света, что означает, что от Андромеды до Земли сигнал доберется за двести лет. Проблема с таким расстоянием в том, что оно делает беседу невозможной. Даже если не принимать во внимание тот факт, что каждое следующее послание с Земли будет передано людьми, отстоящими от авторов предыдущего послания поколений на двенадцать, попытка поддерживать подобный “межпланетный” разговор будет пустой тратой времени.
Эта проблема вскоре превратится для нас в практическую — от Земли до Марса радиоволны летят 4 минуты. Несомненно, что космонавтам придется отказаться от привычки беседовать короткими чередующимися репликами. Вместо этого им придется использовать длинные монологи, более похожие на письма, чем на реплики в разговоре. Вот еще один пример: Роджер Пэйн указал на то, что акустика моря имеет некоторые особые характеристики, означающие, что очень громкая песня китов теоретически может быть слышна по всему земному шару, если киты при этом находятся на определенной глубине. Неизвестно, сообщаются ли они между собой на такие большие расстояния в действительности, но если да, то они сталкиваются с той же проблемой, как астронавт на Марсе. Скорость звука в воде такова, что потребуется два часа, чтобы песня пересекла Атлантический океан и ответ добрался бы обратно. Мне кажется, что именно этим можно объяснить тот факт, что киты произносят непрерывные “монологи”, никогда при этом не повторяясь, в течение восьми минут. После этого они начинают сначала и повторяют всю песню, и так много раз подряд; каждый цикл занимает около восьми минут.
Андромедяне из фантастического рассказа сделали то же самое. Поскольку ждать ответа не было смысла, они уместили все, что хотели сказать, в одно огромное непрерывное послание и стали передавать его в космическое пространство снова и снова. Время полного цикла составляло несколько месяцев. Однако их послание сильно отличалось от сообщения китов. Оно состояло из закодированных инструкций по построению и программированию гигантского компьютера. Разумеется, инструкции не были составлены на каком-либо из человеческих языков, но опытный криптограф может расшифровать любой код, в особенности если его и составляли с целью легкой расшифровки. Сообщение было принято телескопом Жодрелл Банк, расшифровано, компьютер был построен и программа начала работать. Результаты оказались почти фатальными для человечества, поскольку намерения андромедян были не совсем альтруистичны. Компьютеру почти удалось захватить власть над миром, когда герой наконец с ним расправился, зарубив его топором.
С нашей точки зрения интересен вопрос, в каком смысле можно сказать, что андромедяне управляют событиями на Земле. У них нет прямого контроля над каждым действием компьютера; более того, у них нет способа узнать, был ли этот компьютер вообще построен, поскольку информация об этом достигла бы их только через двести лет. Компьютер сам принимал все решения и предпринимал действия. Он не мог попросить у своих создателей даже общих указаний. Все инструкции должны были быть записаны в нем заранее из-за непреодолимого временного барьера в двести лет. В принципе его программа могла быть очень похожа на программу компьютера-шахматиста, с той разницей, что она была бы более гибкой и обладала бы большей способностью к переработке локальной информации, потому что она была создана, чтобы работать не только на Земле, но в любом мире, где есть развитая цивилизация, в любом из множества миров, особенностей которых андромедяне заранее знать не могли.
Подобно тому, как андромедяне должны были иметь на Земле компьютер, чтобы тот принимал за них повседневные решения, наши гены должны были построить мозг. Но гены в этой аналогии — не только андромедяне, пославшие закодированные инструкции. Они сами по себе являются этими инструкциями. Причина, по которой они не могут прямо управлять нами, как кукловод — марионеткой, одна и та же — запаздывание во времени. Гены работают, контролируя синтез белков. Это могучее орудие для управления миром, но действует оно достаточно медленно. Чтобы построить эмбрион, требуются месяцы терпеливого дергания за белковые “струны”. Поведение, с другой стороны, — вещь быстрая и действует на временных отрезках протяженностью не в месяцы, но в секунды и в доли секунд. В мире что-то происходит, сова проносится над головой, шорох в высокой траве выдает затаившуюся там жертву, и в тысячные доли секунды нервная система приходит в действие, мускулы сжимаются, и чья-нибудь жизнь оказывается спасена — или потеряна. Гены не обладают подобной быстротой реакции. Как андромедяне, гены могут только постараться предусмотреть все заранее, построив себе быстрый компьютер и вложив в программу правила и “советы” на все случаи жизни, которые они способны “предусмотреть”. Но, как и в игре в шахматы, в жизни слишком много различных гипотетических возможностей, и предусмотреть их все невозможно. Как программист, работающий над шахматной программой, гены должны “проинструктировать” собственные механизмы для выживания не по поводу специфических деталей, но дать им общие советы о стратегии и тактике выживания.