ВЛАДИМИР ГУБАЙЛОВСКИЙ
Опубликовано в журнале Новый Мир, номер 8, 1999
ВЛАДИМИР ГУБАЙЛОВСКИЙ
*
ВЕК ИНФОРМАЦИИ
1
C самого начала развития компьютеров их всегда соотносили с мозгом человека, с его способностью мыслить. Еще в 1953 году Клод Шеннон, один из тех инженеров и математиков, кого можно назвать основоположником теории информации и компьютеризации, писал: “Мозг часто сравнивали, иногда слишком восторженно, с вычислительными машинами. Мозг содержит 1010 активных элементов, называемых нейронами. Так как передача нервных возбуждений осуществляется по принципу “все или ничего”, нейроны имеют некоторое функциональное сходство с элементами двоичной вычислительной машины — реле, лампами или транзисторами. Правда, количество клеток в миллион раз (на 6 порядков) превышает количество элементов, используемых в самых сложных вычислительных устройствах (объем памяти машин, которые имеет в виду Шеннон — ENIAK или UNIAK, — был равен 1 — 3 кб; для сравнения: современная трехдюймовая дискета хранит примерно в тысячу раз больший объем информации. — В. Г.). Мак-Каллок образно выразился, что вычислительная машина, имеющая столько ламп, сколько нейронов имеет человеческий мозг, потребовала бы для своего размещения Эмпайр Стейт Билдинг, Ниагарский водопад для обеспечения ее энергией и Ниагару для охлаждения”1.С тех пор прошло сорок пять лет. Срок не слишком большой. Можно себе представить программиста, начинавшего работать еще в то время, когда Шеннон писал процитированную статью, и до сих пор занятого тем же делом. Сегодня компьютеры, обладающие таким объемом памяти, какой Шеннон просто отказывался рассматривать всерьез, считая совершенно фантастическим, — вещь вполне обычная. Такой объем памяти устанавливается на центральные сетевые машины (сервера) средних компаний — их десятки тысяч. В серверах крупных сетей и почтовых машинах, обслуживающих Интернет, память иногда больше на порядок. Если мы, кроме того, учтем, что объем памяти и быстродействие компьютеров по самым скромным оценкам удваиваются в среднем за два года, скоро подобную память можно будет встретить у самых банальных домашних или офисных машин. Вы смотрите на экран компьютера и понимаете, что его память не меньше, чем ваша собственная. Такой прогресс, такое изменение соотношения не может не сказаться на всей картине человеческого бытия.
Компьютеров много — каждый год объемы продаж растут и сейчас исчисляются уже многими десятками миллионов. Все это, конечно, внешние и поверхностные факты, которые сами по себе еще мало что значат. Но все-таки темпы не могут не впечатлять. Поневоле приходится спрашивать себя, почему именно компьютерные и информационные технологии переживают такой бум, резко выделивший их сегодня из всех прочих областей человеческой деятельности, и что же они принесли с собой в мир, как они его изменили.
Шеннон привел свой пример как заведомо убийственный — раз память компьютера никогда даже не приблизится к памяти человека, то и говорить не о чем2. Мы видим, что именно в этом он ошибся.
Шеннон писал о компьютерах первого поколения (до 1953 года), по существу, его прогноз — линейная футурология. Этот метод предсказания просто и прямо — “в лоб” — увеличивает существующий объем без учета возможности принципиально новых технологических решений. Линейная футурология всегда ошибается, но ошибка в миллиарды раз — даже для нее неслыханная редкость. Сегодня память размещается на кремниевом кристалле, сравнивать размер которого с Эмпайр Стейт Билдинг несколько странно. Интересно другое: этот кристалл гораздо меньше коры головного мозга. Память компьютера намного “плотнее”, чем память человека.
Ламповые компьютеры, в эпоху которых сделал свой прогноз Шеннон, — это архейская эра. Компьютеры были редчайшим явлением, чуть ли не каждый имел собственное имя, и никакой особой роли в жизни общества они не играли. В то же время само общество компьютерами очень интересовалось. Восторг и испуг были, по-видимому, главной реакцией, которую они вызывали. Восторг выразился прежде всего в вопросе, заданном совершенно всерьез: может ли машина мыслить? А вдруг может? Испуг (в нашей стране в первую очередь) вызвал почти инстинктивное отрицание и объявление кибернетики лженаукой. Свою работу Шеннон написал прежде всего для читателя, далекого от компьютера и теории информации, он пытается объяснить, что выводы делать рано, что не стоит торопиться, пытается сбить волну энтузиазма и страха.
Волна прошла, о компьютерах начали подзабывать, они перестали появляться в броских газетных заголовках, но профессионалы продолжали работать. Наступили 60-е годы — время каменного топора: компьютер стал рабочим инструментом, но неудобным и прямолинейным по своим возможностям, крайне капризным и требовательным к условиям своего существования. Правда, уже незаменимым.
Главное применение компьютера в это время — вычисления. Самый известный первый (а до некоторого момента вообще единственный) алгоритмический язык FORTRAN — formula translator — переводчик формул. Именно таким было первое реальное использование компьютера. Компьютер считал. Число “пи” до страшно сказать какого знака, таблицы синусов и тангенсов с умопомрачительной точностью. То, на что люди тратили десятки лет, теперь удавалось вычислить за несколько дней или даже часов. Стала бурно развиваться математика приближенных вычислений. Взгляд на компьютер как на огромный и сверхмощный арифмометр стал преобладающим на многие годы3. Это время, когда человек приходил к компьютеру, а не наоборот. Человек готовился: набивал перфокарты или перфоленты — то есть переводил свои запросы на язык квадратных и круглых дырочек, дожидался своего часа — пуска своей программы, получал распечатку ошибок и бежал в свой уголок ее осмысливать. Многие еще помнят такой режим работы. Человек был готов пойти на все, лишь бы компьютер функционировал и выполнял задания. Навесные потолки и фальшполы, сложная система охлаждения, вход в зал в белом халате. Программисты, техники, даже простые операторы ввода — почти жрецы. Они допущены в святая святых. Прочие толкутся на пороге и подглядывают в щели: что там? Лампочки мигают! Ленты крутятся! Принтер грохочет, как камнепад! У! В тот героический период компьютер (у нас их называли ЭВМ — электронно-вычислительная машина) — почти всегда IBM (ЕС по-советски). Но в общем-то вся эта тяжеловесная машинерия пока что имела существенное значение только для самих вычислителей и математиков. Ну, считают они— ну и хорошо. Компьютер может вычислить синус любого угла? Так и что? С точностью, нужной для большинства практических приложений инженерных задач, синус можно просто посмотреть в таблице Брадиса.
Ситуация начала резко меняться в 70-е годы. Появляются персональные компьютеры. Прежде всего Apple. Компьютер пришел к человеку. И хотя мощность первых Apple была несравнимо меньше, чем у IBM, компьютер стал ближе и понятнее. Кстати, именно тогда были реализованы основные принципы многооконного интерфейса, которые позднее будут восприняты оболочкой Windows. Компьютер стал “думать” о человеке, о его удобствах, а не только о том, как бы быстрее посчитать. От последовательности, когда человек готовит задание, а компьютер задание выполняет, был совершен переход к параллельной работе человека и компьютера. Фирма IBM, как и всякая огромная империя, оказалась очень неповоротлива: поначалу она даже не обратила внимания на персональные компьютеры. Но когда объемы продаж Apple стали обвально нарастать, в IBM постепенно поняли, что упускают совершенно новый сегмент рынка. Последовал “огромный неуклюжий скрипучий поворот руля”, и вместе с Microsoft IBM выбросила на рынок миллион (sic!) компьютеров PC (Personal Computer). Это произошло в 1981 году. Тогда и началась современная компьютерная эра. В этот некруглый год компьютер вошел в офисы и дома и расположился там, наверное, навсегда.
Это период резвого младенчества персональных компьютеров. Операционные системы возникают десятками. Чуть ли не каждая компания, производившая компьютеры, считала долгом чести создать свою. Основным языком программирования стал Бэйсик — язык очень простой и доступный. Всякий человек, посвятивший пару месяцев его изучению, мог считать себя умудренным и многоопытным гуру. Тогда же были созданы электронные таблицы и текстовые редакторы — весьма удобные истинно персональные инструменты. Никакого общего стандарта не было, и еще не просвечивала сквозь каждое приложение лукавая улыбка Билла Гейтса. Появились компьютерные игры, и самая знаменитая из них — “Тетрис”. Однако как только сделалось понятно, что персональный компьютер не только игрушка, что он может реально работать, потребовался стандарт и взаимная совместимость программ, процессоров, систем хранения информации, резко возросли требования к квалификации программиста и надежности “железа”, многие фирмы разорились, другие ушли в тень мощных конкурентов. Ситуация стабилизировалась, и компьютерный мир приобрел вполне оформленные очертания.
Первые компьютеры были однопользовательскими и однозадачными. Когда в 60-е годы IBM приняла решение о создании действительно работоспособной машины, стало ясно, что такое дорогое оборудование должно быть загружено максимально, а значит, должно быть много пользователей и много задач— только таким образом можно было загрузить машину полностью, без простоев. Персональные компьютеры стали в некотором смысле шагом назад, но они были настолько дешевле и проще в эксплуатации, чем “большие” машины, что их и не стояло необходимости загружать круглосуточно. Когда персональные компьютеры начали работать всерьез — кроме набора текста и простых расчетов, — возникла потребность их объединения. Появились локальные сети; потом эти сети стали объединяться в большие корпоративные сети и дальше в глобальные. Пределом такого развития стало появление всемирных сетей, которые в конечном счете образовали одну “всемирную паутину” — Интернет.
Толчком с созданию глобальной сети стал запуск в СССР в 1957 году первого искусственного спутника Земли. Времена были глухие: “холодная война”, “охота за ведьмами” и много всего такого. Министерство обороны США поставило перед американской наукой задачу разработать структуру связи, которая могла бы продолжать действовать после ядерного удара, когда большинство коммуникаций будет разрушено. Основные идеи лежали на поверхности: нужна структура, не имеющая одного главного центра. То есть требуется построить не дерево связи, а сеть, и построить так, чтобы пакеты данных передавались с узла на узел, чтобы сеть перекидывала их, как “горячую картофелину”, и только на последнем узле — приемнике — пакеты собирались в корректное сообщение. Тогда был организован ARPA (Pentagon’s Advanced Research Project Agency — Передовая научно-исследовательская ассоциация Пентагона)— комитет, объединивший мощные научные силы для работы над этой проблемой. Первые теоретические решения появились в начале 60-х годов. Тогда же начала создаваться первая глобальная сеть — ARPANET.
Первая сеть, как и первые компьютеры, была, мягко говоря, не очень удобной для использования. Вы входили не в заботливый Netscape или Explorer, который понимает вас с одного клика мыши или нажатия клавиши, а в суровый черно-белый экран с командной строкой для ввода UNIX-команды. Но тем не менее удобства, предоставляемые сетевым обменом, оказались настолько существенными, что Сеть начала стремительно расти.
В феврале 1976 года английская королева Елизавета II отправила свое первое электронное послание.
Сеть входила в повседневную жизнь человечества. Это еще не было тем Интернетом, какой мы имеем сегодня. Но физически Сеть уже существовала и уже появилась возможность передачи сообщений и участия в телеконференциях, просмотр новостей и доступ к библиотекам.
Свою вторую составляющую Сеть обрела в CERN (Европейский центр ядерных исследований, Женева, Швейцария) в 1989 году. Здесь был создан стандарт языка гипертекста (HTML, текста со встроенными ссылками). Очень быстро стало понятно, что текст — это еще не все, что можно дать ссылку и присоединить к тексту изображение и звук. Этот стандарт назвали “мозаикой”. Были найдены решения, позволявшие связывать узлы Сети, не слишком напрягая пользователя, присоединившие электронную почту и в конце концов слившиеся в одну программу, с которой человек должен общаться, — например, Netscape.
Третьей составной частью, третьим источником современного Интернета стал язык программирования JAVA. Идея этого языка проклюнулась в исследовательской лаборатории фирмы SUN в 80-е годы, и первоначально JAVA разрабатывался как язык программирования бытовых приборов — чайников и тостеров. Но постепенно и здесь накопились чрезвычайно интересные решения и пришла мысль использовать JAVA для создания приложений, работающих в Сети. Идеи, лежащие в основе JAVA, известны давно (я ловлю себя на мысли, что вообще-то все известно давным-давно, но реализация ждет своего часа очень долго). Главное в этом языке — независимость от платформы (типа компьютера или операционной системы) и возможность выполнять приложения, располагающиеся физически на разных компьютерах, как одну общую программу. То есть в пределе мы все пишем одну и ту же программу и каждый из нас создает свое приложение, которое может быть в свое время востребовано или безнадежно забыто, если оно никому не понадобилось.
Скорость, с которой растет Сеть, ошеломляет. Если в 1993 году, когда Россия присоединилась к сети, количество Hosts (систем, обладающих собственным IP-адресом, — это может быть один компьютер, а может и целая сеть, включающая сотни) было около двух миллионов, то на конец 1998 года их по крайней мере сорок миллионов. Каждый день 1998 года в Сети регистрировалось порядка двадцати тысяч новых IP-адресов. Можно ожидать, что к 2001 — 2002 году к Интернету подключится первый миллиард.
Почему происходит такой лавинообразный рост? Почему среди всех информационных технологий на сегодняшний день Сеть является наиболее быстро развивающейся?
Интернет есть индивидуальное средство получения информации, ничем не ограниченное, никак не регламентированное государством или чем-то или кем-то вообще. Кроме того, доступ здесь анонимен, что, как выяснилось на примере порносайтов, очень важно. Далеко не всякий купит порножурнал в газетном киоске, а что делает прежде всего большинство мужчин, подключившись к Сети? Наведывается на страничку с порнушкой. При доступе по Интернету вы сами находитесь в вершине пирамиды ссылок, сами решаете, что вам нужно; в информационном плане вы ни от кого и ни от чего не зависите и так или иначе можете воспользоваться любой информацией, если только она есть в Сети (все современные методы защиты принципиально проходимы). Играет свою роль и удовлетворение самого обыкновенного человеческого тщеславия. Когда вы находите свое имя в Сети, то понимаете, что оно известно, в принципе, всему миру.
Сеть стоит очень дешево. Если разговор по телефону, скажем, из России с Америкой обходится вам в 1 — 2 доллара за минуту, то абонентная плата за обмен электронными письмами любого объема не превышает 20 — 50 долларов в месяц. А ведь по Сети можно говорить и даже видеть своего собеседника (правда, пока с довольно убогим качеством, но это дело ближайшего будущего). Сеть — это рекламное эльдорадо. Во-первых, почти даром, во-вторых, всем и вся, в-третьих, — самая свежая информация.
Если вас попросят найти нужную карточку из пачки в пять тысяч штук и карточки будут сложены случайным образом, вы потратите много часов, а когда нужной карточки все-таки не окажется, вы вряд ли сможете с уверенностью сказать, что случайно ее не пропустили. Но если карточки упорядочены по алфавиту, потребуется всего несколько минут. Если же это не физические карточки, а записи базы данных, мы получим ответ мгновенно. Информация в Сети структурирована (может быть, еще недостаточно хорошо), и поисковые программы просматривают огромные объемы данных, физически находящихся в самых разных точках земного шара.
Представьте себе, что вы пишете научную статью и вам необходимо большое количество ссылок. Время, которое вы потратите на поиск необходимых цитат, может во много раз превысить время собственно творческой работы. Согласно одной из концепций субъективного времени, его продолжительность прямо пропорциональна количеству полученной информации, то есть если за один и тот же отрезок физического времени вы получаете в первом случае больше информации, чем во втором, то первый отрезок субъективного времени больше, чем второй. Сеть способна увеличить объем информации в единицу времени скачкообразно — а значит, субъективное время растягивается. Сеть удлиняет если не физическую, то сознательную жизнь человека.
Постепенно Сеть образует вполне самостоятельную и самодостаточную сферу. Она растет и, очевидно, является ныне определяющим моментом для информационных и компьютерных технологий. Когда сегодня говорят — компьютер, подразумевают — Интернет.
Теоретическая база, на основе которой и развиваются все современные информационные технологии, была полностью подготовлена, когда о компьютерах еще мало кто думал4. В начале нашего века логика пережила мощнейший прорыв, связанный главным образом с исследованиями оснований математики. Показалось, что после того, как разработана аксиоматическая теория действительного числа и теория множеств, можно и нужно добиться последней строгости и четкости в самых основах математической науки. Однако Бертран Рассел сформулировал свои знаменитые парадоксы, и совершенное, вроде бы почти завершенное здание закачалось — треснул фундамент.
Один из этих парадоксов Рассел изложил в виде загадки: “В деревне все мужчины бреются. Брадобрей бреет только тех, кто не умеет держать в руках бритву. Кто бреет брадобрея?” Ни один ответ не проходит. Ни да, ни нет. Оба противоречат условиям. Брадобрей умеет держать бритву, иначе он не брадобрей, значит, он должен бриться сам, но он не может брить себя потому, что он брадобрей, а брадобрей бреет только тех, кто бритву держать не умеет. (Один из путей, по которому пошла логика, преодолевая парадокс, — это отправить брадобрея на выселки в метадеревню.)
Не все интуитивно логичное есть область логики. Парадоксы потребовали выделить и отграничить область собственно логики, а потом четко определить понятия вычислимости и алгоритма.
Мы все интуитивно понимаем, что такое алгоритм: это некоторая последовательность действий, но не всяких. “Налево пойдешь — коня потеряешь, направо пойдешь — головы не сносишь” — подобие алгоритма. А вот разговор Алисы: “Куда тебе нужно прийти?” — “Все равно куда”. — “Тогда все равно, куда идти”. — “Но нужно куда-нибудь обязательно прийти”. — “Тогда иди куда хочешь, но только уж не сворачивай”, — понятно, что это не алгоритмическое описание.
Ощущение, что некоторые последовательности однозначных действий близки к логике и математике, было уже у греков (у Аристотеля, у стоиков), но четкое понимание того, что же такое алгоритм, появилось лишь в 30-е годы. Одному из крупнейших американских логиков, А.-М. Тьюрингу, принадлежит не первое по хронологии, но самое, на мой взгляд, наглядное определение алгоритма — в виде некой формальной машины с конечным числом состояний, которая движется по бесконечной бумажной ленте, где нарисованы квадратики. У машины есть маркер, и она, перемещаясь в заданную клеточку, может ее покрасить (сделать черной, если клеточка белая) или протереть (сделать белой, если клеточка черная). Вот и все, что машина Тьюринга умеет. Самое поразительное, что любой формальный алгоритм, какой бы сложности он ни был, на этой машине реализуется.
Когда это стало ясно, Алонзо Чёрч сформулировал тезис: множество всех программ для машины Тьюринга и есть все вычислимое множество — все, что можно посчитать. Момент очень важный, практически революционный. Люди начали точно представлять себе все множество вычислимых вещей, то есть указали границы, за которыми вычислению нечего делать. Сразу же выяснилось, что есть задачи, которые машине Тьюринга (а значит, и любой другой вычислительной машине) не под силу.
Анализируя одну из таких задач (процедур), С. К. Клини пишет: “Мы должны ожидать, что руководитель вычислительного центра неизбежно потерпит неудачу, если он предпримет разработку [этой] процедуры. Это опровергает представление о том, что машины могут все, которое внедряется в общественное мнение нынешними сообщениями о современных достижениях в области быстродействующих вычислительных машин. Чтобы улучшить эту процедуру или машину, нужна изобретательность, то есть вещь, которую нельзя встроить в машину”5.
Неразрешимые задачи — вполне формальные, но тем не менее нереализуемые с помощью компьютера — составляют довольно экзотический класс, интересный для человека, не занимающегося профессионально математикой или логикой, прежде всего фактом своего существования. Да, компьютеры могут не все и все никогда не смогут. Но существует другой — куда более простой класс — проблем, где компьютеры практически неприменимы. Это “трудноразрешимые” проблемы — задачи, сложность которых нарастает экспоненциально, и никаких алгоритмов существенно более быстрых, чем полный перебор, для их точного решения неизвестно.
Например, задача коммивояжера: есть N городов, соединенных дорогами, требуется придумать, как их все объехать по маршруту минимальной длины. При достаточно больших N полный перебор становится нереальным, и как бы быстро ни увеличивалось быстродействие компьютера, оно все равно растет много медленнее, чем сложность задачи при росте N. И подобных задач много.
Область применения компьютера — это не принципиальная вычислимость, а реальная, то есть некоторое подмножество всех вычислимых алгоритмов. Каждый реально вычислимый алгоритм — это алгоритм, который завершается в обозримое время, причем “обозримость” в каждом случае оговаривается особо, иногда это наносекунда, иногда — год. Если для принятия решения необходимы секунды, а любой доступный компьютер будет работать дни— задача практически неразрешима. Следует отметить, что область практической неразрешимости очень быстро меняется — сегодня нет, завтра да.
2
Можно указать достаточно много областей знания и деятельности, где компьютер, вторгаясь в современную жизнь, существеннейшим образом меняет ее реалии — порой даже такие, которые казались незыблемыми. Ограничимся здесь тремя примерами.
Вековая мечта человечества — создать шахматную машину (первые, придуманные авантюристами, появились еще в XVII веке и представляли собой лабиринт из связанных между собой ящиков, в которых прятался живой шахматист, успевавший переходить из одного ящика в другой, когда зрители хотели убедиться в его отсутствии).
В мае 1997 года состоялся матч Гарри Каспарова с компьютером Deep Blue, в котором компьютер победил с преимуществом в одно очко — 3,5: 2,5. Реакция на это событие была самой разной — от восторженных возгласов до полного разочарования — и напомнила события и споры сорокалетней давности. В комментариях недостатка не было. Кто-то говорил, что шахматы умерли. Кто-то требовал изменения правил. Кто-то полагал, что событие это — не более чем рекламный трюк, устроенный IBM. Один из разработчиков Deep Blue назвал этот компьютер ни много ни мало “вызовом Творцу”.
На мой взгляд, комментаторы прошли мимо главного результата этого уникального эксперимента, который относится не только и не столько к шахматам.
Проект Deep Blue, профинансированный IBM, включал в себя создание уникального компьютера, исследование и ввод огромного количества информации (чуть ли не все гроссмейстерские партии, сыгранные за два последних столетия), сведение практически всех исследований шахматных дебютов в общую базу знаний, разработку алгоритмов оценки шахматной позиции. Проект занял много лет. В нем участвовало множество специалистов в самых разных областях знаний, в том числе и шахматисты. Задача требовала от компьютера огромного и специфического быстродействия — оценки около миллиарда позиций в минуту. Разработчики достигли успеха: лучший шахматист мира потерпел поражение. Значит ли это, что Deep Blue действительно играет сильнее Каспарова? Мне кажется, нет. В чем компьютер сильнее шахматиста? Он не волнуется, не допускает “зевков” — элементарных ошибок, от которых не застрахован даже чемпион мира, поскольку человек не может быть одинаково сосредоточен на протяжении нескольких часов. Память компьютера очень велика, и поиск стандартных решений он производит очень быстро. Компьютер делает почти бессмысленным доигрывание малофигурных, “технических” эндшпилей, здесь он наверняка не ошибется. Но при выборе оптимального решения компьютер использует строго фиксированные алгоритмы оценки позиции и не может придумать новый принцип оценки, а человек может, и если это произойдет за доской, компьютер не сумеет выбрать верное, сильнейшее продолжение, и тогда он скорее всего потерпит поражение. Для того чтобы новый принцип оценки позиции можно было реализовать в виде готового к программированию алгоритма, могут потребоваться годы труда. Неуловимая интуиция, которая подсказывает шахматисту, что эта позиция лучше, чем та, должна обрести строгое формальное описание — стать воспроизводимой. Шахматисту ничего этого часто не нужно — позиция может больше ему не встретиться никогда. Решение может быть уникальным — шахматы для этого достаточно богаты. Если шахматист знает, как именно устроены алгоритмы оценки, используемые компьютером, он может поставить перед машиной неразрешимые задачи и заставить ее играть заведомо плохо. Михаил Таль говорил, что совсем не обязательно просчитывать комбинацию до конца, важнее ее почувствовать. По словам Каспарова, если бы Deep Blue играл в турнирах, к нему бы очень быстро приспособились, нашли бы его слабые места. У меня нет никаких оснований сомневаться в правоте гроссмейстера. Так что говорить о смерти шахмат по меньшей мере преждевременно.
Дело не в том, что Deep Blue здорово играет в шахматы, а в том, что, сложив вместе огромные усилия и достижения множества людей, удалось однажды противостоять одному человеку в реальном времени, и человеку не случайному, а сильнейшему в своей области, и область эта, безусловно, очень сложна и разнообразна, хотя, по-видимому, исчислима. Компьютер сыграл роль собирающей линзы, которая сфокусировала усилия целого коллектива людей. Сложение разнонаправленных усилий реализовать очень трудно. Если и не всегда это лебедь, рак и щука, то часто очень близко тому. В механизации физического труда эффективное сложение удалось довольно давно, но решение настолько сложной интеллектуальной задачи, как игра в шахматы, казалось неопределенно далеким. Как думать вместе об одном и том же таким образом, чтобы мысли разных людей не подавляли, не нейтрализовали друг друга, а усиливали, помогали и чтобы это происходило буквально одновременно? Ответ на этот вопрос в одном частном конкретном сложном случае дали создатели Deep Blue. Это и есть, как мне кажется, главный результат эксперимента.
Изобретение книгопечатания Гутенбергом привело к общему изменению информационного обмена, прежде всего к удешевлению каждого символа. Конечно, существует серьезная разница между монахом-переписчиком, который прорисовывает каждую букву, и печатным станком, даже самым примитивным, на котором можно сотни раз прокатывать однажды набранную страницу. Увеличение числа идентичных источников информации качественным образом изменило доступ к ней. Появились во множестве хранилища данных — библиотеки. Печатный станок был многократно модернизирован, но не претерпел качественных изменений: принцип образ — оттиск сохраняется и сегодня.
Массовое применение компьютеров привело не только к полному изменению отношения образ — оттиск, к переводу его в совершенно новую парадигму: образ — образ, когда производящий объект тождествен производному, но и к полному изменению понятия тиража или копирования. Если раньше, прежде чем запустить что-либо на поток, следовало сначала сделать опытный экземпляр, потом придумать технологию производства, которая сама по себе требовала массы идей и реализаций, и только потом приступить к воспроизведению, причем в каждом случае только приблизительно повторяющему образец, а иногда очень далеко от него отклоняющемуся (это брак, при компьютерном копировании брака нет в принципе, если только физические носители не подводят), то теперь проблема стала заключаться совершенно в обратном: не как сделать больше точных копий, а как предотвратить неразрешенное копирование.
Теперь люди во многих случаях могут ограничиться размышлением и фиксацией своей мысли в некотором оговоренном виде — в виде алгоритмов и структур данных, не задумываясь о том, каким образом полученные результаты будут тиражироваться. Ситуаций, когда этого подхода вполне достаточно, становится все больше и больше. Тиражирование программ — дело простое и дешевое, его не сравнить, скажем, с постройкой станка, даже поставленного уже на поток. Практически же, если продолжать сравнение со станком, здесь часто происходит тиражирование не столько самого инструмента, сколько всей технологической цепи производства — в частности, когда дело касается чисто информационного обмена: например, программы бухгалтерского учета, программы для банков и фондовых бирж, различные управленческие комплексы; и в принципе не имеет значения, на каком конкретно компьютере это реализуется.
Самое, может быть, важное заключается в том, что, в отличие от печатной продукции, компьютер тиражирует не статический образ, который он отразил, но последовательность действий. Здесь можно вспомнить слова Карла Маркса, что с дифференциальным исчислением в математику вошло движение, — с компьютерами движение стало сохраняемым и воспроизводимым. Движение вошло в отражаемый образ. Движение, действие, замороженное, но оживающее по команде — включению электрического тока, — оказалось возможно не только сохранять, но и копировать и изменять в зависимости от действий другой программы или вмешательства человека.
Чем лучше становится информационный обмен, чем он проще и оперативнее, тем дальше мы от материального носителя данных. Самый яркий пример — это деньги. Обмен некоторого твердого эквивалента затраченного труда— например, золота — на товар очень от этого эквивалента зависит: золото— это золото, а не что-нибудь другое. Когда появились ассигнации — то есть долговые бумаги банков, государственных или частных, — мы до какой-то степени абстрагировались от материала: пусть каждая бумага обеспечивается золотом, но в обороте участвует именно специальная бумага, а не сама ценность. Ассигнации, бумажные деньги, стали первым шагом перехода в процессе денежного обращения от материи к информации, которая эту материю описывает, и описывает полностью с точки зрения ее применимости. Следующий шаг был сделан совсем недавно: пластиковые карточки, или электронные деньги. Еще более абстрагированные от материального носителя, они в то же время приближены к конкретному обладателю денег. Средства, находящиеся на банковском счете, всегда имеют владельца. Они становятся чистой информацией о вашей платежеспособности. Оплата, таким образом, становится просто движением информации. Все понятно, однозначно и удобно. Возникает, правда, одна проблема. Дело в том, что информация принципиально открыта. Любая информация. Как бы вы ее ни прятали, какие бы пароли ни ставили, к ней все равно возможен несанкционированный доступ, например, к вашему банковскому счету. Поэтому в Сети начинает работать (уже сейчас) своего рода кодекс чести. Если в рыцарском кодексе главная заповедь — “не предай”, и это было жизненно необходимо, чтобы все друг друга случайно не перерезали, то в Сети — “не укради”: будем честны, будем платить за полученную информацию, иначе Сеть окажется попросту парализованной.
3
Норберту Винеру принадлежит следующее “доказательство” небытия Бога: если Бог — это информация, то почему я ее не получаю; если Бог не информация, он меня не интересует. Как и всякое другое доказательство небытия или бытия Бога, это тавтология — то есть посылка, которая уже содержит в себе заключение, и потому утверждение безусловно истинное. Винеровская сентенция для верующего звучит абсурдно: для него само устройство мира и наличие законов природы — достаточная информация о существовании Бога. Но здесь важнее другое: это “доказательство” основывается на уверенности в том, что весь универсум, все, что может нас интересовать, — суть информация, и только информация. Сама по себе информация — вещь вполне конструктивная. Ее можно достаточно строго определить, и можно высказать о ней содержательные утверждения; в конце концов, ее можно померить, что уже очень много. Основы теории информации были сформулированы в 40 — 50-е годы в трудах Шеннона, Винера и других математиков и инженеров в основном в приложении к теории связи. Тогда были даны определения сжатию, избыточности, кодированию и введено понятие бита — одно из главных, на мой взгляд, для нашей эпохи.
Бит — это элементарная дихотомия: 0 или 1, “да” или “нет”, “плюс” или “минус”; информация — это битовый набор, последовательность нулей и единиц. Формальное понимание информации оказалось очень полезным и удобным. Представим себе несколько видов хранения: фотографию, магнитную ленту, виниловую пластинку, текст, напечатанный на бумаге, — можно добавить сюда и денежную купюру. Насколько отличны эти объекты, вполне очевидно. Ион серебра, намагниченный домен, виниловая бороздка, краска, бумага — а рядом можно положить компакт-диск, на котором изображение, звук, текст и банковский счет представлены в цифровом виде, то есть набором битов. Существенная разница. Можно сказать, что различные виды хранения— это иероглифы, а 0 и 1 — алфавит. Бит — алфавит бытия. Насколько проще и удобнее хранить слово в виде алфавитного набора по сравнению с иероглифическим, бросается в глаза. Аналогию можно продолжить. Умение рисовать иероглифы — искусство каллиграфии. Кисточка, тушь, рисовая бумага, вдохновение и сосредоточенность: даже небольшая ошибка может привести к разночтениям. Возможно, иногда иероглиф точнее передает смысл, но насколько же проще написать несколько стандартных символов. Квалификация машинистки несравнима с мастерством каллиграфа.
Когда мы видим последовательность нулей и единичек, мы очень мало можем о ней сказать. Например, 01001110 — что это? Вообще говоря, все, что угодно. Для того чтобы высказать какое-то реальное предположение, мы должны еще что-то знать, понимать контекст. Если дополнительно нам скажут, что это кодировка некоторого символа, — уже кое-что. Если нам укажут принцип кодирования — ASCII, — мы с уверенностью можем утверждать, что это латинская строчная М. Битовый набор несет в себе только возможность. Реальностью он становится внутри осмысляющего контекста. Это, конечно, не новость — то же самое происходит и с символами алфавита. Но здесь снижается уровень формализации и цепочка символов оказывается способной сохранить не только текст, но и другую информацию — звук, изображение, даже действие. Причем один и тот же битовый набор может, в принципе, кодировать и то, и другое, и третье, — здесь единственно важным становится наш способ интерпретации.
Мы доходим до некоторого предела. Кажется, мы можем таким образом зафиксировать любую реальность, но если интерпретация будет утрачена, если мы потеряем ключ, этот набор превратится в чистый хаос, хранящий внутри себя только возможность смысла.
А. Ф. Лосев писал, что если всякий образованный современный человек может написать газетную статью, то всякий античный грек мог изваять вполне профессиональную статую. Можно добавить, что сегодня всякий даже не слишком образованный человек может создать вполне осмысленную программу или по крайней мере корректную структуру данных. Я полагаю, что бит — это как раз тот уровень подробности или формализации, который наиболее соответствует сегодняшнему взгляду на реальность. Что было сначала — некое новое отношение к реальности и оно стало толчком для развития компьютерных технологий, либо сами эти технологии послужили основой картины мира как информации — выяснять, видимо, нет смысла: вероятно, это проблема курицы и яйца. Но компьютер как инструмент идеально приспособлен именно для такого представления о мире.
Когда античный грек ваял статую Аполлона или Пана, он занимался именно познанием предельно реального объекта, которое требовало материального воплощения. То есть грек использовал некую первичную интуицию, а затем брал кусок мрамора, объект весьма материальный, и начинал этот мрамор “идеализировать”, воплощая — материализуя — бога. И созданная скульптура становилась пластической идеей.
Когда астроном в прошлом веке исследовал солнечную систему и пытался формулировать законы мироздания, они являлись для него такой же предельной реальностью, как для грека олимпийские боги. И он брал тома накопленных веками наблюдений, как грек брал мраморную глыбу, и, систематизируя их, искал подлинную реальность звездного неба в строгих математических формах, которые материализовали его представление об идеале и сами были идеалом рациональности.
В информационном универсуме любой объект является битовым набором— возможно, с неизвестной кодировкой. Нам остается выснить эту кодировку и превратить объект в конкретную последовательность нолей и единиц, которая будет храниться на нашем диске. Почти наверняка в сложных случаях такая последовательность не будет точной копией прообраза, но здесь то же отличие, какое было между статуей и олимпийским богом, математической формой и реальным движением. То есть мы познаем реальный объект и превращаем его в идеальную реальность — информацию.
Владимир Набоков сказал в интервью телевидению Би-би-си: “Реальность— вещь весьма субъективная. Я могу определить ее только как своего рода постепенное накопление сведений и как специализацию. Если мы возьмем, например, лилию или какой-нибудь другой природный объект, то для натуралиста лилия более реальна, чем для обычного человека. Но она куда более реальна для ботаника. А еще одного уровня реальности достигает тот ботаник, который специализируется по лилиям. Можно, так сказать, подбираться к реальности все ближе и ближе; но все будет недостаточно близко, потому что реальность — это бесконечная последовательность ступеней, уровней восприятия, двойных донышек, и потому она неиссякаема и недостижима. Вы можете узнавать все больше о конкретной вещи, но вы никогда не сможете узнать о ней всего: это безнадежно”6.
При достаточно тонкой специализации человек перестает справляться с полученной информацией, как он не может взять в руки ровно одну пылинку или “ложкой вычерпать море”. “Невооруженный” человек способен иметь дело только с информацией определенного типа, ему соразмерной. Для того чтобы процесс уточнения можно было продолжать, уже не обойтись без компьютера. Можно вспомнить знаменитый вопрос: с какого зерна начинается куча? При компьютерной обработке само понятие “куча” не существует — компьютер пересчитывает зерна по одному, сколько бы их ни было.
Ситуация, сложившаяся в науке и обществе в середине нашего века, во многом была ситуацией ожидания. Причем было не очень понятно, ожидания чего именно, и потому сначала компьютерам предъявили не те требования, которые следовало бы. А ждали-то, как сегодня почти очевидно, именно компьютер.
Вся высокая теория уже была создана. Машина Тьюринга — этот универсальный компьютер — уже исчерпал в общем виде все дальнейшее развитие. Все появившиеся в дальнейшем идеи и реализации, при необыкновенном разнообразии и многочисленности, не выходили за рамку, заданную Тьюрингом, а только предлагали те или иные частные решения общей задачи. Вопрос о принципиальных возможностях вычисления был закрыт.
Информационный вал накатывал и рос. Объемы информации и повышение точности расчетов требовали обязательных новых решений, иначе процессы становились неуправляемыми, время поиска необходимых данных с неизбежностью росло, скорость и точность реакции человека во все большем числе случаев становились неудовлетворительными.
Развитие средств связи привело к созданию теории информации. Но без компьютера человек почти не умеет работать с битовыми наборами — это не его уровень формализации. А связь уже нащупывала возможности цифрового представления сигнала и пыталась решать задачу обмена по глобальным сетям.
Мировоззрение, представляющее бытие как информационный универсум, становилось все более и более влиятельным.
Компьютер с необходимостью занял подготовленную ему нишу, хотя и, как уже говорилось, не сразу: он постепенно вытеснял разнообразные аналоговые и механические устройства и сам кардинально менялся. Наиболее, на мой взгляд, важное, что принесли компьютерные технологии, — универсальность, общий подход к решению самых разных задач.
Сегодня всякому, даже далекому от компьютерного мира, человеку ясно, что если вычеркнуть компьютеры из современной цивилизации — жизнь потечет как-то совершенно иначе, во всяком случае, куда медленнее. Вопрос, хорошо или плохо, что с каждым днем наше существование становится интенсивнее, здесь рассматривать не имеет смысла. Могло ли человечество пойти по какому-то другому пути — например, по пути сворачивания или консервации технического развития? Не исключено. Однако увеличение скорости жизни сегодня — данность, которой можно быть недовольным, но если мы не хотим выпасть из действительности, приходится принимать это как факт. А стало быть, и компьютер, играющий в новой, непредсказуемой и меняющейся на наших глазах реальности такую важную роль, достоин пристального внимания и осмысления не только с точки зрения технологии или программирования — но и философии, и культуры.
Губайловский Владимир Олегович (V. Gubailovsky@rosnet.ru) родился в 1960 году, живет в Москве. Окончил механико-математический факультет МГУ по специальности “Логика и дискретная математика”. Профеcсиональный программист. Статьи по компьютерной тематике публиковал в специализированных журналах. В “Новом мире” печатается впервые.
Редация рассчитывает, что данная публикация станет первой в серии материалов, посвященных роли компьютерных и информационных технологий в современной цивилизации и культуре.
1 Шеннон К. Работы по теории информации и кибернетике. М., Издательство иностранной литературы, 1963, стр. 163.
2 Во избежание недоразумений необходимо сразу оговориться: ни Шеннон, ни сегодняшние исследователи никогда не думали, что достаточно дать компьютеру память, сравнимую по количеству бит с числом нейронов мозга, и мы получим искусственный интеллект, подобный человеческому. Нейрон не конденсатор и не транзистор. Мы и сегодня знаем о нем крайне мало. Особенно о структуре связей между нейронами, о возможностях мозга по доступу и поиску хранимой информации, о механизмах “забывания”, “вытеснения”, интуиции и т. д.
3 Компьютер работал в основном в пакетном режиме: он получал задание и выдавал ответ, что, собственно, от арифмометра и требуется. Его можно было сравнить со сплошной трубой: наливаете в нее воду с одного конца — и на другом выливается нужная жидкость. Человек практически не вмешивался в сам процесс работы программы. Но при дальнейшем развитии труба замкнулась в кольцо, по которому непрерывно циркулирует жидкость, в трубе появилось множество дырочек сверху — через них мы можем влиять на процесс, и снизу— через них результаты выливаются непрерывно на экран, на принтер, на диск… Компьютеры перешли от пакетной к интерактивной работе.
4 Хотя аппараты для проведения вычислений к этому времени уже были изобретены, первой настоящей вычислительной машиной следует считать созданную Чарльзом Беббиджем в середине XIX века аналитическую машину, управлявшуюся с помощью перфокарт и умевшую решать довольно сложные задачи — например, некоторые уравнения. Машина Беббиджа, конечно, была полностью механической.
5 Клини С. К. Математическая логика. М., “Мир”, 1973, стр. 295.
6 Набоков В. В. Собрание сочинений американского периода в пяти томах. Т. 2. Санкт-Петербург, “Симпозиум”, 1997, стр. 568.