Главная | Обратная связь | Поможем написать вашу работу!
МегаЛекции

|, …) или счётных единиц, например, камней, которые с доисторических времён использовались для учёта таких дискретных сущностей, как животные или дни[29]. Если каждую выпущенную из загона козу отмечать чёрточкой, а потом, когда коза возвращается, её переч




,

|, …) или счётных единиц, например, камней, которые с доисторических времён использовались для учёта таких дискретных сущностей, как животные или дни[29]. Если каждую выпущенную из загона козу отмечать чёрточкой, а потом, когда коза возвращается, её перечёркивать, то когда все чёрточки окажутся перечёркнутыми, это будет означать, что все козы на месте. Это универсальная система счёта. Но, аналогично уровням эмерджентности, у универсальности тоже есть иерархия. Следующий уровень после счёта «палочками» — счёт, в котором задействована специальная запись числа. В первом случае, отмечая, сколько коз пришло или ушло, человек думает просто «ещё одна, ещё одна и ещё одна», а считая их, он проговаривает про себя «сорок, сорок одна, сорок две…». Только задним числом мы можем рассматривать «палочки» как систему счисления и называть её «унарной» («единичной»), и как таковая эта система непрактична. Например, даже простейшие операции с числами, представленными чёрточками, такие как сравнение, арифметические операции и даже просто копирование, влекут за собой повторение всего процесса. Если у вас было сорок коз, вы продали двадцать и отметили оба этих действия с помощью чёрточек, вам всё равно придётся произвести двадцать отдельных операций удаления, чтобы записи соответствовали действительности. Аналогично, чтобы проверить, совпадают ли две сходные на вид записи, пришлось бы вычерчивать их друг под другом и сличать. Поэтому люди начали совершенствовать систему. Наверно, раньше всего придумали просто группировать чёрточки — например, писать вместо

|. Так сравнивать числа и проводить арифметические операции стало проще, поскольку можно было записывать целые группы и сразу видеть, что отличается от . Позднее и для самих этих групп были подобраны более короткие условные символы: в древнеримской системе использовались символы типа I, V, X, , C, D, и CD для обозначения одного, пяти, десяти, пятидесяти, сотни, пяти сотен и тысячи. (Как видите, это не совсем те «римские цифры», которые мы используем сегодня. ) Это ещё один случай постепенного совершенствования, направленного на решение специфических, обывательских проблем. И снова, по-видимому, никто к большему и не стремился. Хотя добавлением простых правил можно было сделать систему гораздо более функциональной, и даже несмотря на то, что римляне действительно время от времени добавляли некоторые из таких правил, они делали это, не стремясь к универсальности и не достигая её. На протяжении нескольких столетий в этой системе правила были следующие. — Размещённые рядом символы складываются. (Это правило унаследовано от системы подсчёта «палочек». ) — Символы записываются слева направо в порядке убывания их величины. — Когда это возможно, смежные символы следует заменять одним, отражающим их суммарное значение.   (Правило вычитания, присутствующее в современной римской системе счисления, по которому IV означает четыре, было введено позже. ) Второе и третье правило гарантируют единственность представления каждого числа, что сильно упрощает сравнение. Без этих правил могли бы существовать и XIXIXIXIXIX, и VXVXVXVXV, и никто не мог бы с первого взгляда сказать, что это одно и то же число.   За счёт применения универсальных законов сложения эти правила давали системе одно важное преимущество над подсчётом с помощью «палочек», а именно возможность производить арифметические операции. Например, возьмём числа семь (VII) и восемь (VIII). Согласно правилам поместить их друг за другом VIIVIII — всё равно что сложить их. Затем по правилам нужно переставить символы в порядке убывания их величины: VVIIIII. Затем нужно заменить две V на X и пять I на V. В результате получим XV, что является представлением числа пятнадцать. Но при этом происходит нечто новое, и дело не просто в сокращении записи: открыта и доказана абстрактная истина, связывающая между собой семь, восемь и пятнадцать, и при этом никто ничего не отмечал и не пересчитывал. Мы работали с самими числами, посредством их записей. Когда я говорю, что арифметические операции совершались системой записи чисел, я вкладываю в это буквальный смысл. Конечно, физически эти преобразования производили люди, пользовавшиеся этой системой. Но для этого им сначала нужно было записать её правила у себя в голове, а затем выполнить их, как компьютер выполняет программу. Причём, как известно, именно программа диктует действия компьютеру, а не наоборот. Значит, процесс, которые мы называем «выполнением арифметических операций с римскими цифрами» также состоит в том, что римская система записи использует нас для совершения арифметических операций. Римская система смогла выжить только за счёт того, что вынуждала людей совершать эти действия, другими словами, она добивалась того, что римляне копировали её из поколения в поколение: они считали её полезной и передавали своим потомкам. Как я сказал, знания — это информация, которая, физически закрепившись в подходящей среде, стремится там остаться. Услышав, что римская система записи чисел подчиняет нас себе, чтобы размножиться и не прекратить своё существование, кто-то, наверно, может подумать, что люди низводятся до статуса рабов. Но это было бы заблуждением. Люди состоят из абстрактной информации, включая характерные идеи, теории, намерения, чувства и другие состояния души, которые характеризуют конкретное «я». Спорить с тем, что, когда мы находим римские цифры полезными, мы идём у них «на поводу», всё равно что протестовать против того, что мы ходим на поводу у наших намерений. Рассуждая таким образом, можно прийти к тому, что пытаться спастись от рабства — это тоже рабство. На самом же деле, когда я говорю, что подчиняюсь программе, которая меня же составляет, (или что я подчиняюсь законам физики), в слово «подчиняться» я вкладываю несколько иной смысл, чем раб. Эти два значения слова объясняют события, находящиеся на разных уровнях эмерджентности. Вопреки тому, что иногда говорят, существовали и достаточно продуктивные способы умножения и деления римских чисел. Так, можно было узнать, что корабль, в трюме которого — XX ящиков, в каждом из которых V рядов по VII кувшинов, всего перевозит DCC кувшинов, и при этом длинных вычислений, подразумеваемых в этом числе, не потребуется. И можно было сразу сказать, что DCC меньше, чем DCCI. Таким образом, возможность управляться с числами без начертания и подсчёта «палочек» позволяла вычислять цены, зарплаты, налоги, проценты по кредиту и так далее. Кроме того, это было концептуальным продвижением, открывшим двери будущему прогрессу. Однако в том, что касается этих более сложных применений, система универсальной не была. Поскольку символа со значением, большим CD (одна тысяча), не было, все числа, начиная с двух тысяч, начинались с цепочки из нескольких CD, тем самым становясь всего лишь условными метками со значением тысячи. Чем больше их было в числе, тем больше для выполнения арифметических операций приходилось прибегать к старой системе меток (рассматривать множество одинаковых символов друг за другом). Подобно тому, как добавлением пиктограмм можно было расширять словарь древней системы письма, добавлением символов можно было расширить диапазон системы записи чисел, что и делалось. Но в получающейся системе всегда был символ с самым большим значением, а значит, она не была универсальной в плане совершения арифметических операций без поштучного пересчёта. Единственный способ освободить арифметику от «палочек» — использовать правила с универсальной сферой применимости. Как и с алфавитами, достаточно будет небольшого набора базовых правил и символов. В универсальной системе, которой все пользуются сегодня, десять символов, это цифры от 0 до 9, а своей универсальностью она обязана правилу, в соответствии с которым значение цифры зависит от её положения в числе. Например, цифра 2 означает два, если она сама по себе, но двести, если она присутствует в числе 204. В таких «позиционных» системах нужны «заполнители» разрядов, как, например, цифра 0 в числе 204, единственная функция которой — сдвинуть двойку в позицию, означающую «двести». Эта система зародилась в Индии, но когда именно, неизвестно. Возможно, это случилось лишь в девятом веке, поскольку до этого она вроде как встречается только в нескольких неоднозначных документах. Так или иначе, её огромный потенциал для науки, математики, техники и торговли широко не осознавался. Примерно в то же время её взяли на вооружение арабские учёные, но в обиход в арабском мире она вошла только через тысячу лет. Любопытное отсутствие стремления к универсальности повторилось и в средневековой Европе: индийские цифры были переняты у арабов лишь несколькими учёными в десятом веке (и в результате были ошибочно названы «арабскими цифрами»), но в повседневное использование они вошли только столетия спустя. Уже к 1900 году до нашей эры древние вавилоняне изобрели в сущности универсальную систему счисления, но и они вполне могли не задумываться об универсальности и даже вовсе о ней не знать. Это была позиционная система, но очень громоздкая по сравнению с индийской. В ней было 59 «цифр», каждая из которых записывалась как число в системе типа римской. Пользоваться ею для совершения арифметических операций с числами в повседневной жизни было ещё сложнее, чем римскими цифрами[30]. В этой системе также не было символа для нуля, а вместо заполнителей использовались пробелы. Изобразить ноль в конце строки было никак нельзя, эквивалента десятичной запятой тоже не было (это всё равно что в нашей системе числа 200, 20, 2, 0, 2 и так далее все записывались бы как 2, и различить их можно было бы только по контексту). Всё это наводит на мысль, что при разработке системы задача добиться универсальности не была основной, и когда она была достигнута, её особо не оценили. Возможно, понять эту странную закономерность позволит примечательный случай, произошедший в третьем веке до нашей эры с древнегреческим учёным и математиком Архимедом. В ходе своих исследований в области астрономии и чистой математики он столкнулся с необходимостью производить арифметические операции с достаточно большими числами, и ему пришлось изобрести свою собственную систему записи. Он отталкивался от греческой, с которой был знаком и которая была похожа на римскую[31], только в ней символ с наибольшим значением обозначался через M — 10 000 (один мириад). Диапазон системы уже был расширен правилом, предписывающим умножать на десять тысяч число, написанное над M. Например, двадцать обозначалось символом κ, а четыре — δ, и двадцать четыре мириада (240 000) можно было записать как . Если бы только по этому правилу можно было создавать многоуровневые числа, чтобы означало бы 24 мириада мириадов, система стала бы универсальной. Но, очевидно, греки до этого так и не дошли[32]. И, что более удивительно, не дошёл и Архимед. Его система строилась на другой идее, напоминающей современное «экспоненциальное представление» (когда, скажем, два миллиона записываются как 2× 106), только в степень возводилось не десять, а мириад мириадов (100 000 000). Но в этом случае требовалось, чтобы число, являвшееся показателем степени (в которую возводились сто миллионов), существовало в греческой системе. Другим словами, показатель степени не мог превышать сто миллионов или около того. Значит, эта конструкция иссякала после числа, которое мы бы записали как 10 800 000 000. Если бы не это дополнительное правило, у Архимеда получилась бы универсальная система, хотя и неоправданно неуклюжая. Даже сегодня числа, больше 10 800 000 000, могут пригодиться разве что математикам, и то очень редко. Но вряд ли Архимед наложил своё ограничение из-за этого, потому что на этом он не остановился. Продолжив исследовать понятие чисел, он добавил ещё одно расширение, на этот раз получилась ещё более странная система с основанием 10 800 000 000. Но снова он разрешил возводить это число только в степени, не превышающие 800 000 000, устанавливая таким образом произвольный предел где-то после 106, 4× 1017. Зачем? Сегодня кажется, что, накладывая ограничение на то, какие символы можно использовать в его числовой записи и в каких позициях, Архимед просто упрямствовал в своих заблуждениях. Для этого нет никакого математического оправдания! Но если бы Архимед захотел позволить применять свои правила без произвольных ограничений, он мог бы изобрести гораздо более удачную универсальную систему, просто убрав произвольные ограничения из существовавшей тогда греческой системы. (Несколькими годами позже математик Аполлоний придумал ещё одну систему записи чисел, которой точно так же не хватало универсальности. Такое впечатление, что в античном мире все намеренно её избегали! ) Вот что писал об индийской системе математик Пьер-Симон Лаплас (1749–1827): «Мы должны оценить грандиозность этого достижения, вспомнив, что до него не додумались Архимед и Аполлоний, два величайших ума античного мира». Но верно ли, что они не додумались до этого понятия? Может, они просто предпочли держаться от него подальше? Архимед должен был понимать, что метод расширения системы записи чисел, которым он воспользовался два раза подряд, можно продолжать до бесконечности. Но, возможно, он сомневался, что получившиеся в результате записи обозначали что-либо пригодное для разумного обсуждения. Действительно, одним из мотивов для всего этого начинания было желание опровергнуть идею, трюизм того времени, что песчинки на пляже сосчитать невозможно. И Архимед воспользовался своей системой, чтобы подсчитать, сколько песчинок понадобилось бы, чтобы заполнить всю небесную сферу. Это наводит на мысль, что ни у него, ни в древнегреческой культуре в целом, могло не быть в принципе понятия абстрактного числа, и для них такие записи могли относиться только к объектам, хотя бы и воображаемым. В этом случае универсальность была бы сложным для постижения свойством, что уж говорить о том, чтобы к ней стремиться. А может Архимед просто почувствовал, что если он хочет получить убедительный результат, то ему лучше не стремиться к бесконечной сфере охвата. Так или иначе, хотя с нашей точки зрения в системе Архимеда несколько раз «намечался» скачок к универсальности, он, очевидно, к этому не стремился. А вот ещё более спорная версия. Самая большая польза от универсальности, за рамками тех обиходных задач, ради решения которых она достигается, состоит в том, что она может пригодиться для дальнейшего новаторства. Но новаторство непредсказуемо. Поэтому, чтобы оценить универсальность на момент её открытия, нужно либо просто ценить абстрактные знания сами по себе, либо ожидать от них непредвиденных выгод. В обществе, в котором перемены происходили редко, и то, и другое было бы довольно неестественно. Но всё перевернулось с приходом Просвещения, основная идея которого, как я говорил, в том, что прогресс и желаем, и достижим. А раз так, то это же можно сказать и про универсальность. Как бы то ни было, с приходом Просвещения парохиальность и все произвольные исключения и ограничения стали рассматриваться как сомнительные по сути, причём не только в науке. Почему закон должен различать аристократа и обычного человека? Раба и хозяина? Женщину и мужчину? Философы Просвещения, такие как Локк, занялись освобождением политических институтов от произвольных правил и условностей. Другие пытались вывести нравственные принципы из универсальных моральных объяснений вместо того, чтобы просто закрепить их постулатами. Таким образом, своё место рядом с универсальными теориями материи и движения стали занимать объяснительные теории справедливости, законности и нравственности. Во всех этих случаях универсальность уже искали намеренно, как желаемое и даже необходимое свойство для того, чтобы идея была верной, а не просто как средство решения конкретной проблемы. Скачком к универсальности, который сыграл важную роль на заре Просвещения, стало изобретение принципа печати наборными шрифтами. Он заключался в использовании отдельных кусочков металла, на каждом из которых выдавлен контур буквы алфавита. В более ранних формах печатания просто рационализировали письмо подобно тому, как римские цифры позволили рационализовать подсчёт «палочек»: каждую страницу гравировали на печатной пластине так, что все символы на ней можно было скопировать за раз. Но если есть набор подвижных литер, где каждая встречается по несколько раз, то больше не нужно возиться с металлообработкой. Просто берёшь и составляешь из литер слова и предложения. Для производства печатного шрифта не нужно было знать, какие документы будут с его помощью печататься и о чём в них будут сообщать: набор литер универсален. И тем не менее наборные шрифты почти не изменили Китай, где они были изобретены в одиннадцатом веке — возможно, из-за обычного отсутствия интереса к универсальности или из-за того, что в китайской системе письма использовались тысячи пиктограмм, что уменьшало непосредственные преимущества универсальной системы печати. Но когда в пятнадцатом веке в Европе Иоганн Гутенберг заново придумал её в применении к алфавитному шрифту, это привело к дальнейшему лавинообразному прогрессу. Здесь мы видим переход, типичный для скачка к универсальности: до него приходилось изготавливать специальные предметы для каждого документа, который нужно было напечатать, а после для этого просто приспосабливается (или настраивается, или программируется) универсальный объект, в данном случае печатный станок с наборным шрифтом. Сходным образом в 1801 году Жозеф-Мари Жаккар изобрёл шёлкоткацкий станок широкого применения, который теперь называют станком Жаккара. Больше не нужно было управлять вручную каждым рядом петель на каждом отдельном рулоне узорчатого шёлка. Достаточно было запрограммировать произвольный узор на перфорированных картах, служащих инструкцией для станка, который воспроизводил его любое количество раз. Наиболее весомым среди таких достижений являются компьютеры, от которых сегодня зависит всё больше и больше технологий и которые имеют глубокое теоретическое и философское значение. Скачок к вычислительной универсальности должен был случиться в 1820-е годы, когда математик Чарльз Бэббидж изобрёл устройство, которое он назвал разностной машиной, — механический калькулятор, в котором десятичные знаки представлялись с помощью зубцов, каждый из которых можно было установить в одном из десяти положений. Исходное назначение машины было ограниченным: автоматизировать составление таблиц значений математических функций, таких как логарифмы и косинусы, которые активно использовались в навигации и инженерном деле. В то время эту работу выполняли армии клерков-вычислителей, которых по-английски называли словом «computer» (откуда, собственно, и произошло современное компьютер ) и которые были известны частыми ошибками. Разностная машина совершала бы меньше ошибок уже потому, что арифметические правила закладывались в неё на этапе конструирования. Чтобы машина распечатала таблицу для заданной функции, её нужно было запрограммировать один раз, определив функцию через простые операции[33]. В отличие от этого, «людям-компьютерам» приходилось использовать как определение, так и общие правила арифметики (или, как было отмечено выше, правила использовали людей для своей реализации) тысячи раз для каждой таблицы, и каждый раз человек мог ошибиться. К сожалению, несмотря на то, что Бэббидж вложил в этот проект огромные средства — как собственные, так и выделенные правительством Британии, он оказался таким плохим организатором, что так и не довёл свою разностную машину до завершения. Но его проект оказался вполне годным (за исключением нескольких тривиальных ошибок), и в 1991 году группа специалистов под руководством инженера Дорона Суэйда из Музея науки в Лондоне успешно построила работающую машину с помощью инженерных средств, доступных во времена Бэббиджа. На фоне современных компьютеров и даже калькуляторов разностная машина Бэббиджа имела очень ограниченный набор действий. Но причина, по которой она вообще могла существовать, — в той закономерности, которая присуща всем математическим функциям, применяемым в физике, а значит, и в навигации и в инженерном деле. Эти функции называются аналитическими, и в 1710 году математик Брук Тейлор установил, что их можно аппроксимировать с произвольно высокой точностью, многократно используя сложение и умножение — операции, которые как раз и выполняет разностная машина. (Частные случаи были известны и до этого, но скачок к универсальности был обоснован Тейлором. ) Таким образом, для решения узкой проблемы вычисления нескольких функций, таблицы которых были необходимы для последующих расчётов, Бэббидж создал калькулятор, универсально подходящий для вычисления аналитических функций. В нём использовалась и универсальность наборных шрифтов — в печатающем устройстве, похожем на пишущую машинку, — без чего не удалось бы полностью автоматизировать печатание таблиц. Изначально у Бэббиджа не было представления о вычислительной универсальности. Тем не менее его разностная машина оказалась замечательно близка к ней — не по набору производимых вычислений, а по физическому устройству. Чтобы запрограммировать её для печати заданной таблицы, нужно привести в исходное состояние определённые зубцы. В конце концов Бэббидж понял, что данный этап программирования тоже поддаётся автоматизации: настройки можно заготавливать на перфокартах, как у Жаккара, а затем механически передавать на зубцы. Таким путём не только исключался главный остающийся источник ошибок, но и расширялся набор действий машины. Затем Бэббидж понял, что если бы машина могла пробивать новые карточки для дальнейшего использования в ней же и могла бы управлять тем, какую карту считывать следующей (скажем, беря их из пачки в зависимости от положения шестерёнок), то могло бы получиться нечто качественно новое: скачок к универсальности. Эту усовершенствованную машину он назвал аналитической. Он и его коллега, женщина-математик, графиня Ада Лавлейс знали, что эта машина сможет вычислять всё, что могут «люди-компьютеры», и не только производить арифметические операции: она сможет решать алгебраические уравнения, играть в шахматы, сочинять музыку, обрабатывать изображения и так далее. Она стала бы тем, что сегодня называется универсальным классическим компьютером. (В главе 11, в которой речь пойдёт о квантовых компьютерах, работающих на ещё более высоком уровне универсальности, я объясню, почему приписка «классический» так важна. ) Однако ни эти учёные, ни кто-либо другой в течение ещё столетия не представлял себе, для чего будут сегодня чаще всего применяться вычисления, а именно Интернет, обработка текстов, поиск по базам данных, игры. Но есть ещё одно важное применение, которое они предвидели, — это научные предсказания. Аналитическая машина могла стать универсальным моделирующим устройством, способным предсказать поведение любого физического объекта с любой желаемой точностью с учётом соответствующих законов физики. Это та универсальность, о которой я говорил в главе 3, благодаря которой в физических объектах, непохожих друг на друга и подчиняющихся разным законам физики (как, например, мозг и квазар), могут проявляться одинаковые математические зависимости. Бэббидж и Лавлейс были людьми Просвещения, и они понимали, что универсальность аналитической машины откроет новую эру технологий. Но даже при этом, несмотря на огромные усилия, им удалось заразить своим энтузиазмом лишь небольшую группу людей, которым тоже не удалось передать его дальше. И аналитическая машина осталась в истории как трагическая память о скачке, который мог бы произойти, но, к сожалению, не произошёл. Если бы они поискали другие варианты реализации, то могли бы заметить прекрасную возможность, которая уже ждала своего применения: электрические реле (переключатели, работающие от электрического тока). Это было одно из первых приложений фундаментальных исследований в области электромагнетизма, вот-вот должно было начаться массовое производство таких реле, что в итоге привело к технологической революции в телеграфии. Переработанная аналитическая машина с кодированием двоичных знаков по принципу включения/выключения тока и с использованием электрических реле для осуществления вычислений работала бы быстрее механического компьютера Бэббиджа, и её было бы дешевле и проще построить. (О двоичных числах уже хорошо знали. В семнадцатом веке математик и философ Готфрид Вильгельм Лейбниц даже предлагал использовать их для механических вычислений. ) Так что компьютерная революция могла случиться на сто лет раньше. И благодаря технологиям телеграфа и печати, которые развивались параллельно, за ней вскоре последовала бы и интернет-революция. В своём романе «Машина различий»[34] (The Difference Engine) писатели-фантасты Уильям Гибсон и Брюс Стерлинг захватывающе описывают, как бы это могло быть. Журналист Том Стэндидж в своей книге «Викторианский Интернет» (Victorian Internet) утверждает, что уже в рамках телеграфной системы, даже без компьютеров, среди её операторов действительно существовало явление, похожее на Интернет, с «хакерами, сетевыми романами и свадьбами, чатами, горячими спорами в Сети… и так далее». Бэббидж и Лавлейс также задумывались об одном применении универсальных компьютеров, которое до сих пор ещё не осуществлено, а именно о так называемом искусственном интеллекте. Поскольку человеческий мозг — это физический объект, подчиняющийся законам физики, а аналитическая машина — универсальное моделирующее устройство, то его можно запрограммировать так, чтобы оно думало так же, как может думать человек (хотя на это будет уходить очень много времени и запредельное количество перфокарт). Тем не менее Бэббидж и Лавлейс отрицали такую возможность. Лавлейс говорила, что «аналитическая машина не претендует на то, чтобы создавать что-то действительно новое. Машина может выполнить всё то, что мы умеем ей предписать. Она может следовать анализу; но она не может предугадать какие-либо аналитические зависимости или истины»[35]. Впоследствии математик и пионер вычислительной техники Алан Тьюринг называл эту ошибку «возражением леди Лавлейс». Лавлейс недооценила не столько вычислительную универсальность, сколько универсальность законов физики. В то время наука практически ничего не знала о том, как устроен мозг с физической точки зрения. Теория эволюции Дарвина ещё не была опубликована, и преобладали сверхъестественные объяснения природы человека. Сегодня послаблений для той малой части учёных и философов, которые до сих пор считают, что искусственный интеллект недостижим, меньше. Например, философ Джон Серл рассматривает проект создания искусственного интеллекта в следующей исторической перспективе: на протяжении веков люди пытались объяснить разум техническим языком, используя сравнения и метафоры на основе сложнейших механизмов соответствующего времени. Сначала предполагалось, что мозг похож на чрезвычайно сложный набор шестерёнок и рычагов. Затем были гидравлические магистрали, паровые двигатели, телефонные коммутаторы, а сегодня, когда самой впечатляющей технологией считаются компьютеры, говорят, что мозг — это компьютер. Но это опять же не более чем сравнение, говорит Серл, и причин считать мозг компьютером не больше, чем паровым двигателем. В действительности их больше. Паровой двигатель не является универсальным моделирующим устройством, а вот компьютер является, так что ожидать от него, что он сможет делать то же самое, что нейроны, — не метафора: это известное и проверенное свойство законов физики, какими мы их знаем. (И, кстати, из гидравлических контуров тоже можно сделать универсальный классический компьютер и из шестерёнок и рычагов, как показал Бэббидж. ) Как это ни парадоксально, но у возражения леди Лавлейс логика та же, что и у довода, который Дуглас Хофштадтер приводит в пользу редукционизма (глава 5), но Хофштадтер — один из активных современных сторонников того, что искусственный интеллект возможен. А всё потому, что оба опираются на ошибочное допущение о том, что низкоуровневые вычислительные шаги якобы не могут сложиться в высокоуровневое «Я», которое влияет на всё. Разница между ними в том, что они держатся противоположных альтернатив возникающей при этом дилеммы: Лавлейс ошибочно заключила, что искусственный интеллект невозможен, а Хофштадтер — что такого «Я» не существует. Поскольку Бэббиджу не удалось ни самому построить универсальный компьютер, ни убедить других это сделать, первая подобная машина появилась лишь спустя сто лет. То, что происходило в этот промежуток времени, скорее напоминает древнюю историю универсальности: хотя счётные устройства, похожие на разностную машину, стали создаваться ещё до того, как Бэббидж сдался, его идею аналитической машины практически полностью игнорировали даже математики. В 1936 году Тьюринг разработал исчерпывающую теорию универсальных классических компьютеров. Но он не собирался строить такой компьютер, а только хотел применять теорию абстрактно для изучения природы математических доказательств. И когда через несколько лет были сконструированы первые универсальные компьютеры, то опять в этом не было никакого особого намерения реализовать универсальность. Их построили в Британии и США во время Второй мировой войны для специфичных военных целей. Британские компьютеры под названием Colossus («Колосс»; в их создании принимал участие Тьюринг) использовались для взлома шифров; американский компьютер ENIAC был предназначен для решения уравнений, необходимых для наведения больших орудий. Оба были построены на электронных вакуумных лампах, которые работали как реле, но почти в сто раз быстрее. В то же самое время в Германии инженер Конрад Цузе собирал на релейных схемах программируемый калькулятор — так, как это должен был бы сделать Бэббидж. Во всех трёх применялись технологические решения, необходимые для универсального компьютера, но ни одно из них не было вполне универсальным по своей конфигурации. Машины Colossus применялись только для дешифрации, и после войны большая часть из них была разобрана. Машина Цузе была уничтожена в ходе бомбардировок Германии союзниками. А вот ENIAC’у судьба позволила совершить скачок к универсальности: после войны ему нашли массу применений, для которых он никогда не предназначался, таких как прогнозирование погоды и проект создания водородной бомбы. В истории развития электронных технологий после Второй мировой войны преобладала миниатюризация, и в каждом новом устройстве реализовывались всё более и более микроскопические переключатели. Около 1970 года эти усовершенствования вызвали скачок к универсальности, когда несколько компаний независимо друг от друга создали микропроцессор, универсальный классический компьютер на одной кремниевой микросхеме. С этого момента разработчики любого устройства для обработки информации могли взять микропроцессор и настраивать его — программировать — под определённые задачи, которые устройство должно было выполнять. Сегодня стиральная машина, стоящая у вас дома, наверняка управляется компьютером, который можно было бы запрограммировать для решения задач астрофизики или обработки текстов, если бы у него были подходящие устройства ввода-вывода и достаточный объём памяти для хранения необходимых данных. Удивительно, но в этом смысле (другими словами, если отбросить то, что связано со скоростью, ёмкостью памяти и устройствами ввода-вывода) «люди-компьютеры» девятнадцатого века, паровая аналитическая машина с её звонками и свистками, ламповые вычислительные машины времён Второй мировой войны, занимавшие целые комнаты, и современные суперкомпьютеры выполняют один и тот же набор вычислений. Другая их общая черта — то, что все они цифровые: они работают с информацией в форме дискретных значений физических величин: к примеру, электронный переключатель может быть включён или выключен, а зубец шестерёнки находиться в одном из десяти положений. Широко распространённые когда-то альтернативные, «аналоговые», компьютеры, такие как логарифмическая линейка, в которых информация представляется в виде непрерывных физических переменных, сегодня практически не используются[36]. Дело в том, что современный цифровой компьютер можно запрограммировать так, что он сымитирует любое такое устройство и будет работать лучше практически во всех приложениях. В результате скачка к универсальности в цифровых вычислениях аналоговые компьютеры были забыты. И это было неизбежно, ведь универсального аналогового компьютера не существует. Причина тому — необходимость исправления ошибок: ошибки, накапливающиеся в ходе длинных вычислений из-за неидеальных компонентов, тепловых флуктуаций, случайных внешних воздействий, сбивают аналоговые компьютеры с намеченного пути вычислений. Возможно, это прозвучит как незначительное или парохиальное суждение, но всё как раз наоборот. Без исправления ошибок весь процесс обработки информации, а значит, и создания знаний, будет неизбежно ограничен. Исправление ошибок относится к началу бесконечности. К примеру, система подсчёта «палочек» универсальна, только если она цифровая. Представьте себе, что какие-нибудь древние пастухи попытались бы вычислить не количество голов, а общую длину стада. Выпуская козу из загона, они бы отматывали нитку длиной с козу. А потом, по возвращении коз, сматывали бы нитку обратно. Когда весь клубок оказывался бы смотанным, это означало бы, что все козы вернулись в загон. Но на деле из-за накопления ошибок измерения всегда либо оставалась бы лишняя часть нити, либо её не хватало. Любая заданная точность измерений предполагала бы максимальное число коз, которое можно надёжно подсчитать таким «аналоговым» способом. То же будет верно и для всех арифметических операций, производимых с помощью таких «палочек». Каждый раз, когда соединяли нити, представляющие несколько стад, или одну нить разрезали на две части, чтобы отметить разделение стада, когда её «копировали», отмеряя ещё одну такой же длины, появлялись бы ошибки. Их можно было бы сгладить, повторив каждую операцию много раз, а затем взяв среднюю длину. Но операции сравнения и копирования длин сами могут выполняться лишь с конечной точностью, и поэтому с их помощью нельзя сократить темп накопления ошибок в расчёте на один шаг, ниже этого уровня погрешности. Таким образом, появилось бы максимальное число последовательных операций, которые можно выполнить, прежде чем результат окажется бесполезен для заданной цели, а значит, аналоговые вычисления никогда не могут быть универсальными. Нам же нужна система, которая принимает наличие ошибок как должное, но исправляет их при появлении — это случай того, что «проблемы неизбежны, но их можно решить» на самом низшем уровне эмерджентности, связанной с обработкой информации. В аналоговых вычислениях исправление ошибок сталкивается с основной логической проблемой, заключающейся в том, что невозможно сразу отличить значение с ошибкой от правильного, потому что согласно самой природе аналоговых вычислений каждое значение может оказаться правильным. Правильной могла быть любая длина нити. А в вычислениях, которые ограничиваются целыми числами, это не так. В случае с верёвкой мы могли бы представлять целые числа как верёвку длиной в целые числа сантиметров. После каждого шага мы обрезаем или удлиняем верёвку до ближайшего сантиметра. Тогда ошибки перестанут накапливаться. Предположим, например, что эти измерения можно производить с допустимым отклонением в одну десятую сантиметра. Тогда после каждого шага все ошибки будут обнаружены и устранены, что исключит ограничение на число последовательных шагов. Так что все универсальные компьютеры являются цифровыми; и во всех присутствует исправление ошибок согласно одной и той же базовой логике, только что мною описанной, хотя реализована она множеством различных способов. В вычислительных машинах Бэббиджа на весь континуум углов, под которыми может быть ориентировано зубчатое колесо, приходилось только десять различных значений. После такого перевода в цифровой вид зубцы могли автоматически

Поделиться:





Воспользуйтесь поиском по сайту:



©2015 - 2024 megalektsii.ru Все авторские права принадлежат авторам лекционных материалов. Обратная связь с нами...