Pull to refresh

Ричард Хэмминг: Глава 18. Моделирование — I

Reading time16 min
Views3.6K
Original author: Ричард Хэмминг
«Цель этого курса — подготовить вас к вашему техническому будущему.»

imageПривет, Хабр. Помните офигенную статью «Вы и ваша работа» (+219, 2442 в закладки, 394k прочтений)?

Так вот у Хэмминга (да, да, самоконтролирующиеся и самокорректирующиеся коды Хэмминга) есть целая книга, написанная по мотивам его лекций. Мы ее переводим, ведь мужик дело говорит.

Это книга не просто про ИТ, это книга про стиль мышления невероятно крутых людей. «Это не просто заряд положительного мышления; в ней описаны условия, которые увеличивают шансы сделать великую работу.»

Мы уже перевели 27 (из 30) глав. И ведем работу над изданием «в бумаге».

Глава 18. Моделирование — I


(За перевод спасибо Валентину Пинчуку, который откликнулся на мой призыв в «предыдущей главе».) Кто хочет помочь с переводом — пишите в личку или на почту magisterludi2016@yandex.ru

Важным направлением использования компьютеров в наше время, помимо ввода и редактирования текста, графики, составления программ и т. д., является моделирование.
Моделирование – это ответ на вопрос: «Что, если…?»

Что если мы сделаем это? Что если это то, что произошло?

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

Мы используем компьютеры для моделирования, поскольку это:

  • во-первых, дешевле;
  • во-вторых, быстрее;
  • в-третьих, как правило, лучше,
  • в-четвертых, дает возможность сделать то, что нельзя сделать в лаборатории.

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

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

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

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

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

Без углубления в секретные детали, напомню, что один из двух проектов был сферически симметричен и основывался на взрывной инициации, Рис. 18.I.

Весь объем материала бомбы был разбит на концентрические сферические оболочки. Были составлены уравнения сил, действующих на каждую оболочку (на обе ее стороны), а также уравнения состояния, которые описывали, помимо других параметров, плотность вещества в зависимости от давления на него. Затем временная ось была разбита на интервалы 10-8 с. Для каждого интервала времени мы рассчитывали с помощью компьютеров, как сместится каждая оболочка и что с ней будет происходить в это время, под действием приложенных к ней сил. Было, конечно, отдельное исследование для процесса прохождения ударной волны от окружающего взрывчатого вещества через эту область. Но все законы, в принципе, были хорошо известны экспертам в соответствующих отраслях. Давление было таким, что приходилось лишь строить догадки о том, что все пойдёт примерно так же и за пределами произведенных испытаний, но даже приблизительная физическая теория предоставила некоторые гарантии.

image

Рис.18.I.

Это как раз иллюстрирует главный момент, на котором я хочу остановиться. Необходимо иметь обширные и глубокие специальные знания в предметной области. Собственно, я склонен рассматривать множество уже изученных вами курсов, и еще предстоящих к изучению, как единственное средство получения соответствующих экспертных знаний. Я хочу особо подчеркнуть эту очевидную необходимость экспертных знаний в предметной области — слишком часто я видел, как эксперты в области моделирования игнорируют этот элементарный факт и считают, что они могут безопасно выполнять моделирование самостоятельно. Только эксперт в предметной области может знать, имеет ли то, что вы не смогли включить в модель, жизненно важное значение для точности моделирования или же этим можно безопасно пренебречь.

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

Очень похоже на задачу с ядерной бомбой и моделирование при прогнозе погоды. В этом случае атмосфера разбивается на большие блоки воздуха, и для каждого блока должны быть инициализированы значения облачного покрова, альбедо, температуры, давления, влажности, скорости и т.д., см. Рис.18.II.

Затем с применением обычной физики атмосферы мы отслеживаем соответствующие изменения каждого блока на малом временном интервале. Это тот же метод поэлементного расчета, что и в предыдущем примере.

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

image

Рис.18.II

Это фундаментальная тема, на которой я обязан остановиться. Если моделирование имеет запас устойчивости, в смысле устойчивости к небольшим изменениям в его общем поведении, тогда моделирование вполне реально; но если небольшие изменения в некоторых деталях могут привести к очень разным результатам, тогда моделирование трудно выполнить точно. Конечно же, в погоде есть и долгосрочная стабильность: времена года следуют своему назначенному круговороту независимо от небольших отклонений. Таким образом, существует как краткосрочная (изо дня в день) нестабильность погоды, так и долгосрочная (из года в год) стабильность. А ледниковые периоды показывают, что есть еще более долгосрочные нестабильности погоды, и, несомненно, еще более длительные стабильности!

Я сталкивался с большим количеством проблем такого рода. Зачастую очень трудно заранее определить, будет ли доминировать в задаче стабильность или нестабильность, и, следовательно, оценить возможность получения желанных результатов. Когда вы проводите моделирование, внимательно изучите этот аспект задачи, прежде чем слишком углубитесь в нее, чтобы не обнаружить впоследствии, затратив уйму сил, денег и времени, что вы не в состоянии получить приемлемые результаты. Таким образом, есть ситуации, которые легко моделировать, ситуации, которые практически вообще не моделируемы, а большинство остальных находятся между двумя этими крайностями. Будьте осмотрительны в обещаниях того, что вы можете сделать с помощью моделирования!

Когда я пришел в Bell Telephone Laboratories в 1946 году, я вскоре принял участие на ранних этапах проектирования самой первой системы управляемых ракет NIKE. Меня отправили в Массачусетский технологический институт, чтобы использовать их дифференциальный анализатор RDA #2. Там я получил знания о взаимосвязи частей анализатора и много советов от специалистов, гораздо более искушенных в проведении моделирования.

В первоначальном проекте предусматривался наклонный запуск ракеты. Вариационные уравнения обеспечивали мне возможность произвести точную настройку различных компонентов, например, размера крыла. Я полагаю, следует упомянуть о том, что расчет одной траектории занимал около ½ часа, и примерно половину этого времени я должен был убеждать себя пойти на расчет следующего пуска. Поэтому у меня было достаточно времени для наблюдений и глубоких размышлений, почему всё пошло так, как пошло. Через несколько дней я постепенно получил «ощущение» поведения ракеты, почему она ведет себя так, как ведет при разных законах наведения, которые я применял.

Со временем я пришел к выводу, что вертикальный старт был наилучшим всегда. Быстрый выход из плотных нижних слоёв воздуха в разреженные был лучшей стратегией – я вполне мог себе позволить добавить сопротивление воздуха после, когда отдавались команды на склонение траектории. При этом я обнаружил, что я значительно уменьшил размер крыльев. Я также неплохо осознал, что уравнения и константы, которые мне были даны для оценки изменений в эффектах, вызванных изменениями в структуре ракеты, вряд ли могут быть точными в столь большом диапазоне изменения параметров (хотя они никогда не сообщали мне исходные уравнения, я догадался сам). Поэтому я позвонил за советом и обнаружил, что я был прав — мне следовало вернуться домой и получить новые уравнения.

С некоторой задержкой из-за желания других пользователей использовать отведенное им время на RDA #2, я вскоре вернулся к работе, уже более опытный и умудренный. Я продолжал развивать чувство поведения ракеты – я должен был «ощутить» силы, действующие на нее, при использовании разных программ формирования траектории. И время ожидания, когда решение медленно появлялось на плоттере, дало мне возможность уяснить, что происходит. Я часто задумываюсь, а что бы случилось, если бы у меня был современный, высокопроизводительный компьютер? Получил бы я когда-нибудь то чувство ракеты, от которого так много зависит в итоговом проекте? Я часто сомневаюсь, что дополнительные сотни траекторий научили бы меня так же — я просто не знаю. Но именно поэтому я и по сей день с подозрением отношусь к получению множества расчетов без должного рассуждения о том, что вы получили. Объем результатов представляется мне плохой заменой чувству проникновения в моделируемую ситуацию.

Результаты этих первых прогонов привели нас к выбору вертикального старта (который избавил от излишнего наземного оборудования в виде круговой направляющей и других приспособлений), упростили конструкцию многих других компонент и сократили размер крыльев примерно до 1/3 от того размера, который мне изначально задали. Я обнаружил, что большие крылья, обеспечивая в принципе большую маневренность, настолько увеличивают сопротивление воздуха на ранних участках траектории, что в итоге меньшая скорость полета приводит к меньшей маневренности на завершающем участке сближения с целью.

Конечно, на раннем этапе моделирования использовалась простая модель атмосферы экспоненциального снижения плотности с высотой и другие упрощения, которые на последующих этапах были изменены. Это дало мне еще одно убеждение — использование простых моделей на ранних стадиях позволяет получить общее представление обо всей системе, которое неизбежно будет замаскировано в любом полномасштабном моделировании. Я настоятельно рекомендую начинать с простого моделирования и потом развивать его до более полного, более точного, чтобы понимание сути могло прийти как можно раньше. Конечно же, при выборе окончательного дизайна вы должны учесть все нюансы, которые могут на нем сказаться. Но (1) начинайте настолько просто, насколько вы можете при условии, что вы учитываете все основные влияния, (2) получайте общее представление, а затем (3) углубляйтесь в детализацию моделирования.

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

Управляемые ракеты естественным образом привели к космическому полету, где я меньше участвовал в самом моделировании, и больше в качестве внешнего консультанта и при первоначальном планировании так называемой циклограммы проекта.

Еще одним из первых моделирований, которое я припоминаю, был дизайн лампы бегущей волны. Опять же, на примитивном релейном оборудовании у меня было много времени для размышлений, и я понял, что могу, по мере проведения вычислений, понять, какую форму следует придать, кроме традиционной трубки постоянного диаметра. Чтобы понять, как это случилось, рассмотрим базовую конструкцию лампы бегущей волны. Идея заключается в том, что вы посылаете входную волну вдоль спирали, плотно намотанной вокруг полой трубы, и, следовательно, эффективная скорость электромагнитной волны по трубе значительно снижается. Затем мы посылаем вдоль оси трубы электронный луч.

Луч имеет первоначально большую скорость, чем волна, идущая вдоль спирали. Взаимодействие волны и луча приводит к замедлению луча электронов – что означает передачу энергии от луча к волне, то есть усиление волны! Но, очевидно, в каком-то месте трубы их скорости примерно выравниваются, и тогда дальнейшие взаимодействия только ухудшают ситуацию. В результате у меня возникла идея, что если постепенно увеличивать диаметр трубы (и, следовательно, проходимого волной пути по виткам спирали – прим.переводчика), то луч снова станет быстрее волны и еще больше энергии будет передаваться от луча к волне. И действительно, на каждом цикле вычисления удалось рассчитать идеальный профиль трубы.

У меня случались и неприятные находки. Как правило, используемые уравнения на самом деле обычно были локальными линеаризациями более сложных нелинейных уравнений. Примерно к двадцатому-пятидесятому шагу расчета я мог оценить нелинейную составляющую. Я обнаружил, что к изумлению исследователей на некоторых проектах оцененная нелинейная компонента была больше вычисленной линейной компоненты — тем самым убивая аппроксимацию и прекращая бесполезные вычисления.

Зачем рассказывать эту историю? Потому что это наглядно демонстрирует, что пытливый ум может помочь в моделировании, даже если вы работаете рядом с экспертами в области, где являетесь дилетантом. Вы, ощущая собственноручно каждую мелкую деталь, имеете шанс увидеть то, чего не замечали другие, и внести существенный вклад, а также сэкономить машинное время! Как часто я обнаруживал упущения в моделировании, о которых вряд ли узнают пользователи его результатов.

Есть важный шаг, который вы обязаны сделать, и я хочу это особо подчеркнуть: овладеть специальным жаргоном. Каждая специальность имеет свой жаргон, который пытается сокрыть происходящее от посторонних, а иногда и от инсайдеров! Следите за жаргоном — учитесь распознавать его, как особый язык для облегчения общения в узкой области вещей или событий. Однако он препятствует мышлению за пределами первоначальной области, для нужд которой был предназначен. Жаргон – это и необходимость, и проклятие. Вы должны понимать, что вам нужно напрягать мозги, чтобы воспользоваться его преимуществами и избежать ловушек, даже в вашей собственной области знаний!

В течение долгих лет эволюции пещерные люди, по-видимому, жили в группах размером от 25 до 100 человек. Люди извне, как правило, не приветствовались, хотя мы полагаем, это не относится к похищенным женам. Сравнивая многие века эволюции пещерного человека с веком цивилизации (менее десяти тысяч лет), мы видим, что эволюцией мы отобраны в основном для того, чтобы изолировать чужаков, и одним из способов сделать это является использование специальных жаргонных языков. Воровской арго, групповой сленг, приватный язык мужа и жены из слов, жестов и даже приподнятых бровей – все это примеры использования приватного языка, чтобы изолировать посторонних. Следовательно, этому инстинктивному использованию жаргона, когда приходит посторонний, надо всегда сознательно сопротивляться — мы теперь работаем в гораздо больших группах, чем пещерные люди, и должны постоянно пытаться переписать эту особенность начального этапа нашего развития.

Математика не всегда является таким волшебным языком, который вам нужен. Чтобы проиллюстрировать это, вернемся к вскользь упомянутому мной моделированию морского перехвата, эквивалентному системе из 28 дифференциальных уравнений первого порядка. Но надо раскрыть сюжет. Игнорируя все, кроме существенной его части, рассмотрим задачу решения одного единственного дифференциального уравнения y’=f(x,y) при |y|≤1, см. Рис.18.III.

Запомните это уравнение, а я буду рассказывать о реальной проблеме. Я программировал реальную задачу, систему из 28 дифференциальных уравнений, чтобы получить решение, а затем ограничил некоторые значения до 1, как если бы это было ограничение напряжения. Несмотря на сопротивление консультанта, моего друга, я настаивал, чтобы он полностью участвовал в двоичном программировании задачи вместе со мной, при этом я объяснял ему, что происходит на каждом этапе. Я отказался от расчетов, пока он это не сделает — поэтому у него не было другого выбора! Мы добрались до ограничений в программе, и он сказал: «Дик, это получается ограничение на стабилизатор, а не ограничение на напряжение», имея в виду, что ограничение должно накладываться на каждом шаге расчета, а не в итоге. Это лучший пример из известных мне, чтобы продемонстрировать, как мы оба понимали, что именно означают математические символы, — у нас обоих не было никаких сомнений, — но наши интерпретации этих символов оказались совершенно разные!

image

Рис.18.III.

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

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

Я принял это за полное входное сопротивление цепи. Используя разность последних двух вычисленных вероятностей, я предположил, что они пропорциональны разности следующих двух (я использовал разумную константу пропорциональности, полученную из разницы от двух предыдущих функций). Таким образом, удалось достаточно корректно получить вклад от следующего, еще не просчитанного уравнения. Результаты оказались востребованы в отделе коммутации и, полагаю, произвели впечатление на моего босса, который все еще имел низкое мнение о вычислительных машинах.

Было и подводное моделирование, особо упомяну акустический массив, установленный на Багамских островах моим другом, где, конечно же, суровой зимой (автор шутит – прим. переводчика) ему часто приходилось идти всё проверять и проводить всё новые измерения. Было проведено множество моделирований конструкции и поведения транзисторов.

Моделировали микроволновые релейные станции с их приемными рупорами, а также воздействие импульса на одном конце цепи релейных станций, при его прохождении через всю цепь, на устойчивость всей системы этих станций. Вполне возможно, что, даже при быстром восстановлении каждой станции от импульса, его размер может расти по мере пересечения им континента. На каждой релейной станции стабильность была, в смысле затухания импульса во времени, но оставался открытым вопрос о пространственной стабильности — а вдруг случайный импульс может бесконечно расти, пока он пересекает континент? Я назвал эту задачу «пространственная стабилизация». Мы должны были знать условия, при которых это могло произойти, или не могло произойти — следовательно, моделирование было необходимо, потому что, помимо прочего, сама форма импульса изменялась по мере его прохождения через континент.

Я надеюсь, что вы поняли: принципиально возможно смоделировать любую ситуацию, которая поддается некоторому математическому описанию. Но на практике вы должны быть весьма аккуратны при моделировании нестабильных ситуаций. Хотя в главе 20 я расскажу Вам об одном экстремальном случае, который я должен был решить. Это было очень важно для Bell Telephone Laboratories, и означало, по крайней мере, для меня, что я должен был получить решение, независимо от того, какие оправдания я давал себе в том, что это невозможно. Какие-то ответы на важные проблемы всегда найдутся, если вы полны решимости их получить. Они могут быть не идеальными, но в безвыходном положении нечто лучше, чем ничто — при условии, что оно заслуживает доверия!

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

(В начале 70-х годов XX века по предложению Клуба основатель системной динамики Джей Форрестер применил разработанную им методику моделирования на ЭВМ к мировой проблематике. Результаты исследования были опубликованы в книге «Мировая динамика» (1971). В ней говорилось, что дальнейшее развитие человечества на физически ограниченной планете Земля приведет к экологической катастрофе в 20-х годах следующего столетия. Несмотря на многочисленные дискуссии по частным вопросам в целом результаты были приняты мировым сообществом, в том числе научным. Почему автор заостряет внимание на ошибочности этой модели – совершенно непонятно, возможно, это отражает определенный личные взаимоотношения двух ученых, пересекавшихся во время использования Хэммингом ресурсов МТИ, где трудился Форрестер. В то же время тезис о нежелании авторов моделей делиться своими ошибками с внешним миром вполне справедлив, чаще впоследствии авторы ссылаются на ограниченность сферы применения ошибочной модели. – прим.переводчика)

Продолжение следует...

Кто хочет помочь с переводом, версткой и изданием книги — пишите в личку или на почту magisterludi2016@yandex.ru

Кстати, мы еще запустили перевод еще одной крутейшей книги — «The Dream Machine: История компьютерной революции»)

Содержание книги и переведенные главы
Предисловие
  1. Intro to The Art of Doing Science and Engineering: Learning to Learn (March 28, 1995) Перевод: Глава 1
  2. «Foundations of the Digital (Discrete) Revolution» (March 30, 1995) Глава 2. Основы цифровой (дискретной) революции
  3. «History of Computers — Hardware» (March 31, 1995) Глава 3. История компьютеров — железо
  4. «History of Computers — Software» (April 4, 1995) Глава 4. История компьютеров — Софт
  5. «History of Computers — Applications» (April 6, 1995) Глава 5. История компьютеров — практическое применение
  6. «Artificial Intelligence — Part I» (April 7, 1995) Глава 6. Искусственный интеллект — 1
  7. «Artificial Intelligence — Part II» (April 11, 1995) Глава 7. Искусственный интеллект — II
  8. «Artificial Intelligence III» (April 13, 1995) Глава 8. Искуственный интеллект-III
  9. «n-Dimensional Space» (April 14, 1995) Глава 9. N-мерное пространство
  10. «Coding Theory — The Representation of Information, Part I» (April 18, 1995) (пропал переводчик :((( )
  11. «Coding Theory — The Representation of Information, Part II» (April 20, 1995) Глава 11. Теория кодирования — II
  12. «Error-Correcting Codes» (April 21, 1995) Глава 12. Коды с коррекцией ошибок
  13. «Information Theory» (April 25, 1995) (пропал переводчик :((( )
  14. «Digital Filters, Part I» (April 27, 1995) Глава 14. Цифровые фильтры — 1
  15. «Digital Filters, Part II» (April 28, 1995) Глава 15. Цифровые фильтры — 2
  16. «Digital Filters, Part III» (May 2, 1995) Глава 16. Цифровые фильтры — 3
  17. «Digital Filters, Part IV» (May 4, 1995) Глава 17. Цифровые фильтры — IV
  18. «Simulation, Part I» (May 5, 1995) Глава 18. Моделирование — I
  19. «Simulation, Part II» (May 9, 1995) Глава 19. Моделирование — II
  20. «Simulation, Part III» (May 11, 1995)
  21. «Fiber Optics» (May 12, 1995) Глава 21. Волоконная оптика
  22. «Computer Aided Instruction» (May 16, 1995) (пропал переводчик :((( )
  23. «Mathematics» (May 18, 1995) Глава 23. Математика
  24. «Quantum Mechanics» (May 19, 1995) Глава 24. Квантовая механика
  25. «Creativity» (May 23, 1995). Перевод: Глава 25. Креативность
  26. «Experts» (May 25, 1995) Глава 26. Эксперты
  27. «Unreliable Data» (May 26, 1995) Глава 27. Недостоверные данные
  28. «Systems Engineering» (May 30, 1995) Глава 28. Системная Инженерия
  29. «You Get What You Measure» (June 1, 1995) Глава 29. Вы получаете то, что вы измеряете
  30. «How Do We Know What We Know» (June 2, 1995) пропал переводчик :(((
  31. Hamming, «You and Your Research» (June 6, 1995). Перевод: Вы и ваша работа

Кто хочет помочь с переводом, версткой и изданием книги — пишите в личку или на почту magisterludi2016@yandex.ru
Tags:
Hubs:
+6
Comments8

Articles