Охота на электроовец. Большая книга искусственного интеллекта
Шрифт:
2.7.2 Говард Эйкен и компьютер Mark I
Идея создания электромеханической вычислительной машины пробивала себе дорогу и по другую сторону Атлантики. Примерно в то же время, когда Цузе трудился над первой моделью своей машины, уже упоминавшийся нами гарвардский физик Говард Эйкен обратился к идее автоматизации вычислений. Диссертационная работа Эйкена была основана во многом на решении нелинейных дифференциальных уравнений, что требовало выполнения утомительных расчётов. Эйкен прекрасно понимал, что подобная работа может быть механизирована и что вычислительная машина могла бы принести пользу при решении разнообразных задач во многих областях науки. Эйкен понимал, что для создания компьютера потребуется много денег, и решил обратиться к одному из крупнейших производителей механических и электромеханических калькуляторов в США — компании «Монро» (Monroe Calculating Machine Company). 22 апреля 1937 г. Эйкен представил главному инженеру «Монро» Джорджу Чейзу
346
Dalakov G. The MARK computers of Howard Aiken / History of Computers: hardware, software, internet… // https://history-computer.com/ModernComputer/Relays/Aiken.html
Примечательно, что Эйкен был учеником Эмори Чаффи, специалиста по электронным лампам, и, следовательно, прекрасно знал о возможностях этой технологии. Так почему же свой компьютер Эйкен хотел создать на базе реле? Ответ: по чисто финансовым соображениям. Эйкен знал, что проект потребует существенных вложений. Когда он подал заявку в «Монро», то был готов сделать свой компьютер из механических частей и реле. Если бы интерес к проекту Эйкена проявила компания, специализирующаяся на электровакуумных приборах, то проектируемая машина могла бы стать электронной. Забегая вперёд, скажем, что в итоге машина была создана из элементов табуляторов — потому что проект осуществляла IBM.
Несмотря на то что отказ «Монро», безусловно, стал для Эйкена ударом, он не собирался сдаваться быстро. Хотя Чейз и не смог убедить руководство своей компании, он предложил Эйкену обратиться за помощью к гарвардскому профессору Теодору Брауну, другу президента IBM Томаса Уотсона — старшего. Браун, в свою очередь, попросил изучить проект Эйкена старшего инженера IBM Джеймса Брайса. После положительного заключения Брайса и поддержки Уотсона компания IBM одобрила проект по постройке машины, получившей впоследствии название Harvard Mark I [347] .
347
Chase G. C. (1980). History of Mechanical Computing Machinery (with foreword by I. Bernard Cohen) / Annals of the History of Computing, Vol. 2, pp. 198–226 // http://www.rechenmaschinen-illustrated.com/pdf/chase.pdf
В конце 1937 — начале 1938 г. Эйкен подготовил формальное описание проекта под названием «Предлагаемая автоматическая вычислительная машина» (Proposed Automatic Calculating Machine). Оно состояло из 22 печатных страниц с двойным интервалом и начиналось с краткой истории устройств, предназначенных для автоматизации вычислений. Эйкен упоминает неперовы палочки, калькуляторы Паскаля, Морланда и Лейбница, дифференциальные машины Бэббиджа, Шутца, Вайберга и Гранта, ткацкий станок Жаккара и, наконец, табулятор Холлерита [348] .
348
Aiken H. (1989). Perspectives on the Computer Revolution. Ablex Publishing Corp // https://history-computer.com/Library/AikenProposal.pdf
Затем Эйкен обращается к необходимости более мощных инструментов для проведения расчётов в математических и физических дисциплинах, в общих чертах он обрисовывает области применения своего компьютера — это и теоретическая физика, радиосвязь и телевидение, астрономия, а также быстроразвивающаяся сфера математической экономики и социологии. Эйкен выделил четыре конструктивные особенности, которые должны, по его мнению, отличать машину для научных вычислений от производимых IBM табуляторов.
1. Машина должна быть способна обрабатывать как положительные, так и отрицательные величины, в то время как существовавшие тогда учётные машины были предназначены лишь для решения задач с положительными числами.
2. Машина должна поддерживать многие виды трансцендентных функций (например, тригонометрические), эллиптические функции, функции Бесселя и вероятностные функции.
3. После задания процесса вычислений работа машины должна быть полностью автоматической.
4. Машина должна быть способна
Переговоры официальных представителей IBM и Гарварда завершились 31 марта 1939 г. подписанием соглашения, в соответствии с которым IBM согласилась построить для Гарварда вычислительную систему, состоящую из машин для автоматического выполнения серий математических вычислений. Устройство получило название ASCC (Automatic Sequence Controlled Calculator, автоматический калькулятор с последовательным управлением), позже стало использоваться название Harvard Mark I. Работа над постройкой машины началась в мае 1939 г. в лабораториях IBM в городе Эндикотте (штат Нью-Йорк), и предполагалось, что она продлится два года. В действительности на постройку ушло почти пять лет. В январе 1943 г. машина решила свою первую вычислительную задачу, а в феврале 1944-го была перевезена в Гарвард и установлена в подвале Лаборатории физических исследований. Сборка машины на новом месте завершилась в марте 1944 г. В августе того же года IBM официально представила машину университету. Общие затраты IBM на создание этой машины обычно оцениваются в 200 000 долларов — весьма внушительная сумма для того времени.
В мае 1944 г. машина на время войны была передана в ведение Бюро кораблестроения (Bureau of Ships) военно-морского флота. К августу команда, работавшая на Марк I под руководством Эйкена, была полностью укомплектована многочисленным штатом специалистов военно-морского флота, включающим ряд офицеров, среди которых были Грейс Хоппер и Ричард Блох, ставшие главными программистами. Считается, что именно Грейс Хоппер нашла первый компьютерный «баг» (bug, «жучок») — мёртвую моль, которая попала в Mark I и своими крыльями заблокировала чтение отверстий перфоленты [349] . Хотя на самом деле слово «баг» использовалось для описания дефекта, по крайней мере с 1878 г. (в 1878 г. Томас Эдисон писал в письме Тивадару Пушкашу: «Так было со всеми моими изобретениями. Первый шаг — интуиция, которая приходит как вспышка, затем возникают трудности — устройство отказывается работать, и именно тогда проявляются «жучки» — как называют эти мелкие ошибки и трудности, — и требуются месяцы пристального наблюдения, исследований и усилий, прежде чем дело дойдёт до коммерческого успеха или неудачи» [350] ), но Грейс Хоппер приписывают изобретение слова «отладка» (debugging, дословно «обезжучивание») для обозначения работы по устранению ошибок в программах.
349
Dalakov G. The MARK computers of Howard Aiken / History of Computers: hardware, software, internet… // https://history-computer.com/ModernComputer/Relays/Aiken.html
350
Edison to Puskas, 13 ноября 1878, Edison papers, Edison National Laboratory, U. S. National Park Service, West Orange, N. J., цит. по: Forsyth M. (2011). The Etymologicon: A Circular Stroll through the Hidden Connections of the English Language. Icon Books Limited.
В 1944 и 1945 гг. машина работала практически непрерывно. Задачи военного времени, которые нужно было решить, включали исследования магнитных полей, связанных с защитой кораблей от магнитных мин, а также математические расчёты по проектированию и использованию радаров. Без сомнения, самой важной проблемой военного времени были расчёты для взрывов, заказанные Джоном фон Нейманом для лаборатории в Лос-Аламосе. Прошло не меньше года, прежде чем сотрудники Эйкена узнали, что эти расчёты были необходимы для создания атомной бомбы. Выдающийся успех и одновременно с этим тот факт, что расчёты взрывов потребовали больше времени, чем предполагалось по плану, привели к тому, что военно-морской флот попросил Эйкена в начале 1945 г. спроектировать и построить вторую аналогичную машину. Она получила название Mark II.
Внешне вычислительная машина представляла собой внушительное зрелище: при размерах приблизительно 16 x 2,5 x 1 м она весила пять тонн и содержала 760 000 деталей, 850 км проводов, 3 000 000 соединений, 3500 многократных реле с 35 000 контактов, 2225 счётчиков, 1484 десятипозиционных переключателя. Опираясь на технологию, разработанную IBM для статистических и бухгалтерских машин, Harvard Mark I задействовала в своей конструкции традиционные компоненты IBM, такие как электромагнитные реле, счётчики, кулачковые контакты, перфокарты и электрические пишущие машинки, но, кроме этого, также включала новые конструктивные элементы — реле и новые, более быстрые и компактные виды счётчиков, которые раньше не использовались в машинах IBM.