Возможности аналитической машины в «Примечаниях переводчика» А. Лавлейс. Она отмечает, что вычислительные машины представляют собой совершенно новую область науки и техники и много внимания уделяет выработке соответствующей терминологии. Лавлейс указывает, что аналитическая машина может работать не только с числами: «Предположим, например, что основные соотношения о высоте звуков в науке о гармонии и музыкальной композиции достигли бы большой выразительности и поддавались бы такой обработке, что машина смогла бы соединять искусно написанные музыкальные отрывки любой степени сложности или длины».
Лавлейс пишет, что аналитическая машина по отношению к разностной играет такую же роль, какую играет анализ по отношению к арифметике. Разностная машина могла выполнять только сложение. Аналитическая же машина могла выполнять все четыре действия арифметики непосредственно. Разностная машина могла производить только табулирование, аналитическая же машина много различных операций.
Потом Лавлейс рассматривает запоминающее устройство аналитической машины и предлагает систему графического обозначения данных, содержащихся в регистре памяти. Например, кружок предлагается для записи в нем знака числа, квадрат — для записи символа переменной, значение которой хранится в регистре и т. д.
Далее Лавлейс впервые вводит понятие цикла операций (т. е. повторяемости группы операций) при машинном решении задач, а также понятия цикла циклов (т. е. кратных циклов). Как известно, оба понятия широко используются в современном программировании.
В примечании Р содержится, в частности, интересное замечание Лавлейс о возможностях аналитической машины получить решение такой задачи, которую из-за трудности вычислений практически невозможно решить вручную. Новизна мысли заключается в том, что машина рассматривается не как устройство, заменяющее человека, а как устройство, способное выполнить работу, превышающую практические возможности человека. Заметим что значение современных ЭВМ для научно-технического прогресса основано именно на том, что они в ряде случаев выполняют работу, которую без ЭВМ выполнить невозможно.
В заключительном примечании дана программа вычисления чисел Бернулли, в которой Лавлейс продемонстрировала возможности программирования на аналитической машине, рассмотренные в предыдущих примечаниях (циклические операции, циклы в цикле и др.). Таким образом возможность решения сложных задач с помощью аналитической машины была убедительно показана на конкретном примере.
Широкую известность получило замечание Лавлейс о принципиальных возможностях аналитической машины:«Аналитическая машина не претендует на то, чтобы создавать что-то действительно новое. Машина может выполнить все то, что мы умеем ей предписать. Она может следовать анализу, но она не может предугадать какие-либо аналитические зависимости или истины. Функции машины заключаются в том, чтобы помочь нам получить то, с чем мы уже знакомы».
Хотя Бэббидж написал свыше 70 книг и статей по различнымвопросам, а также составил большее число неопубликованных описаний аналитической машины, но полного и доступного описания и, главное, анализа возможностей машины для решения различных задач он так и не сделал. Бэббидж говорил, что слишком занят разработкой машины, чтобы уделять время ее описанию. Работа Лавлейс не только заполнила этот пробел, но и содержала глубокий анализ особенностей аналитической машины. Важный итог работы Лавлейс заключается в создании основ программирования на универсальных цифровых вычислительных машинах.
В 1831 г., пытаясь определить, какими таблицами легче и удобнее пользоваться, он напечатал один экземпляр своих таблиц логарифмов на 151 листе, на бумаге различного цвета. Было использовано 10 цветов: светло- и темно-синий, светло- и темно-зеленый, оливковый, желтый, светло- и темно-красный, фиолетовый и черный. Помимо обычной краски при печатании пользовались золотой, серебряной и медной. Кроме того, использовалась бумага различной толщины, также калька, восковая бумага, пергамент. Полностью таблицы заняли 21 том. В настоящее время они находятся в Кроуфордской библиотеке Королевской обсерватории в Эдинбурге. Эта работа сохраняет интерес и до нашего времени.
Изучив записи одной из компаний по страхованию жизни, Бэббидж в 1826 г. опубликовал брошюру «Сравнительный обзор различных систем страхования жизни», которая явилась популярным и в то же время высоконаучным изданием. В этой же брошюре Бэббидж приводит рассчитанные им таблицы смертности. Английские компании страхования жизни пользовались этими таблицами в течение полувека, почти до 1870 г. К этому времени были составлены новые таблицы, которые рассчитывались на разностной машине, построенной специально для этой цели. После издания работы Бэббиджа на немецком языке некоторые германские страховые компании также пользовались его таблицами.
Бэббидж начал интересную работу, связанную с анализом соотношения букв, встречающихся в различных языках. Работа не была закончена. Но в наше время и эти идеи Бэббиджа нашли определенное отражение в области структурной лингвистики.
Путешествуя, Бэббидж посещал заводы, изучал различные технологические процессы обработки металлов.
Он занимался вопросами теории чисел давно. Еще в 1819 г. в Эдинбургском Философском журнале Бэббидж опубликовал небольшую статью «Доказательство теоремы относительно простых чисел». В этой работе он доказывает, что
делится на п2 в том и только том случае, когда п простое число.Еще Эйлер пытался найти формулу, которая давала бы исключительно простые числа. В результате этих поисков он указал несколько полиномов с целыми коэффициентами, принимающих для сравнительно большого числа начальных значений х = 0, 1, 2, ... величины, равные только простым числам. Среди этих полиномов наибольшее внимание привлек в дальнейшем квадратный трёхчлен x2 + x + 41, который позволяет получить подряд 40 простых чисел при подстановке х= 0, 1, 2,.., 39. Эйлер проверил получение простых чисел с помощью данного полинома при а = 0,1,2,…, 15. Бэббидж на своей машине за 2,5 мин. получил 30 простых чисел, подставляя в x2 + x + 41 последовательно х=1, 2, 3,…, 30.
Бэббидж в своих рассуждениях пытался сгладить противоречия между наукой и религией, считая, что они дополняют друг друга. Он полагал, что преследование или недостаточное внимание к развитию науки и, в частности, математики, сказывается неблагоприятно и на религии. Но при этом «он думал о боге, как о программисте» — сказал о нем Боуден.
Бэббидж рассматривал возможность получения числовых последовательностей, у которых первые сто миллионов членов, например, могут следовать некоторому определенному закону, несколько следующих чисел — нарушить его, остальная же часть последовательности — продолжать согласовываться с первоначальным законом. Он описал схему программирования на счетной машине с целью получения таких последовательностей.
К этому трактату Бэббидж написал Приложение «Замечание об аргументе Хьюма относительно чудес», в котором подсчитывает вероятность чудес, исходя из свидетельских показаний; учитывает как количество свидетелей, так и вероятность того, что они говорят правду. Фактически здесь Бэббидж подсчитывает вероятность принятия гипотезы, если она неверна, и отклонения, когда она верна.
В процессе работы над вычислительными машинами у Бэббиджа, естественно, возрос интерес к самым разнообразным автоматам. Изучая их, он пришел к выводу что механические автоматы не могут быть использованы для достаточно сложной игры, в то время как устройство такой машины, как аналитическая, хорошо удовлетворяет даже требованиям шахматной игры. Однако, придя к такому выводу, Бэббидж решил все же провести опыт и разработать автомат для простой игры в крестики-нолики.
В книге «Страницы из жизни философа» Бэббидж описывает свою работу над автоматом. В конструкции, разработанной Бэббиджем, нашли отражения представления об автоматах, господствовавшие в XVIII в. (куклы, петух, ягненок), и некоторые вполне современные идеи проектирования вычислительных машин. Если при выполнении определенной задачи в современных машинах встречаются равноценные пути, из которых машина должна выбрать один, то она выбирает путь, зафиксированный каким-нибудь образом. Чаще всего, это просто первый путь, встретившийся машине. Бэббидж решает данный вопрос несколько сложнее. Однако не следует забывать, что он не только решает его, но и впервые ставит. Кроме того, для игры решение Бэббиджа рационально, так как машина в одних и тех же ситуациях делает разные ходы, что затрудняет игру противника. В современных вычислительных машинах часто используют для разных целей датчик случайных чисел. Механизм выбора пути, предложенный Бэббиджем, является прототипом такого датчика.