На главную / Наука и техника / Я. И. Фет. Рассказы о кибернетике

Я. И. Фет. Рассказы о кибернетике

| Печать |


Чарльз Бэббидж и Ада Лавлейс

Чарльз Бэббидж (1791−1871)
Чарльз Бэббидж (1791−1871)


Чарльз Бэббидж (1791−1871)

 Все изобретатели 17-го и 18-го веков строили машины для выполнения арифметических действий, которые мы сейчас отнесли бы к так называемым калькуляторам. Первая попытка создания универсальной цифровой вычислительной машины, которая по праву может считаться прототипом современных компьютеров, принадлежит англичанину Чарльзу Бэббиджу (1791–1871). Идея построить вычислительную машину для расчета таблиц возникла у него в 1812 году. С этого момента она не оставляла ученого и была главным предметом его научных изысканий на протяжении более 50 лет. Приблизительно через 10 лет Ч. Бэббидж изготовил действующую модель машины, которая позволяла вычислять с точностью до 8 знаков значения полиномов второй степени, и сообщил об этом членам Астрономического общества. Эту машину Бэббидж назвал разностной машиной. Действующая модель этого вычислителя содержала 96 зубчатых колес. В отличие от счетных машин Б. Паскаля и Г. Лейбница, в разностной машине не требовалось вмешательства человека при переходе к расчету следующего значения функции. В этом был шаг вперед в развитии вычислительной техники, но не это определяло значение трудов Бэббиджа, который по праву считается основоположником принципа программного управления и «запоминаемой программы».

В 1822 году Бэббидж предлагает новый проект разностной машины, которая должна была вычислять значения полиномов до седьмой степени с точностью до двадцати значащих цифр и печатать результаты вычислений на бумаге. Работа над созданием этой машины субсидировалась Казначейством, заинтересованным в создании астрономических и морских таблиц. Однако этот проект не был завершен. Не только из-за отсутствия достаточных средств, но, главным образом, по той причине, что Бэббиджем овладела новая идея: создать аналитическую машину или, в переводе на современный язык, универсальную вычислительную машину, способную выполнять вычислительные алгоритмы любой сложности. Бэббидж разработал проект такой машины. В соответствии с этим проектом аналитическая машина должна была состоять из следующих узлов:

– устройства для хранения чисел на регистрах из зубчатых колес (в современной терминологии это память);

– устройства, способного выполнять арифметические действия над числами (которое Бэббидж назвал «Мельницей»), т. е. арифметического устройства;

– устройства, управляющего последовательностью действий машины,– в нашей терминологии устройства управления;

– устройства для ввода исходных данных и печати результатов, иначе – устройства ввода-вывода.

Последовательность операций и последовательность передач чисел из памяти в «Мельницу» и обратно, т. е. программа, должна была специальным образом задаваться на перфорированных картах Жаккара, которые ещё в конце 18-го века использовались для управления ткацкими станками. На этих картах предполагалось пробивать исходные данные. Карты программы могли двигаться вперед и назад в зависимости от знака результата на арифметическом устройстве, и тем самым открывалась возможность менять программу в зависимости от результатов вычислений. Этот принцип изменения программы вычислений в зависимости от результатов является гениальным открытием, принадлежащим Бэббиджу, и является главным свойством, отличающим универсальные вычислительные машины от иных вычислительных устройств. Именно это открывает возможность использовать вычислительные машины как инструмент аналитических исследований. Бэббидж не только высказал этот принцип, но и понял важнейшее его значение.

Бэббидж предполагал, что запоминающее устройство должно содержать около 1000 50-разрядных чисел с тем, чтобы иметь достаточный запас точности и емкости. Скорость выполнения операции сложения в аналитической машине по расчетам изобретателя должна была составлять около одной секунды, умножения и деления – около одной минуты.

В середине 19-го века, при уровне техники того времени, грандиозный замысел создания Аналитической машины трудно было бы реализовать, однако эта работа была доведена Бэббиджем до инженерного проекта.

Для того, чтобы описывать сложные логические связи между узлами и механическими элементами аналитической машины, Бэббидж придумал некоторую знаковую систему, некоторый язык, который позволял компактно записывать эти взаимосвязи. Необходимость разработки такого аппарата диктовалось существом дела – немыслимо было пытаться по чертежам проверять логику работы такой сложной установки. Бэббидж широко пользовался этой

мнемоникой, правда, она была жестко связана с такими понятиями как «храповик», «зубчатая рейка» и т. д.

Чтобы заставить аналитическую машину выполнять нужные вычисления, необходимо было составить для нее программу – последовательность команд для арифметического устройства, команд, управляющих пересылками информации между «Мельницей» и запоминающими регистрами, и команд, управляющих движением перфокарт в зависимости от получившегося знака результата (в нашей терминологии, команд условного перехода). Случилось так, что эту работу блестяще выполнила, заинтересовавшись проектом Бэббиджа, молодая женщина, обладавшая удивительными математическими способностями и большим кругозором. Это была графиня Ада Августа Лавлейс, дочь поэта Джорджа Гордона Байрона. Леди Лавлейс исследовала возможности использования аналитической машины для выполнения сложных вычислений. Она разработала и проанализировала первые в истории программы, доказав тем самым универсальные возможности вычислительной машины. В наше время эту замечательную женщину называют первым в мире программистом. В честь Ады Лавлейс был назван язык программирования ада.

 

Августа Ада Лавлейс (1815−!852)
Августа Ада Лавлейс (1815−!852)

Августа Ада Лавлейс (1815−!852). С портрета Маргарет Кампентер

Августа Ада Лавлейс (1815−!852)

 В 1973 году советские программисты провели отладку на машине БЭСМ-6 программы для вычисления чисел Бернулли, составленной леди Лавлейс в 1843 году. Была обнаружена всего одна ошибка. Обычный уровень ошибок при написании программ такой сложности более высок!

Идеи Бэббиджа намного опередили свое время. В течение почти 80 лет после опубликования работ, касающихся его аналитической машины, поднятый им вопрос об автоматизации вычислительных процессов почти не сдвинулся с места. Интерес к этим работам возобновился только во второй половине 30-х годов прошлого века. Это связано, с одной стороны, с важными научными и технологическими достижениями, а с другой – с необходимостью решать всё более сложные научно-технические и оборонные задачи.

 


Страница 10 из 25 Все страницы

< Предыдущая Следующая >
 

Вы можете прокомментировать эту статью.


наверх^