Главная » Хабрахабр » [Перевод] Ричард Хэмминг: Глава 20. Моделирование — III

[Перевод] Ричард Хэмминг: Глава 20. Моделирование — III

«Цель этого курса — подготовить вас к вашему техническому будущему.»

imageОсталось опубликовать 2 главы…

Моделирование — III

Я продолжу общее направление, заданное в предыдущей главе, но на этот раз я сконцентрируюсь на старом выражении «Мусор на входе – мусор на выходе», которое часто сокращают как GIGO (garbage in, garbage out). Идея в том, что если вы поместите неаккуратно собранные данные и неверно определенные выражения на вход, то на выходе вы можете получить только некорректные результаты. Так же неявно предполагается и обратное: из наличия точных входных данных следует и получение корректного результата. Я покажу, что оба эти предположения могут быть ложными.
Часто моделирование строится на решении дифференциальных уравнений, поэтому для начала мы рассмотрим простейшее дифференциальное уравнение первого порядка вида

I). Как вы помните, поле направлений – это построенные в каждой точке плоскости x-y линии, с угловыми коэффициентами, заданными дифференциальным уравнением (Рисунок 20. II. Например, дифференциальное уравнение имеет поле направлений, показанное на рисунке 20.

I Рисунок 20.

Для каждой концентрической окружности,

Такие кривые называются изоклинами. такой что коэффициент наклона прямой всегда одинаковый и зависит от значения k.

III). А теперь посмотрим на поле направлений другого дифференциального уравнения (рисунок 20. В правой части мы видим, что поле направлений сходится. В левой части мы видим расходящееся поле направлений, это означает что небольшие изменения в начальных значениях или небольшие ошибки вычислений приведут к большой разнице значений в середине траектории. Этот простой пример показывает, как маленькие ошибки могут становиться большими, большие ошибки маленькими, и более того, как маленькие ошибки могут сначала становится большими, а потом снова маленькими. Это означает, что при большей разнице значений в середине траектории разница значений в правом конце будет небольшой. Не существует какой-то абсолютной общей точности. Поэтому точность решения зависит от конкретного интервала, на котором вычисляется решение.

II Рисунок 20.

III Рисунок 20.

Эти рассуждения построены для функции

которая является решением дифференциального уравнения

Такое представление отлично подходит для случая двух измерений, но когда у меня система из n таких дифференциальных уравнений — 28 в случае задачи о ракете-перехватчике для ВМФ, упомянутой ранее, — тогда эти «трубы» вокруг истинного решения уравнения оказываются не тем, чем кажутся на первый взгляд. Вероятно, вы уже представили «трубу», которая сначала расширяется, а потом сужается, вокруг «истинного, точного решения» уравнения. Это просто другой взгляд на проблему стабильного и нестабильного моделирования, описанную в предыдущей главе. Фигура состоящая из четырех кругов в двух измерениях приводит к описанному в 9-ой главе парадоксу n-измерений для десятимерного пространства. На этот раз я приведу конкретные примеры связанные с дифференциальными уравнениями.

Начиная с обычного дифференциального уравнения первого порядка, мы изображаем поле направлений. Как мы численно решаем дифференциальные уравнения? Если мы возьмем локальный коэффициент наклона прямой, заданный дифференциальным уравнением, и сделаем небольшой шаг вперед по касательной, то мы внесем лишь небольшую ошибку (рисунок 20. Наша задача заключается в том, чтобы имея некоторое заданное начального значение рассчитать значение в следующей ближайшей интересующей нас точке. IV).

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

Если значения, полученные при помощи формул «прогнозирования» и «коррекции» достаточно близки, значит мы предполагаем, что наши расчёты достаточно точны, иначе мы должны уменьшить размер шага. Затем, используя этот усредненный угловой коэффициент, мы делаем еще один шаг вперед, на этот раз используя формулу «коррекции». Таким образом, традиционная схема «предиктор-корректор» имеет встроенные механизм для проверки ошибки на каждом шаге, но эта ошибка на конкретном шаге ни каким образом и ни в каком смысле не является общей накопленной ошибкой! Если разница между значениями слишком мала, то мы должны увеличить размер шага. Абсолютно ясно, что накопленная ошибка зависит от того сходится или расходится поле направлений.

IV Рисунок 20.

V Рисунок 20.

Использование полином высших степеней дает более точный результат; обычно используются полиномы четвертной степени (решение дифференциальных уравнений методом Адамса — Башфорта, методом Мильна, методом Хэмминга и т.д. Мы использовали простые прямые линии как для шага прогноза так и для шага коррекции. Таким образом, мы должны использовать значения функции и ее производных в нескольких предыдущих точках для прогнозирования значения функции в следующей точке, после чего мы используем подстановку этого значения в дифференциальное уравнение и аппроксимируем новое значение углового коэффициента. ). Самое время заметить, что корректор это не что иное как цифровой рекурсивный фильтр, в котором входные значения – это производные, а выходные значения – значения искомой функции. Используя новое и предшествующие значения углового коэффициента а так же значения искомой функции, мы корректируем полученное значение.

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

Вы прогнозируете следующее значение каждого компонента, оцениваете каждую из n производных, корректируете каждое из спрогнозированных значений, после чего принимаете результат вычислений на данном шаге или отклоняете его, если локальная ошибка слишком велика. Если вы решаете систему из n дифференциальных уравнений, то вы имеете дело с вектором из n компонент. И я снова призываю помнить о парадоксе четырех окружностей, в высокоразмерных пространствах. Вы склонны думать о небольших ошибках как о «трубе», окружающей истинную вычисленную траекторию. Такие «трубы» могут оказаться не тем, чем они кажутся на первый взгляд.

В распространенных учебниках описаны только методы вычислительной математики, которые аппроксимируют функции полиномами. Теперь позвольте мне отметить значительную разницу между двумя походами: вычислительными методам и теорией цифровых фильтров. Это приводит к существенным отличиям! Рекурсивные фильтры же используют частоты в формулах оценки!

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

Чем больше вы будете задумываться об этом, тем больше вы будете склоняться к тому, что пилот в тренажере хочет получить «ощущение» поведения посадочного модуля, и похоже, что частотный отклик тренажера должен хорошо «ощущаться» пилотом. Какой из походов следует использовать? Мне всегда казалось, что симуляторы должны готовить пилотов к реальным ощущениям настолько, насколько это возможно (конечно же мы не можем долго имитировать пониженную гравитацию на Марсе), для того, чтобы они чувствовали себя комфортно, когда в реальности столкнутся с ситуацией, с которой они многократно сталкивались в тренажере. Если местоположение будет немного отличаться, то петля обратной связи скомпенсирует это отклонение в процессе посадки, но если если «ощущение» управления будет отличаться во время реального полета, то пилот будет обеспокоен новыми «ощущениями», которых не было в симуляторе. Ощущает ли пилот только действительные частоты из разложения Фурье, или они также ощущают комплексные затухающие частоты Лапласа (или может быть мы должны использовать вейвлеты?). Увы, мы знаем слишком мало о том, что пилот «ощущает». Мы должны знать больше, чем мы знаем сейчас, об этих существенных для проектирования условиях. Чувствуют ли разные пилоты одинаковые вещи?

Эти подходы имеют разные цели при решении дифференциальных уравнений (как и в случае многих других задач), следовательно они приводят к разным результатам. Описанная выше ситуация – это стандартное противоречие между математическим и инженерным подходом к решению задачи. Давайте взглянем на две траектории (Рисунок 20. Если вы столкнетесь с моделированием, то вы увидите, что существуют скрытые нюансы, которые оказываются очень важны на практике, но о которых математики ничего не знают и всячески будут отрицать последствия от пренебрежения ими. Верхняя кривая точнее описывает местоположение, но изгибы дают совершенно другое «ощущение» по сравнению с реальным миром, вторая кривая больше ошибается в местоположении, но имеет большую точность с точки зрения «ощущения». IV), которые я грубо прикинул. Я снова наглядно показал, почему я считаю, что человек с глубоким пониманием предметной области задачи должен так же глубоко разобраться и в математических методах ее решения, а не полагаться на традиционные методы решения.

В то время проходили полевые испытания в Уайт-Сэндс, которые еще называли «полевые испытания телефона». Сейчас я хочу рассказать еще одну историю о ранних днях тестирования противоракеты системы Nike. Задачей испытаний было получить реальные измерения подъемной силы и лобового сопротивления как функции высоты полета и скорости, для того чтобы отладить и улучшить конструкцию. Это были испытательные запуски, в которых ракета должна была следовать по предопределенной траектории и взрываться в последний момент, чтобы вся энергия взрыва не выходила за пределы определенной территорий и наносила больший урон, что было предпочтительнее, чем более мягкое падение отдельных частей ракеты на землю, которое, предположительно, должно было бы нанести меньше урона.

Почему? Когда я встретил своего вернувшегося с испытаний друга, он бродил по коридорам Лабораторий Белла и выглядел довольно несчастным. Данные необходимые для дальнейших этапов проектирования были не доступны, а это означало серьезные проблемы для всего проекта. Потому что первые два из шести запланированных запусков провалились в середине полёта и никто не знал по чему. Примерно через неделю они предоставили семь дифференциальных уравнений первого порядка и девочка была готова начать. Я сказал, что если он сможет мне предоставить дифференциальные уравнения, описывающие полёт, то я смогу посадить девочку их решать (получить доступ к большим компьютерам в поздних 1940-ых было непросто). (В те дни у нас не было достаточного количества вычислительных мощностей, чтобы быстро просчитать всю траекторию полёта.) Они не знали! Но какие были начальные условия за мгновение до начала проблем в полете? Я был не удивлен и это не тревожило меня. Данные телеметрии были непонятны за мгновение до сбоя. — по одному начальному условию для каждой из переменных, описывающих траекторию полёта. Итак, мы использовали предполагаемые значения высоты, скорости полета, угла атаки и т.д. Но ранее я понял, что природа полевых испытаний, которые мы моделировали была такой, что небольшие отклонения от предложенной траектории автоматически исправлялись системой наведения! Иными словами, у меня был мусор на входе. Я имел дело с сильно сходящимся полем направлений.

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

Похожая история произошла со мной во время раннего моделирования бомбы в Лос Аламосе. Я вам рассказал эту историю для того, чтобы показать, что принцип GIGO работает не всегда. Уравнение состояния связывает давление и плотность вещества ( так же температуру, но я ее опущу в данном примере). Постепенно я пришел в пониманию, что наши вычислениями, построенные для уравнения состояния, были основаны на довольно неточных данных. VII). Данные из лабораторий высокого давления, приближения полученные из изучения землетрясений, плотности звёздных ядер и асимптотической теории бесконечных давлений были изображены в виде точек на очень большом листе миллиметровки (Рисунок 20. Потом по этим кривым мы построили таблицы значений функции с точностью до 3 знаков после запятой. Затем при помощи лекал мы нарисовали кривые, которые соединили рассеянные точки. Мы использовали эти данные, чтобы построить таблицы с точностью до 5-ого и 6-ого знаков после запятой. Это означает что мы просто предполагали 0 или 5 в 4-ом знаке после запятой. В то время, как я уже ранее упоминал, я был своего рода калькулятором, и моя работа заключалась в том, чтобы считать и тем самым освободить физиков от этого занятия, чтобы позволить им заниматься своей работой. На основе этих таблиц были построены наши дальнейшие вычисления.

VII Рисунок 20.

Я долго размышлял об этом, и я нашел ответ. После окончания войны, я остался в Лос Аламосе еще на пол года, и одна из причин, почему я это сделал, заключалась в том, что я хотел понять, как настолько неточные данные смогли привести к настолько точному моделированию окончательной конструкции. Разность первого порядка показывала значение силы на одной стороне каждой оболочки, а разности примыкающих с двух сторон оболочек давали результирующую силу, сдвигающую оболочку. В середине вычислений мы использовали конечные разности второго порядка. Дальнейшие исследования показали, что когда «штучка» взорвалась, оболочка двигалась вверх по кривой, и, вероятно, иногда частично смещалась назад, поэтому любая локальная ошибка в уравнении состояния была приближена к среднему значению. Мы были вынуждены использовать тонкие оболочки, поэтому мы вычитали очень близкие друг к другу числа, и нужно было использовать много разрядов после запятой. Таким образом, мусор на входе, но точные как никогда результаты на выходе! По настоящему важным было получить кривизну уравнения состояния и, как уже было замечено, она должна была быть в среднем точной.

На этом базируется замечательная идея Г. Эти три примера показывают то, что неявно упоминалось ранее – если в задаче существует петля обратной связи для используемых переменных, то необязательно знать их значения в точности. Блэка о том, как строить петлю обратной связи в усилителях (Рисунок 20. С. Для схемы, представленной на рисунке 20. VIII): до тех пор, пока коэффициент усиления очень высокий, только сопротивление одного резистора должно быть точно подобрано, все остальные части могут быть реализованы с низкой точностью. VIII мы получаем следующие выражения:

VIII Рисунок 20.

Таким образом петля обратной связи Блэка позволяет нам строить точные вещи из неточных частей. Как видно, практически вся неопределенность измерения сосредоточена в одном резисторе номиналом 1/10, в то время как коэффициент передачи может быть неточным.

Она должна зависеть от того, какие вычисления производятся над конкретными величинами. Теперь вы видите, почему я не могу дать вам изящную формулу, подходящую для всех случаев. Если для переменных не предусмотрена обратная связь, то жизненно важно получить их точные значения.
Итак, осознание этого факта способно повлиять на дизайн системы! Пройдут ли неточные значения через петлю обратной связи, которая скомпенсирует ошибку, или ошибки выйдут за пределы системы без защиты обратной связью? Но подобные принципы проектирования все еще неверно понимаются в настоящий момент и требуют тщательного изучения. Хорошо спроектированная система защищает вас от необходимости использования большого количества высокоточных компонентов. Хорошие умы все еще нуждаются во всех тех средствах автоматического проектирования, которые мы разработали. И дело не в том, что хорошие проектировщики не понимают этого на уровне интуиции, просто не так просто применить эти принципы в методах проектирования, которые вы изучали. Лучшие же умы смогут встроить эти принципы в изученные методы проектирования, чтобы сделать их доступными «из коробки» для всех остальных.

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

IX Сразу заметно, что значение условия на бесконечности действительно является правой частью дифференциального уравнения приравненного к нулю, рисунок 20.

Если значение y в какой-то достаточно удаленной точке x становиться достаточно большим, то значение sinh(y) становиться значительно больше, вторая производная принимает большое положительное значение, а кривая выстреливает по направлению к плюс бесконечности. Но давайте рассмотрим вопрос стабильности. И абсолютно не имеет значения, движемся мы слева направо или справа налево. Аналогично, если значение y слишком мало, то кривая выстреливает по направлению к минус бесконечности. Но в данном случае, мы как будто бы находимся на гребне песчаной дюны и как только обе ноги оказываются на одном склоне, мы срываемся вниз. Раньше, когда я сталкивался с расходящимся полем направлений, я использовал очевидный трюк: интегрировал в противоположном направлении и получал точное решение.

image

IX Рисунок 20.

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

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

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

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

Однажды, мой друг-психолог из Лабораторий Белла построил машину, в которой было 12 переключателей и две лампочки — красная и зелёная. А теперь перейдем к самой истории. После того, как первый испытуемый совершал 20 попыток, он предлагал теорию о том, как зажечь зелёную лампочку. Вы устанавливали переключатели, нажимали кнопку, и после этого загоралась красная или зелёная лампочка. И так до бесконечности. Эта теория передавалась следующей жертве, после чего у нее тоже было 20 попыток чтобы предложить свою теорию о том, как зажечь зелёную лампочку. Целью эксперимента ставилось изучение того, как развиваются теории.

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

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

Статистики постоянно спрашивают себя: «То что я виду, на самом деле имеет место, или это просто случайный шум?». Я должен остановиться на это подробнее. Их ответы — это не однозначное «да» или «нет», а «да» или «нет» с определенным уровнем уверенности. Они разработали специальные методы тестирования, для ответа на этот вопрос. Намного больше данных нужно для того, чтобы получить уровень уверенности в 95%, а в настоящее время сбор данных может быть очень дорогим. Порог уверенности в 90% означает, что обычно из 10 попыток вы ошибётесь только один раз, при условии, что все остальные гипотезы корректны. В этом случае одно из двух: или вы нашли то, чего нет (Ошибка первого рода) или вы пропустили то, что искали (Ошибка второго рода). «Нужно больше информации» — скажут они вам. Сбор дополнительных данных также требует и дополнительного времени и принятие решения откладывается — это любимая уловка людей, которые не хотят нести ответственности за свои решения.

Я процитирую выдающегося практика теории управления Джея Форрестера: «Из поведения системы возникнут сомнения, которые потребуют пересмотра исходных предположений. Я абсолютно серьёзно утверждаю, что большинство производимого моделирования — это не более чем тест Роршаха. Эта книга является результатом нескольких циклов повторного изучения, пройденных автором». Из процесса переработки исходных предположений о частях и наблюдаемого поведения целого мы улучшаем наше понимание структуры и динамики системы.

Увидел ли он что-то просто потому, что хотел это увидеть или открыл новую грань реальности? Как неспециалисту отличить это от теста Роршаха? Это путь наименьшего сопротивления, именно поэтому классическая наука предполагает большое количество предосторожностей, которые в наше время зачастую просто игнорируются. К сожалению, очень часто моделирование содержит в себе некоторые корректировки, которые позволяют «видеть только то, что хочется».

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

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

Если вы тот, кто принимает окончательное решение, то вся ответственность лежит на вас. Моделирование необходимо для ответа на вопрос «Что если … ?», но при этом оно полно подводных камней, и не следует доверять его результатам просто потому, что были задействованы большие людские и аппаратные ресурсы, чтобы получить красивые цветные распечатки или кривые на осциллографе. Опыт научил меня, что решающий босс намного лучше болтающего попусту босса. Коллегиальные решения, которые приводят к размытию ответственности, редко являются хорошей практикой — как правило они являются посредственным компромиссом, в котором отсутствуют достоинства какого-либо из возможных путей. В этом случае вы точно знаете где вы находитесь и можете продолжить работу, которая должна быть сделана.

Вопрос «Что если … ?» часто будет вставать перед вами в будущем, поэтому вам нужно как следует разобраться с основами и возможностями моделирования, чтобы быть готовыми оспорить результаты и разобраться в деталях, там где это необходимо.

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

Кто хочет помочь с переводом, версткой и изданием книги — пишите в личку или на почту 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) Глава 10. Теория кодирования — I
  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


Оставить комментарий

Ваш email нигде не будет показан
Обязательные для заполнения поля помечены *

*

x

Ещё Hi-Tech Интересное!

[Перевод] Введение в ptrace или инъекция кода в sshd ради веселья

Конечно, это несколько искусственная задача, так как есть множество других, более эффективных, способов достичь желаемого (и с гораздо меньшей вероятностью получить SEGV), однако, мне показалось клёвым сделать именно так. Цель, которой я задался, была весьма проста: узнать введённый в sshd ...

Дайджест свежих материалов из мира фронтенда за последнюю неделю №339 (12 — 18 ноября 2018)

Предлагаем вашему вниманию подборку с ссылками на новые материалы из области фронтенда и около него.     Медиа    |    Веб-разработка    |    CSS    |    Javascript    |    Браузеры    |    Занимательное Медиа • Подкаст «Frontend Weekend» #79 – Олег Поляков об основании CodeDojo и о том, как это стало основным местом работы• Подкаст «Пятиминутка React» ...