[62]. Подобно кибернетикам Хайек изучал самоорганизацию разума, но с другой целью: его интересовала не промышленная автоматизация, а автономия рынка.
Девятая глава посвящена одному из наиболее важных и наименее изученных эпизодов в истории ИИ: изобретению Розенблаттом в 1950‑х годах искусственной нейронной сети перцептрон. Несмотря на свои ограничения, перцептрон стал прорывом в истории вычислений – в нем впервые была автоматизирована техника статистического анализа; по этой причине его считают первым алгоритмом машинного обучения[63]. В качестве технической формы перцептрон претендовал на имитацию биологических нейронных сетей, но с математической точки зрения осуществлял совсем другой трюк. Чтобы решить задачу распознавания образов, машина представляла пиксели изображения как независимые координаты в многомерном пространстве. Любопытно, что статистический метод многомерной проекции зародился в психометрии и евгенике в конце XIX века и аналогичен тому методу оценки «общего интеллекта» [general intelligence], который Чарльз Спирмен реализовал в спорном тесте на определение коэффициента интеллекта (IQ). Это еще одно доказательство социальной генеалогии ИИ: первая искусственная нейронная сеть – перцептрон – родилась не как автоматизация логического рассуждения, а как статистический метод, который применялся для измерения интеллекта в когнитивных задачах и соответствующей этим измерениям организации социальной иерархии.
В заключении утверждается, что принцип действия ИИ представляет собой не только автоматизацию труда, но и навязывание социальной иерархии ручного и умственного труда посредством автоматизации. С XIX по XX век «хозяйский глаз» промышленного капитализма охватил все общество и установил новые формы контроля, основанные на статистических измерениях «интеллекта», с целью дискриминировать рабочих по уровню навыков. Результаты теста IQ применялись именно так: американский психолог Льюис Терман в 1919 году заявлял, что «IQ 75 или ниже обычно относится к неквалифицированным рабочим, от 75 до 85 – диапазон для полуквалифицированного труда, а показатели 80 или 85 вполне достаточны для успеха в некоторых видах квалифицированного труда»[64]. ИИ продолжает кодировать социальные иерархии и дискриминировать рабочую силу, косвенно навязывая метрики разумности. Классовые, гендерные и расовые предубеждения, которые системы ИИ, как известно, только усиливают, следует рассматривать не как технический недостаток, а как неотъемлемую дискриминационную черту автоматизации при капитализме. Предвзятость ИИ не ограничивается социальным угнетением: она также выражается в неявном навязывании иерархии труда и знаний, что усиливает поляризацию квалифицированных и неквалифицированных работников на рынке труда. Замену традиционных рабочих мест системами ИИ следует рассматривать вместе с умножением прекарных, низкооплачиваемых и маргинализированных рабочих мест в глобальной экономике[65]. ИИ и «призрачная работа» – две стороны одного и того же механизма автоматизации труда и социальной психометрии.
Наконец, выдвинутая в книге трудовая теория автоматизации представляет собой не только аналитический принцип, нужный для демонтажа «верховного алгоритма» монополий ИИ, но и принцип синтетический. Он говорит о практике социальной автономии, которая создаст новые формы знания и новые культуры изобретательства.
1. Материальные орудия алгоритмического мышления
Силу наших «ментальных» орудий усиливает сила наших «металлических» орудий[66].
Использование материального орудия всегда дает больше знаний, чем вложено в его изобретение[67].
Правила стали механическими до того, как им могли следовать машины[68].
Воссоздание расчлененного бога
В космогоническом мифе индуистских Вед говорится, что верховное божество Праджапати распадается на части в акте сотворения вселенной. После творения происходит нечто контринтуитивное с точки зрения западных нарративов о господстве и принципов непротиворечивости: тело творца оказывается разобранным и расчлененным. В Индии этот древний миф разыгрывают в ритуале Агничаяна. Ритуал предполагает строительство огненного алтаря Шьеначити, и этот процесс служит символическим воссозданием распавшегося тела бога (см. рис. 1.1).
Рис. 1.1. Диаграмма огненного алтаря Агничаяна (Staal F. Greek and Vedic geometry // Journal of Indian Philosophy 27, no. 1 (1999): 111)
Алтарь Шьеначити возводят из тысячи кирпичей выверенной формы и точного размера в соответствии со сложной схемой, изображающей сокола. Рабочие кладут пять слоев по 200 кирпичей в каждом, повторяя специальную мантру и следуя пошаговым инструкциям. В основе ритуала лежит решение загадки: каждый слой должен повторять одну и ту же пространственную форму, но различаться внутренней конфигурацией[69]. Соколиный алтарь следует обращать на восток, знаменуя предстоящий символический полет воссозданного бога к восходящему солнцу – здесь мы видим уникальный пример божественного перевоплощения средствами геометрии.
Агничаяна подробно описана в шульба-сутрах; это посвященное вопросам геометрии дополнение к Ведам записано около 800 года до н. э. в Индии и опирается на гораздо более древнюю устную традицию[70]. Согласно этим текстам риши (духи жизни) создали семь пуруш (космических существ), имеющих форму квадрата; вместе они образовали единое тело, а уже из этой простой конфигурации возникло сложносоставное тело Праджапати[71]. Шульба-сутры учат строить алтари определенных геометрических форм, чтобы снискать благорасположение богов. Так, говорится, что «тем, кто хочет уничтожить настоящих и будущих врагов, следует построить огненный алтарь в форме ромба»[72]. Помимо религиозного значения ритуал Агничаяна и шульба-сутры обладали функцией передачи важных для общества техник, например умения планировать строительство и увеличивать существующие здания с сохранением первоначальных пропорций[73]. Агничаяна служит примером того, что математическое знание изначально носит социально-материальный характер, а также демонстрирует типичную для кастовой системы иерархию ручного и умственного труда. При сооружении жертвенника рабочие руководствуются правилами, которые традиционно существуют лишь у определенной группы мастеров. Она же и передает эти правила. Ритуалы, подобные Агничаяне, – это не только упражнения в геометрии. Они обучают процедурному знанию, которое не сводится к абстракции и основано на продолжительной «механической» тренировке. Кроме того, они показывают, как религия может побуждать к точности, а духовные упражнения – использоваться как средство трудовой дисциплины[74].
Агничаяна – уникальный артефакт в истории человеческой цивилизации: это самый древний задокументированный ритуал, который практикуется по сей день, хотя из-за сложности и проводится лишь несколько раз в столетие[75]. На протяжении тысячелетий с его помощью передавались и сохранялись сложные парадигмы знания, и благодаря комбинаторному механизму Агничаяны этот ритуал можно определить как первичный пример алгоритмической культуры. Что же позволяет интерпретировать как алгоритм столь древний ритуал? Согласно одному из самых распространенных в компьютерной науке определений, алгоритм, как уже упоминалось, – это конечная процедура пошаговых инструкций для преобразования ввода в вывод вне зависимости от данных и с наилучшим использованием имеющихся ресурсов[76]. Рекурсивные мантры, которые направляют рабочих на строительной площадке огненного алтаря, напоминают правила компьютерной программы: вне зависимости от контекста алгоритм Агничаяны позволяет точно распределить кирпичи и построить Шьеначити. Историки обнаружили, что индийская математика с древних времен носила преимущественно алгоритмический характер. Это означает, что задачи предлагалось решать не с помощью логической демонстрации, а путем пошаговой процедуры[77].
Так, итальянский математик Паоло Целлини утверждает, что ритуал Агничаяны свидетельствует о более сложной технике, чем следование жесткому правилу, а именно – об эвристическом методе пошаговой аппроксимации. Известно, что ведическая математика раньше, чем это произошло у других цивилизаций, познакомилась с бесконечно большими и бесконечно малыми числами. В древних сутрах перемножались огромные позиционные числа индуистской системы счета для охвата необъятных просторов вселенной (мыслительное упражнение, которое невозможно себе представить, например, в аддитивных шумерских, греческих и римских системах счисления). Ведическая математика также была знакома с иррациональными числами, например квадратным корнем, который во многих случаях (например, √2) можно рассчитать только приблизительно. В мантрах шульба-сутр пропеваются самые древние (и доскональные) объяснения вычислительных процедур (например, так называемого вавилонского алгоритма) для приближенного выражения квадратного корня. Процедуры приближения могут показаться громоздкими, слабыми и неточными по сравнению с математическими функциями и геометрическими теоремами, но их роль в истории математики и техники важнее, чем это принято считать. В книге по истории методов постепенного прироста (включая, среди прочего, древний метод гномона) Целлини утверждал, что индуистские методы пошагового приближения эквивалентны современным счетным алгоритмам Лейбница и Ньютона и даже техникам исправления ошибок, которые лежат в основе искусственных нейронных сетей и машинного обучения, составляющих парадигму ИИ (см. главу 9)[78].
Некоторым прочтение древних культур через парадигму новейших технологий Кремниевой долины, как и изучение математической составляющей религиозных ритуалов в эпоху оголтелого национализма, может показаться актом незаконного присвоения. Однако утверждать, что абстрактные техники познания и искусственные метаязыки безраздельно принадлежат современному индустриальному Западу, исторически неверно. Подобное утверждение – акт скрытого эпистемического колониализма по отношению к культурам других эпох и регионов[79]. Альтернативные формы вычислений, лежащие вне гегемонии Глобального севера и присущего ему режиму экстрактивизма знаний, получили признание и изучаются благодаря вкладу этноматематики, деколониальных исследований, а также истории науки и техники. Алгоритмами из-за их роли в компьютерном программировании обычно считают абстрактное применение сложных наборов правил. В этой книге я, напротив, утверждаю, что все алгоритмы, включая сложные алгоритмы искусственного интеллекта и машинного обучения, берут начало в общественной и материальной деятельности. Алгоритмическое мышление и алгоритмические практики, широко понимаемые как решение задач на основе правил, представляют собой часть всех культур и цивилизаций.
С учетом перечисленных вопросов в этой главе будет в общих чертах изложена предварительная история алгоритмов. В ней затронуты:
– социальные алгоритмы – процедуры, которые воплощались в ритуалах и практиках и обычно передавались устно без формализации на символическом языке;
– формальные алгоритмы – математические процедуры, которые помогали как вести расчеты, так и совершать административные процедуры, и встречались в Европе со Средних веков, а до этого в Индии;
– автоматизированные алгоритмы – формальные алгоритмы, которые воплощались в машинах и ЭВМ, начиная с зари индустриальной эпохи на Западе.
Археология алгоритма
Неудивительно, что идея исследовать «алгоритмы до появления первых электронно-вычислительных машин» пришла из компьютерной науки. В конце 1960‑х годов американский математик Дональд Кнут написал влиятельную книгу «Искусство программирования» (The Art of Computer Programming) и внес важный вклад в изучение древних математических методов, опубликовав эссе «Древние вавилонские алгоритмы». В те годы Кнут ставил перед собой задачу систематизировать компьютерную науку и превратить ее в респектабельную академическую и промышленную дисциплину. Данные по древним алгоритмам он использовал, чтобы показать: компьютерная наука не только связана с таинственными электронными устройствами, но и имеет отношение к давней традиции культурных методов символического манипулирования. В этом случае, однако, обращение к археологии алгоритмов служило не демонстрации универсальных принципов мышления или освободительного потенциала обучения в истории цивилизации, а конкретным интересам нового класса программистов и производителей компьютеров:
Один из способов сделать компьютерную науку респектабельной – показать, что она глубоко укоренена в истории, а не представляет собой кратковременное явление. Естественным выглядит обращение к самым ранним сохранившимся документам, которые имеют отношение к вычислениям, и изучение того, как люди подходили к этому предмету почти 4000 лет назад. В ходе археологических экспедиций на Ближнем Востоке ученые раскопали множество глиняных табличек, содержащих математические расчеты, и мы увидим, что эти таблички несут немало интересных сведений о жизни первых «ученых-компьютерщиков»[80].
Кнут заметил, что математические формулы, которые сегодня мы бы назвали алгебраическими или аналитическими, вавилоняне описывали с помощью пошаговых процедур, то есть алгоритмов. Эти процедуры, конечно, формулировались на обыденном языке, а не символическим метаязыком математики. Исследование Кнута подтверждает гипотезу о том, что методы, основанные на процедурах (то, что он назвал «машинным языком»), предшествовали упрочению математики как метаязыка символических представлений:
Вавилонские математики не ограничивались простыми действиями сложения, вычитания, умножения и деления; они умели решать многие виды алгебраических уравнений. Но у них не было такой прозрачной алгебраической записи, как у нас. Они представляли каждую формулу пошаговым списком правил ее вычисления, то есть алгоритмом вычисления формулы. По сути, они работали с представлением формул на «машинном», а не символическом языке[81].
Кнут стремился оторвать алгоритм от эпохи компьютерной науки и инженерии и задним числом сделать его достоянием большой истории культуры. Это произошло в 1960‑х годах, когда компьютерная наука еще боролась, как подчеркивает историк Натан Энсменгер, за статус «нормальной дисциплины» в Соединенных Штатах. Это стало возможным потому, что центральным понятием дисциплины стал алгоритм, а вовсе не информация, как это случилось в Европе (см. немецкий термин Informatik, французский informatique и итальянский informatica[82], которые служат синонимами компьютерной науки)[83]. Канонизация алгоритма имеет особое значение для историков науки и техники, поскольку она произошла изнутри профессиональной среды: операторы вычислительных машин, новое поколение работников умственного труда, стремились написать собственную историю технологий и делали это в соответствии с логической формой, воплощенной в их работе.
Потребность реконструировать предысторию алгоритма (можно сказать, потребность в «археологии») также возникла в математике. Здесь стоит обратить внимание на образцовое резюмирование, проведенное французским математиком Жаном-Люком Шабером и выходящее за дисциплинарные границы компьютерной науки:
Алгоритмы существовали с незапамятных времен и возникли задолго до того, как было придумано специальное слово для их обозначения. Алгоритмы – это наборы пошаговых инструкций, которые для достижения желаемого результата должны выполняться совершенно механически… Алгоритмы не принадлежат одной лишь математике… Вавилоняне применяли их для юридических решений, учителя латыни – для объяснения грамматики, во всех культурах ими пользовались, чтобы предсказать будущее, определить ход лечения и приготовить пищу… Поэтому мы говорим о рецептах, правилах, техниках, процессах, процедурах, методах и т. д., используя одно слово для разных ситуаций. Китайцы, например, применяют слово шу (означает правило, процесс или стратагему) как для математики, так и для боевых искусств… В конечном счете термин «алгоритм» стал обозначать любой процесс систематических подсчетов, то есть процесс, который может выполняться автоматически. Сегодня под влиянием компьютерных вычислений существенным элементом в определении алгоритма стала идея конечности, позволяющая отличить его от более расплывчатых понятий, таких как процесс, метод или техника[84].
В таком прочтении алгоритм перестает выглядеть новейшей технологической абстракцией и предстает очень древней техникой, которая предшествовала многим орудиям и машинам, разработанным человеческим разумом. Усилия по историзации побуждают рассматривать алгоритм как фундаментальную культурную технику человечества, которая возникла из коллективных практик и ритуалов и по временным характеристикам стоит вплотную к основополагающим и первичным чертам всех цивилизаций. Иными словами, алгоритм следует отнести к широко цитируемому списку техник, составленному историком культуры Томасом Махо:
Культурные техники – письмо, чтение, рисование, счет, музицирование – всегда старше понятий, которые созданы на их основе. Люди писали задолго до того, как придумали письмо или алфавит; прошли тысячелетия, прежде чем рисунки и статуи породили концепцию образа; и по сей день люди поют и сочиняют музыку, ничего не зная о тональностях и системах нотной записи. Счет тоже старше, чем понятие числа. Безусловно, большинство культур осуществляли счет или выполняли определенные математические операции, но не обязательно выводили из этих занятий концепцию числа[85].
Исследование культурных технологий (немецкий термин Kulturtechniken также можно перевести как «техники цивилизации») подчеркивает роль материальных практик в создании символических форм любых цивилизаций. Однако этот непредвзятый и плюралистический подход часто обходит вниманием причины, почему при создании тех самых форм происходит постепенное смещение в сторону все более абстрактных понятий, и удовлетворяется лишь культуралистскими интерпретациями, которые не назовешь исчерпывающими. В своей истории алгоритмов Шабер, например, связывает появление техник счета с экономическими потребностями: «Основные арифметические действия уровня начальной школы (умножение и деление) возникли, по-видимому, из чрезвычайно ранних экономических потребностей – определенно раньше, чем из письма возникла цивилизация»[86]. Всегда трудно обобщать исторические данные о далеком прошлом, однако экономические проблемы, такие как нехватка или избыток ресурсов, судя по всему, действительно лежат в основе счетных и математических техник[87]. Стоит помнить (без стремления оживить голод предков), что слово «число» происходит от латинского numerus, означающего «порцию еды»[88].
Задолго до возникновения математических и геометрических дисциплин древние цивилизации уже представляли собой большие «машины» социальной сегментации, размечавшие человеческие тела и территории посредством абстракций, которые будут действовать тысячелетиями. Общеизвестно и регулярно упоминается, что одну из первых переписей населения провели вавилоняне около 3800 года до н. э., но история также свидетельствует, что «культурные техники» носили бесчеловечный и безжалостный характер. Опираясь на описание древних обществ как мегамашин, выполненное историком Льюисом Мамфордом, Жиль Делёз и Феликс Гваттари перечислили иные, помимо чисел, методы абстракции, на которых основывался социальный порядок. Они утверждали, что в древней цивилизации власть над «производительными силами… заключается в следующем: наносить татуировки, надрезать, срезать, отделять, калечить, покрывать шрамами, делать насечки, инициировать»[89]. Числа и счетные орудия были частью примитивных абстрактных машин, которые сформировали человеческие цивилизации путем территориализации и сегментации. Числа, как и абстрактные правила и эвристические практики, выступали ключевыми орудиями управления древними обществами, но их не изобрели из ничего: они материализовались как форма власти через труд и ритуалы, дисциплину и муштру.
Неразрывную связь между математическими абстракциями и материальной жизнью не упускал из виду даже философ-неокантианец Эрнст Кассирер, оказавший значительное влияние на исследования культуры в немецкоязычных странах. Согласно Кассиреру, «символическая форма» числа возникла из отношений человеческого тела с окружающей средой и контингентного использования тела в качестве первого счетного медиума: «Материя исчислимого, как бы чувственно, конкретно и ограниченно она ни была первоначально воспринята, тем не менее служит основой развития новой формы и новой мыслительной силы, заключенной в числе»[90]. Кассирер проанализировал восприятие пространства и времени, а также проследил происхождение числовых абстракций из ритмически-организованной трудовой деятельности. Развивая идеи основополагающей работы Карла Бюхера «Работа и ритм» (Arbeit und Rhythmus; 1896) и других антропологических исследований, Кассирер пришел к выводу, что символическая форма числа выросла из рабочих песен, то есть из пения, которым поддерживали ритм деятельности:
Ранее уже была сделана попытка проследить истоки поэзии вплоть до первых примитивных рабочих песен, в которых ощущение ритма движения собственного тела впервые находит внешнее выражение. <…> Любая форма физической работы предполагает целенаправленную координацию движений уже у отдельного человека, но еще в большей мере, если она осуществляется коллективом, эта координация, в свою очередь, стремится к непосредственному ритмическому обобщению и ритмическому членению отдельных фаз трудового процесса. <…> Размалывание и растирание, разбивание и волочение, выжимание и вытаптывание отличаются именно тем, что каждое из действий наряду с особой целью обладает особым тактом и звуковым сопровождением. Множество и разнообразие рабочих песен, песен прядильщиц и ткачих, молотильщиков и гребцов, песен, которые поют, когда мелют муку и пекут хлеб и т. п., еще непосредственно доносят до нашего слуха, как специфическое ритмическое ощущение, определяемое частным видом работы, существует и обращается в результат труда лишь благодаря тому, что оно одновременно объективируется в звуке. <…> Во всяком случае, у языка не было иной возможности достичь сознания чистой формы времени и чистой формы числа иначе, нежели через определенное предметное содержание, через фундаментальные ритмические ощущения, в которых обе формы были даны словно в неразрывно слитом виде[91].
Это замечание можно рассматривать как остроумный ответ на платоновскую нумерологию, занимающую центральное место в истории музыки: еще до того, как числа стали использоваться для определения ритмических размеров, сам ритм работы способствовал изобретению чисел. В конечном счете эти открытия проливают иной свет на историю математики и позволяют предположить, что алгоритмические практики даже старше, чем само понятие числа.
Орудия для построения математических идей
Числа часто рассматривают как нечто данное, базовое и элементарное, не состоящее ни из чего другого и не представляющее собой результат какой-либо концептуальной фабрикации. Числа кажутся самоочевидными, вечными и не сконструированными. Такой платонический и интуитивистский взгляд на понятие числа подвергся критике со стороны историков математики, которые заинтересованы в объяснении того, как возникли и развивались техники счисления. Археологи в особенности склонны полагать, что институт числа не может считаться априорной категорией, так как развивался постепенно, о чем свидетельствует взаимодействие человека с материалами и символическими орудиями. Как уже говорилось, счет, похоже, развился из необходимости производить подсчеты и решать практические задачи, например поровну разделять между людьми землю и природные ресурсы.
Один из археологов абстракции, немецкий историк науки Петер Дамеров, среди прочих артефактов тщательно изучал древние вавилонские глиняные таблички, служившие счетными орудиями. Дамеров пришел к выводу, что идея числа не представляет собой форму априорного знания и «подвержена историческому развитию».
Размышления о числах и их свойствах уже в древности привели к вере, что высказывания об этом имеют особый статус, так как их истинность не зависит ни от эмпирических данных, ни от исторических обстоятельств. В исторической традиции, простирающейся от Пифагора через античную платоновскую традицию к поздней Античности и Средневековью, а далее через рационализм и критический идеализм кантовской и неокантианской философии к логическому позитивизму и конструктивизму современности, эта вера считалась доказательством того, что существуют объекты, знание о которых нам доступно a priori. Подобно лейтмотиву, убеждение, что числа по природе внеисторичны и универсальны, пронизывает всю историю философии. Для объяснения этого загадочного явления предлагалось множество аргументов. В свою очередь историк сталкивается с тем фактом, что у числовых техник и арифметических озарений есть история, которая по меньшей мере внешне ничем не отличается от истории других достижений нашей культуры. Ввиду разнообразия исторически задокументированных арифметических техник едва ли можно отказаться от предположения, что понятие числа – так же, как и большинство когнитивных структур человека, – подвержено историческому развитию, в ходе которого происходят существенные изменения самого явления[92].
Более того, опираясь на археологические находки, Дамеров выражал уверенность, что «числа возникли из многообразных процессов обучения»[93]. В исследованиях Дамерова обучение стало центральным понятием, с помощью которого ученый объяснял возникновение человеческой цивилизации и ее эволюцию. Для Дамерова обучение – это процесс взаимодействия человечества с природой и миром через труд, орудия и язык. Это сопровождается непрерывным абстрагированием. Однако обучение – это не процесс абстрагирования ради абстрагирования, а коллективное средство эмансипации и расширения возможностей. Как протекает социальный процесс обучения?
Дамеров утверждал, что обучение основано на построении ментальных моделей, которые представляют и интериоризируют внешние действия[94]. Поверх интериоризированных ментальных моделей могут надстраиваться дальнейшие уровни абстракции за счет постепенного наращивания «метакогнитивных конструкций»[95]. Это непрерывное возведение абстракций – форма эмансипации разума, однако некоторые уровни в конце концов начинают восприниматься как метафизические и обособленные. Согласно Дамерову, более высокие уровни когнитивных надстроек создают иллюзию дематериализованных абстракций и априорных категорий, таких как понятие числа. Однако решающую роль в этой теории играет не просто объяснение иллюзии априорности, а то, как «мыслительные операции… отражают действия над реальными объектами» и как орудия помогают строить мысленные модели:
Абстрагирование логико-математических понятий происходит не напрямую из объектов когнитивной деятельности, а из координации действий, которые к этим объектам применяются и через которые они так или иначе преобразуются. Согласно этому предположению, возникновение мыслительных операций логико-математического мышления основано на интериоризации систем реальных действий. Интериоризированные действия служат отправной точкой для метакогнитивных конструкций, посредством которых они становятся элементами систем обратимых психических преобразований, которые, следуя терминологии Пиаже, мы будем называть «операциями». Таким образом, метакогнитивные конструкции (например концепция числа), которые генерируются рефлективными абстракциями, можно понимать как внутренне представленные константы мыслительных операций, отражающих действия над реальными объектами. Это объясняет сбивающую с толку априорность таких конструкций, как концепция числа[96].
Чтобы объяснить, как на протяжении истории формируется концепция, Дамеров предположил, что происходит надстраивание семиотических и когнитивных моделей, которые постепенно развертывались из практик счета (эвристических и неформализованных – таких, как счет на пальцах) через системы cчисления (представляют величины внутри матрицы символов) и техники вычислений (выражают алгоритмы или процедуры решения задач с помощью манипуляции символами) в теорию чисел (арифметику как формальную дисциплину). Этот процесс носит нелинейный характер и разворачивается, как писал Дамеров, через попеременное чередование представлений (использование одних предметов и знаков в качестве символов других предметов, знаков и идей) и абстракций (решение задач).
Применив идею рефлексивной абстракции, которая сочетает в себе диалектическую логику Гегеля и генетическую эпистемологию Жана Пиаже, Дамеров составил набросок последовательных стадий символического представления (см. рис. 1.2), в которых переход от одного порядка представлений к следующему происходит через решение задач.
Представления первого порядка – это представление реальных объектов с помощью символов и моделей, которые, по существу, позволяют выполнять с этими символами те же действия или операции, которые можно выполнить с реальными объектами… Представления второго и более высокого порядков служат представлением объектов с помощью символов и правил преобразования символов, которые соответствуют тем мыслительным операциям, что относятся к когнитивным структурам, образующим ментальные объекты[97].
Рис. 1.2. Рефлексивная структура абстракции (Damerow P. Abstraction and Representation. Berlin: Springer, 2013. P. 379)
Таким образом, концепция числа развивалась через циклы символического представления и абстракции. Сначала существовали процессы квантификации и сравнения, которые были основаны на эквивалентности и не включали в себя счет. Счет возник как зависимая от контекста деятельность, и в ней использовались вспомогательные средства – пальцы, камни и так далее. Затем счетные устройства были замещены зависимыми от контекста символами (например, знаками на торговых буллах в древней Месопотамии). Впоследствии возникли независимые от контекста символы – то есть числа в современном понимании. Наконец, появилась арифметика как дисциплина для описания чисел и операций словами естественного языка, которые в свою очередь затем уступили место новым символам[98].
Чтобы понять, применим ли такой анализ к алгоритмической форме как практике решения задач, на этом этапе необходимо прояснить идею абстракции по Дамерову. Вслед за Гегелем и Пиаже Дамеров понимает абстракцию как процесс, в котором материальность и рефлексия, то есть орудия и когнитивная деятельность, переплетены и способствуют взаимному развитию:
Концепция [рефлексии] введена [Гегелем] в «Йенской реальной философии», чтобы отличить труд как «рефлексивную деятельность» от деятельности как «чистого опосредования», то есть удовлетворения желания посредством разрушения его объекта. Труд как «рефлексивную деятельность» от деятельности как «чистого опосредования» отличает устойчивость его материальных средств, орудий, в которых деятельность материально объективировалась в качестве единства идеальной цели и материального объекта… Единство чувственной данности и опосредующей деятельности, построенное в гегелевской логике, то есть опосредованная непосредственность как результат рефлексии, представляет собой не просто гипотетическо-теоретический конструкт. Это единство актуально создается в материальных средствах предметной деятельности во множестве форм[99].
Для Дамерова абстракция заключается не в изоляции наиболее значимых черт той или иной структуры, а в производстве нового знания о задаче, которую необходимо решить. Между тем абстракция представляет собой не просто «элегантное решение», а «деятельность, направленную на конкретную цель или задачу»[100]. Контингентное понимание окружающей среды – часть этой деятельности:
Принято считать, что абстракция означает отказ от использования информации, доступной о данном реальном объекте, в пользу обособления некоторых качеств этого объекта и их независимого рассмотрения. Однако такая концепция абстракции оказывается неудовлетворительной, если используется для концептуализации развития математического мышления. Абстракция в этом смысле не объясняет возникновения нового знания, которое, очевидно, и есть результат математического мышления. Кроме того, эта концепция делает невозможным или по крайней мере трудным понимание того, почему некоторые абстракции оказываются очень полезными, тогда как огромная масса абстракций, которые получают путем произвольного обособления свойств математических объектов, остается бессмыслицей… Понять абстракцию по существу означает понять, что именно требуется абстрагировать, а не просто знать, как это делается. Понять абстракцию, ведущую к элегантному решению задачи, означает понять, как действительно можно найти решение[101].
Абстракция всегда действует в рамках данных материальных ограничений и через них. Cимволы, орудия, техники и технологии задумываются и осуществляются в отношении с ограниченными ресурсами материи, энергии, пространства, времени и так далее. Реальность, с которой борется абстракция, – не идеальное пространство идей Платона, а реальный живой мир, состоящий из силовых полей и конфликтов. В этом смысле абстракция также выступает частью более широкого социального антагонизма.
Важно отметить, что материальные ограничения стимулируют расширение абстракции за пределы ее первоначальной области. Дамеров и его коллега Вольфганг Лефевр распространили историческую эпистемологию математики на науку вообще, обратившись к орудиям и инструментам. Предложенное ими понимание орудий контингентно и вместе с тем спекулятивно – словом, диалектично. Орудия – не только средства для достижения цели, но и средства, превосходящие цель их первоначального замысла:
Орудия определяют, будут ли предполагаемые мышлением цели достигнуты. В этом смысле орудия никогда не сводятся к тому, какие они на самом деле. Скорее, они представляют потенциал реализации интеллектуально предполагаемых целей, то есть идеи как реальные возможности. Их применение служит посредником между возможностью и реальностью. Использование орудий в первую очередь служит цели, для которой они были созданы. Но они шире частных целей, и опыт, накопленный в процессе их использования, ведет к познанию возможностей, которые есть вероятность осуществить, и отношений между целями и средствами в различных условиях осуществления. Таким образом, первичная форма, в которой из трудового процесса возникает знание о природных и общественных отношениях, представляется в форме правил надлежащего использования орудий[102].
В таком понимании спекулятивный процесс начинается с труда, изобретающего орудия и технологии, которые впоследствии проецируют новые онтологические измерения и научные области (каноническим примером здесь служит изобретение парового двигателя, породившего дисциплину термодинамики, а не наоборот; см. главу 3). Эпистемология Дамерова и Лефевра носит политический характер, поскольку они признают, что исторические силы ограничены контролем над ресурсами и населением, экономическим производством и накоплением капитала, распространением войн и социальных конфликтов, а также вызванным всем этим развитием новых орудий, техник, технологий и, в конечном счете, науки. Демеров и Лефевр относят все эти силы к категории труда, посредством которого человек преобразует природу и производит новое знание о ней[103]. Наука в целом, как и концепция числа в частности, представляет собой проекцию использования материальных орудий:
Развитие науки зависит от развития ее материальных орудий… Ключ к пониманию роста научного знания заключается в том, что знание, получаемое с помощью нового орудия, превосходит когнитивные предпосылки его изобретения. Причина этого связана с тем, что орудия науки, как и орудия вообще, материальны. Использование материального орудия всегда дает больше знаний, чем вложено в его изобретение[104].
Наряду с этим историческим обзором материальных абстракций легко представить также концепцию алгоритма, возникающего в результате диалектического процесса рефлексии с использованием объектов и орудий. Метод алгоритма – решение задачи с помощью пошаговых инструкций – это абстракция, которая, как и многие другие, возникла из бед этого мира[105].
От счетных орудий к алгоритмам расчета
Английскому термину «алгоритм» около восьми веков. Он происходит от средневекового латинского algorismus, который имеет отношение к выполнению основных математических операций в индо-арабской системе счисления. В средневековой Европе, благодаря торговле с арабским миром, ограниченная римская система счисления постепенно вытеснялась более универсальной индо-арабской позиционной системой, которая была удобнее для сложных операций с большими числами и с тех пор стала всемирным стандартом. Латинский термин algorismus можно, например, найти в поэме Александра из Вильдьё «Песнь об алгоризме» 1240 года – руководстве по техникам расчета, составленном для облегчения запоминания процедур в виде рифмованных строф. Книга, напечатанная в Венеции в 1501 году и приписываемая монаху XIII века Иоанну Сакробоско, называется Algorismus Domini и объясняет с помощью индийских числовых символов и схем, как вести ручные расчеты.
Рис. 1.3. Аллегория Арифметики (Reisch G. Margarita philosophica, 1503)
Лишь недавно установлено, что algorismus — это латинизация имени персидского ученого Мухаммада ибн Мусы аль-Хорезми, главного библиотекаря Дома мудрости в Багдаде. Около 825 года н. э. Аль-Хорезми написал книгу о расчетах с помощью индийских числовых знаков. Арабский оригинал книги был утерян, но в XII веке имели хождение по меньшей мере четыре латинских перевода под разными названиями. Инципит рукописи в библиотеке Кембриджа гласит DIXIT algorizmi (что означает: «так говорил Аль-Хорезми»). Другую версию перевода итальянский математик Бальдассаре Бонкомпаньи назвал в 1857 году Algoritmi de numero Indorum[106]. В современную математику и компьютерную науку английский термин algorithm вошел через различные романские транслитерации, в частности французскую и испанскую. Книга Аль-Хорезми познакомила Запад с позиционной индийской системой счисления, однако купцы, например итальянский математик Фибоначчи, часто путешествовавший по Средиземноморью, вероятно, обучились этой системе не из книг, а в процессе торговых расчетов.
В математике принято считать, что усвоение термина «алгоритм» на Западе ознаменовало переход от аддитивной к позиционной системе счисления. Этот сдвиг носил как технический, так и экономический характер, поскольку был связан с ускорением товарооборота в Европе и Средиземноморье, требовавшим более совершенной системы бухгалтерского учета. Десятичная позиционная система позволяла более компактно записывать числа и ускоряла расчеты. В Италии флорентийские и венецианские купцы первыми взяли на вооружение индийские числовые символы, оценив их удобство в условиях коммерческих сделок и постоянно растущих капиталов. На рисунке 1503 года из книги Margarita philosophica под редакцией немецкого монаха-полимата Грегора Райша изображен спор между счетоводами, которые еще пользовались римской системой и абакусом, и новыми алгористами, усвоившими индийскую систему и ее алгоритмы для вычислений на бумаге с помощью стилуса. Аллегория Арифметики наблюдает за спором, явно принимая сторону алгориста; ее одеяние украшают новые числовые знаки (см. рис. 1.3). Позже термин «алгоритм» был воспринят учеными высокой европейской культуры, в частности Лейбницем, который его использовал в определении метода дифференциального исчисления[107]. Энциклопедия Д’Аламбера дает «алгоритму» широкое определение:
Арабский термин, используемый некоторыми авторами, в частности испанцами, для обозначения практики алгебры. Также иногда под ним понимается арифметика с использованием цифр… Этим же словом принято в общем обозначать метод и запись всех видов расчетов. В этом смысле мы говорим: алгоритм интегрального исчисления, алгоритм экспоненциального исчисления, алгоритм синусов и т. д.[108].
Техники и приемы выполнения расчетов вручную, которым по сей день учат в школе, представляют собой набор алгоритмов для манипулирования числовыми знаками. Алгоритмы обладают рекурсивной структурой, которая может обрабатывать бесконечную или приближенную цифровую запись, как это происходит при делении простых чисел: 2/3 = 0,666666666… Простая непрерывная форма этой дроби показывает, что даже рациональные числа нельзя вычислить и выразить без помощи алгоритма. Точнее, даже способ записи чисел в системе счисления представляет собой алгоритм – в этом случае алгоритм представления простых величин. Например, когда мы записываем число 101 в индийской системе счисления, этот простой знак следует переводить следующим образом:
Рассмотрим линейную последовательность позиций, которые должны занимать символы величин, идущие справа налево. Каждая позиция представляет постепенно возрастающую степень десяти и может наполняться одной из десяти порядковых единиц: 0, 1, 2, 3, 4, 5, 6, 7, 8 или 9. Первая позиция – десять в степени нуля (то есть одна из «обычных» единиц), вторая позиция – десять в степени один (десятки), третья – десять в степени два (сотни) и так далее. Значение числа, представленного таким образом, определяется сложением каждой единицы после возведения в степень десяти, представленную занимаемой позицией. Когда числа выражаются таким образом, шкала степеней десяти не указывается явно и остается подразумеваемой.
Таким образом, число 101 равно: (1 х сто) + (0 х десять) + (1 х один). Это развернутое объяснение десятичной системы можно легко приспособить для представления двоичной системы, заменив степень десяти на степень двух, то есть сделав другим лишь одно правило в общей процедуре счисления. В двоичной системе число 101 означало бы другую величину:
Рассмотрим линейную последовательность позиций, которые должны занимать символы величин, идущие справа налево. Каждая позиция представляет постепенно возрастающую степень двух и может наполняться одной из двух порядковых единиц: 0 или 1. Первая позиция представляет двойку в степени 0 (то есть единицу), вторая позиция – двойку в степени один (два), третья позиция – двойку в степени два (четыре) и так далее. Значение числа, представленного таким образом, определяется сложением каждой единицы после возведения в степень двух, представленную занимаемой позицией. Когда числа выражаются таким образом, шкала степеней двух не указывается явно и остается подразумеваемой.
В этом случае число 101 равно: (1 х четыре) + (0 х два) + (1 х один), то есть 5 в десятичной системе счисления. В обоих развернутых парафразах слова естественного языка используются не для объяснения, а для кодирования правил построения чисел в соответствии с пошаговой инструкцией. Эти парафразы делают видимой процедуру систем счисления, которой обучают в школе главным образом с помощью упражнений и которая обычно не проговаривается. Однако столь педантичное проговаривание десятичных и двоичных счислений помогает сказать нечто непедантичное: все системы счисления по устройству алгоритмичны. Подобно тому, как любое слово подразумевает грамматику, любое число скрывает алгоритм, то есть процедуру представления величин и выполнения операций с величинами. В итоге все числа – алгоритмические числа, поскольку производятся алгоритмами, которые и представляют собой системы счисления. Числовые символы, скажем так, ничего не считают; они занимают позицию согласно процедуре, то есть алгоритму квантификации.
Механизация алгоритма
Алгоритмы ручных расчетов механизировались постепенно. В Европе XVII века естествоиспытатели Паскаль и Лейбниц разработали ручные калькуляторы для автоматизации четырех базовых действий с десятичной системой счисления. Эти устройства вовсе не были кабинетными диковинками и сигнализировали о глубоких эпистемологических изменениях. Нововременная мысль тогда уже развивалась в тесной связи с машинами – тесной до такой степени, что, как свидетельствуют документы, механическое мышление влияло на философское. Знаменитый «метод» Декарта, например, выглядит весьма «механическим» в стремлении разложить задачу на простые элементы. По словам польского экономиста Генрика Гроссмана, Декарт не случайно придумал рациональный метод, занимаясь проектированием собственных механизмов. Но Гроссман отмечает также и более глубокую связь между математикой и машинами: «Каждое математическое правило носит механический характер, избавляющий от интеллектуальной работы и больших расчетов». И как показывают исследования, этот экономический принцип – экономия времени, труда и ресурсов – и сегодня остается ключевым аспектом алгоритмического мышления и связанных с ним практик[109].
Как мы увидим в следующей главе, в контексте индустриальной экономики начала XIX века первым механизированным вычислительным алгоритмом стал разностный метод Гаспара де Прони, предназначенный для расчета больших логарифмических таблиц, и именно его Чарльз Бэббидж использовал в Разностной машине. Разностная машина спроектирована как воплощение этого алгоритма, но Бэббидж также задумал программируемую Аналитическую машину, которая могла бы работать с различными видами уравнений, но так и не была создана. Первым компьютерным алгоритмом, или «программой», считается «диаграмма Ады Лавлейс для вычисления чисел Бернулли», написанная для Аналитической машины. Вычислительные машины Бэббиджа представляют собой точку схождения счетных алгоритмов и промышленной автоматизации; в числе самых серьезных проблем, с которыми эти машины столкнулись, можно назвать представление десятичной системы в механических шестернях[110].
В ХХ веке счетные алгоритмы успешно автоматизировались благодаря гибкости двоичной системы[111]. Реализовать двоичную запись в электрическом устройстве гораздо проще, чем десятичную в механизме, поскольку наличие или отсутствие электрического тока (включено/выключено) может непосредственно представлять цифры 0 и 1. В этом случае сложение и вычитание максимально упрощаются. Технически двоичная запись стала применяться и кодироваться в электрических машинах после публикации в 1938 году магистерской диссертации американского математика Клода Шеннона «Символический анализ релейных и переключательных схем»[112]. Шеннон впервые предложил использовать двоичные свойства электрических переключателей для представления не только двоичных чисел и операций с ними, но и логики высказываний – в частности, булевых логических операторов И, ИЛИ и НЕ.
После Второй мировой войны двоичный код, архитектура фон Неймана и инженерная реализация эффективных логических затворов на микрочипах позволили создать быстрые ЭВМ и формализовать вычислительные алгоритмы большего размера и большей сложности. Впервые в истории последовательности числовых знаков стали представлять не только величины, но и инструкции[113]. Так называемая вычислительная революция заключалась не только в использовании двоичных числовых знаков (двоичные цифры или биты) для кодирования человеческого языка и аналогового контента (оцифровка), но и в ускорении механических вычислений посредством двоичной логики (или булевой логики). Вопреки распространенному мнению о строгом разделении аппаратного и программного обеспечения, цифровые вычисления представляют собой сплетение в одном и том же носителе информации и инструкций, где двоичные числовые знаки и булева логика выступают взаимодополняющими формами. Другими словами, в цифровых вычислениях алгоритм счисления (двоичные числовые знаки) и алгоритм расчета (двоичная логика) практически стали одним целым.
В цифровую эпоху алгоритм возвысился до роли абстрактной машины (известной под разными именами – программа, программное обеспечение, код и т. д.), которая управляет электронно-вычислительными машинами. Как упоминалось в начале главы, самое известное сейчас определение алгоритма принадлежит компьютерной науке: «Конечная процедура пошаговых инструкций для преобразования ввода в вывод вне зависимости от данных и с наилучшим использованием имеющихся ресурсов»[114]. Абстрагирование логики от содержания – один из ключевых аспектов технического и когнитивного развития. Как и другие техники абстракции, алгоритм должен работать независимо от ограничений окружающей среды и источника данных. Однако в этой главе я ставлю под сомнение толкование абстракции как отделения от мира и его исторического развития. Фактически появление машинного обучения перевернуло статичное определение алгоритма с ног на голову: алгоритмы машинного обучения стали адаптивными, и на смену жестким наборам правил пришло «обучение» правилам из данных.
Каноническое определение описывает алгоритм как применение к некоторым входным данным строгих правил по принципу «сверху вниз». В этом случае данные не влияют на поведение алгоритма: они представляют собой пассивную информацию для обработки по правилам. Напротив, алгоритмы машинного обучения меняют свои внутренние правила (т. н. параметры) в соответствии с входными данными. Таким образом, данные перестают быть, скажем так, пассивными и становятся активной информацией, которая влияет на параметры пошаговой процедуры, уже не строго предзаданной алгоритмом. Прорыв машинного обучения заключается именно в этом сдвиге: алгоритмы анализа данных становятся динамичными и меняют жесткую структуру вывода для приспособления к свойствам поступающих данных, которые обычно касаются логических и пространственных отношений. Канонический пример – искусственная нейронная сеть для распознавания образов, которая изменяет параметры своих узлов в соответствии с отношениями между элементами визуальной матрицы. В этом смысле новейшие алгоритмы ИИ не слишком отличаются и не так уж далеко ушли от древних математических практик, возникших в результате непрерывного подражания конфигурациям пространства, времени, труда и социальных отношений.
Как заметил историк науки Юрген Ренн, после работ Дамерова алгоритмы машинного обучения уже не предстают чем-то «сверхчеловеческим» и оказываются частью цикла интернализации и экстернализации когнитивных функций, присущего всем культурным технологиям:
В конечном счете алгоритмы машинного обучения… – лишь новая форма экстернализации человеческого мышления, пусть даже и очень разумная [intelligent]. Как и предшествующие внешние представления, например счетные машины, они частично берут на себя – в иной модальности – функции человеческого мозга. Смогут ли они в конечном итоге заменить и даже вытеснить человеческое мышление? Решающим моментом в ответе на этот вопрос становится не то, что их совокупный интеллект все еще сильно отстает от человеческого и даже животного интеллекта, а то, что они способны полностью раскрыть свой потенциал только в рамках цикла интернализации и экстернализации, который… и есть отличительная черта и движущая сила культурной эволюции[115].
Эта вводная глава служит для того, чтобы показать концепцию алгоритма в перспективе – в историческом контексте, внутри долгой эволюции систем знаний. Говоря кратко, торговое ускорение позднего Средневековья и подъем информационного общества способствовали формализации алгоритма в том виде, в каком он известен сегодня. По лингвистическому совпадению средневековый термин algorismus ознаменовал переход от аддитивной к позиционной системе счисления, а недавно устоявшийся термин «алгоритм» – переход от десятичной к двоичной системе числовых знаков. Речь не о просто формальных и технических, но и экономических сдвигах; в конечном счете индо-арабские числа и алгоритмы ручного счета получили распространение за счет упрощения бухгалтерского учета и торговых операций, а двоичные числа – за счет возможности их реализации в электрических схемах и логических затворах, нужных для ускорения промышленной автоматизации и государственного управления. Первый переход соотносится с ранним меркантилизмом, а второй – с промышленным капитализмом и в особенности с его потребностью ускорять коммуникационные технологии и автоматизировать умственный труд[116].