Шрифт:
Интервал:
Закладка:
Разумеется, это был хитрый план втравить могучего соперника Германии в заморскую авантюру, чтобы ему стало труднее направить свои армии на восток. Дени Дидро, сам далеко не бездарность, жаловался: «Когда пытаешься сравнить свои скромные таланты с дарованием Лейбница, возникает искушение забросить свои книги, забиться в укромный уголок и умереть там».
Из всех построений Лейбница дороже всех ему было понятие, которое он сам называл «универсальной наукой», – и оно тоже возникло из его стремления к миру. На протяжении всей человеческой истории далекие от жизни ученые конструировали языки с нуля, рассчитывая, что их творения упростят взаимопонимание между людьми и создадут таким образом предпосылки для всемирного единства. Для Лейбница эта причина также имела вес, но он возлагал на свое творение и более возвышенные надежды. Он утверждал, что новый набор условных знаков и выражений приведет науку и философию к новым истинам, в новую эру разума, к более глубокому пониманию изящества и гармонии вселенной, наконец, к божественному.
Он представлял себе нечто вроде «алфавита человеческой мысли». Впервые он обратился к этой идее в юности, и она послужила основой для его докторской диссертации в Альтдорфском университете. Со временем он разработал детальный план превращения своей мечты в реальность. Группа ученых должна составить энциклопедию, содержащую фундаментальные, неоспоримые понятия из области знаний об окружающем нас мире, из физики, философии, геометрии – отовсюду. Он называл эти понятия «примитивами», и они должны были включать в себя, например, почву, красный цвет и Бога. Каждому из примитивов предполагалось присвоить численное значение, и таким образом их можно было бы комбинировать с целью создания новых понятий или выражения сложных из числа существующих. Все эти численные значения должны были заложить основу нового «исчисления мысли», которое он называл “calculus ratiocinator”.
Лейбниц иллюстрировал свое построение на следующем примере: что такое человек? Рациональное животное, разумеется. Эту идею можно записать следующим образом:
Рациональное × Животное = Человек
Но Лейбниц пошел дальше и предложил придать этому высказыванию еще более математическую форму. Понятию «животное», говорил он, может быть присвоено число два, понятию «рациональный» – число три. Таким образом, получаем:
2 × 3 = 6
Мысль облекается в форму математического выражения, и так мы приходим к новому, непогрешимому методу доказательства тех или иных истин. «Все ли люди обезьяны?» – спрашивал, например, Лейбниц. Что ж, присвоенное понятию «обезьяна» числовое значение было ему известно – десять.
И если десять не делится нацело на шесть, а шесть – на десять, то получаем: в состав понятия «человек» не входит понятие «обезьяна», и наоборот.
В этом была главная идея его исчисления: знание, причем все знание, может быть в конечном счете получено путем вычисления. Это должно было получаться само собой, без усилий, слепым рассуждением (“cogitacio caeca”). Чтобы порождать новые идеи, больше не были нужны люди. Это могла делать машина, комбинируя и разделяя примитивы. На самом деле Лейбниц даже построил прототип такой машины, великолепное и сложное устройство, сияющее полированной латунью и сталью рычажков и циферблатов. Он называл его «Устройством для пошагового рассуждения» и потратил на него целое состояние. Поворот рычажка в одну сторону заставлял машину умножать, в другую – делить. Лейбниц продумал ее пользовательский интерфейс столь тщательно, что сам Стив Джобс склонился бы перед ней. К сожалению, всякий раз, когда он пытался продемонстрировать свою машину перед зрителями, как, например, перед Королевским обществом в Лондоне в 1673 году, она не работала. Упрямый Лейбниц всякий раз прощал себе эти постыдные демонстрации. Важность «универсальной науки» заставляла его двигаться дальше. «Когда она будет завершена, даже если между учеными и останутся противоречия, то между двумя философами будет не больше причин для разногласий, чем между двумя вычислителями». Интеллектуальные и моральные споры можно будет разрешать, просто предложив сторонам подсчитать ответ. Война окажется не нужна, не говоря уже о теологических спорах, поскольку истина будет помещена на твердую почву математики.
Лейбниц был пророком цифровой эры, хотя его идеям пришлось столетиями ждать своего часа. Он предложил систему счисления, состоящую из нулей и единиц – ту самую двоичную систему, которую компьютеры используют сейчас. Он объяснил, каким образом автоматизация офисной работы (в те времена сказали бы «конторской») повышает производительность труда. Но важнейшей из его идей была идея механического мышления, автоматизации рассуждения – то есть то самое, что делает Интернет великолепным изобретением, а мощь технологических компаний – столь угрожающей.
Процедуры, делающие возможным механическое мышление, со временем получили имя. Их стали называть «алгоритмами». Суть алгоритма предельно проста. В учебниках их сравнивают с кулинарным рецептом, четко определенной последовательностью шагов, выполнение которой не требует умственных усилий. Этим они отличаются от уравнений, имеющих единственный правильный ответ. Алгоритмы просто фиксируют процесс решения задачи и не говорят, куда эти шаги в конечном счете ведут.
Эти рецепты – основной строительный материал компьютерных программ. Программист не может просто сказать компьютеру, например, найти что-нибудь в Интернете. Он должен дать машине набор конкретных инструкций, приводящих к решению задачи, а эти инструкции должны выразить человеческую задачу «найти нужную информацию» в виде четкой последовательности шагов, которую затем можно переписать в виде программного кода: «сначала сделай это, потом то». Процесс перехода от концепции к процедуре, а от процедуры к коду – редукция[39] по природе своей. Сложные процессы должны быть сведены к последовательному выбору из двух вариантов.
Никакое уравнение не подскажет, что сегодня надеть, но алгоритм для этого написать легко: он будет действовать, опираясь на простые вопросы: утро или вечер, зима или лето, солнце или дождь, – причем результат каждого предыдущего выбора определяет последующий.
Механическое мышление – как раз то, что представлял себе Алан Тьюринг, когда потерял сознание во время пробежки через луга в Кембридже, и ему предстало видение фантастической новой машины для вычислений. В первые десятилетия информатики термин «алгоритм» почти не употреблялся. Но по мере того как в университетах повсюду стали возникать факультеты информатики, он обрел новую жизнь. Модным он стал по соображениям статуса. Программисты, особенно в академических кругах, стремились показать, что они не просто техники при машине. Они стали называть свою работу «алгоритмической», отчасти потому что это связывало их с одним из величайших математиков всех времен – энциклопедистом Мухаммадом ибн-Мусой аль-Хорезми, или, как его называли по-латыни, «Алгоритми». В XII столетии переводы аль-Хорезми познакомили Запад с арабскими цифрами, его научные работы дали начало алгебре и тригонометрии. Определяя алгоритм в качестве краеугольного камня информатики, программисты связывали происхождение своего занятия с великими событиями истории науки. Подобная игра именами была весьма остроумна: «Смотрите, мы не какие-то выскочки, мы работаем с абстракциями и теориями, в точности как математики!»