Перейти к содержанию

2.4.5 Идеи Бэббиджа и их реализация

Материал из Охота на электроовец: Большая Книга Искусственного Интеллекта

Споры о том, была ли разностная машина, построенная по чертежам Бэббиджа, полностью работоспособной, не стихали до начала 1990-х гг. В период с 1989 по 1991 г., к 200‑летию со дня рождения Чарльза Бэббиджа, по сохранившимся чертежам и с небольшими модификациями была собрана работающая копия счётной части Разностной машины № 2. Работы по созданию механизма велись под руководством Дорона Суэйда, а в команду инженеров входили Рег Крик, Питер Тёрви, а также уже известные нам по реконструкции Антикитерского механизма Майкл Райт и Алан Бромли[1]. Остаётся открытым вопрос о том, были ли обнаруженные в чертежах Бэббиджа мелкие недоработки упущениями автора или же являлись своеобразным способом защиты от «нелицензионного копирования»[2].

Рис. 21. Разностная машина Чарльза Бэббиджа (функциональная копия счётной части).
Права на изображение принадлежат Дорону Суэйду (Doron D. Swade)

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

В 1834 г. Бэббидж придумал очередное улучшение конструкции разностной машины. В предыдущей версии, когда для вычислений была необходима новая величина — очередное значение последней разности, то её ввод осуществлялся вручную. Бэббидж нашёл способ механического копирования разностей, предложив круговую конструкцию разностной машины, в которой регистры «последней разности» и «таблицы» располагались рядом, а последний управлял ходом вычислительного процесса. Описывая это действие, Бэббидж говорил, что машина поедает свой собственный хвост или что она подобна локомотиву, который сам укладывает для себя рельсы. Развитие этой идеи привело к мысли о том, что можно управлять машиной совершенно независимыми средствами и заставить её выполнять не только сложение, но и любые арифметические операции в любом порядке и столько раз, сколько может потребоваться.

Таким образом, работа над первой разностной машиной, фактически прерванная весной 1833 г., получила продолжение в проекте аналитической машины, первый чертёж которой датирован сентябрём 1834 г.[3]

С точки зрения архитектуры аналитическая машина была похожа на большинство современных компьютеров. Центральным её элементом было вычислительное устройство — в современных компьютерах оно называется центральным процессором, а Бэббидж использовал термин mill (этим словом обозначают фабрику, мельницу, дробилку — словом, нечто, что занимается переработкой). Также машина обладала системой ввода, с 1836 г. для этой цели использовались перфокарты. В качестве устройства вывода аналитическая машина могла, подобно разностной машине, использовать печатающее устройство или же перфокарты. Также Бэббидж рассматривал возможность создания специального устройства для построения кривых, позволяющего облекать числовой вывод в графическую форму[4].

Память аналитической машины должна была состоять из наборов колёс, размещённых на рядах осей. Планировалось, что она будет способна хранить до 1000 чисел, состоящих из 40 десятичных знаков[5].

Идею использования перфокарт Бэббидж позаимствовал из устройства ткацкого станка, созданного французским изобретателем Жозефом Мари Жаккаром в начале 1800-х гг.

  1. Swade D. D. (2005). The Construction of Charles Babbage's Difference Engine No. 2 / IEEE Annals of the History of Computing, Vol. 27, pp. 70–78 // https://ieeexplore.ieee.org/document/1498720/
  2. Babbage printer finally runs (2000) / BBC News // http://news.bbc.co.uk/2/hi/science/nature/710950.stm
  3. Dalakov G. The Analytical Engine of Charles Babbage / History of Computers: hardware, software, internet… // http://history-computer.com/Babbage/AnalyticalEngine.html
  4. Collier B. (1991). Little Engines That Could'Ve: The Calculating Machines of Charles Babbage. Garland Publishing, Inc // http://robroy.dyndns.info/collier/
  5. Bromley A. G. (1998). Charles Babbage's Analytical Engine, 1838. IEEE Ann. Hist. Comput., 20, 29–45 // http://athena.union.edu/~hemmendd/Courses/cs80/an-engine.pdf

Loading comments...