1. Машина может рассчитывать численное значение всей формулы.
2. Можно рассчитать численные значения каждого члена формулы или ряда и хранить эти результаты раздельно. Для этого машина должна иметь достаточное число устройств.
3. Можно рассчитывать численные значения отдельных элементов каждого члена (формулы) и хранить все результаты раздельно. Можно, например, потребовать рассчитать каждый коэффициент отдельно от своей переменной, тогда в некоторых случаях машина должна иметь регистры с двумя результатами для каждого члена, содержащими как переменную, так и коэффициент.
«Итак, — отмечает Лавлейс, — существует много путей для получения численных значений различных частей алгебраической формулы, и это существенно при алгебраическом характере аналитической машины. Многие лица, недостаточно знакомые с математикой, считают, что роль машины сводится к получению результатов в цифровой форме, а природа самой обработки данных должна быть арифметической и цифровой более чем алгебраической и аналитической. Это заблуждение. Машина может обрабатывать и объединять цифровые величины точно так, как если бы они были буквами или любыми другими символами общего характера, и фактически она может выдать результаты в алгебраической форме. . . Она может выдавать результаты трех видов: символические результаты, . . численные результаты. . . и алгебраические в буквенных обозначениях» [85, с. 273].
Таким образом Лавлейс показывает, что возможности аналитической машины выходят за пределы выполнения вычислительных операций и представляют более общий научный интерес.
В примечании Е Лавлейс впервые вводит понятие цикла операций (т. е. повторяемости группы операций) при машинном решении задач, а также понятия цикла циклов (т. е. кратных циклов). Как известно, оба понятия широко используются в современном программировании.
В примечании F содержится, в частности, интересное замечание Лавлейс о возможностях аналитической машины получить решение такой задачи, которую из-за трудности вычислений практически невозможно решить вручную. Новизна мысли заключается в том, что машина рассматривается не как устройство, заменяющее человека, а как устройство, способное выполнить работу, превышающую практические возможности человека. Заметим, что значение современных ЭВМ для научно-технического прогресса основано именно на том, что они в ряде случаев выполняют работу, которую без ЭВМ выполнить невозможно.
В заключительном примечании G дана программа вычисления чисел Бернулли, в которой Лавлейс продемонстрировала возможности программирования на аналитической машине, рассмотренные в предыдущих примечаниях (циклические операции, циклы в цикле и др.). Таким образом возможность решения сложных задач с помощью аналитической машины была убедительно показана на конкретном примере.
Примечание G интересно и в другом отношении. Ранее Бэбидж писал о возможности выполнения операций математического анализа на машине. При этом он отмечал, что наиболее существенными методами анализа являются дифференциальное и интегральное исчисление, а также комбинаторный анализ Гинденбурга. Хотя существуют и другие методы, но именно эти два важнейших удобнее всего осуществить на машине. Бэбидж иллюстрирует свою мысль задачами, относящимися, например, к теории движения Луны. Рассматривая особенности аналитической машины, Лавлейс приходит к выводу, что расчеты в задачах классического и комбинаторного анализа хорошо подходят для машинной обработки.
Широкую известность получило замечание Лавлейс о принципиальных возможностях аналитической машины: «Аналитическая машина не претендует на то, чтобы создавать что-то действительно новое. Машина может выполнить все то, что мы умеем ей предписать. Она может следовать анализу, но она не может предугадать какие-либо аналитические зависимости или истины. Функции машины заключаются в том, чтобы помочь нам получить то, с чем мы уже знакомы» [85, с. 284]. Это замечание Лавлейс было рассмотрено А. Тьюрингом в его знаменитой работе «Может ли машина мыслить?» (раздел «Возражения леди Лавлейс») [101]. На наш взгляд, важно отметить, что, во-первых, представления Лавлейс о принципиальных возможностях аналитической машины вполне обоснованы (базируются на характеристиках именно этой машины) и, во-вторых, нет достаточных оснований оценивать замечание Лавлейс как верное (или неверное) применительно к современным ЭВМ, особенно, перспективам их эволюции. Дело в том, что качественный скачок в развитии вычислительной техники и программирования, связанный с прогрессом в области ЭВМ, требует иных подходов и критериев.
Как было показано выше, круг вопросов, рассмотренных в «Примечаниях» Лавлейс, весьма широк. Хотя Бэбидж написал свыше 70 книг и статей по различным вопросам, а также составил большее число неопубликованных описаний аналитической машины, но полного и доступного описания и, главное, анализа возможностей машины для решения различных задач он так и не сделал. Бэбидж говорил, что слишком занят разработкой машины, чтобы уделять время ее описанию. Работа Лавлейс не только заполнила этот пробел, но и содержала глубокий анализ особенностей аналитической машины. Важный итог работы Лавлейс заключается в создании основ программирования на универсальных цифровых вычислительных машинах.
Усвоив идеи Бэбиджа и обладая глубокими познаниями в математике, А. Лавлейс с большой энергией проповедует эти идеи, стремясь сделать их широко известными и понятными, стараясь заинтересовать ученых работами Бэбиджа; для этого она использует свои обширные связи и знакомства. Наряду с этим она разрабатывает некоторые чертежи для машины Бэбиджа и исследует вопросы, связанные с применением в машине двоичной системы счисления.
Прекрасный популяризатор идей Бэбиджа Лавлейс настолько хорошо понимала его работу, что описала принципы действия аналитической машины с четкостью, которой не ожидал сам Бэбидж. Он неоднократно повторял, что представления Лавлейс о его работе были яснее, чем его собственные, и даже отмечал, что А. Лавлейс исправила ошибки в его анализе расчета чисел Бернулли.
Мы уже подчеркивали, что она сама высказала ряд идей, получивших широкое применение только в настоящее время. Своими разработками и мыслями А. Лавлейс оказывала влияние и на Бэбиджа.
Глава шестая
Штрихи к характеристике личности
С 1832 г. (после завершения работы над книгой «Экономика машин и производства») и до последних дней жизни, т. е. в течение 38 лет, основные научные интересы Бэбиджа были связаны с вычислительной техникой.
Ё то же время он занимается исследованиями в различных областях, выдвигает гипотезы, предлагает различные изобретения и т. д. По универсальности научных интересов, охватывающих такие области как математика и философия, механика и экономика, геология и социальные вопросы, Бэбидж ближе к ученым Возрождения, чем к своим современникам.
В 1837 г. Бэбидж издает «Девятый трактат Бриджуота», в котором нашли отражение его представления о взаимоотношениях науки и религии, а также рассмотрен ряд математических вопросов. Бриджуот оставил наследство, которое завещал использовать для издания работ под общим названием: «О власти, мудрости и доброте бога, проявляющихся при созидании». Эти работы должны были доказывать пользу и преимущества истинной религии. Было издано восемь трактатов. Бэбидж решил издать девятый трактат на собственные средства.
Бэбидж в своих рассуждениях пытался сгладить противоречия между наукой и религией, считая, что они дополняют друг друга. Он полагал, что преследование или недостаточное внимание к развитию науки и, в частности, математики, сказывается неблагоприятно и на религии. Но при этом «он думал о боге, как о программисте» — сказал о нем Боуден [1 Б. Боуден — в 50-е годы XX в. директор Манчестерского колледжа науки п техники, специалист в области вычислительной техники.] [103].
Бэбидж рассматривал возможность получения числовых последовательностей, у которых первые сто миллионов членов, например, могут следовать некоторому определенному закону, несколько следующих чисел — нарушить его, остальная же часть последовательности — продолжать согласовываться с первоначальным законом. Он описал схему программирования на счетной машине с целью получения таких последовательностей.