Ричард Хэмминг — гений одной идеи
«Если задача не решается, постарайтесь посмотреть на нее под другим углом, превратив ее недостаток в преимущество».
Ричард Уэсли Хэмминг родился в Чикаго, штате Иллинойс, 11 февраля 1915 года. Его отец — Ричард Хэмминг голландец по происхождению, участвовал в Англо-Бурской войне, переехав в Америку, проработал ковбоем, на момент рождения сына уже занимал должность управляющего кредитами.
Детство прошло в Чикаго, здесь же он окончил среднюю техническую школу и университет им. Ричарда Крейна. Изначально Хэмминг мечтал изучать инженерное дело, но было время Великой депрессии — мировой экономический кризис, и средств на учебу в другом высшем учреждении просто не было, а в университете им. Ричарда Крейна такую дисциплину не преподавали. Выбрав факультет естественных наук, математику, в 1937 году получил степень бакалавра по данной дисциплине. Такой поворот событий сыграл судьбоносную роль в жизни Хэмминга, ведь будучи инженером …» я был бы просто парнем, который чинит канализации, а так моя жизнь напрочь связана с будоражащей ум научно-исследовательской работой».
Свое обучение Хэмминг продолжил в университете штата Небраска. В 1939 году ему была присвоена магистерская степень. После этого он поступил в Иллинойсский университет в Урбане-Шампейне. Здесь написал докторскую диссертацию (о проблемах дифференциальных уравнений с граничными условиями) под руководством Вальдемара Трыжинского, который иммигрировал в Америку из России в 1920 годах и был профессором математики с 1934 по 1969 года. Ричард в 1942 году получил степень доктора философии в области математики. Будучи еще аспирантом, Хэмминг «открыл» для себя Булля, прочел его работу «Исследование законов мышления».
В сентябре 1942 года Хэмминг женился на однокурснице, Ванде Литтл, она позже получила степень магистра по английской литературе. С ней он прожил до конца своих дней, детей у пары не было. В 1944 году ученый стал ассистентом профессора в университете в Луисвилль, Кентукки, США (J.B. Speed Scientific School at the University of Louisville).
В 1945 году Ричард Хэмминг участвовал в знаменитом Манхэттенском исследовательском проекте, целью которого было создание атомной бомбы.
Манхэттенский проект
В начале 1943 года по всей Северной Америке начали «исчезать» люди, целыми семьями. Их фамилии были изменены, никто не знал, куда они выезжают, нельзя было пользоваться напрямую ж/д, на автобусах они доезжали до любой другой станции, и только там покупали билеты на поезд. Как правило, конечной станцией был какой-либо неизвестный полустанок, Санта Фе или Альбукерк, после прибытия на который, людей забирала военная машина и… «никто больше не видел их в свободном мире без сопровождения военных».
Лос-Аламоса не существовало. Его не было на карте, у него не было почтового адреса, его жители попросту не существовали. Даже позвонить по телефону не разрешалось.
18 июня 1942 года полковник Джеймс Маршалл (James Marshall) получил приказ создать организацию, которая обьединила бы ученых и инженеров для работы над созданием ядерного оружия. Проект получил кодовое название «The Manhattan Project». Проще сказать, данный проект представлял собой программу исследований и разработок атомной бомбы. Во главе с США, в проекте принимали участие также и другие страны (Великобритания, Канада). Руководителем проекта был назначен полковник Лесли Ричард Грувс. Для постройки комплекса по реализации программы был создан Манхеттенский инженерный округ (MED).
Работы велись по нескольким направлениям: исследование изотопов урана, исследование плутония, создание оптимального корпуса для бомбы. Были созданы три атомные бомбы — плутониевая «Штучка» (Gadget), которая была взорвана при первом ядерном испытании, урановый «Малыш» (бомба в форме пушечного ядра, начиненная ураном-235), сброшенная на Хиросиму и плутониевый «Толстяк» (более сложная по конструкции бомба, которая взрывала сферу или ядро из плутония), сброшенная на Нагасаки. События в Перл-Харборе ускорили испытание нового вида оружия.
Силами союзников было сделано три плутониевых заряда, по 500 миллионов долларов за каждый. Первый заряд использовался в эксперименте Trinity 16 июля 1945 года, который считается началом атомного века. Второй заряд был взорван над Нагасаки, а вот третий заряд, который планировалось сбросить на Японию, отвезли в Лос-Аламос для дальнейших исследований, где он «убил» самих ученых и сейчас известен как «заряд-демон».
Лос-Аламос 1946 год
Ученые Лос-Аламоса были людьми рисковыми. Для определения критической массы ядер плутония, которые использовались бы для эксперимента Trinity и взрыва бомбы Fat Man, ученым из Лос-Аламоса Луи Слотиным была разработана процедура, получившая дивное название «дерганье дракона за хвост». По этой «методике» Слотин опускал бериллиевую полусферу на плутониевый заряд…» бериллий — отражатель нейтронов, поэтому если находиться достаточно близко к ядру, то нейтроны отскакивают обратно к плутонию, вызывая надкритическое состояние». Слотин почти полностью накрывал заряд бериллиевой полусферой, и единственным, что не давало ей полностью накрыть его, было жало плоской отвертки. Выходит, ученый держал отвертку с тонким лезвием и ею проводил эксперимент, и вот этот инструмент! предотвращал набор плутонием критической массы и убийство всех в комнате.
Иногда отвертка соскальзывала и ученый, который ее держал, моментально »… поджаривался убийственными нейтронами». Что и в результате произошло со Слотиным… Отвертка выскользнула из рук и заряд плутония набрал надкритическую массу, после чего испустил массивный взрыв нейтронного излучения. Слотин успел перевернуть бериллиевый отражатель, этим остановив цепную реакцию, но умер от облучения через 9 дней. И такой ужасный инцидент, увы, был не единственным.
внутри лаборатории
Разработчики атомной бомбы все же осознали всю чудовищность такого изобретенного оружия, которое может уничтожить все живое. Что интересно, многие члены проекта принимали участие во многих миротворческих организаций, при этом выступали за всеобщее разоружение и сохранение мира.
Во время Второй мировой войны Хэмминг покинул Луисвилль (в апреле 1945 года) для работы над Манхэттенским проектом в лаборатории Лос-Аламоса, попал в подразделение к Хансу Безу (Hans Bethe’s), подразделение занималось программированием вычислительных машин IBM, которые использовались для вычислений, проводимых физиками проекта. Его жена Ванда вскоре присоединилась к нему, и также работала в Лос-Аламосе. Хэмминг вспоминал:
«Незадолго до первого испытания, один физик попросил меня проверить некоторые арифметические расчеты, которые он сделал, и я согласился. На мой вопрос о том, что это за расчеты, он ответил: «Это вероятность того, сможет ли бомба «воспламенить» всю атмосферу». Услышав ответ, я решил проверить эти расчеты самостоятельно! На следующий день, когда он пришел за ответом, я попытался обьяснить ему что, «со стороны арифметических действий — все верно, но мне не известны многие физические формулы, по которым можно сделать точные расчеты». На что он ответил, что это не мое дело и единственное, что от меня требовалось, лишь проверить правильность математических расчетов. Одна мысль не покидала меня: «Что же Вы сделали, уважаемый Хэмминг, Вы были вовлечены в рисковое дело, которое ставит под угрозу все живое во Вселенной, при этом сами не понимаете почти половины того, что происходит!» Я расхаживал взад и вперед по коридору, подошел мой друг и спросил, что меня так взволновало. Я рассказал ему о ситуации. Его ответ был: «Ничего, Хэмминг, никто никогда не будет винить тебя».
Несмотря на недолгий срок работы в Лос-Аламосе над проектом, именно здесь Ричард Хэмминг близко познакомился с компьютерными методами вычислительной математики, которые кардинально повлияли на всю его дальнейшую карьеру и жизнь.
В 1946 году Хэмминг начал сотрудничать с Телефонной Лабораторией Белла (Bell Labs), был принят в группу прикладных математиков. Здесь он проработал почти 30 лет, придумал и развил многие численные методы для решения научных и инженерных математических задач. Для поездки в Нью-Джерси Хэмминг купил старенькое авто у Клауса Фукса, который позже был разоблачен FBI и обьявлен шпионом. Хэмминга также вызвали на допрос для дачи показаний.
В Bell Labs Хэмминг долгое время работал с Клодом Шенноном. «Мы были первосортные смутьяны,»- вспоминал Хэмминга позже, — «мы нетрадиционно решали многие вещи и получали ценные результаты. При этом руководство готово было терпеть нас, занимая позицию невмешательства.»
Именно в Лаборатории Белла Ричард Хэмминг, работая на счетной машине Bell Model V, сформулировал, позже названную кодом Хэмминга, свою идею, посвященную кодам для коррекции ошибок и опубликовал ее в 1950 году в своей единственной научной статье. В статье была описана конструкция блочного кода, который корректирует одиночные ошибки, возникающие при передаче сообщений. Счетная электромеханическая машина Bell Model V работала на релейных блоках, скорость расчетов была низкая, данные вводились с помощью перфокарт, да и в процессе чтения часто происходили ошибки.
В одну из пятниц (1947 год), перед тем как отправится домой на выходные, Хэмминг задал машине выполнить долгую, комплексную серию расчетов, но вернувшись в понедельник, обнаружил, что еще на начальной стадии возникла ошибка, а это привело к тому, что машина автоматически вышла из программы. Все это раздражало ученого, ведь приходилось работать по выходным, часто перезагружать программу. Нужно было построить эффективные алгоритмы исправления ошибок, чем Хэмминг и занялся. «Если компьютер может сказать, когда произошла ошибка, то должен быть и способ «заставить» его сказать, где именно она произошла, и исправить ее».
Созданные Ричардом Хэммингом коды — самоконтролирующиеся, они позволяющими автоматически обнаруживать ошибки при передаче данных. О самих кодах на данном ресурсе было написано не мало, повторюсь:
«Код Хэмминга состоит из двух частей. Первая часть кодирует исходное сообщение, вставляя в него в определённых местах контрольные биты (вычисленные особым образом). Вторая часть получает входящее сообщение и заново вычисляет контрольные биты (по тому же алгоритму, что и первая часть). Если все вновь вычисленные контрольные биты совпадают с полученными, то сообщение получено без ошибок. В противном случае, выводится сообщение об ошибке и при возможности ошибка исправляется».
Код Хэмминга. Пример работы алгоритма
В течение 1950 годов он занимался программированием одного из самых ранних компьютеров, IBM 650, совместно с Рут А. Вайс (Ruth A. Weiss) разработал язык программирования L2, один из самых ранних компьютерных языков, в 1956 году этот язык широко использовался в Bell Labs, а также другими пользователями, которым он был известен как Bell 2. В 1957 году язык был заменен на Fortran, после того как IBM '650 была заменена на IBM 704.
В 1976 году ученый сменил место жительства и переехал в город Монтеррей, штат Калифорния, здесь он возглавил научные исследования в области вычислительной техники в Высшем военно-морском училище. Здесь же он занимался преподавательской деятельностью, которой всерьез еще заинтересовался в 1960 году, писал книги по теории вероятностей и комбинаторике. Всего им было написано 9 книг, некоторые из которых издавались много раз и на многих языках, в том числе 3 — в СССР, и около 75 статей. Хэмминг выступал с лекциями как приглашенный профессор в Стэнфордском Университете, Городском колледже Нью-Йорка, Университете Калифорнии в Ирвине, Принстонском Университете.
Работа Хэмминга была отмечена многими наградами, он был лауреатом многих премий. В области искусственного интеллекта его именем названы искусственные нейронные сети Хэмминга, применяющихся для классификации образов. Во многих направлениях (эволюционном моделировании) используется понятие расстояния Хэмминга (важнейшие понятия теории кодирования). В его честь даже была учреждена специальная медаль, которой награждаются ученые, которые внесли значительный вклад в теорию информации.
В 1968 году он стал почетным членом Института инженеров по электротехнике и электронике (IEEE), был награжден премией Тьюринга Ассоциации компьютерных технологий.
В 1979 году ему была присуждена премия Эммануила Пиоре за исключительный вклад в развитие информационных наук и систем.
В 1980 году Ричард Хэмминг был избран членом Национальной Академии инженерных наук.
В 1981 году он получил премию Гарольда Пендера от Пенсильванского университета.
В 1988 году почетную медаль IEEE.
В 1996 году в Мюнхене за работу по кодам, корректирующим ошибки, Хэмминг был удостоен престижной премии Эдуарда Рейма в размере $130 000.
7 января 1998 года, в возрасте 82 лет перестало биться сердце ученого Ричарда Хэмминга, случился сердечный приступ.
Ричард Хэмминг был первым, кто предложил конструктивный метод построения кодов с избыточностью и простым декодированием. Его труд предопределил направление большинства работ в этой области, последовавших позже. Его статья 1950 года стала своеобразным катализатором, ускорившим развитие теории кодирования.