4,9K подписчиков

История с вычислениями. Эпизод четвёртый: как в России XIX века придумали первые механические базы данных и искусственный интеллект

Оборудование Холлерита, использовавшееся для обработки результатов всеобщей переписи 1897 года /  Из коллекции Политехнического музея
Оборудование Холлерита, использовавшееся для обработки результатов всеобщей переписи 1897 года / Из коллекции Политехнического музея

В своей новой серии колонок на портале IQ.HSE редактор факультета компьютерных наук НИУ ВШЭ Антон Басов рассказывает о захватывающей и малоизвестной истории вычислительной техники, а также о российских учёных и изобретателях, чей вклад в её развитие незаслуженно забыт. В четвёртом эпизоде вы узнаете как Россия в первой половине XIX века оказалась на грани изобретения первых механических баз данных и прототипа искусственного интеллекта — экспертных систем на основе представления информации и систем логического вывода с помощью перфокарт. Однако, как это часто бывает, высокое начальство не оценило хорошую работу и прорывные идеи. Поэтому спустя годы перфокарты и системы для работы с ними Российская империя и СССР экспортировали из США, а также на десятилетия застряли в позиции догоняющих в области вычислительной техники.

Материал подготовлен к 10-летию ФКН НИУ ВШЭ.

Перфокарты появились ещё в начале XVIII века. Изобретатели того времени использовали проколотые в определённых местах картонные прямоугольники для управления работой ткацких станков. Однако понадобилось почти столетие экспериментов, прежде чем в 1804 году француз Жозеф Мари Жаккар не построил первый полноценный автоматический станок такого типа. Вскоре станки Жаккара распространились по всему миру, а вытканное на них полотно стало — по крайней мере, в русском языке — называться «жаккард».

Однако здесь перфокарты служили только носителем узора на полотне, которое ткал станок. Использовать их для других задач предложил через 30 лет после Жаккара русский чиновник Семён Николаевич Корсаков (1787–1853).

Корсаков не был профессиональным учёным, однако увлекался наукой. Мы можем на английский манер назвать его gentleman scientist — джентльмен-учёный, для которого наука — не профессия, а хобби. Впрочем, это не значит, что результатами исследований такого любителя науки нужно пренебрегать — в конце концов, джентльменами-учёными считаются пионер авиации сэр Джордж Кейли, изобретатель сэр Голдсуорси Гёрни и даже сам Чарльз Дарвин.

Отцом Корсакова был военный инженер, руководивший строительством Херсона. Князь Потёмкин, в подчинении которого находился Николай Корсаков, высоко ценил его и писал императрице Екатерине II: «Корсаков, матушка, такой инженер, что у нас не бывало… Сего человека нужно беречь». Увы, пожелание князя не сбылось: Николай Корсаков погиб в 1788 году. Семья Корсакова осталась на попечении брата его вдовы, Николая Мордвинова, видного военного и государственного деятеля. Маленький Семён вместе с матерью будет следовать за дядей, который всё время переезжал по служебным делам.

Семён Корсаков в молодости / Талдомский историко-литературный музей
Семён Корсаков в молодости / Талдомский историко-литературный музей

В 1805 году Семён становится «архивным юношей», то есть поступает на службу в Архив Коллегии иностранных дел в Москве. Среди «архивных юношей» в разное время были Александр Пушкин, Владимир Одоевский, Алексей Толстой и другие знаменитые в будущем люди. Между 1805 и 1845 годами Корсаков неоднократно выходит в отставку, вновь поступает на службу и переводится из одного органа власти в другой. Он успел поучаствовать в Отечественной войне 1812 года: был во многих сражениях, в том числе в знаменитом разгроме французов на Березине, получил контузию и дошёл до Парижа. После войны он служит в министерстве полиции, затем в министерствах юстиции и внутренних дел; везде он занимается статистикой.

Хотя Корсаков не имел формального образования, он отличался обширными познаниями и изобретательностью. В 1824 году он предложил учредить в Санкт-Петербурге «Справочное место», которое должно было облегчить поиск работы, найм жилья, покупку и продажу имущества (его предложение было воплощено в жизнь в 1825 году). Дядя Корсакова, Николай Мордвинов высоко оценил другое его изобретение — карманную астролябию.

В 1829 году Корсаков увлекся гомеопатией. Стоит напомнить, что тогда она не считалась лженаукой (хотя сомнения в её эффективности уже были). Корсаков много времени уделял исследованиям в этой области, а его публикации высоко оценивал сам отец гомеопатии Самуэль Ганеман. Как ни удивительно, но именно занятия этой сомнительной дисциплиной привели Корсакова к главному изобретению его жизни.

Корсаков лечил генерал-майора Николая Муравьева, который сперва был противником гомеопатии, но после сильно увлекся ею. В 1831 году в одном из писем Муравьев предложил создать таблицу, по которой можно было бы легко подобрать гомеопатическое лекарство, зная симптомы болезни. Корсаков, как статистик, уже имел дело с таблицами и знал, насколько трудно работать с ними вручную. Видимо, идея Муравьева натолкнула его на мысль о механизации этого процесса.

В 1832 году Корсаков направляет в Академию наук письмо, где просит рассмотреть созданный им «новый способ исследования». Одновременно с этим он выпускает брошюру «Начертание нового способа исследования при помощи машин для сравнения идей» на французском языке.

Рассмотрим идеи Корсакова более подробно. Представим себе таблицу наподобие той, что предлагал Муравьев. Её строки соответствуют симптомам, а столбцы — заболеваниям. Если определенному заболеванию (простуде) соответствует симптом (кашель), то на пересечении соответствующих столбца и строки следует проколоть отверстие (готовая таблица отмечена цифрой III на рисунке ниже).

Предположим, что теперь мы хотим узнать, какой болезни соответствует определённый ряд симптомов. Для этого нам нужно использовать одно из предложенных Корсаковым устройств. Самое простое из них, прямолинейный гомеоскоп с неподвижными частями  — это брусок, в который вставлено столько игл, сколько есть строк в таблице (цифра I на рисунке).

Гомеоскоп нужно поставить в начало таблицы и опустить вниз те иглы, которые соответствуют интересующим нас симптомам (цифра II на рисунке). Затем гомеоскоп нужно двигать вдоль таблицы. Когда все опущенные иглы попадут в отверстия в таблице, гомеоскоп остановится над столбцом, обозначающим интересующую нас болезнь.

Другие приборы Корсакова действуют подобным образом и позволяют, например, находить не только точное, но и частичное соответствие между запросом и сведениями из таблицы.

Современный человек легко поймёт, для чего предназначались машины Корсакова — они должны были стать механическим аналогом цифровых баз данных. По мысли изобретателя, с их помощью можно было производить поиск по массивам данных, используя разные логические операторы (И, ИЛИ, НЕ). Сама идея Корсакова была гениальна и опережала свое время на многие десятилетия, но воплотить её в жизнь оказалось невозможно.

Академия наук, получив прошение Корсакова, собрала комиссию, которая внимательно изучила его проект. Академики отдали должное оригинальности идей, но сочли их совершенно непрактичными. Сам Корсаков считал, что создал метод исследования и инструменты для получения нового знания. Однако комиссия с этим не согласилась: «Прежде всего, ни чистая, ни прикладная математика не могут извлечь из них никакой пользы, потому что сущность [этих наук] нельзя свести к таблицам. То же относится к физике и химии».

Академики согласились, что машины Корсакова могут служить для поиска и сравнения различных понятий, однако «составление таблицы представило бы огромную работу, причём очень кропотливую», поэтому никто не взялся бы за неё. Отзыв комиссии заканчивался так: «Г-н Корсаков потратил слишком много разума на то, чтобы научить других обходиться без разума».

Брошюра Корсакова также не вызвала интереса у читателей. Весь проект был забыт больше, чем на сто лет. Только в 1961 году советские историки опубликовали переписку Корсакова с Академией, причём личность изобретателя была тогда совершенно неизвестна. Лишь на рубеже XX и XXI веков усилиями историков была восстановлена биография этого выдающегося человека, а его работы оказались вписаны в историю науки и техники как одна из первых попыток механизации мышления и создания искусственного интеллекта.

Интермедия: Корсаков и Бэббидж

Однако идея использования перфокарт для автоматической обработки информации не канула в лету. К концу XIX века появились такие большие массивы данных, что их стало невозможно обрабатывать вручную. Прежде всего, это касалось данных переписей населения. Неудивительно, что первая система для обработки больших объёмов данных была создана именно для нужд американской переписи населения 1890 года.

В 1880 году в США прошла очередная перепись населения. В обработке её результатов участвовали двое: представитель руководителя медицинской службы армии США Джон Шоу Биллингс и недавний выпускник Колумбийского горного училища Герман Холлерит. Видимо, наблюдая за тяжелой работой счётчиков Бюро переписи, Биллингс сказал Холлериту: «Должна же быть какая-то машина для выполнения этой механической работы».

Биллингс в общих чертах обрисовал  решение: данные о каждом человеке записываются с помощью отверстий на отдельную карточку, которая затем обрабатывается с помощью специальных устройств. Холлерит загорелся идеей. В 1884 году он уволился из Бюро переписи и уже к 1889 году получил три патента на созданную им систему обработки данных.

Общий принцип работы его системы был следующий:

  1. Данные заносятся на карточки с помощью перфоратора. Каждое отверстие соответствует наличию какого-либо признака — пола, возраста, цвета кожи.
  2. Оператор пропускает карточки через табулятор. Когда в определённом месте карточки есть отверстие, оно позволяет замкнуть электрическую цепь и прибавить единицу на счётчике. Таким образом, каждый счётчик подсчитывает количество карт, на которых имеется тот или иной признак.
  3. Когда карточка считывается, автоматически открывается одна из ячеек сортировального ящика, куда она затем помещается (каждый ящик может сортировать только в пределах одного признака, например, по возрасту: до одного года, от 1 до 10 лет, от 11 до 20 и так далее).

Перфокарты можно пропускать через табулятор снова и снова, сортируя их по разным признакам и их сочетаниям.

Визуальное представление схемы работы системы Холлерита
Визуальное представление схемы работы системы Холлерита

Уже в 1886 году система Холлерита используется для анализа демографической статистики в Балтиморе. В 1889 году Холлерит выигрывает конкурс систем для обработки данных следующей переписи, которая должна пройти в 1890 году.

Скорость работы его конструкции была огромной для того времени: первые результаты смогли обнародовать уже через шесть недель. В целом обработка данных переписи 1890 года заняла три года (против восьми лет для переписи 1880 года). Использование системы Холлерита позволило сэкономить порядка $5 млн при общей стоимости переписи около $12 млн.

После успешного проведения американской переписи оборудованием Холлерита заинтересовались другие страны — Австро-Венгрия, Канада, Норвегия, Италия, Германия.

5 июня 1895 года император Николай II утвердил «Положение о первой всеобщей переписи населения Российской империи». Одним из основных органов проведения переписи стал Центральный статистический комитет (ЦСК) Министерства внутренних дел. Директором ЦСК в то время был Николай Александрович Тройницкий. На него была возложена задача организации технической стороны будущей переписи. Тройницкий уже был знаком с устройством системы Холлерита. Он изучил её применение во время переписи населения Австро-Венгрии в 1891 году.

Герман Холлерит во время приезда в Россию
Герман Холлерит во время приезда в Россию

В августе 1895 года в Берне проходила сессия Международного статистического института, где Тройницкий представлял Россию. Туда же был приглашен Холлерит, который уже знал, что в Российской империи хотят использовать его систему для проведения переписи. Несколько раз Тройницкий и Холлерит встречались, чтобы обсудить условия сотрудничества. На первой же встрече Холлерит узнал, что Тройницкий вел переговоры с австрийцами о покупке машин у них. Это лишило бы его любых доходов от проведения российской переписи. Однако Тройницкий не дал окончательного ответа и пообещал, что свяжется с Холлеритом позже.

«Позже» длилось больше года. Только 15 декабря 1896 года Холлерит и Тройницкий подписали договор, согласно которому Холлерит продавал (а не сдавал в аренду, как, например, американскому правительству) России 35 табуляторов. Кроме того, он согласился сдать в безвозмездную аренду ещё 35 табуляторов, использовавшихся для американской переписи 1890 года. Также он должен был поставить 500 перфораторов для пробивки карт. Общая стоимость договора составила $67 тыс. или 135 тыс. рублей.

Всеобщая перепись Российской империи прошла 28 января 1897 года (по старому стилю). В августе началась обработка переписных листов, на которой было задействовано больше 2000 человек. Анализ и публикация результатов растянулись на восемь лет — последний сборник данных вышел только в 1905 году.

Разработка результатов переписи вызвала полярные оценки: современники отмечали забюрократизированность работы ЦСК, внешне жёсткий контроль при отсутствии чёткого плана и общей бессистемности работы. Бывший сотрудник ЦСК Артемий Котельников даже выпустил брошюру, где громил Тройницкого и заведующего машинным отделением Владимира Аленицына за некомпетентность.

Обработка результатов всеобщей переписи 1897 года (гравюра из журнала «Нива», 1898 год)
Обработка результатов всеобщей переписи 1897 года (гравюра из журнала «Нива», 1898 год)

Роль машин Холлерита также оценивалась неоднозначно. Тот же Котельников считал, что применять машины для переписи было не нужно и нецелесообразно, так как в России того времени не хватало квалифицированного персонала. Впрочем, сам Холлерит также скептически оценивал работу ЦСК.

После проведения переписи интерес к перфокартам в России падает. В США фирма Холлерита Tabulating Machine Co. (позднее она станет называться International Business Machines Co., IBM) начала внедрять своё оборудование в страховых компаниях, на железных дорогах и других предприятиях, где нужно было быстро и эффективно обрабатывать большие массивы информации. Российская же экономика не нуждалась в той степени механизации учёта, при которой использование перфокарт становится выгодным.

Интерес к использованию перфокарт для механизации учёта вновь появился в России только после Октябрьской революции 1917 года. Как указывал Ленин, «учёт и контроль повсеместный, всеобщий, универсальный, — учёт и контроль за количеством труда и за распределением продуктов — в этом суть социалистического преобразования, раз политическое господство пролетариата создано и обеспечено».

Первый комплект машин (правда, не Холлерита, а его конкурента, Джеймса Пауэрса) появился в Харькове уже в 1925 году. К 1930 году в СССР эксплуатировалось 62 машины, а в конце первой пятилетки имелось уже более двадцати машиносчётных станций и три фабрики механизированного учёта, где было установлено 80 комплектов счётно-аналитических машин (в США в то же время их было порядка 4 000).

Поначалу всё оборудование СССР берёт в аренду у западных фирм. В 1929 году началось производство первых машин для работы с перфокартами, а уже в 1931 году в Москве создаётся Завод счётно-аналитических машин (САМ). Одновременно, в Московском учётно-экономическом институте Госбанка организуется специальный факультет механизации учёта. К концу 1930-х годов был налажен выпуск всех типов оборудования для работы с перфокартами (перфораторов, контрольников, сортировочных машин и табуляторов), что позволило отказаться от аренды этих устройств у зарубежных компаний.

Как выглядела обработка данных переписи населения СССР 1937 года: данные переписного листка с помощью перфоратора (слева вверху) заносятся на перфокарту . Затем правильность записи проверяется контрольным аппаратом (справа вверху). Готовые карты пропускаются через счётно-сортировочную машину (слева внизу) // Иллюстрация из журнала «Техника — молодёжи», 1937 год
Как выглядела обработка данных переписи населения СССР 1937 года: данные переписного листка с помощью перфоратора (слева вверху) заносятся на перфокарту . Затем правильность записи проверяется контрольным аппаратом (справа вверху). Готовые карты пропускаются через счётно-сортировочную машину (слева внизу) // Иллюстрация из журнала «Техника — молодёжи», 1937 год

Правда, стоит отметить, что советские машины не были оригинальными разработками и представляли собой более или менее хорошо сделанные копии с машин IBM и Remington Rand. Естественно, что копирование приводило к отставанию — ведь скопировать можно только то, что уже выпущено, а новые разработки до выхода на рынок остаются коммерческой тайной. Мы ещё увидим, как в 1960-1970-х годах СССР применяет ту же самую тактику копирования в отношении компьютерной техники.

Оборудование для обработки перфокарт широко производилось по всему миру до середины 1960-х годов. Как раз в это время появились первые сравнительно небольшие и недорогие компьютеры, которые давали гораздо больше возможностей для обработки информации. Впрочем, перфокарты так и остались главным средством ввода информации в компьютер до широкого распространения дисплеев в 1970-х годах. Старые машины тоже не исчезли в одночасье — табуляторы продолжали использовать до конца XX века. А в 2012 году журналисты узнали, что американская компания Sparkler Filters до сих пор использует перфокарты для ведения своей бухгалтерии — в основе их системы был табулятор IBM 402, выпущенный в 1948 году!
IQ