Идеи по созданию «умной машины» витали в воздухе с древних времен.
Первое запатентованное и функционирующее счетное устройство, механический калькулятор, появилось в 1640 году. Его сконструировал математик и философ Блез Паскаль для своего отца, сборщика налогов. Эта машина представляла собой громоздкое устройство из спиц и колесиков, в которое с помощью специальной палочки вводились данные. Машина умела складывать и вычитать.
Несколько десятилетий спустя математик Готфрид Лейбниц попытался усовершенствовать калькулятор Паскаля, но не смог воплотить свои идеи, потому что сам он не обладал инженерным мышлением, а в его окружении не было талантливых инженеров.
1.1. Арифметические машины Чарльза Беббиджа
Чарльз Бэббидж с детства интересовался разными машинами. Его завораживали механические куклы, способные танцевать, ходить, прыгать и даже проявлять характер. Он вырос, стал математиком и приступил к работе по созданию машины более сложной, чем калькуляторы Паскаля и Лейбница. Он создавал свою первую машину, которая могла вычислять синусы, косинусы, тангенсы и логарифмы, взяв за основу идею французского математика Гаспара де Прони о том, что сложную операцию можно разбить на множество простых. Этот принцип лег в основу сборочного конвейера – одного из выдающихся достижений промышленной революции.
Чтобы определить значения квадратов последовательных чисел 1, 2, 3, 4 и т. д., нужно создать столбец A c квадратами этих чисел 1, 4, 9, 16 и т. д. Затем в столбце B следует записать разницу между последовательными числами из столбца А: 3, 5, 7, 9 и т. д. В столбец C нужно занести разность между последовательными числами из столбца B: 2, 2, 2, 2. Теперь можно по постоянным разностям из столбца C восстановить квадраты чисел: добавлять 2 к последнему числу из столбца B, а затем складывать полученный результат с числом из столбца А. В результате получается следующее значение в последовательности квадратов чисел.
Чарльзу Бэббиджу удалось автоматизировать действия из таблицы с помощью своего изобретения – разностной машины. Она работала, основываясь на функциях, выраженных в виде многочлена.
Механизм разностной машины состоял из вертикальных валиков с дисками. Диски поворачивались, и каждый угол соответствовал определенной цифре. Диски управлялись с помощью ручек, которые запускали шестеренки, управляющие дисками. Машина также умела сохранять промежуточные результаты вычислений.
Британское правительство заинтересовалось изобретением и даже выделило финансирование на дальнейшую разработку чудо-машины в 1823 году. В течение 10 лет Бэббидж с инженером пытался усовершенствовать машину. В итоге затраты в 10 раз превысили ассигнования правительства. На эти деньги можно было построить 2 военных корабля. Но устройство так и не стало функционировать так, как задумывалось.
Потом у Бэббиджа возникла новая идея – аналитической машины, которая выполняет вычисления, задаваемые через программу. Машина могла переключаться с одной задачи на другую и менять алгоритм действий, основываясь на промежуточных результатах. Эта концепция опередила свое время на целый век, поэтому она не получила финансирование. Даже в научных кругах ее сочли утопичной.
1.2. Предсказания Ады Лавлейс
В Аде Байрон уживались любовь к прекрасному, которая досталась ей от отца – поэта Джорджа Гордона Байрона, и математические способности, полученные в наследство от матери. За свою короткую жизнь (всего 36 лет) Ада успела выйти замуж за лорда Лавлейса, родить троих детей, пристраститься к азартным играм и опиуму. Но кроме этого она успела оставить след в истории цифровых технологий. Ада написала примечания к статье об аналитической машине Бэббиджа. Из-за этих примечаний Аду Лавлейс иногда называют первым программистом – «Примечания» содержали описание первой компьютерной программы. Министерство обороны США даже назвало язык программирования высокого уровня именем Ada – в честь графини Лавлейс, которая предсказала 4 основных свойства современных компьютеров.