Мифология машины. История механизмов, которые нас пугают и очаровывают - Даниэль Штрассберг
Возможно, Лейбниц потерпел неудачу, так как не понимал, что универсальный идеальный язык уже существует – это математика. Все, что ему нужно было сделать, это объединить математику чисел и логику языка.
Только объединение языка и математики позволяет механизировать мышление и в итоге создать компьютер
Этот последний и решающий шаг сделал Джордж Буль (1815–1864) через шесть веков после Луллия и через два после Лейбница: он объединил язык с математикой, логику с алгеброй. Буль был самоучкой, не получившим никакого формального образования, кроме начальной школы. Кое-что он узнал от отца-сапожника, а кое-что, главным образом латынь, – от друга-букиниста. Остальное и, судя по всему, основное, он изучил сам, причем так, что смог стать профессором математики в Королевском колледже в Корке. Однажды, возвращаясь после лекции, он сильно промок под дождем. Когда он пришел домой, его жена, увлекавшаяся гомеопатией, сторонница лечения подобного подобным, облила его холодной водой, от чего он заболел пневмонией и умер. Эта смерть бросает небольшую тень на проект всей его жизни – подчинить мышление математической строгости.
Его главный интерес – исследование законов мышления: именно так называется его главная работа в немецком переводе[402]. Вдохновленный логикой Аристотеля, он решил перевести описанные в ней законы мышления в математическую форму: «Какими бы ни были по своей сути те универсальные законы, которые составляют основу всякого мышления, по крайней мере по своей форме они являются математическими»[403].
Буль исходил из следующих соображений: так же, как все числа можно связывать друг с другом только двумя операциями – сложением и умножением, предложения должны соединяться несколькими логическими операциями[404]. Но, в отличие от алгебры, в логике возможны только два результата – истина или ложь. Истине присваивается значение 1, лжи – значение 0. С помощью логических операторов, которые мы и сегодня используем в поисковых системах, – AND [Λ], OR (V), NOT (¬), – все пропозициональные предложения, то есть все предложения, которые вообще могут быть истинными, соединяются друг с другом и проверяются на истинность.
Так Булю удалось объединить алгебру и логику: все связи высказываний теперь можно было формализовать так, что машина могла проверить их истинность. Буль не создал собственную мыслящую машину, но его логическая алгебра положена в основу всех мыслящих машин.
В 1950 году Клод Шеннон сконструировал электрическую мышь и назвал свое изобретение «Тесей», потому что она, подобно Тесею из античных мифов, самостоятельно перемещалась по лабиринту. Более того, она запоминала однажды пройденный путь и училась заново, если лабиринт менялся. Конечно, в то время мышь была слишком мала для компьютера. На самом деле машина находилась под полом лабиринта: Шеннон собрал ее дома из нескольких старых телефонных реле, используя булеву логику. Тем самым Шеннон осуществил свою старую задумку. В 1938 году, еще до работы в лабораториях Белла, он окончил Массачусетский технологический институт, защитив магистерскую диссертацию «Символический анализ релейных и коммутационных цепей», в которой он теоретически показал, что булева логика может быть применена к электронным схемам. Позднее эту работу назовут одной из самых важных магистерских диссертаций века. С помощью «Тесея» он смог практически обосновать свою идею и представить ее непрофессиональной аудитории.
От математики доказательств к математике вычислений
Эпохальное достижение Буля поставило крест на идее универсального языка, независимого от математики. Тем временем философы Готтлоб Фреге, Бертран Рассел и молодой Витгенштейн пришли к мысли, что математика должна быть основой формальной логики. Однако они видели, что для этого требуется новое понимание математики. Чтобы механизировать ее, необходимо, подобно Лейбницу и Луллию, представлять мышление как комбинаторное искусство, искусство установления связей, а не как искусство доказательства. Речь идет об отношениях между числами или понятиями и предложениями, а значит, о процессах, но не об определениях.
Это означает, что математику нужно понимать как набор правил для процедур и преобразований – в противовес европейской традиции со времен Пифагора (570–510 гг. до н. э.), которая видела в ней всеобщую и вместе с тем наивысшую из всех форм знания, истинную всегда, везде и для всех и поэтому призванную служить познанию конечных вещей, не касаясь области профанных расчетов[405].
Это идеализированное представление о математике живо и по сей день. Сегодня всех студентов-математиков в первом семестре учат, что красивое доказательство – это высшая форма математики. Их соседи, студенты, изучающие информатику, смеются над этим, потому что для них важно разработать вычислительные методы, которые были бы максимально быстрыми и полезными. Нужны хорошие алгоритмы.
Но что такое алгоритм? Изначально простой алгоритм – это не что иное, как правило преобразования: так, x = y² – алгоритм, который дает команду присвоить каждому y значение x, равное y, умноженному на y. Графически это можно представить в виде параболы с вершиной (0/0) или в виде списка: 0/0, 1/1, 2/4, 3/9, 4/16 и так далее.
Обычно такое простое правило называют не алгоритмом, а функцией. Об алгоритмах в более узком смысле говорят только тогда, когда функции последовательно связаны, то есть когда результат функции a становится исходным значением функции b и возникают ветвления и циклы. При ветвлении условие определяет, какая функция вычисляется следующей и по какому пути должен идти алгоритм. Например, инструкция может иметь следующий вид: если результатом вычисления является m ≥ x, вычислить функцию n, если m < x, вычислить функцию p. Если в условии указано, что результат функции «возвращается» в ту же функцию, то это называется циклом. В точке ветвления принимается решение, основанное, правда, не на общем принципе, а лишь на последнем результате. Можно сказать, что алгоритм – это серия решений.
Этот вид арифметики, вероятно, «изобрели» крупные землевладельцы Кералы[406]. Астрономические расчеты были необходимы для управления обширными землями в этом муссонном регионе, но управление и обмеры также требовали удобных и простых в использовании арифметических процедур. «Арьябхатия» – один из самых важных текстов индийской математики, сравнимый с «Элементами» Евклида, датируемый примерно V веком, – содержит 121 геометрический и алгебраический метод вычислений: все они применялись в астрономии, управлении или геодезии. Читателей, знакомых с европейской традицией, удивит то, что во всем тексте не встречается ни одного доказательства. Примечательно, что эти методы вычислений зачастую основывались на приближениях, достаточных для повседневного использования.
Мухаммад ибн Муса аль-Хорезми, персидский ученый,




