Охота на электроовец. Большая книга искусственного интеллекта
Шрифт:
Машина приводилась в действие длинным горизонтальным валом, непрерывно вращающимся со скоростью около 3 оборотов в секунду. Счётное устройство и память Mark I оперировали 23-значными десятичными числами (24-я позиция была отведена для хранения знака). Расчёты производились в десятичных числах с фиксированной запятой. Эйкен говорил, что причиной выбора 23-значных чисел было то, что он намеревался пересчитать планетные орбиты, а для этого нужна была именно такая точность [351] .
351
Dalakov G. The MARK computers of Howard Aiken / History of Computers: hardware, software, internet… // https://history-computer.com/ModernComputer/Relays/Aiken.html
Машина была снабжена 60 наборами из 24 переключателей для ручного ввода данных и была способна хранить в памяти 72 числа [352] . Она выполняла три сложения или вычитания в секунду, умножение занимало 6 секунд, деление — 15,3 секунды, а на вычисление логарифма или тригонометрической
352
Wilkes M. V. (1956). Automatic Digital Computers. New York: John Wiley & Sons. pp. 16–20 // https://books.google.ru/books?id=n_oNAAAAQAAJ
353
Cohen I. B., Welch G. W., Campbell R. V. D. (1999). Makin' Numbers: Howard Aiken and the Computer. MIT Press // https://books.google.ru/books?id=lVfX5wMkI7oC
2.7.3 Кто же был первым?
В чём заключался принципиальный прогресс, достигнутый Цузе и Эйкеном? Ответ на этот вопрос не столь очевиден. Ни машины Цузе, ни Harvard Mark I не были первыми в истории электромеханическими счётными устройствами. Мы знаем, что табулятор Холлерита использовал в своей работе электрический ток. Механические счётные машины — арифмометры — в 1930-е гг. были распространены повсеместно, неужели замена ручного привода арифмометра на электрический двигатель стала столь грандиозной инновацией? Да, машины Эйкена и Цузе могли осуществлять цепочки последовательных действий, но ведь и табуляторы выполняли операции последовательного сложения при подсчёте перфокарт. Конечно, им были недоступны более сложные операции, такие как вычисление тригонометрических функций, но действительно ли революционным стало добавление вычитания, умножения и деления к сложению, доступному табуляторам?
Для того чтобы объяснить принципиальную суть инноваций Цузе и Эйкена, нам придётся сделать небольшое теоретическое отступление.
Несколько лет назад пользователь Reddit с ником u/General_Urist написал пост со вполне резонным вопросом: «Я видел множество приспособлений, номинированных на звание первого в мире компьютера. Разностная машина, Z1 Цузе, Z3 Цузе, Colossus, ENIAC и так далее. Почему по этому поводу существуют разногласия?» В комментариях другие пользователи вполне резонно отвечают: «Потому что люди не могут договориться о том, что такое „компьютер“». Пользователь BitOBear приводит длинный список спорных признаков «компьютера», например: тьюринг-полнота [Turing completeness], наличие или отсутствие движущихся частей (или ограничение их количества), допускает ли устройство перепрограммирование и возможно ли это перепрограммирование программными средствами, должна ли у устройства быть память и считаются ли за память перфокарты или углы поворота зубчатых колёс и так далее [354] .
354
https://www.reddit.com/r/AskScienceDiscussion/comments/49ut8e/ive_seen_a_whole_bunch_of_things_nominated_for/
Отметив имеющиеся разногласия, хотелось бы остановиться на первом из названных признаков — так называемой тьюринг-полноте устройства. Вплоть до 1940-х гг. слово «компьютер» (computer) зачастую обозначало человека. Историк вычислительной техники Пол Черуцци в своей статье с говорящим названием «Когда компьютерами были люди» (When Computers Were Human) [355] приводит любопытную выдержку из отчёта, написанного в феврале 1945 г. одним из пионеров вычислительной техники Джорджем Штибицем: «Под „калькулятором“ или „счётной машиной“ мы будем понимать устройство… способное принимать [на вход] два числа A и B и формировать несколько или любую из комбинаций A + B, A – B, A x B, A / B. Под „компьютером“ мы будем понимать машину, способную автоматически выполнять последовательность операций такого рода и сохранять необходимые промежуточные результаты. Задействованные в процессах люди будут называться „операторами“, чтобы отличать их от „компьютеров“ (машин)». Под определение Штибица подходят первые машины Цузе и Mark I Эйкена, но не подходят ни табулятор Холлерита, ни разностные машины, ни ранние механические калькуляторы. Понятно, что с определением Штибица можно спорить, говорить, что оно выбрано произвольно, но самое примечательное в нём то, что его появление знаменует собой признание за машиной наличия способности заменить человека в деле решения нетривиальных вычислительных задач, отличных от простых арифметических примеров, решаемых в одно действие. Но какими свойствами должна обладать машина, способная, руководствуясь соответствующей программой, решить любую математическую задачу из числа тех, которые способен решить человек, снабжённый неограниченным количеством карандашей и бумаги?
355
Ceruzzi P. E. (1991). When Computers Were Human / IEEE Annals of the History of Computing, Vol. 13, Iss. 3 // https://ieeexplore.ieee.org/document/4638252
2.7.4
Такой простой, на первый взгляд, вопрос требует для ответа на него весьма нетривиальных теоретических изысканий. Интересно, что вплоть до 1930-х гг., несмотря на, казалось бы, самоочевидность самого явления, у учёных не было формального определения для множества задач, которые могут быть решены при помощи бумажно-карандашных методов. Хотя для их обозначения имелся даже специальный, хотя и неформальный термин: «эффективно вычислимые задачи» (effectively calculable problems). В 1930-е гг. сразу несколько учёных попытались дать формальные определения этому понятию и подошли к проблеме, как часто водится, с разных сторон.
Из английской «Википедии» можно узнать, что в 1933 г. австро-американский математик Курт Гёдель вместе с Жаком Эрбраном дали формальное определение класса, подходящего в качестве аналога понятия «эффективно вычислимая задача». Этот класс был назван «общерекурсивными функциями» (general recursive functions). Класс общерекурсивных функций — это наименьший класс функций (с одним или более аргументом), он включает в себя все постоянные функции, проекцию, функцию следования и замкнутый относительно функций подстановки, примитивной рекурсии и минимизации [356] .
356
Wikipedia contributors. (2019, March 26). Church–Turing thesis. In Wikipedia, The Free Encyclopedia. Retrieved 03:00, March 28, 2019, from https://en.wikipedia.org/wiki/Church%E2%80%93Turing_thesis
У внимательного читателя после прочтения предыдущего абзаца наверняка возникнет как минимум два вопроса. Во-первых, что означает «австро-американский математик» — неужели на момент публикации статьи, содержавшей определение, у Гёделя было двойное гражданство? Во-вторых, что ещё более странно, как Жак Эрбран, умерший в 1931 г., смог в 1933 г. опубликовать вместе с Гёделем важный научный результат?
За скупыми строками онлайн-энциклопедии, на первый взгляд сквозящими некоторой небрежностью, скрываются удивительные и трагические подробности жизни людей, ставших первопроходцами на неизведанных ранее тропах новой математики.
Жизнь Жака Эрбрана прервалась в 23 года в результате несчастного случая — молодой человек сорвался со скалы массива Экрен во Французских Альпах. Несмотря на возраст, Эрбран успел заслужить в глазах своих учителей звание «одного из величайших математиков нового поколения». Эссе Эрбрана «О непротиворечивости арифметики» (On the Consistency of Arithmetic), подписанное датой 14 июля 1931 г., было направлено автором для публикации в престижный немецкий «Журнал по чистой и прикладной математике» (Journal fur die reine und angewandte Mathematik, часто его кратко называют «Журналом Крелле» по фамилии основателя) непосредственно перед отъездом на отдых в Альпы и получено журналом в день гибели математика, 27 июля. В процессе работы над эссе в начале 1931 г. Эрбран прочитал знаменитую статью Гёделя «О формально неразрешимых предложениях Principia Mathematica и родственных систем» (Uber formal unentscheidbare Satze der Principia Mathematica und verwandter Systeme), в которой Гёдель впервые сформулировал свои знаменитые теоремы о неполноте. По достоинству оценив результат, полученный Гёделем, Эрбран посвятил последний раздел своего эссе доказательству того, что положения его работы не противоречат выводам коллеги. В своём письме Гёделю, написанному в процессе работы над эссе, Эрбран сформулировал понятие рекурсивной функции, которое Гёдель впоследствии подверг обобщению, сославшись при этом на автора. Таким образом на свет появилось определение класса общерекурсивных функций [357] .
357
Herbrand J., van Heijenoort J., Goldfarb W. D. (2012). Logical Writings. Springer Netherlands // https://books.google.ru/books?id=zOXqCAAAQBAJ
Курт Гёдель родился 28 апреля 1906 г. в Австро-Венгрии, в городе Брюнне (сейчас — Брно в Чехии) [358] . В 1918 г., после распада империи, юноша получил чехословацкое гражданство, однако в 23 года официально перешёл в австрийское [359] . Стоило Курту промедлить несколько лет, и тогда авторам «Википедии» пришлось бы, вероятно, писать уже о чехословацко-австрийско-американском математике.
В 18 лет, по стопам старшего брата, Гёдель отправляется в Вену, где поступает в университет, а в 23 года защищает диссертацию под руководством Ханса Хана, одного из основателей знаменитого «Венского кружка». В 1933 г. Гёдель становится приват-доцентом и в том же году впервые отправляется в США, для того чтобы принять участие в работе открытого в том же году Института перспективных исследований (Institute for Advanced Study, IAS) в Принстоне. В IAS Гёдель знакомится с американским математиком и логиком Алонзо Чёрчем и его учениками, а также с Альбертом Эйнштейном, который в будущем станет близким другом математика [360] .
358
Kreisel G. (1980). Kurt Godel. 28 April 1906 — 14 January 1978 / Biographical Memoirs of Fellows of the Royal Society, Vol. 26, pp. 148–224 // https://doi.org/10.1098/rsbm.1980.0005
359
Dawson J. (2005). Logical Dilemmas: The Life and Work of Kurt Godel. Taylor & Francis // https://books.google.ru/books?id=gA8SucCU1AYC
360
Goldstein R. (2006). Incompleteness: The Proof and Paradox of Kurt Godel (Great Discoveries). W. W. Norton // https://books.google.ru/books?id=tXk2AAAAQBAJ