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