Выбрать главу

Дочь лорда Байрона Ада Лавлейс сегодня считается первым программистом: она написала алгоритмы для машины в том виде, в каком ее спроектировал Бэббидж, включая процесс вычисления чисел Бернулли. Лавлейс также поняла, что повторяющиеся механические процессы, на которые способна машина, можно применять не только в математике. В 1843 году Лавлейс писала, что аналитическая машина “могла бы работать с другими вещами, кроме чисел, если найти объекты, взаимоотношения которых можно выразить с помощью абстрактной науки об операциях и которые также можно приспособить к рабочей нотации и механизму машины”. Иными словами, формально можно манипулировать всем, что удастся превратить в нечто похожее на данные – какой-то ряд чисел. Это может быть текст, музыка, искусство или даже игра – например, шахматы. Лавлейс представила себе одну из форм такой автоматизации: “Если предположить, например, что фундаментальные отношения звуков в науке гармонии и музыкальной композиции поддаются такому выражению и адаптации, то машина могла бы сочинять замысловатые научные музыкальные произведения любой степени сложности и объема”. Она предвосхитила нечто, подобное “генеративной музыке”; композитор Брайан Ино предложил этот термин в 1995 году для описания постоянно меняющихся синтезаторных композиций: программное обеспечение создает разные мелодии при каждом запуске программы. Лавлейс представляла, как новая технология может формировать и увековечивать культуру – как это происходит сегодня при алгоритмическом наполнении лент.

Лавлейс одной из первых обнаружила, что манипулирование такими механическими командами может оказаться формой самовыражения. В 1990-х и 2000-х годах компьютерное программирование заняло место рядом с математикой и естественными науками, превратившись в навык, необходимый для полноценного образования ребенка. Я познакомился с ним примерно в 2002 году в компьютерном классе своей школы: мы играли в обучающие видеоигры, напоминающие языки программирования. Но по-настоящему я учился с помощью громоздких графических калькуляторов TI-83, которые нам приходилось приобретать для уроков математики. Эти калькуляторы можно было программировать на языке под названием TI-BASIC, включавшем простые операторы ветвления и функции. Сначала я составлял скромные программы для формул, которые использовались в моих тестах, но когда лучше разобрался в языке, стал создавать свои собственные версии игр “Крестики-нолики” и “Четыре в ряд”. Машина стала партнером в моем творчестве; это казалось настоящим волшебством.

Спустя столетие после Лавлейс британский математик и информатик Алан Тьюринг во время Второй мировой войны работал на правительство – он помогал взломать код немецкой шифровальной машины “Энигма”. В 1946 году, когда война закончилась, Тьюринг написал для Национальной физической библиотеки доклад, в котором предложил идею проекта “автоматической вычислительной машины”. Это было первое описание искусственного интеллекта как реальной возможности, а не теоретической концепции. Тьюринг писал, что вычислительные и сортировочные машины, предназначенные для выполнения конкретных задач, уже существуют, однако его предложение выходит и за эти рамки: “Вместо того чтобы постоянно использовать человеческий труд для вывода материала из машины и ввода его обратно в нужный момент, обо всем будет заботиться сама машина”.

По мнению Тьюринга, подобное устройство могло бы выполнять любые вычисления в любом масштабе, не нуждаясь в перенастройке. У него имелся бы свой внутренний логический язык, который можно было бы приспосабливать для разных целей, чтобы решать произвольные задачи. “Как можно ожидать, чтобы машина выполняла все эти многочисленные вещи? – писал Тьюринг. – Ответ заключается в следующем: мы должны считать, что машина делает нечто довольно простое, а именно – выполняет команды, отданные ей в стандартной форме, которую она способна понять”. Она будет следовать алгоритмам. Он предвосхитил то, как современные алгоритмы машинного обучения развиваются с течением времени, внося коррективы без участия человека.